/* Options: Date: 2026-06-13 00:57:50 Version: 10.05 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bookmore.com //Package: //GlobalNamespace: dtos //AddPropertyAccessors: True //SettersReturnThis: True //AddServiceStackTypes: True //AddResponseStatus: False //AddDescriptionAsComments: True //AddImplicitVersion: IncludeTypes: CreateApiKey.* //ExcludeTypes: //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.*; public class dtos { @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) public static class CreateApiKey implements 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.") public UUID CompanyId = 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.") public String ContactEmail = null; /** * Optional free text note for the key. */ @ApiMember(Description="Optional free text note for the key.") public String Notes = null; public UUID getCompanyId() { return CompanyId; } public CreateApiKey setCompanyId(UUID value) { this.CompanyId = value; return this; } public String getContactEmail() { return ContactEmail; } public CreateApiKey setContactEmail(String value) { this.ContactEmail = value; return this; } public String getNotes() { return Notes; } public CreateApiKey setNotes(String value) { this.Notes = value; return this; } private static Object responseType = ApiKeyResponse.class; public Object getResponseType() { return responseType; } } public static class ApiKeyResponse { /** * The company the API key belongs to */ @ApiMember(Description="The company the API key belongs to") public UUID CompanyId = 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") public UUID ApiKey = null; /** * Whether the key is active */ @ApiMember(Description="Whether the key is active") public Boolean Active = null; /** * When the key was created */ @ApiMember(Description="When the key was created") public Date CreatedDate = null; /** * When the key expires, if ever */ @ApiMember(Description="When the key expires, if ever") public Date ExpiryDate = null; /** * Contact email registered for the key */ @ApiMember(Description="Contact email registered for the key") public String ContactEmail = null; /** * Free text notes for the key */ @ApiMember(Description="Free text notes for the key") public String Notes = 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") public String AllowedIpAddresses = null; public UUID getCompanyId() { return CompanyId; } public ApiKeyResponse setCompanyId(UUID value) { this.CompanyId = value; return this; } public UUID getApiKey() { return ApiKey; } public ApiKeyResponse setApiKey(UUID value) { this.ApiKey = value; return this; } public Boolean isActive() { return Active; } public ApiKeyResponse setActive(Boolean value) { this.Active = value; return this; } public Date getCreatedDate() { return CreatedDate; } public ApiKeyResponse setCreatedDate(Date value) { this.CreatedDate = value; return this; } public Date getExpiryDate() { return ExpiryDate; } public ApiKeyResponse setExpiryDate(Date value) { this.ExpiryDate = value; return this; } public String getContactEmail() { return ContactEmail; } public ApiKeyResponse setContactEmail(String value) { this.ContactEmail = value; return this; } public String getNotes() { return Notes; } public ApiKeyResponse setNotes(String value) { this.Notes = value; return this; } public String getAllowedIpAddresses() { return AllowedIpAddresses; } public ApiKeyResponse setAllowedIpAddresses(String value) { this.AllowedIpAddresses = value; return this; } } public static interface ICompany { public UUID CompanyId = null; } }