/* Options: Date: 2026-06-12 23:08:32 Version: 10.05 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bookmore.com //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetAiChatUsage.* //ExcludeTypes: //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* @Route(Path="/assistant/ai-chat/usage", Verbs="GET") @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) @ValidateRequest(Validator="IsAuthenticated") open class GetAiChatUsage : IReturn, ICompany { /** * The company id. Defaults to the logged-in user's company when omitted. */ @ApiMember(DataType="string", Description="The company id. Defaults to the logged-in user's company when omitted.", ParameterType="query") override var CompanyId:UUID? = null companion object { private val responseType = AiChatUsageResponse::class.java } override fun getResponseType(): Any? = GetAiChatUsage.responseType } open class AiChatUsageResponse { /** * The company the usage applies to. */ @ApiMember(Description="The company the usage applies to.") open var CompanyId:UUID? = null /** * Tokens consumed within the current rolling window. */ @ApiMember(Description="Tokens consumed within the current rolling window.") open var TokensUsed:Long? = null /** * The company's token limit for the window. */ @ApiMember(Description="The company's token limit for the window.") open var TokenLimit:Int? = null /** * Tokens remaining before the limit is reached (never negative). */ @ApiMember(Description="Tokens remaining before the limit is reached (never negative).") open var TokensRemaining:Long? = null /** * True while the company is still below its token limit. */ @ApiMember(Description="True while the company is still below its token limit.") open var IsWithinBudget:Boolean? = null /** * Length of the rolling usage window, in days. */ @ApiMember(Description="Length of the rolling usage window, in days.") open var WindowDays:Int? = null open var ResponseStatus:ResponseStatus? = null } interface ICompany { var CompanyId:UUID? }