/* Options: Date: 2026-06-12 23:08:46 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: CreateApiKey.* //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="/apikeys", Verbs="POST") @ApiResponse(Description="Returned if the current user is not authenticated", StatusCode=401) // @ApiResponse(Description="Returned if the current user does not have the required role", StatusCode=403) open class CreateApiKey : IReturn, ICompany { /** * The company to create the API key for. Defaults to the logged in user's company. Only a SuperAdmin may specify a company other than their own; for other roles this value is ignored. */ @ApiMember(Description="The company to create the API key for. Defaults to the logged in user's company. Only a SuperAdmin may specify a company other than their own; for other roles this value is ignored.") override var CompanyId:UUID? = null /** * Optional contact email to register for the key. Defaults to the logged in user's email. */ @ApiMember(Description="Optional contact email to register for the key. Defaults to the logged in user's email.") open var ContactEmail:String? = null /** * Optional free text note for the key. */ @ApiMember(Description="Optional free text note for the key.") open var Notes:String? = null companion object { private val responseType = ApiKeyResponse::class.java } override fun getResponseType(): Any? = CreateApiKey.responseType } open class ApiKeyResponse { /** * The company the API key belongs to */ @ApiMember(Description="The company the API key belongs to") open var CompanyId:UUID? = null /** * The API key value to send in the x-api-key header */ @ApiMember(Description="The API key value to send in the x-api-key header") open var ApiKey:UUID? = null /** * Whether the key is active */ @ApiMember(Description="Whether the key is active") open var Active:Boolean? = null /** * When the key was created */ @ApiMember(Description="When the key was created") open var CreatedDate:Date? = null /** * When the key expires, if ever */ @ApiMember(Description="When the key expires, if ever") open var ExpiryDate:Date? = null /** * Contact email registered for the key */ @ApiMember(Description="Contact email registered for the key") open var ContactEmail:String? = null /** * Free text notes for the key */ @ApiMember(Description="Free text notes for the key") open var Notes:String? = null /** * Comma separated list of IP addresses the key is restricted to, if any */ @ApiMember(Description="Comma separated list of IP addresses the key is restricted to, if any") open var AllowedIpAddresses:String? = null } interface ICompany { var CompanyId:UUID? }