BokaMera.API.Host

<back to all web services

SuperAdminAssistantUsageQuery

Requires Authentication
Requires the role:superadmin
The following routes are available for this service:
GET/superadmin/assistant/usageList AI assistant and MCP token usage per companyReturns, for a page of companies, how many tokens each has consumed in the current rolling window against its configured limit — separately for the admin AI assistant and for the public MCP server. Usage is read from the rolling-window store, so only the current window is available; there is no history. Ordering is by company name, because usage is not stored in a queryable form and cannot be sorted across pages.
SuperAdminAssistantUsageQuery Parameters:
NameParameterData TypeRequiredDescription
SearchquerystringNoFilter on company name. Case-insensitive substring match.
CompanyIdquerystringNoReturn only this company. Takes precedence over Search when both are set.
SkipqueryintegerNoNumber of companies to skip.
TakequeryintegerNoNumber of companies to return. Capped server-side.
SuperAdminAssistantUsageQueryResponse Parameters:
NameParameterData TypeRequiredDescription
OffsetformintNoNumber of companies skipped.
TotalformintNoTotal number of companies matching the filter.
WindowDaysformintNoLength of the rolling usage window, in days.
ResultsformList<SuperAdminAssistantUsage>YesUsage for the requested page of companies.
ResponseStatusformResponseStatusYes
SuperAdminAssistantUsage Parameters:
NameParameterData TypeRequiredDescription
CompanyIdformGuidNoThe company the usage applies to.
CompanyNameformstringYesThe company's name.
AiChatformAssistantUsageMeterNoToken budget for the admin portal AI assistant. Null when it could not be read.
McpformAssistantUsageMeterNoToken budget for the public MCP server. Null when it could not be read.
AssistantUsageMeter Parameters:
NameParameterData TypeRequiredDescription
TokensUsedformlongNoTokens consumed within the current rolling window.
TokenLimitformintNoThe company's token limit for the window. Zero or less means no cap is applied.
TokensRemainingformlongNoTokens remaining before the limit is reached (never negative).
PercentUsedformdoubleNoShare of the limit consumed, as a percentage. Zero when no cap is applied.
IsWithinBudgetformboolNoTrue while the company is still below its token limit.

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

HTTP + XML

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

GET /superadmin/assistant/usage HTTP/1.1 
Host: testapi.bokamera.se 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<SuperAdminAssistantUsageQueryResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
  <Offset>0</Offset>
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
    <d2p1:ErrorCode>String</d2p1:ErrorCode>
    <d2p1:Message>String</d2p1:Message>
    <d2p1:StackTrace>String</d2p1:StackTrace>
    <d2p1:Errors>
      <d2p1:ResponseError>
        <d2p1:ErrorCode>String</d2p1:ErrorCode>
        <d2p1:FieldName>String</d2p1:FieldName>
        <d2p1:Message>String</d2p1:Message>
        <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </d2p1:Meta>
      </d2p1:ResponseError>
    </d2p1:Errors>
    <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </d2p1:Meta>
  </ResponseStatus>
  <Results>
    <SuperAdminAssistantUsage>
      <AiChat>
        <IsWithinBudget>false</IsWithinBudget>
        <PercentUsed>0</PercentUsed>
        <TokenLimit>0</TokenLimit>
        <TokensRemaining>0</TokensRemaining>
        <TokensUsed>0</TokensUsed>
      </AiChat>
      <CompanyId>00000000-0000-0000-0000-000000000000</CompanyId>
      <CompanyName>String</CompanyName>
      <Mcp>
        <IsWithinBudget>false</IsWithinBudget>
        <PercentUsed>0</PercentUsed>
        <TokenLimit>0</TokenLimit>
        <TokensRemaining>0</TokensRemaining>
        <TokensUsed>0</TokensUsed>
      </Mcp>
    </SuperAdminAssistantUsage>
  </Results>
  <Total>0</Total>
  <WindowDays>0</WindowDays>
</SuperAdminAssistantUsageQueryResponse>