BokaMera.API.Host

<back to all web services

GetAiChatUsage

Requires Authentication
The following routes are available for this service:
GET/assistant/ai-chat/usageGet the AI assistant token usage and limit for a companyReturns how many AI assistant tokens the company has consumed in the current rolling window, the configured limit and whether the company is still within budget. Defaults to the logged-in user's company when no CompanyId is supplied.
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports BokaMera.API.ServiceModel.Dtos

Namespace Global

    Namespace BokaMera.API.ServiceModel.Dtos

        Public Partial Class AiChatUsageResponse
            '''<Summary>
            '''The company the usage applies to.
            '''</Summary>
            <ApiMember(Description:="The company the usage applies to.")>
            Public Overridable Property CompanyId As Guid

            '''<Summary>
            '''Tokens consumed within the current rolling window.
            '''</Summary>
            <ApiMember(Description:="Tokens consumed within the current rolling window.")>
            Public Overridable Property TokensUsed As Long

            '''<Summary>
            '''The company's token limit for the window.
            '''</Summary>
            <ApiMember(Description:="The company's token limit for the window.")>
            Public Overridable Property TokenLimit As Integer

            '''<Summary>
            '''Tokens remaining before the limit is reached (never negative).
            '''</Summary>
            <ApiMember(Description:="Tokens remaining before the limit is reached (never negative).")>
            Public Overridable Property TokensRemaining As Long

            '''<Summary>
            '''True while the company is still below its token limit.
            '''</Summary>
            <ApiMember(Description:="True while the company is still below its token limit.")>
            Public Overridable Property IsWithinBudget As Boolean

            '''<Summary>
            '''Length of the rolling usage window, in days.
            '''</Summary>
            <ApiMember(Description:="Length of the rolling usage window, in days.")>
            Public Overridable Property WindowDays As Integer

            Public Overridable Property ResponseStatus As ResponseStatus
        End Class

        <ApiResponse(Description:="You were unauthorized to call this service", StatusCode:=401)>
        <ValidateRequest(Validator:="IsAuthenticated")>
        Public Partial Class GetAiChatUsage
            Implements ICompany
            '''<Summary>
            '''The company id. Defaults to the logged-in user's company when omitted.
            '''</Summary>
            <ApiMember(DataType:="string", Description:="The company id. Defaults to the logged-in user's company when omitted.", ParameterType:="query")>
            Public Overridable Property CompanyId As Guid? Implements ICompany.CompanyId
        End Class
    End Namespace
End Namespace

VB.NET GetAiChatUsage DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /assistant/ai-chat/usage HTTP/1.1 
Host: api.bookmore.com 
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"TokensUsed":0,"TokenLimit":0,"TokensRemaining":0,"IsWithinBudget":false,"WindowDays":0,"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}