QR-Platform API Schemas
RegisterResponse
{
// Indicates if passwordless registration was used
passwordless?: boolean
// Indicates if a verification email was sent
emailSent?: boolean
// Informational message
message?: string
// ID of the created organization
orgId?: string
// Name of the organization
organizationName?: string
// Redirect URL of the organization
organizationRedirectUrl?: string
// Description of the organization
organizationDescription?: string
}
ValidationErrorMessage
// Error response for validation failures
{
message: string
errors?: []
}
ErrorIssueDetail
// Details of a specific error issue
{
path?: anyOf: [
{"type":"string"},
{"type":"number"}
][]
// Specific message for this issue
message: string
// Optional specific code for this issue (e.g., Zod issue code)
code?: string
}
EmailAlreadyInUseMessage
// Error response when an email address is already registered
{
message: string
}
EmailSendFailureMessage
// Error response when an email fails to send
{
message: string
}
OrganizationCreationFailureMessage
// Error response when organization creation fails during registration
{
message: string
}
RegisterRequest
{
// User email address
email: string
// User password (optional for passwordless)
password?: string
// Name of the initial organization
organizationName?: string
// Description of the organization
organizationDescription?: string
// Redirect URL of the organization
organizationRedirectUrl?: string
}
RegisterVerifyResponse
{
// JWT access token upon successful registration verification
access_token?: string
}
EmailAlreadyVerifiedMessage
// Error response when an email has already been verified
{
message: string
}
UnauthorizedResponseMessage
// Unauthorized response message
{
message: string
}
UserNotFoundMessage
// Indicates that the specified user was not found
{
// The specified user could not be found
message: string
}
OrganizationNotFoundMessage
// Indicates that the organization context was not found or is invalid
{
// The specified organization could not be found or is not accessible
message: string
}
RegisterVerifyRequest
{
// User email address (optional)
email?: string
// 6-digit verification code (for email/MFA)
code?: string
// Verification token (for email links)
token?: string
// User password (if setting during verification)
password?: string
}
RegisterVerifyResendResponse
{
// Indicates if the verification email was resent
emailSent?: boolean
}
InvalidCredentialsForOperationMessage
// Error response for invalid credentials for an operation (not login)
{
message: string
}
SignInResponse
{
// JWT access token (if password provided)
access_token?: string
// Indicates if passwordless sign-in is required
passwordless?: boolean
// Indicates if a sign-in verification email was sent
emailSent?: boolean
// Details of the organization the user signed into
organization?: {
// Unique identifier for the organization
id: string
// Name of the organization
name?: string
}
}
SignInRequest
{
// User email address
email: string
// User password (optional for passwordless)
password?: string
}
SignInVerifyResponse
{
// JWT access token upon successful sign-in verification
access_token?: string
}
SignInVerifyRequest
{
// User email address (optional)
email?: string
// 6-digit verification code (for email/MFA)
code?: string
// Verification token (for email links)
token?: string
// User password (if setting during verification)
password?: string
}
EmailVerifySendResponse
{
// Indicates if the verification email was sent
emailSent?: boolean
}
EmailVerifyResponse
{
// Indicates if the email was successfully verified
verified?: boolean
// JWT access token upon successful verification
access_token?: string
}
EmailVerifyRequest
{
// User email address (optional)
email?: string
// 6-digit verification code (for email/MFA)
code?: string
// Verification token (for email links)
token?: string
// User password (if setting during verification)
password?: string
}
BaseUserResponse
// Basic user response information
{
// Unique identifier for the user
id: string
// User's full name
name: string
// User's email address
email: string
// Whether the user's email address has been verified
isEmailVerified: boolean
// Whether the user account is disabled
isDisabled: boolean
}
UserResponseWithAudit
// User information with audit details
allOf: [
{"$ref":"BaseUserResponse"}
]
Schemas: BaseUserResponse
AuditInfoMember
// User information in audit trail
{
// Unique identifier of the user
id: string
// Name of the user
name: string
// Email address of the user
email: string
}
AuditInfoApiKey
// API key information in audit trail
{
// Unique identifier of the API key
id: string
// Name of the API key
name: string
// Role associated with the API key
roleName: string
}
MeResponse
allOf: [
{"$ref":"UserResponseWithAudit"}
]
Schemas: UserResponseWithAudit
OrganizationResponse
// Organization information with related details
{
// Unique identifier for the organization
id: string
// Name of the organization
name: string
// Current plan of the organization
planName?: string | null
// Description of the organization
description?: string | null
// Redirect URL of the organization
redirectUrl?: string | null
// Whether the organization is disabled
isDisabled?: boolean
// ID of the user or API key that disabled the organization
disabledBy?: string | null
// Timestamp when the organization was disabled
disabledAt?: anyOf: [
{"type":"string"},
{"type":"string"},
{"type":"null"}
]
// Whether the organization is deleted
isDeleted?: boolean
// ID of the user or API key that deleted the organization
deletedBy?: string | null
// Timestamp when the organization was deleted
deletedAt?: anyOf: [
{"type":"string"},
{"type":"string"},
{"type":"null"}
]
// Whether this is the current active organization for the user
isCurrent?: boolean
roles?: {
// Name of the role
name: string
scopes?: // Scope associated with the role
string[]
}[]
workspaces?: {
// Unique identifier for the workspace
id: string
// Name of the workspace
name: string
// Whether access to this workspace is isRestricted
isRestricted: boolean
roles?: {
// Name of the role
name: string
scopes?: // Scope associated with the role
string[]
}[]
}[]
// User who created the resource
createdByUser?: oneOf: [
{"$ref":"AuditInfoMember"},
{"type":"null"}
]
// User who last updated the resource
updatedByUser?: oneOf: [
{"$ref":"AuditInfoMember"},
{"type":"null"}
]
// API key used to create the resource
createdByApiKey?: oneOf: [
{"$ref":"AuditInfoApiKey"},
{"type":"null"}
]
// API key used to last update the resource
updatedByApiKey?: oneOf: [
{"$ref":"AuditInfoApiKey"},
{"type":"null"}
]
// When the resource was created
createdAt?: anyOf: [
{"type":"string"},
{"type":"string"},
{"type":"null"}
]
// When the resource was last updated
updatedAt?: anyOf: [
{"type":"string"},
{"type":"string"},
{"type":"null"}
]
}
Schemas: AuditInfoMember AuditInfoApiKey
SignOutResponse
{
// Confirmation message
message: string
}
NotSignedInMessage
// Error response when the user is not signed in or session has expired
{
message: string
}
PasswordResetResponse
{
// Success message
message?: string
}
PasswordResetRequest
{
// User email address
email: string
// User password (required for authentication)
password?: string
}
PasswordResetVerifyResponse
{
// Success message
message?: string
}
PasswordChangeFailedMessage
// Error response when changing the password fails for an unspecified reason
{
message: string
}
PasswordResetVerifyRequest
{
// User email address
email: string
// Password reset token received via email
token: string
// New password to set
newPassword: string
}
PasswordChangeResponse
{
// Success message
message?: string
}
PasswordChangeRequest
{
// Current user password
currentPassword: string
// New password to set
newPassword: string
}
ApiKeyResponse
// API key information with organization details
{
// Unique identifier for the API key
id: string
// ID of the organization this API key belongs to
orgId: string
// Name of the role assigned to this API key
roleName: string
// Descriptive name for the API key
name: string
// Current status of the API key
status: enum[active, deleted, disabled] //default: active
// Timestamp when the API key expires
expiresAt?: string | null
// Organization information
organization: {
// Name of the organization this API key belongs to
name?: string
}
// User who created the resource
createdByUser?: oneOf: [
{"$ref":"AuditInfoMember"},
{"type":"null"}
]
// User who last updated the resource
updatedByUser?: oneOf: [
{"$ref":"AuditInfoMember"},
{"type":"null"}
]
// API key used to create the resource
createdByApiKey?: oneOf: [
{"$ref":"AuditInfoApiKey"},
{"type":"null"}
]
// API key used to last update the resource
updatedByApiKey?: oneOf: [
{"$ref":"AuditInfoApiKey"},
{"type":"null"}
]
// When the resource was created
createdAt?: anyOf: [
{"type":"string"},
{"type":"string"},
{"type":"null"}
]
// When the resource was last updated
updatedAt?: anyOf: [
{"type":"string"},
{"type":"string"},
{"type":"null"}
]
}
Schemas: AuditInfoMember AuditInfoApiKey
ApiKeyCreateResponse
// Response after creating an API key, including the key value
allOf: [
{"$ref":"ApiKeyResponse"}
]
Schemas: ApiKeyResponse
ApiKeyNameTakenMessage
// Error response when an API key name is already taken within the organization
{
message: string
}
InvalidApiKeyRoleMessage
// Error response when the role specified for an API key is invalid or not permitted
{
message: string
}
InvalidApiKeyLifetimeFormatMessage
// Error response when the API key lifetime format is invalid (e.g., use "30d", "1y")
{
message: string
}
LimitReachedMessage
// Error response when an operation cannot be completed due to a usage limit
{
message: string
}
ForbiddenResponseMessage
// Forbidden response message
{
message: string
}
CreateApiKeyRequest
// Data required to create a new API key
{
// Name of the role assigned to this API key
roleName: string
// Duration for which the key is valid (e.g., "30d", "1y")
lifetime?: string
// Descriptive name for the API key
name: string
}
ApiKeyList
[]
EmptyArrayResponse
{
"type": "null",
"example": [],
"description": "Empty array response"
}
ApiKeyNotFoundMessage
// Indicates that the specified API Key was not found
{
// The specified API Key could not be found
message: string
}
UpdateApiKeyRequest
// Data for updating an API key
{
// New name for the API key
name: string
// New expiration date for the API key
expiresAt?: string | null
}
StatusChangeApiKeyRequest
// Data for changing the status of an API key
{
// New status for the API key
status: enum[active, disabled]
}
SuccessResponse
// Generic success response
{
// Success message
message: string
}
UpdateFieldRequiredMessage
// Error response when at least one field is required for an update operation
{
message: string
}
UpdateOrganizationRequest
// Data for updating an organization
{
// Name of the organization
name?: string
// Description of the organization
description?: string | null
// Redirect URL of the organization
redirectUrl?: string | null
}
OrganizationCreateResponse
// Response after creating an organization
{
// Unique identifier for the organization
id: string
// Name of the organization
name: string
// Description of the organization
description?: string | null
// Redirect URL of the organization
redirectUrl?: string | null
}
CreateOrganizationRequest
// Data required to create a new organization
{
// Name of the organization
name: string
// Description of the organization
description?: string
// Redirect URL of the organization
redirectUrl?: string | null
}
OrganizationNotFoundOrDisabledMessage
// Indicates that the organization was not found or is disabled
{
// The specified organization could not be found, or it is currently disabled
message: string
}
InvitationResponse
// Invitation details with audit information
{
// Unique identifier for the invitation
id: string
// Email address of the invited user
email: string
// ID of the organization sending the invitation
orgId: string
// ID of the specific workspace (if applicable)
workspaceId?: string | null
// Role to be assigned upon acceptance
roleName: string
// Current status of the invitation
status: enum[pending, accepted, expired, declined]
// Personalized message included in the invitation
message?: string | null
// When the invitation expires
expiresAt: anyOf: [
{"type":"string"},
{"type":"string"}
]
// Organization information
organization: {
// Name of the organization sending the invitation
name: string
}
// Workspace information (if invitation is for a specific workspace)
workspace?: object | null
// User who created the resource
createdByUser?: oneOf: [
{"$ref":"AuditInfoMember"},
{"type":"null"}
]
// User who last updated the resource
updatedByUser?: oneOf: [
{"$ref":"AuditInfoMember"},
{"type":"null"}
]
// API key used to create the resource
createdByApiKey?: oneOf: [
{"$ref":"AuditInfoApiKey"},
{"type":"null"}
]
// API key used to last update the resource
updatedByApiKey?: oneOf: [
{"$ref":"AuditInfoApiKey"},
{"type":"null"}
]
// When the resource was created
createdAt?: anyOf: [
{"type":"string"},
{"type":"string"},
{"type":"null"}
]
// When the resource was last updated
updatedAt?: anyOf: [
{"type":"string"},
{"type":"string"},
{"type":"null"}
]
}
Schemas: AuditInfoMember AuditInfoApiKey
CreateInvitationResponse
// Invitation details with audit information
{
// Unique identifier for the invitation
id: string
// Email address of the invited user
email: string
// ID of the organization sending the invitation
orgId: string
// ID of the specific workspace (if applicable)
workspaceId?: string | null
// Role to be assigned upon acceptance
roleName: string
// Current status of the invitation
status: enum[pending, accepted, expired, declined]
// Personalized message included in the invitation
message?: string | null
// When the invitation expires
expiresAt: anyOf: [
{"type":"string"},
{"type":"string"}
]
// Organization information
organization: {
// Name of the organization sending the invitation
name: string
}
// Workspace information (if invitation is for a specific workspace)
workspace?: object | null
// User who created the resource
createdByUser?: oneOf: [
{"$ref":"AuditInfoMember"},
{"type":"null"}
]
// User who last updated the resource
updatedByUser?: oneOf: [
{"$ref":"AuditInfoMember"},
{"type":"null"}
]
// API key used to create the resource
createdByApiKey?: oneOf: [
{"$ref":"AuditInfoApiKey"},
{"type":"null"}
]
// API key used to last update the resource
updatedByApiKey?: oneOf: [
{"$ref":"AuditInfoApiKey"},
{"type":"null"}
]
// When the resource was created
createdAt?: anyOf: [
{"type":"string"},
{"type":"string"},
{"type":"null"}
]
// When the resource was last updated
updatedAt?: anyOf: [
{"type":"string"},
{"type":"string"},
{"type":"null"}
]
}
Schemas: AuditInfoMember AuditInfoApiKey
UserAlreadyHasRoleInOrganizationMessage
// Error response when a user already has the specified role in the organization
{
message: string
}
CreateInvitationRequest
// Data required to create a new invitation
{
// Email address of the person to invite
email: string
// Role to assign to the invited user
roleName: string
// Optional workspace ID to invite user to a specific workspace
workspaceId?: string
// Optional personalized message to include in the invitation
message?: string | null
}
OrganizationInvitationsResponse
[]
UserInvitationsResponse
// Invitation details with audit information
{
// Unique identifier for the invitation
id: string
// ID of the organization sending the invitation
orgId: string
// ID of the specific workspace (if applicable)
workspaceId?: string | null
// Role to be assigned upon acceptance
roleName: string
// Current status of the invitation
status: enum[pending, accepted, expired, declined]
// Personalized message included in the invitation
message?: string | null
// When the invitation expires
expiresAt: anyOf: [
{"type":"string"},
{"type":"string"}
]
// Organization information
organization: {
// Name of the organization sending the invitation
name: string
}
// Workspace information (if invitation is for a specific workspace)
workspace?: object | null
// User who created the resource
createdByUser?: oneOf: [
{"$ref":"AuditInfoMember"},
{"type":"null"}
]
// User who last updated the resource
updatedByUser?: oneOf: [
{"$ref":"AuditInfoMember"},
{"type":"null"}
]
// API key used to create the resource
createdByApiKey?: oneOf: [
{"$ref":"AuditInfoApiKey"},
{"type":"null"}
]
// API key used to last update the resource
updatedByApiKey?: oneOf: [
{"$ref":"AuditInfoApiKey"},
{"type":"null"}
]
// When the resource was created
createdAt?: anyOf: [
{"type":"string"},
{"type":"string"},
{"type":"null"}
]
// When the resource was last updated
updatedAt?: anyOf: [
{"type":"string"},
{"type":"string"},
{"type":"null"}
]
}[]
Schemas: AuditInfoMember AuditInfoApiKey
CannotDeleteAcceptedInvitationMessage
// Error response when attempting to delete an accepted invitation
{
message: string
}
InvitationNotFoundMessage
// Indicates that the invitation was not found or is invalid
{
// The specified invitation could not be found or is invalid or the organization is disabled or deleted
message: string
}
AcceptInvitationResponse
// Response after accepting an invitation
{
// User ID of the newly registered or existing user
id: string
// Email address of the user
email: string
// Whether the email has been verified
isEmailVerified: boolean
// JWT access token for authentication
access_token: string
}
InvitationExpiredMessage
// Error response when an invitation has expired
{
message: string
}
InvitationAlreadyAcceptedMessage
// Error response when an invitation has already been accepted
{
message: string
}
InvitationAlreadyDeclinedMessage
// Error response when an invitation has already been declined
{
message: string
}
UserRoleWithOrganization
// Role information with organization details
{
// Name of the role
name: string
scopes?: string[]
// Organization the role is associated with
organization: {
// Unique identifier for the organization
id: string
// Name of the organization
name?: string
// Description of the organization
description?: string | null
}
}
MemberNotFoundMessage
// Indicates that the specified member was not found
{
// The specified member could not be found
message: string
}
MemberOrRoleNotFoundMessage
// Indicates that the member or role was not found
{
// The specified member (user) or role could not be found
message: string
}
AddOrganizationMember
// Data required to add a member to an organization
{
// Email address of the user to add
email: string
// Name of the role to assign to the member
roleName: string
// Whether to send an invitation email
sendInvitation?: boolean
}
OrganizationMembers
[]
OrganizationMember
// Member information with roles
allOf: [
{"$ref":"UserResponseWithAudit"}
]
Schemas: UserResponseWithAudit
Role
// Role information
{
// Name of the role
name: string
scopes?: string[]
}
GroupedMemberRoles
// Grouped roles for a member
{
organizationRoles: // Role in the organization
{
// Name of the role
name: string
scopes?: string[]
// ID of the organization this role is associated with
orgId: string
}[]
workspaceRoles: // Role in a workspace
{
// Name of the role
name: string
scopes?: string[]
// ID of the workspace this role is associated with
workspaceId: string
}[]
}
EmptyRolesListResponse
// Response body when a member is found but has no roles in the given context, resulting in a 404 for the roles list
{
organizationRoles?: []
workspaceRoles?: []
}
AddMemberRole
// Data required to add a role to a member
{
// Name of the role to assign
roleName: string
}
CannotRemoveOwnOwnerRoleMessage
// Error response when a user attempts to remove their own owner role
{
message: string
}
WorkspaceResponse
// Workspace information with audit details
{
// Unique identifier for the workspace
id: string
// Name of the workspace
name: string
// Description of the workspace
description?: string | null
// Whether access to this workspace is isRestricted
isRestricted: boolean
// ID of the organization this workspace belongs to
orgId: string
// User who created the resource
createdByUser?: oneOf: [
{"$ref":"AuditInfoMember"},
{"type":"null"}
]
// User who last updated the resource
updatedByUser?: oneOf: [
{"$ref":"AuditInfoMember"},
{"type":"null"}
]
// API key used to create the resource
createdByApiKey?: oneOf: [
{"$ref":"AuditInfoApiKey"},
{"type":"null"}
]
// API key used to last update the resource
updatedByApiKey?: oneOf: [
{"$ref":"AuditInfoApiKey"},
{"type":"null"}
]
// When the resource was created
createdAt?: anyOf: [
{"type":"string"},
{"type":"string"},
{"type":"null"}
]
// When the resource was last updated
updatedAt?: anyOf: [
{"type":"string"},
{"type":"string"},
{"type":"null"}
]
}
Schemas: AuditInfoMember AuditInfoApiKey
WorkspaceNameTakenMessage
// Error response when a workspace name is already taken within the organization
{
message: string
}
CreateWorkspaceRequest
// Data required to create a new workspace
{
// Name of the workspace
name: string
// Description of the workspace
description?: string
// Whether access to this workspace is isRestricted
isRestricted?: boolean //default: true
}
WorkspaceNotFoundMessage
// Indicates that the specified workspace was not found
{
// The specified workspace could not be found
message: string
}
UpdateWorkspaceRequest
// Data for updating a workspace
{
// New name for the workspace
name?: string
// New description for the workspace
description?: string
// Whether access to this workspace is isRestricted
isRestricted?: boolean
}
WorkspaceDeleteResponse
// Response after deleting a workspace
{
// Success message
message: string
}
WorkspaceNotEmptyMessage
// Error response when a workspace is not empty
{
message: string
}
WorkspaceMemberRoles
// Role assigned to a workspace member
{
// Name of the role
name: string
}[]
AddWorkspaceMemberRoleResponse
// Result of assigning a role to a workspace member
{
// Name of the assigned role
name: string
}
UserAlreadyHasRoleInWorkspaceMessage
// Error response when a user already has the specified role in the workspace
{
message: string
}
RoleNotFoundMessage
// Indicates that the specified role was not found
{
// The specified role could not be found
message: string
}
WorkspaceMemberRole
// Role to assign to a workspace member
{
// Name of the role to assign
roleName: string
}
WorkspaceMembers
[]
WorkspaceMember
// Workspace member information
{
// Unique identifier of the member
id: string
// Name of the member
name: string
// Email address of the member
email: string
roles: {
// Name of the role
name: string
// Whether the role is inherited from organization level
isInherited: boolean
}[]
// User who created the resource
createdByUser?: oneOf: [
{"$ref":"AuditInfoMember"},
{"type":"null"}
]
// User who last updated the resource
updatedByUser?: oneOf: [
{"$ref":"AuditInfoMember"},
{"type":"null"}
]
// API key used to create the resource
createdByApiKey?: oneOf: [
{"$ref":"AuditInfoApiKey"},
{"type":"null"}
]
// API key used to last update the resource
updatedByApiKey?: oneOf: [
{"$ref":"AuditInfoApiKey"},
{"type":"null"}
]
// When the resource was created
createdAt?: anyOf: [
{"type":"string"},
{"type":"string"},
{"type":"null"}
]
// When the resource was last updated
updatedAt?: anyOf: [
{"type":"string"},
{"type":"string"},
{"type":"null"}
]
}
Schemas: AuditInfoMember AuditInfoApiKey
RolesWithScopesResponse
[]
RoleWithScopesResponse
// Role with detailed scope information
{
// Name of the role
name: string
scopes: // Permission scope
string[]
}
PlansResponse
[]
Plan
// Plan information
{
// Unique identifier of the plan
name: enum[plan-free, plan-startup, plan-business, plan-enterprise]
// Human-readable name of the plan
displayName: string
// Brief description of the plan
description: string
// Plan limits by limit type
limits: {
}
// Whether this is the current plan for the authenticated organization
isCurrent?: boolean
// When the next limit reset will occur for this plan
nextResetAt?: anyOf: [
{"type":"string"},
{"type":"string"}
]
}
PlanWithLimits
// Plan with detailed usage information
{
// Unique identifier of the plan
name: enum[plan-free, plan-startup, plan-business, plan-enterprise]
// Detailed limits with current usage
limits: {
}
// Whether this is the current plan
isCurrent?: boolean
// When the next limit reset will occur
nextResetAt?: anyOf: [
{"type":"string"},
{"type":"string"}
]
}
LimitDetail
// Limit details with current usage
{
// Maximum allowed value for this limit
limit: number
// Current usage count against this limit
usage: number
}
OrganizationPlanResponse
// Plan with detailed usage information
{
// Unique identifier of the plan
name: enum[plan-free, plan-startup, plan-business, plan-enterprise]
// Detailed limits with current usage
limits: {
}
// Whether this is the current plan
isCurrent?: boolean
// When the next limit reset will occur
nextResetAt?: anyOf: [
{"type":"string"},
{"type":"string"}
]
}
PlanNotFoundMessage
// Indicates that the plan was not found
{
// The specified plan or the plan for the organization could not be found
message: string
}
SettingsWithGroupResponse
[]
SettingResponse
// Setting response data
{
// Name of the setting
name: string
// URL-friendly identifier for the setting
slug: string
// Description of what the setting does
description?: string | null
}
SettingWithGroup
// Setting with group information
allOf: [
{"$ref":"SettingResponse"}
]
Schemas: SettingResponse
SettingsResponse
[]
SettingNotFoundMessage
// Indicates that the specified setting was not found
{
// The specified setting could not be found
message: string
}
SettingValueRequiredMessage
// Error response when a setting value is required but not provided
{
message: string
}
SettingReservedNameMessage
// Error response when attempting to create a setting with a reserved name
{
message: string
}
SettingNotWorkspaceOverridableMessageSchema
// Error response when attempting to operate on a service setting as if it were workspace-overridable, but it is not
{
message: string
}
CreateSetting
// Data required to create a new setting
{
// Name of the setting
name: string
// Description of what the setting does
description?: string | null
}
UpdateSetting
// Data required to update an existing setting
{
// Description of what the setting does
description?: string | null
}
SettingSuccessResponse
// Generic success response
{
// Success message
message: string
}
CannotDeleteServiceSettingMessage
// Error response when attempting to delete a non-deletable service setting
{
message: string
}
InvalidServiceSettingSlugMessage
// Error response when an invalid service setting slug is provided
{
message: string
}
InvalidServiceSettingValueTypeMessage
// Error response when a service setting value has an incorrect data type
{
message: string
}
InvalidServiceSettingValueMessage
// Error response when a service setting value is invalid (e.g., not in allowed list)
{
message: string
}
CannotOverrideSettingAtWorkspaceLevelMessage
// Error response when attempting to override a non-overridable setting at the workspace level
{
message: string
}
WorkspaceIdRequiredMessageSchema
// Error response when a workspace ID is required for an operation but not provided
{
message: string
}
EmptyResponseWithPagination
{
data?: []
// Pagination metadata
pagination: {
// Total number of items matching the filter criteria
total: number
// Current page number
page: number
// Number of items per page
limit: number
// Total number of pages
totalPages: number
}
}
CodeNotFoundMessage
// Indicates that the specified QR code was not found
{
// The specified QR code could not be found
message: string
}
CodeRouterRuleResponse
// Code router rule assignment response object
{
// Unique rule assignment identifier
id: string
// Parent QR code ID
codeId: string
// Template ID or null for inline
templateId: string | null
// Denormalized rule type for filtering
ruleType: string
// Resolved rule object
rule: {
// Template ID (only for template rules)
id?: string
// Rule name
name: string | null
// Rule description
description: string | null
// Rule type
type: string
// Rule conditions (null for scanLimit)
conditions: object | null
// Is global template
isGlobal?: boolean
// Organization ID
orgId?: string | null
// Workspace ID
workspaceId?: string | null
// Total template scans
totalScans?: integer
// Template creation date
createdAt?: string
// Template update date
updatedAt?: string
}
priority: integer
// The type of data the QR code contains. Only applies to dynamic codes. Determines how the QR code data is processed and what content type is returned when scanned. Available options: url (default, standard web redirect), wifi (WiFi configuration), vcard (contact card), text (plain text), email (mailto format), event (calendar event), json (custom JSON), file (file download).
dataType: enum[url, wifi, vcard, text, email, event, json, file]
dynamicData: {
}
maxScans: integer | null
loop: boolean
expiresAt: string | null
disabled: boolean
currentScans: integer
totalScans: integer
// User who created the resource
createdByUser?: oneOf: [
{"$ref":"AuditInfoMember"},
{"type":"null"}
]
// User who last updated the resource
updatedByUser?: oneOf: [
{"$ref":"AuditInfoMember"},
{"type":"null"}
]
// API key used to create the resource
createdByApiKey?: oneOf: [
{"$ref":"AuditInfoApiKey"},
{"type":"null"}
]
// API key used to last update the resource
updatedByApiKey?: oneOf: [
{"$ref":"AuditInfoApiKey"},
{"type":"null"}
]
// When the resource was created
createdAt?: anyOf: [
{"type":"string"},
{"type":"string"},
{"type":"null"}
]
// When the resource was last updated
updatedAt?: anyOf: [
{"type":"string"},
{"type":"string"},
{"type":"null"}
]
}
Schemas: AuditInfoMember AuditInfoApiKey
RouterRulePriorityAlreadyExistsMessage
// Error response when a router rule with the specified priority already exists
{
message: string
}
RouterRuleInvalidConditionsMessage
// Error response when router rule conditions are invalid for the specified rule type
{
message: string
}
RouterRuleMaxScansRequiredMessage
// Error response when scanLimit rule is missing required maxScans field
{
message: string
}
RouterRuleInvalidCountryCodeMessage
// Error response when an invalid country code is provided for router rule
{
message: string
}
RouterRuleNotFoundMessage
// Indicates that the specified router rule assignment was not found
{
// The specified router rule assignment could not be found
message: string
}
BaseCodeResponse
// Base QR code response schema
{
// Unique identifier for the QR code
id: string
// Name of the QR code
name: string
// Type of the QR code
type?: enum[static, dynamic]
// The type of data the QR code contains. Only applies to dynamic codes.
dataType?: enum[url, wifi, vcard, text, email, event, json, file, ]
// Short alias for the QR code
shortAlias?: string | null
// Functional content for dynamic QR codes. Structure depends on dataType.
dynamicData?: object | null
// Data encoded in the QR code
data: string
// Description of the QR code
description: string | null
// Number of times the QR code has been scanned
totalScans: number | null
// Custom user metadata for the QR code as JSON object. This is separate from the dynamicData field and stores additional information that is not part of the functional content.
metadata: object | null
// ID of the style applied to the QR code
styleId: string | null
// ID of the template applied to the QR code
templateId: string | null
// ID of the border applied to the QR code
borderId: string | null
// ID of the text applied to the QR code
textId: string | null
// Style object with its configuration
style?: {
id?: string | null
name?: string | null
}
// Template object with its configuration
template?: {
id?: string | null
name?: string | null
}
// Border object with its configuration
border?: {
id?: string | null
name?: string | null
}
// Text object with its configuration
text?: {
id?: string | null
name?: string | null
}
// ID of the workspace the QR code belongs to
workspaceId: string | null
// Whether the QR code is valid
isValid: boolean | null
// When the QR code was last validated
validatedAt: anyOf: [
{"type":"string"},
{"type":"string"},
{"type":"null"}
]
// Version number of the QR code
version: number
// Whether the QR code is deleted
isDeleted?: boolean
}
QRCodeOptions
// Complete configuration for QR code generation
{
// Data to encode in the QR code (required)
data: string
// Overall shape of the QR code
shape?: enum[square, circle, ]
// Margin around the QR code in pixels
margin?: number | null
// Whether QR code is responsive
isResponsive?: boolean | null
// Scale factor for QR code (0-1.5)
scale?: number | null
// General offset in pixels
offset?: number | null
// Vertical offset in pixels
verticalOffset?: number | null
// Horizontal offset in pixels
horizontalOffset?: number | null
// QR code specific options
qrOptions?: object | null
// Options for QR code dots
dotsOptions?: object | null
// Options for QR code corner squares
cornersSquareOptions?: object | null
// Options for QR code corner dots
cornersDotOptions?: object | null
// Options for QR code background or false to disable
backgroundOptions?: anyOf: [
{"type":"object","properties":{"color":{"type":["string","null"],"description":"Background color in CSS format","example":"#ffffff"},"round":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"string"},{"type":"null"}],"description":"Background corner rounding (0-1 or CSS value)","example":0.1},"gradient":{"oneOf":[{"$ref":"Gradient"},{"type":"null"}],"description":"Gradient for background"}},"required":["color"]},
{"type":"boolean","const":false}
]
// Image to embed in the QR code (URL, Buffer, or Blob)
image?: anyOf: [
{"type":"string"},
{},
{},
{"type":"null"}
]
// Options for embedded image
imageOptions?: object | null
// Border configuration options
borderOptions?: object | null
}
Gradient
// Gradient definition
{
// Type of gradient
type?: enum[linear, radial]
// Rotation angle of gradient in degrees
rotation?: number
colorStops?: // Color stop in a gradient
{
// Position of the color stop (0-1)
offset?: number
// Color in CSS format
color?: string
}[]
}
BorderInnerOuter
// Inner or outer border configuration
{
// Border color in CSS format
color?: string
// Border thickness in pixels
thickness?: number
}
DecorationOptions
// Options for QR code decoration
{
// Whether decoration is disabled
disabled?: boolean
// Whether text is enabled
enableText?: boolean
// Offset position in pixels
offset?: number
// Curve adjustment value
curveAdjustment?: number
// Whether curve is disabled
curveDisabled?: boolean
// Curve radius value (CSS format)
curveRadius?: string
// Type of decoration
type?: enum[text, image]
// Content value for decoration
value?: string
}
TextDecorationStyle
// Text decoration style
{
// Font face for the text
fontFace?: string
// Font size in pixels
fontSize?: number
// Font color in CSS format
fontColor?: string
// Letter spacing in pixels
letterSpacing?: number
// Font weight
fontWeight?: enum[normal, bold]
}
StyleOptions
// Configuration options for QR code styling
{
// Primary color for QR code elements in CSS format
primaryColor?: string | null
// Secondary color for QR code elements in CSS format
secondaryColor?: string | null
// Tertiary color for QR code elements in CSS format
thirdColor?: string | null
// Background color of the QR code in CSS format
backgroundColor?: string | null
// Gradient configuration for QR code dots
dotsGradient?: oneOf: [
{"$ref":"Gradient"},
{"type":"null"}
]
// Gradient configuration for corner dots
cornersDotGradient?: oneOf: [
{"$ref":"Gradient"},
{"type":"null"}
]
// Gradient configuration for corners
cornersGradient?: oneOf: [
{"$ref":"Gradient"},
{"type":"null"}
]
// Gradient configuration for QR code background
backgroundGradient?: oneOf: [
{"$ref":"Gradient"},
{"type":"null"}
]
// Shape style for the QR code dots
dotShape?: enum[dot, square, rounded, extra-rounded, classy, classy-rounded, vertical-line, horizontal-line, random-dot, small-square, tiny-square, star, plus, diamond, ]
// Shape style for the QR code corner squares
cornerSquareShape?: enum[dot, square, rounded, classy, outpoint, inpoint, ]
// Shape style for the QR code corner dots
cornerDotShape?: enum[dot, square, heart, rounded, classy, outpoint, inpoint, ]
// Logo to be placed on the QR code (URL, Base64, Buffer, or Blob)
logo?: anyOf: [
{"type":"string"},
{},
{},
{"type":"null"}
]
// Size of the logo relative to QR code (0-1)
logoSize?: number | null
// Placement mode for the logo
logoMode?: enum[center, overlay, background, ]
// Margin around the logo in pixels
logoMargin?: number | null
// Background color for logo in CSS format
logoBackgroundColor?: string | null
// Padding around the logo in pixels
logoPadding?: number | null
// Border radius for logo in pixels or CSS format
logoRadius?: anyOf: [
{"type":"string"},
{"type":"number"},
{"type":"null"}
]
// Color of the QR code border in CSS format
borderColor?: string | null
// Thickness of the border in pixels
borderThickness?: number | null
// Border radius in pixels or CSS format
borderRadius?: anyOf: [
{"type":"string"},
{"type":"number"},
{"type":"null"}
]
// Color of the inner border in CSS format
borderInnerColor?: string | null
// Thickness of the inner border in pixels
borderInnerThickness?: number | null
// Inner border radius in pixels or CSS format
borderInnerRadius?: anyOf: [
{"type":"string"},
{"type":"number"},
{"type":"null"}
]
// Color of the outer border in CSS format
borderOuterColor?: string | null
// Thickness of the outer border in pixels
borderOuterThickness?: number | null
// Text to display on top border
borderTextTop?: string | null
// Text to display on right border
borderTextRight?: string | null
// Text to display on bottom border
borderTextBottom?: string | null
// Text to display on left border
borderTextLeft?: string | null
// Font family for border text
borderFontFace?: string | null
// Font size for border text in pixels
borderFontSize?: number | null
// Font color for border text in CSS format
borderFontColor?: string | null
// Letter spacing for border text in pixels
borderLetterSpacing?: number | null
// Text transformation for border text
borderTextTransform?: enum[uppercase, lowercase, capitalize, ]
// Font weight for border text
borderFontWeight?: string
}
Schemas: Gradient
QRCodeOptionsWithOptionalData
// QR code configuration with optional data field
{
// Overall shape of the QR code
shape?: enum[square, circle, ]
// Margin around the QR code in pixels
margin?: number | null
// Whether QR code is responsive
isResponsive?: boolean | null
// Scale factor for QR code (0-1.5)
scale?: number | null
// General offset in pixels
offset?: number | null
// Vertical offset in pixels
verticalOffset?: number | null
// Horizontal offset in pixels
horizontalOffset?: number | null
// QR code specific options
qrOptions?: object | null
// Options for QR code dots
dotsOptions?: object | null
// Options for QR code corner squares
cornersSquareOptions?: object | null
// Options for QR code corner dots
cornersDotOptions?: object | null
// Options for QR code background or false to disable
backgroundOptions?: anyOf: [
{"type":"object","properties":{"color":{"type":["string","null"],"description":"Background color in CSS format","example":"#ffffff"},"round":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"string"},{"type":"null"}],"description":"Background corner rounding (0-1 or CSS value)","example":0.1},"gradient":{"oneOf":[{"$ref":"Gradient"},{"type":"null"}],"description":"Gradient for background"}},"required":["color"]},
{"type":"boolean","const":false}
]
// Image to embed in the QR code (URL, Buffer, or Blob)
image?: anyOf: [
{"type":"string"},
{},
{},
{"type":"null"}
]
// Options for embedded image
imageOptions?: object | null
// Border configuration options
borderOptions?: object | null
// Data to encode in the QR code (optional in this context)
data?: string
}
BorderOptions
// Border options configuration
{
// Overall shape of the QR code
shape?: enum[square, circle, ]
// Margin around the QR code in pixels
margin?: number | null
// Whether QR code is responsive
isResponsive?: boolean | null
// Scale factor for QR code (0-1.5)
scale?: number | null
// General offset in pixels
offset?: number | null
// Vertical offset in pixels
verticalOffset?: number | null
// Horizontal offset in pixels
horizontalOffset?: number | null
// QR code specific options
qrOptions?: object | null
// Options for QR code dots
dotsOptions?: object | null
// Options for QR code corner squares
cornersSquareOptions?: object | null
// Options for QR code corner dots
cornersDotOptions?: object | null
// Options for QR code background or false to disable
backgroundOptions?: anyOf: [
{"type":"object","properties":{"color":{"type":["string","null"],"description":"Background color in CSS format","example":"#ffffff"},"round":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"string"},{"type":"null"}],"description":"Background corner rounding (0-1 or CSS value)","example":0.1},"gradient":{"oneOf":[{"$ref":"Gradient"},{"type":"null"}],"description":"Gradient for background"}},"required":["color"]},
{"type":"boolean","const":false}
]
// Image to embed in the QR code (URL, Buffer, or Blob)
image?: anyOf: [
{"type":"string"},
{},
{},
{"type":"null"}
]
// Options for embedded image
imageOptions?: object | null
borderOptions: {
// Whether to show border
hasBorder?: boolean | null
// Border thickness in pixels
thickness?: number | null
// Border color in CSS format
color?: string | null
// Border radius in CSS format
radius?: string | null
// Thickness when no border is shown
noBorderThickness?: number | null
// Border background color in CSS format
background?: string | null
// Inner border configuration
inner?: object | null
// Outer border configuration
borderOuter?: oneOf: [
{"$ref":"BorderInnerOuter"},
{"type":"null"}
]
// Inner border configuration
borderInner?: oneOf: [
{"$ref":"BorderInnerOuter"},
{"type":"null"}
]
// Border decorations configuration
decorations?: object | null
}
}
Schemas: BorderInnerOuter
TextOptions
// Text options configuration
{
// Text value for all positions
value?: string | null
// Text value for the top position
topValue?: string | null
// Text value for the bottom position
bottomValue?: string | null
// Text value for the right position
rightValue?: string | null
// Text value for the left position
leftValue?: string | null
}
BaseCodeResponseWithAudit
// QR code response with audit information
allOf: [
{"$ref":"BaseCodeResponse"}
]
Schemas: BaseCodeResponse
BaseCodeResponseWithAuditAndLinks
// QR code response with audit information and file links
allOf: [
{"$ref":"BaseCodeResponseWithAudit"}
]
Schemas: BaseCodeResponseWithAudit
CodeFileLink
// QR code file link
{
// Format of the QR code file
format: string
// URL to access the QR code file
url: string
}
CodeResponse
// QR code response with audit information and file links
allOf: [
{"$ref":"BaseCodeResponseWithAudit"}
]
Schemas: BaseCodeResponseWithAudit
CodeLinksResponse
{
// Unique identifier for the code link
id: string
// Type of the link file
type: string
// Name of the link
name: string
// URL to access the file
url: string
// When the resource was created
createdAt?: anyOf: [
{"type":"string"},
{"type":"string"},
{"type":"null"}
]
// When the resource was last updated
updatedAt?: anyOf: [
{"type":"string"},
{"type":"string"},
{"type":"null"}
]
// ID of the user who created the link
createdByUserId: string | null
// ID of the API key used to create the link
createdByApiKeyId: string | null
// Associated QR code information
code: {
// ID of the related code
id: string
// Name of the related code
name: string | null
// Data encoded in the QR code
data: string
// Description of the related code
description: string | null
}
// Version number of the code
version?: number
// Whether this link is for the current version
isCurrentVersion?: boolean
// User who created the resource
createdByUser?: oneOf: [
{"$ref":"AuditInfoMember"},
{"type":"null"}
]
// User who last updated the resource
updatedByUser?: oneOf: [
{"$ref":"AuditInfoMember"},
{"type":"null"}
]
// API key used to create the resource
createdByApiKey?: oneOf: [
{"$ref":"AuditInfoApiKey"},
{"type":"null"}
]
// API key used to last update the resource
updatedByApiKey?: oneOf: [
{"$ref":"AuditInfoApiKey"},
{"type":"null"}
]
}
Schemas: AuditInfoMember AuditInfoApiKey
CodeDataRequiredMessage
// Error response when the data for QR Code is missing
{
message: string
}
CodeIsInvalidMessage
// Error response when the QR Code configuration is invalid
{
message: string
}
InvalidCodeTypeMessage
// Error response when an invalid code type is provided
{
message: string
}
DynamicDataForNewStaticCodeMessage
// Error response when a dynamic data is provided for a new static QR code
{
message: string
}
DynamicDataRequiredMessage
// Error response when a dynamic data is required for a dynamic QR code
{
message: string
}
ShortAliasAlreadyTakenMessage
// Error response when a QR Code with the specified short alias already exists
{
message: string
}
ShortAliasForStaticCodeMessage
// Error response when a short alias is provided for a static QR code
{
message: string
}
InfiniteRedirectLoopDetectedMessage
// Error response when a dynamic data points to the redirect domain
{
message: string
}
DataTypeForStaticCodeMessage
// Error response when a dataType is provided for a static QR code
{
message: string
}
DataTypeForDynamicToStaticCodeMessage
// Error response when a dataType is provided for a dynamic to static QR code
{
message: string
}
DataForDynamicCodeMessage
// Error response when a data is provided for a dynamic QR code
{
message: string
}
StyleNotFoundMessage
// Indicates that the specified style was not found
{
// The specified style could not be found
message: string
}
TemplateNotFoundMessage
// Indicates that the specified template was not found
{
// The specified template could not be found
message: string
}
BorderNotFoundMessage
// Indicates that the specified border entity was not found
{
// The specified border entity could not be found
message: string
}
TextNotFoundMessage
// Indicates that the specified text entity was not found
{
// The specified text entity could not be found
message: string
}
CreateCodeRequest
{
// Type of QR code
type?: enum[static, dynamic]
// The type of data the QR code contains. Only applies to dynamic codes. Defaults to "url" for dynamic codes. Each dataType has specific content structure requirements. url: {url}, wifi: {ssid, password?, security?, hidden?}, vcard: {fullName?, email?, phone?, organization?}, text: {text}, email: {to, subject?, body?}, event: {eventTitle, startDate, endDate?, location?}, file: {fileName, fileUrl, mimeType?}, json: any valid JSON.
dataType?: enum[url, wifi, vcard, text, email, event, json, file]
// Functional content for dynamic QR codes. Structure depends on dataType. url: {url}, wifi: {ssid, password?, security?, hidden?}, vcard: {fullName?, email?, phone?, organization?}, text: {text}, email: {to, subject?, body?}, event: {eventTitle, startDate, endDate?, location?}, file: {fileName, fileUrl, mimeType?}, json: any valid JSON.
dynamicData?: {
}
// Short alias for the QR code link (URL-safe characters only)
shortAlias?: string
// QR code data content
data?: string
// Name of the QR code
name: string
// Optional description for the QR code
description?: string
// Custom user metadata for the QR code as JSON object. This is separate from the dynamicData field and can store any additional information about the QR code that is not part of the functional content (e.g., campaign info, tags, internal references).
metadata?: object | null
// Format for the generated QR code link
linkFormat?: enum[svg, png, pdf]
// Whether to validate the QR code during creation
validate?: boolean
// QR code generation options
options?: oneOf: [
{"$ref":"QRCodeOptionsWithOptionalData"},
{"type":"null"}
]
// Style ID to apply to the QR code
styleId?: string | null
// Style object with options or style name string
style?: anyOf: [
{"type":["object","null"],"properties":{"id":{"type":["string","null"]},"options":{"oneOf":[{"$ref":"StyleOptions"},{"type":"null"}]}}},
{"type":"string"},
{"type":"null"}
]
// Template ID to apply to the QR code
templateId?: string | null
// Template object with options or template name string
template?: anyOf: [
{"type":["object","null"],"properties":{"id":{"type":["string","null"]},"options":{"oneOf":[{"$ref":"QRCodeOptionsWithOptionalData"},{"type":"null"}]}}},
{"type":"string"},
{"type":"null"}
]
// Border ID to apply to the QR code
borderId?: string | null
// Border object with options or border name string
border?: anyOf: [
{"type":["object","null"],"properties":{"id":{"type":["string","null"]},"options":{"oneOf":[{"$ref":"BorderOptions"},{"type":"null"}]}}},
{"type":"string"},
{"type":"null"}
]
// Text ID to apply to the QR code
textId?: string | null
// Text object with options or text name string
text?: anyOf: [
{"type":["object","null"],"properties":{"id":{"type":["string","null"]},"options":{"oneOf":[{"$ref":"TextOptions"},{"type":"null"}]}}},
{"type":"string"},
{"type":"null"}
]
}
Schemas: QRCodeOptionsWithOptionalData
CodeIsSoftDeletedMessage
// Error response when attempting to update a soft-deleted code
{
message: string
}
DynamicDataForStaticCodeMessage
// Error response when a dynamic data is provided for a static QR code
{
message: string
}
ShortAliasForDynamicToStaticCodeMessage
// Error response when a short alias is provided for a dynamic to static QR code
{
message: string
}
UpdateCodeRequest
{
// Type of QR code
type?: enum[static, dynamic]
// The type of data the QR code contains. Only applies to dynamic codes. Determines how the QR code data is processed and what content type is returned when scanned. Each dataType has specific content structure requirements.
dataType?: enum[url, wifi, vcard, text, email, event, json, file, ]
// Functional content for dynamic QR codes. Structure depends on dataType. url: {url}, wifi: {ssid, password?, security?, hidden?}, vcard: {fullName?, email?, phone?, organization?}, text: {text}, email: {to, subject?, body?}, event: {eventTitle, startDate, endDate?, location?}, file: {fileName, fileUrl, mimeType?}, json: any valid JSON.
dynamicData?: object | null
// Short alias for the QR code link (URL-safe characters only)
shortAlias?: string | null
// QR code data content
data?: string | null
// QR code generation options
options?: oneOf: [
{"$ref":"QRCodeOptionsWithOptionalData"},
{"type":"null"}
]
// Name of the QR code
name?: string
// Description for the QR code
description?: string
// Custom user metadata for the QR code as JSON object. This is separate from the dynamicData field and can store any additional information about the QR code that is not part of the functional content (e.g., campaign info, tags, internal references).
metadata?: object | null
// Style ID to apply to the QR code
styleId?: string | null
// Style object with options or style name string
style?: anyOf: [
{"type":"object","properties":{"id":{"type":["string","null"]},"name":{"type":["string","null"]},"options":{"oneOf":[{"$ref":"StyleOptions"},{"type":"null"}]}}},
{"type":"string"},
{"type":"null"}
]
// Template ID to apply to the QR code
templateId?: string | null
// Template object with options or template name string
template?: anyOf: [
{"type":"object","properties":{"id":{"type":["string","null"]},"name":{"type":["string","null"]},"options":{"oneOf":[{"$ref":"QRCodeOptionsWithOptionalData"},{"type":"null"}]}}},
{"type":"string"},
{"type":"null"}
]
// Border ID to apply to the QR code
borderId?: string | null
// Border object with options or border name string
border?: anyOf: [
{"type":"object","properties":{"id":{"type":["string","null"]},"name":{"type":["string","null"]},"options":{"oneOf":[{"$ref":"BorderOptions"},{"type":"null"}]}}},
{"type":"string"},
{"type":"null"}
]
// Text ID to apply to the QR code
textId?: string | null
// Text object with options or text name string
text?: anyOf: [
{"type":"object","properties":{"id":{"type":["string","null"]},"name":{"type":["string","null"]},"options":{"oneOf":[{"$ref":"TextOptions"},{"type":"null"}]}}},
{"type":"string"},
{"type":"null"}
]
// Format for the generated QR code link. Return existing link if generated before or create new link with provided format.
linkFormat?: enum[svg, png, pdf]
// Whether to validate the QR code during update
validate?: boolean
}
Schemas: QRCodeOptionsWithOptionalData
UpdateOptionsFieldRequiredMessage
// Error response when at least one field within options is required for an update operation
{
message: string
}
UpdateCodeOptionsRequest
{
// The type of data the QR code contains. Only applies to dynamic codes. Determines how the QR code data is processed and what content type is returned when scanned.
dataType?: enum[url, wifi, vcard, text, email, event, json, file]
// Partial QR code generation options to update. All fields are optional. At least one option field must be provided.
options: {
// Data to encode in the QR code (required)
data?: string
// Shape of the QR code
shape?: enum[square, circle, ]
margin?: number | null
isResponsive?: boolean | null
scale?: number | null
offset?: number | null
verticalOffset?: number | null
horizontalOffset?: number | null
qrOptions?: object | null
dotsOptions?: object | null
cornersSquareOptions?: object | null
cornersDotOptions?: object | null
backgroundOptions?: anyOf: [
{"type":"object","properties":{"color":{"type":["string","null"],"description":"Background color in CSS format","example":"#ffffff"},"round":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"string"},{"type":"null"}],"description":"Background corner rounding (0-1 or CSS value)","example":0.1},"gradient":{"oneOf":[{"$ref":"Gradient"},{"type":"null"}],"description":"Gradient for background"}},"required":["color"]},
{"type":"boolean","const":false}
]
image?: anyOf: [
{"type":"string"},
{},
{},
{"type":"null"}
]
imageOptions?: object | null
borderOptions?: object | null
}
// Format for the generated QR code link. Return existing link if generated before or create new link with provided format.
linkFormat?: enum[svg, png, pdf]
// Whether to validate the QR code after updating options.
validate?: boolean
}
BulkPermanentDeleteCodesResponse
{
// Success message for the bulk permanent deletion operation
message: string
// Detailed results categorized by outcome (only included when showDetails=true)
details?: {
deleted: string[]
notFound: string[]
forbidden: string[]
failed: string[]
}
}
CodeSoftDeleteResponse
{
// Confirmation message
message: string
}
CodeAlreadyDeletedMessage
// Error response when a code is already deleted
{
message: string
}
FileDeleteResponse
{
// Confirmation message
message: string
}
CodeNotSoftDeletedMessage
// Error response when a code is not soft deleted
{
message: string
}
CodeNotDeletedMessage
// Error response when a code is not deleted
{
message: string
}
BulkSoftDeleteCodesResponse
{
// Success message for the bulk operation
message: string
// Detailed results categorized by outcome (only included when showDetails=true)
details?: {
deleted: string[]
alreadyDeleted: string[]
notFound: string[]
forbidden: string[]
failed: string[]
}
}
ValidationErrorResponseMessage
// Validation error response message
{
message: string
errors?: []
}
GenerateCodeRequest
{
// QR code data content
data?: string
// QR code generation options
options?: {
// Overall shape of the QR code
shape?: enum[square, circle, ]
// Margin around the QR code in pixels
margin?: number | null
// Whether QR code is responsive
isResponsive?: boolean | null
// Scale factor for QR code (0-1.5)
scale?: number | null
// General offset in pixels
offset?: number | null
// Vertical offset in pixels
verticalOffset?: number | null
// Horizontal offset in pixels
horizontalOffset?: number | null
// QR code specific options
qrOptions?: object | null
// Options for QR code dots
dotsOptions?: object | null
// Options for QR code corner squares
cornersSquareOptions?: object | null
// Options for QR code corner dots
cornersDotOptions?: object | null
// Options for QR code background or false to disable
backgroundOptions?: anyOf: [
{"type":"object","properties":{"color":{"type":["string","null"],"description":"Background color in CSS format","example":"#ffffff"},"round":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"string"},{"type":"null"}],"description":"Background corner rounding (0-1 or CSS value)","example":0.1},"gradient":{"oneOf":[{"$ref":"Gradient"},{"type":"null"}],"description":"Gradient for background"}},"required":["color"]},
{"type":"boolean","const":false}
]
// Image to embed in the QR code (URL, Buffer, or Blob)
image?: anyOf: [
{"type":"string"},
{},
{},
{"type":"null"}
]
// Options for embedded image
imageOptions?: object | null
// Border configuration options
borderOptions?: object | null
// Data to encode in the QR code (optional in this context)
data?: string
}
// Style ID to apply to the QR code
styleId?: string | null
// Style object with options or style name string
style?: anyOf: [
{"type":["object","null"],"properties":{"options":{"oneOf":[{"$ref":"StyleOptions"},{"type":"null"}]}}},
{"type":"string"},
{"type":"null"}
]
// Template ID to apply to the QR code
templateId?: string | null
// Template object with options or template ID string
template?: anyOf: [
{"type":["object","null"],"properties":{"options":{"type":["object","null"],"properties":{"shape":{"type":["string","null"],"enum":["square","circle",null],"description":"Overall shape of the QR code","example":"square"},"margin":{"type":["number","null"],"description":"Margin around the QR code in pixels","example":10},"isResponsive":{"type":["boolean","null"],"description":"Whether QR code is responsive","example":true},"scale":{"type":["number","null"],"minimum":0,"maximum":1.5,"description":"Scale factor for QR code (0-1.5)","example":1},"offset":{"type":["number","null"],"description":"General offset in pixels","example":0},"verticalOffset":{"type":["number","null"],"description":"Vertical offset in pixels","example":0},"horizontalOffset":{"type":["number","null"],"description":"Horizontal offset in pixels","example":0},"qrOptions":{"type":["object","null"],"properties":{"typeNumber":{"type":["number","null"],"minimum":0,"maximum":40,"description":"QR code type number (0-40)","example":0},"mode":{"type":"string","enum":["numeric","alphanumeric","byte","kanji","unicode"],"description":"QR code encoding mode","example":"byte"},"errorCorrectionLevel":{"type":["string","null"],"enum":["L","M","Q","H",null],"description":"Error correction level","example":"M"}},"description":"QR code specific options"},"dotsOptions":{"type":["object","null"],"properties":{"type":{"type":["string","null"],"enum":["dot","square","rounded","extra-rounded","classy","classy-rounded","vertical-line","horizontal-line","random-dot","small-square","tiny-square","star","plus","diamond",null],"description":"Type of dots","example":"rounded"},"color":{"type":["string","null"],"description":"Color of dots in CSS format","example":"#000000"},"size":{"type":["number","null"],"description":"Size of dots relative to module size (0-1)","example":0.5},"gradient":{"oneOf":[{"$ref":"Gradient"},{"type":"null"}],"description":"Gradient for dots"}},"description":"Options for QR code dots"},"cornersSquareOptions":{"type":["object","null"],"properties":{"type":{"type":["string","null"],"enum":["dot","square","rounded","classy","outpoint","inpoint",null],"description":"Type of corner squares","example":"square"},"color":{"type":["string","null"],"description":"Color of corner squares in CSS format","example":"#000000"},"gradient":{"oneOf":[{"$ref":"Gradient"},{"type":"null"}],"description":"Gradient for corner squares"}},"description":"Options for QR code corner squares"},"cornersDotOptions":{"type":["object","null"],"properties":{"type":{"type":["string","null"],"enum":["dot","square","heart","rounded","classy","outpoint","inpoint",null],"description":"Type of corner dots","example":"dot"},"color":{"type":["string","null"],"description":"Color of corner dots in CSS format","example":"#000000"},"gradient":{"oneOf":[{"$ref":"Gradient"},{"type":"null"}],"description":"Gradient for corner dots"}},"description":"Options for QR code corner dots"},"backgroundOptions":{"anyOf":[{"type":"object","properties":{"color":{"type":["string","null"],"description":"Background color in CSS format","example":"#ffffff"},"round":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"string"},{"type":"null"}],"description":"Background corner rounding (0-1 or CSS value)","example":0.1},"gradient":{"oneOf":[{"$ref":"Gradient"},{"type":"null"}],"description":"Gradient for background"}},"required":["color"]},{"type":"boolean","const":false}],"description":"Options for QR code background or false to disable"},"image":{"anyOf":[{"type":"string"},{},{},{"type":"null"}],"description":"Image to embed in the QR code (URL, Buffer, or Blob)","example":"https://example.com/logo.png"},"imageOptions":{"type":["object","null"],"properties":{"mode":{"type":["string","null"],"enum":["center","overlay","background",null],"description":"Mode for embedded image","example":"center"},"imageSize":{"type":["number","null"],"minimum":0,"maximum":1,"description":"Size of image relative to QR code (0-1)","example":0.2},"margin":{"type":["number","null"],"description":"Margin around the image in pixels","example":5},"crossOrigin":{"type":["string","null"],"description":"Cross-origin attribute for image","example":"anonymous"},"fill":{"type":["object","null"],"properties":{"color":{"type":["string","null"],"description":"Fill color in CSS format","example":"#ffffff"},"gradient":{"oneOf":[{"$ref":"Gradient"},{"type":"null"}],"description":"Gradient for fill"}},"description":"Fill options for image area"}},"description":"Options for embedded image"},"borderOptions":{"type":["object","null"],"properties":{"hasBorder":{"type":["boolean","null"],"description":"Whether to show border","example":true},"thickness":{"type":["number","null"],"description":"Border thickness in pixels","example":2},"color":{"type":["string","null"],"description":"Border color in CSS format","example":"#000000"},"radius":{"type":["string","null"],"description":"Border radius in CSS format","example":"10px"},"noBorderThickness":{"type":["number","null"],"description":"Thickness when no border is shown","example":0},"background":{"type":["string","null"],"description":"Border background color in CSS format","example":"#ffffff"},"inner":{"type":["object","null"],"properties":{"radius":{"type":["string","null"],"description":"Inner radius in CSS format","example":"5px"},"scale":{"type":["number","null"],"minimum":0,"maximum":1.5,"description":"Inner scale factor (0-1.5)","example":1},"horizontalOffset":{"type":["number","null"],"description":"Inner horizontal offset in pixels","example":0},"verticalOffset":{"type":["number","null"],"description":"Inner vertical offset in pixels","example":0}},"description":"Inner border configuration"},"borderOuter":{"oneOf":[{"$ref":"BorderInnerOuter"},{"type":"null"}],"description":"Outer border configuration"},"borderInner":{"oneOf":[{"$ref":"BorderInnerOuter"},{"type":"null"}],"description":"Inner border configuration"},"decorations":{"type":["object","null"],"properties":{"top":{"oneOf":[{"$ref":"DecorationOptions"},{"type":"null"}],"description":"Top decoration configuration"},"right":{"oneOf":[{"$ref":"DecorationOptions"},{"type":"null"}],"description":"Right decoration configuration"},"bottom":{"oneOf":[{"$ref":"DecorationOptions"},{"type":"null"}],"description":"Bottom decoration configuration"},"left":{"oneOf":[{"$ref":"DecorationOptions"},{"type":"null"}],"description":"Left decoration configuration"}},"description":"Border decorations configuration"}},"description":"Border configuration options"}},"description":"Complete configuration for QR code generation"}}},
{"type":"string"},
{"type":"null"}
]
// Border ID to apply to the QR code
borderId?: string | null
// Border object with options or border ID string
border?: anyOf: [
{"type":["object","null"],"properties":{"options":{"oneOf":[{"$ref":"BorderOptions"},{"type":"null"}]}}},
{"type":"string"},
{"type":"null"}
]
// Text ID to apply to the QR code
textId?: string | null
// Text object with options or text ID string
text?: anyOf: [
{"type":["object","null"],"properties":{"options":{"oneOf":[{"$ref":"TextOptions"},{"type":"null"}]}}},
{"type":"string"},
{"type":"null"}
]
}
CodeValidationResponse
{
// Whether the QR code options are valid
isValid: boolean
}
ExistingCodeValidationResponse
{
// Unique identifier for the QR code
id: string
// Whether the QR code is valid
isValid: boolean
// Detailed validation results
validationDetails: {
// Boolean indicating if the QR code uses inverted colors
isInverted: boolean
// The decoded data from the QR code
data?: string | null
// Validation message explaining the result
message: string
// Number of decoding attempts made
attempts?: number | null
// Identifier of the validation method used
validator: string
}
}
RefreshCodeLinksResponse
{
// Whether the operation was successful
success: boolean
// Summary of the regeneration operation
summary: {
// Number of code versions processed
codeVersionsProcessed: number
// Number of files regenerated
filesRegenerated: number
// Number of errors encountered
errors: number
}
}
CodeVersionResponse
// QR code response with audit information and file links
allOf: [
{"$ref":"BaseCodeResponseWithAudit"}
]
Schemas: BaseCodeResponseWithAudit
VersionNotFoundMessage
// Indicates that the specified QR code version was not found
{
// The specified QR code version could not be found
message: string
}
CodeVersionsDeleteResponse
{
// Confirmation message
message: string
}
FileUrlResponse
{
// URL to access the generated file
url: string
}
LinkNotFoundMessage
// Indicates that the specified QR code link was not found
{
// The specified QR code link could not be found
message: string
}
CodeVersionLinkNotFoundForTypeMessage
// Error response when no link is found for a specified file type for a code version
{
message: string
}
CodeNoVersionsFoundForLinkDeletionMessage
// Error response when no code versions are found to delete links from
{
message: string
}
CodeNoLinksOfTypeFoundForAnyVersionMessage
// Error response when no links of a specified type are found for any code version
{
message: string
}
TemplateResponse
// Response schema for a template
{
// Unique identifier for the template
id: string
// Name of the template
name: string
// Description of the template
description?: string | null
// QR code options for the template (without data field)
options: {
// Overall shape of the QR code
shape?: enum[square, circle, ]
// Margin around the QR code in pixels
margin?: number | null
// Whether QR code is responsive
isResponsive?: boolean | null
// Scale factor for QR code (0-1.5)
scale?: number | null
// General offset in pixels
offset?: number | null
// Vertical offset in pixels
verticalOffset?: number | null
// Horizontal offset in pixels
horizontalOffset?: number | null
// QR code specific options
qrOptions?: object | null
// Options for QR code dots
dotsOptions?: object | null
// Options for QR code corner squares
cornersSquareOptions?: object | null
// Options for QR code corner dots
cornersDotOptions?: object | null
// Options for QR code background or false to disable
backgroundOptions?: anyOf: [
{"type":"object","properties":{"color":{"type":["string","null"],"description":"Background color in CSS format","example":"#ffffff"},"round":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"string"},{"type":"null"}],"description":"Background corner rounding (0-1 or CSS value)","example":0.1},"gradient":{"oneOf":[{"$ref":"Gradient"},{"type":"null"}],"description":"Gradient for background"}},"required":["color"]},
{"type":"boolean","const":false}
]
// Image to embed in the QR code (URL, Buffer, or Blob)
image?: anyOf: [
{"type":"string"},
{},
{},
{"type":"null"}
]
// Options for embedded image
imageOptions?: object | null
// Border configuration options
borderOptions?: object | null
}
// Custom metadata for the template as JSON object
metadata: object | null
// Workspace ID if the template is workspace-specific
workspaceId?: string | null
// User who created the resource
createdByUser?: oneOf: [
{"$ref":"AuditInfoMember"},
{"type":"null"}
]
// User who last updated the resource
updatedByUser?: oneOf: [
{"$ref":"AuditInfoMember"},
{"type":"null"}
]
// API key used to create the resource
createdByApiKey?: oneOf: [
{"$ref":"AuditInfoApiKey"},
{"type":"null"}
]
// API key used to last update the resource
updatedByApiKey?: oneOf: [
{"$ref":"AuditInfoApiKey"},
{"type":"null"}
]
// When the resource was created
createdAt?: anyOf: [
{"type":"string"},
{"type":"string"},
{"type":"null"}
]
// When the resource was last updated
updatedAt?: anyOf: [
{"type":"string"},
{"type":"string"},
{"type":"null"}
]
}
Schemas: AuditInfoMember AuditInfoApiKey
OptionsRequiredMessage
// Error response when required options are missing for an operation
{
message: string
}
TemplateNameTakenMessage
// Error response when a template entity name is already taken within the scope (organization/workspace)
{
message: string
}
TemplateBase
// Base template schema
{
// Name of the template
name: string
// Description of the template
description?: string
// QR code options for the template (without data field)
options: {
// Overall shape of the QR code
shape?: enum[square, circle, ]
// Margin around the QR code in pixels
margin?: number | null
// Whether QR code is responsive
isResponsive?: boolean | null
// Scale factor for QR code (0-1.5)
scale?: number | null
// General offset in pixels
offset?: number | null
// Vertical offset in pixels
verticalOffset?: number | null
// Horizontal offset in pixels
horizontalOffset?: number | null
// QR code specific options
qrOptions?: object | null
// Options for QR code dots
dotsOptions?: object | null
// Options for QR code corner squares
cornersSquareOptions?: object | null
// Options for QR code corner dots
cornersDotOptions?: object | null
// Options for QR code background or false to disable
backgroundOptions?: anyOf: [
{"type":"object","properties":{"color":{"type":["string","null"],"description":"Background color in CSS format","example":"#ffffff"},"round":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"string"},{"type":"null"}],"description":"Background corner rounding (0-1 or CSS value)","example":0.1},"gradient":{"oneOf":[{"$ref":"Gradient"},{"type":"null"}],"description":"Gradient for background"}},"required":["color"]},
{"type":"boolean","const":false}
]
// Image to embed in the QR code (URL, Buffer, or Blob)
image?: anyOf: [
{"type":"string"},
{},
{},
{"type":"null"}
]
// Options for embedded image
imageOptions?: object | null
// Border configuration options
borderOptions?: object | null
}
// Custom metadata for the template as JSON object
metadata?: object | null
// Workspace ID if the template is workspace-specific
workspaceId?: string | null
}
CreateTemplate
// Base template schema
{
// Name of the template
name: string
// Description of the template
description?: string
// QR code options for the template (without data field)
options: {
// Overall shape of the QR code
shape?: enum[square, circle, ]
// Margin around the QR code in pixels
margin?: number | null
// Whether QR code is responsive
isResponsive?: boolean | null
// Scale factor for QR code (0-1.5)
scale?: number | null
// General offset in pixels
offset?: number | null
// Vertical offset in pixels
verticalOffset?: number | null
// Horizontal offset in pixels
horizontalOffset?: number | null
// QR code specific options
qrOptions?: object | null
// Options for QR code dots
dotsOptions?: object | null
// Options for QR code corner squares
cornersSquareOptions?: object | null
// Options for QR code corner dots
cornersDotOptions?: object | null
// Options for QR code background or false to disable
backgroundOptions?: anyOf: [
{"type":"object","properties":{"color":{"type":["string","null"],"description":"Background color in CSS format","example":"#ffffff"},"round":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"string"},{"type":"null"}],"description":"Background corner rounding (0-1 or CSS value)","example":0.1},"gradient":{"oneOf":[{"$ref":"Gradient"},{"type":"null"}],"description":"Gradient for background"}},"required":["color"]},
{"type":"boolean","const":false}
]
// Image to embed in the QR code (URL, Buffer, or Blob)
image?: anyOf: [
{"type":"string"},
{},
{},
{"type":"null"}
]
// Options for embedded image
imageOptions?: object | null
// Border configuration options
borderOptions?: object | null
}
// Custom metadata for the template as JSON object
metadata?: object | null
// Workspace ID if the template is workspace-specific
workspaceId?: string | null
}
GetTemplatesResponse
// Response schema for getting templates
{
organizations: []
workspaces: TemplateResponse[]
}
Schemas: TemplateResponse
EmptyTemplatesOrgContextResponse
// Response body when no templates are found for the organization context
{
organizations: []
workspaces: []
}
BaseTemplates
[]
BaseTemplate
// A predefined base template that can be used as a template
{
// Unique identifier of the base template
id: string
// Name of the base template
name: string
// QR code options for the template (without data field)
options: {
// Overall shape of the QR code
shape?: enum[square, circle, ]
// Margin around the QR code in pixels
margin?: number | null
// Whether QR code is responsive
isResponsive?: boolean | null
// Scale factor for QR code (0-1.5)
scale?: number | null
// General offset in pixels
offset?: number | null
// Vertical offset in pixels
verticalOffset?: number | null
// Horizontal offset in pixels
horizontalOffset?: number | null
// QR code specific options
qrOptions?: object | null
// Options for QR code dots
dotsOptions?: object | null
// Options for QR code corner squares
cornersSquareOptions?: object | null
// Options for QR code corner dots
cornersDotOptions?: object | null
// Options for QR code background or false to disable
backgroundOptions?: anyOf: [
{"type":"object","properties":{"color":{"type":["string","null"],"description":"Background color in CSS format","example":"#ffffff"},"round":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"string"},{"type":"null"}],"description":"Background corner rounding (0-1 or CSS value)","example":0.1},"gradient":{"oneOf":[{"$ref":"Gradient"},{"type":"null"}],"description":"Gradient for background"}},"required":["color"]},
{"type":"boolean","const":false}
]
// Image to embed in the QR code (URL, Buffer, or Blob)
image?: anyOf: [
{"type":"string"},
{},
{},
{"type":"null"}
]
// Options for embedded image
imageOptions?: object | null
// Border configuration options
borderOptions?: object | null
}
}
UpdateTemplate
// Schema for updating a template
{
// Name of the template
name?: string
// Description of the template
description?: string
// QR code options for the template (without data field)
options?: {
// Overall shape of the QR code
shape?: enum[square, circle, ]
// Margin around the QR code in pixels
margin?: number | null
// Whether QR code is responsive
isResponsive?: boolean | null
// Scale factor for QR code (0-1.5)
scale?: number | null
// General offset in pixels
offset?: number | null
// Vertical offset in pixels
verticalOffset?: number | null
// Horizontal offset in pixels
horizontalOffset?: number | null
// QR code specific options
qrOptions?: object | null
// Options for QR code dots
dotsOptions?: object | null
// Options for QR code corner squares
cornersSquareOptions?: object | null
// Options for QR code corner dots
cornersDotOptions?: object | null
// Options for QR code background or false to disable
backgroundOptions?: anyOf: [
{"type":"object","properties":{"color":{"type":["string","null"],"description":"Background color in CSS format","example":"#ffffff"},"round":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"string"},{"type":"null"}],"description":"Background corner rounding (0-1 or CSS value)","example":0.1},"gradient":{"oneOf":[{"$ref":"Gradient"},{"type":"null"}],"description":"Gradient for background"}},"required":["color"]},
{"type":"boolean","const":false}
]
// Image to embed in the QR code (URL, Buffer, or Blob)
image?: anyOf: [
{"type":"string"},
{},
{},
{"type":"null"}
]
// Options for embedded image
imageOptions?: object | null
// Border configuration options
borderOptions?: object | null
}
// Updated custom metadata for the template as JSON object
metadata?: object | null
}
UpdateTemplateOptionsRequest
{
// Partial QR code options for the template (without data field) to update. All fields are optional. Use null as a value to delete a field. At least one option field must be provided.
options: {
// Shape of the QR code
shape?: enum[square, circle, ]
margin?: number | null
isResponsive?: boolean | null
scale?: number | null
offset?: number | null
verticalOffset?: number | null
horizontalOffset?: number | null
qrOptions?: object | null
dotsOptions?: object | null
cornersSquareOptions?: object | null
cornersDotOptions?: object | null
backgroundOptions?: anyOf: [
{"type":"object","properties":{"color":{"type":["string","null"],"description":"Background color in CSS format","example":"#ffffff"},"round":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"string"},{"type":"null"}],"description":"Background corner rounding (0-1 or CSS value)","example":0.1},"gradient":{"oneOf":[{"$ref":"Gradient"},{"type":"null"}],"description":"Gradient for background"}},"required":["color"]},
{"type":"boolean","const":false}
]
image?: anyOf: [
{"type":"string"},
{},
{},
{"type":"null"}
]
imageOptions?: object | null
borderOptions?: object | null
}
}
ResourceInUseMessage
// Error response when a resource cannot be modified/deleted because it is in use
{
message: string
}
TemplateArrayResponse
[]
StyleResponse
// Style data returned in API responses
{
// Unique identifier of the style
id: string
// Name of the style
name: string
// Description of the style
description?: string | null
// Style configuration options
options: {
// Primary color for QR code elements in CSS format
primaryColor?: string | null
// Secondary color for QR code elements in CSS format
secondaryColor?: string | null
// Tertiary color for QR code elements in CSS format
thirdColor?: string | null
// Background color of the QR code in CSS format
backgroundColor?: string | null
// Gradient configuration for QR code dots
dotsGradient?: oneOf: [
{"$ref":"Gradient"},
{"type":"null"}
]
// Gradient configuration for corner dots
cornersDotGradient?: oneOf: [
{"$ref":"Gradient"},
{"type":"null"}
]
// Gradient configuration for corners
cornersGradient?: oneOf: [
{"$ref":"Gradient"},
{"type":"null"}
]
// Gradient configuration for QR code background
backgroundGradient?: oneOf: [
{"$ref":"Gradient"},
{"type":"null"}
]
// Shape style for the QR code dots
dotShape?: enum[dot, square, rounded, extra-rounded, classy, classy-rounded, vertical-line, horizontal-line, random-dot, small-square, tiny-square, star, plus, diamond, ]
// Shape style for the QR code corner squares
cornerSquareShape?: enum[dot, square, rounded, classy, outpoint, inpoint, ]
// Shape style for the QR code corner dots
cornerDotShape?: enum[dot, square, heart, rounded, classy, outpoint, inpoint, ]
// Logo to be placed on the QR code (URL, Base64, Buffer, or Blob)
logo?: anyOf: [
{"type":"string"},
{},
{},
{"type":"null"}
]
// Size of the logo relative to QR code (0-1)
logoSize?: number | null
// Placement mode for the logo
logoMode?: enum[center, overlay, background, ]
// Margin around the logo in pixels
logoMargin?: number | null
// Background color for logo in CSS format
logoBackgroundColor?: string | null
// Padding around the logo in pixels
logoPadding?: number | null
// Border radius for logo in pixels or CSS format
logoRadius?: anyOf: [
{"type":"string"},
{"type":"number"},
{"type":"null"}
]
// Color of the QR code border in CSS format
borderColor?: string | null
// Thickness of the border in pixels
borderThickness?: number | null
// Border radius in pixels or CSS format
borderRadius?: anyOf: [
{"type":"string"},
{"type":"number"},
{"type":"null"}
]
// Color of the inner border in CSS format
borderInnerColor?: string | null
// Thickness of the inner border in pixels
borderInnerThickness?: number | null
// Inner border radius in pixels or CSS format
borderInnerRadius?: anyOf: [
{"type":"string"},
{"type":"number"},
{"type":"null"}
]
// Color of the outer border in CSS format
borderOuterColor?: string | null
// Thickness of the outer border in pixels
borderOuterThickness?: number | null
// Text to display on top border
borderTextTop?: string | null
// Text to display on right border
borderTextRight?: string | null
// Text to display on bottom border
borderTextBottom?: string | null
// Text to display on left border
borderTextLeft?: string | null
// Font family for border text
borderFontFace?: string | null
// Font size for border text in pixels
borderFontSize?: number | null
// Font color for border text in CSS format
borderFontColor?: string | null
// Letter spacing for border text in pixels
borderLetterSpacing?: number | null
// Text transformation for border text
borderTextTransform?: enum[uppercase, lowercase, capitalize, ]
// Font weight for border text
borderFontWeight?: string
}
// Custom metadata for the style as JSON object
metadata: object | null
// ID of the workspace this style belongs to (null for organization-level styles)
workspaceId?: string | null
// User who created the resource
createdByUser?: oneOf: [
{"$ref":"AuditInfoMember"},
{"type":"null"}
]
// User who last updated the resource
updatedByUser?: oneOf: [
{"$ref":"AuditInfoMember"},
{"type":"null"}
]
// API key used to create the resource
createdByApiKey?: oneOf: [
{"$ref":"AuditInfoApiKey"},
{"type":"null"}
]
// API key used to last update the resource
updatedByApiKey?: oneOf: [
{"$ref":"AuditInfoApiKey"},
{"type":"null"}
]
// When the resource was created
createdAt?: anyOf: [
{"type":"string"},
{"type":"string"},
{"type":"null"}
]
// When the resource was last updated
updatedAt?: anyOf: [
{"type":"string"},
{"type":"string"},
{"type":"null"}
]
}
Schemas: Gradient AuditInfoMember AuditInfoApiKey
StyleNameTakenMessage
// Error response when a style entity name is already taken within the scope (organization/workspace)
{
message: string
}
StyleBase
// Base schema for style definitions
{
// Name of the style
name: string
// Description of the style
description?: string
// Custom metadata for the style as JSON object
metadata?: object | null
// ID of the workspace this style belongs to (null for organization-level styles)
workspaceId?: string | null
}
CreateStyle
// Base schema for style definitions
{
// Name of the style
name: string
// Description of the style
description?: string
// Custom metadata for the style as JSON object
metadata?: object | null
// ID of the workspace this style belongs to (null for organization-level styles)
workspaceId?: string | null
}
BaseStyles
[]
BaseStyle
// A predefined base style that can be used as a template
{
// Unique identifier of the base style
id: string
// Name of the base style
name: string
// Style configuration options
options: {
// Primary color for QR code elements in CSS format
primaryColor?: string | null
// Secondary color for QR code elements in CSS format
secondaryColor?: string | null
// Tertiary color for QR code elements in CSS format
thirdColor?: string | null
// Background color of the QR code in CSS format
backgroundColor?: string | null
// Gradient configuration for QR code dots
dotsGradient?: oneOf: [
{"$ref":"Gradient"},
{"type":"null"}
]
// Gradient configuration for corner dots
cornersDotGradient?: oneOf: [
{"$ref":"Gradient"},
{"type":"null"}
]
// Gradient configuration for corners
cornersGradient?: oneOf: [
{"$ref":"Gradient"},
{"type":"null"}
]
// Gradient configuration for QR code background
backgroundGradient?: oneOf: [
{"$ref":"Gradient"},
{"type":"null"}
]
// Shape style for the QR code dots
dotShape?: enum[dot, square, rounded, extra-rounded, classy, classy-rounded, vertical-line, horizontal-line, random-dot, small-square, tiny-square, star, plus, diamond, ]
// Shape style for the QR code corner squares
cornerSquareShape?: enum[dot, square, rounded, classy, outpoint, inpoint, ]
// Shape style for the QR code corner dots
cornerDotShape?: enum[dot, square, heart, rounded, classy, outpoint, inpoint, ]
// Logo to be placed on the QR code (URL, Base64, Buffer, or Blob)
logo?: anyOf: [
{"type":"string"},
{},
{},
{"type":"null"}
]
// Size of the logo relative to QR code (0-1)
logoSize?: number | null
// Placement mode for the logo
logoMode?: enum[center, overlay, background, ]
// Margin around the logo in pixels
logoMargin?: number | null
// Background color for logo in CSS format
logoBackgroundColor?: string | null
// Padding around the logo in pixels
logoPadding?: number | null
// Border radius for logo in pixels or CSS format
logoRadius?: anyOf: [
{"type":"string"},
{"type":"number"},
{"type":"null"}
]
// Color of the QR code border in CSS format
borderColor?: string | null
// Thickness of the border in pixels
borderThickness?: number | null
// Border radius in pixels or CSS format
borderRadius?: anyOf: [
{"type":"string"},
{"type":"number"},
{"type":"null"}
]
// Color of the inner border in CSS format
borderInnerColor?: string | null
// Thickness of the inner border in pixels
borderInnerThickness?: number | null
// Inner border radius in pixels or CSS format
borderInnerRadius?: anyOf: [
{"type":"string"},
{"type":"number"},
{"type":"null"}
]
// Color of the outer border in CSS format
borderOuterColor?: string | null
// Thickness of the outer border in pixels
borderOuterThickness?: number | null
// Text to display on top border
borderTextTop?: string | null
// Text to display on right border
borderTextRight?: string | null
// Text to display on bottom border
borderTextBottom?: string | null
// Text to display on left border
borderTextLeft?: string | null
// Font family for border text
borderFontFace?: string | null
// Font size for border text in pixels
borderFontSize?: number | null
// Font color for border text in CSS format
borderFontColor?: string | null
// Letter spacing for border text in pixels
borderLetterSpacing?: number | null
// Text transformation for border text
borderTextTransform?: enum[uppercase, lowercase, capitalize, ]
// Font weight for border text
borderFontWeight?: string
}
}
Schemas: Gradient
GetStylesResponse
// Response containing organization and workspace styles
{
organizations: []
workspaces: StyleResponse[]
}
Schemas: StyleResponse
EmptyStylesOrgContextResponse
// Response body when no styles are found for the organization context
{
organizations: []
workspaces: []
}
UpdateStyle
// Schema for updating an existing style
{
// Updated name of the style
name?: string
// Updated description of the style
description?: string
// Updated custom metadata for the style as JSON object
metadata?: object | null
}
UpdateStyleOptionsRequest
{
// Partial style options to update. All fields are optional. Use null as a value to delete a field. At least one option field must be provided.
options: {
primaryColor?: string | null
secondaryColor?: string | null
thirdColor?: string | null
backgroundColor?: string | null
// Gradient definition
dotsGradient?: object | null
// Gradient definition
cornersDotGradient?: object | null
// Gradient definition
cornersGradient?: object | null
// Gradient definition
backgroundGradient?: object | null
// Type of dots in QR code
dotShape?: enum[dot, square, rounded, extra-rounded, classy, classy-rounded, vertical-line, horizontal-line, random-dot, small-square, tiny-square, star, plus, diamond, ]
// Type of corner squares in QR code
cornerSquareShape?: enum[dot, square, rounded, classy, outpoint, inpoint, ]
// Type of corner dots in QR code
cornerDotShape?: enum[dot, square, heart, rounded, classy, outpoint, inpoint, ]
logo?: anyOf: [
{"type":"string"},
{},
{},
{"type":"null"}
]
logoSize?: number | null
// Mode for embedding images in QR code
logoMode?: enum[center, overlay, background, ]
logoMargin?: number | null
logoBackgroundColor?: string | null
logoPadding?: number | null
logoRadius?: anyOf: [
{"type":"string"},
{"type":"number"},
{"type":"null"}
]
borderColor?: string | null
borderThickness?: number | null
borderRadius?: anyOf: [
{"type":"string"},
{"type":"number"},
{"type":"null"}
]
borderInnerColor?: string | null
borderInnerThickness?: number | null
borderInnerRadius?: anyOf: [
{"type":"string"},
{"type":"number"},
{"type":"null"}
]
borderOuterColor?: string | null
borderOuterThickness?: number | null
borderTextTop?: string | null
borderTextRight?: string | null
borderTextBottom?: string | null
borderTextLeft?: string | null
borderFontFace?: string | null
borderFontSize?: number | null
borderFontColor?: string | null
borderLetterSpacing?: number | null
borderTextTransform?: enum[uppercase, lowercase, capitalize, ]
borderFontWeight?: string
}
}
StyleArray
[]
TextResponse
// Text data returned in API responses
{
// Unique identifier for the text
id: string
// Name of the text
name: string
// Description of the text
description?: string | null
// Text configuration options
options: {
// Text value for all positions
value?: string | null
// Text value for the top position
topValue?: string | null
// Text value for the bottom position
bottomValue?: string | null
// Text value for the right position
rightValue?: string | null
// Text value for the left position
leftValue?: string | null
}
// Custom metadata for the text as JSON object
metadata: object | null
// ID of the workspace this text belongs to, if any
workspaceId?: string | null
// User who created the resource
createdByUser?: oneOf: [
{"$ref":"AuditInfoMember"},
{"type":"null"}
]
// User who last updated the resource
updatedByUser?: oneOf: [
{"$ref":"AuditInfoMember"},
{"type":"null"}
]
// API key used to create the resource
createdByApiKey?: oneOf: [
{"$ref":"AuditInfoApiKey"},
{"type":"null"}
]
// API key used to last update the resource
updatedByApiKey?: oneOf: [
{"$ref":"AuditInfoApiKey"},
{"type":"null"}
]
// When the resource was created
createdAt?: anyOf: [
{"type":"string"},
{"type":"string"},
{"type":"null"}
]
// When the resource was last updated
updatedAt?: anyOf: [
{"type":"string"},
{"type":"string"},
{"type":"null"}
]
}
Schemas: AuditInfoMember AuditInfoApiKey
TextNameTakenMessage
// Error response when a text entity name is already taken within the scope (organization/workspace)
{
message: string
}
TextBase
// Base schema for text definitions
{
// Name of the text
name: string
// Description of the text
description?: string
// Custom metadata for the text as JSON object
metadata?: object | null
// ID of the workspace this text belongs to, if any
workspaceId?: string | null
}
CreateText
// Base schema for text definitions
{
// Name of the text
name: string
// Description of the text
description?: string
// Custom metadata for the text as JSON object
metadata?: object | null
// ID of the workspace this text belongs to, if any
workspaceId?: string | null
}
GetTextsResponse
// List of texts grouped by organization and workspace
{
organizations: []
workspaces: TextResponse[]
}
Schemas: TextResponse
EmptyTextsOrgContextResponse
// Response body when no text entities are found for the organization context
{
organizations: []
workspaces: []
}
BaseTexts
[]
BaseText
// A predefined base text that can be used as a template
{
// Unique identifier of the base text
id: string
// Name of the base text
name: string
// Text configuration options
options: {
// Text value for all positions
value?: string | null
// Text value for the top position
topValue?: string | null
// Text value for the bottom position
bottomValue?: string | null
// Text value for the right position
rightValue?: string | null
// Text value for the left position
leftValue?: string | null
}
}
UpdateText
// Schema for updating an existing text
{
// Name of the text
name?: string
// Description of the text
description?: string
// Updated custom metadata for the text as JSON object
metadata?: object | null
// ID of the workspace this text belongs to, if any
workspaceId?: string | null
}
UpdateTextOptionsRequest
{
// Partial text options to update. All fields are optional. Use null as a value to delete a field. At least one option field must be provided.
options: {
value?: string | null
topValue?: string | null
bottomValue?: string | null
rightValue?: string | null
leftValue?: string | null
}
}
DeleteTextResponse
// Response for successful text deletion
{
// Success message
message: string
}
TextArray
[]
BorderResponse
// Border Response Schema
{
// Unique identifier for the border
id: string
// Name of the border
name: string
// Description of the border
description?: string | null
// Custom metadata for the border as JSON object
metadata: object | null
// ID of the workspace this border belongs to, if any
workspaceId?: string | null
// User who created the resource
createdByUser?: oneOf: [
{"$ref":"AuditInfoMember"},
{"type":"null"}
]
// User who last updated the resource
updatedByUser?: oneOf: [
{"$ref":"AuditInfoMember"},
{"type":"null"}
]
// API key used to create the resource
createdByApiKey?: oneOf: [
{"$ref":"AuditInfoApiKey"},
{"type":"null"}
]
// API key used to last update the resource
updatedByApiKey?: oneOf: [
{"$ref":"AuditInfoApiKey"},
{"type":"null"}
]
// When the resource was created
createdAt?: anyOf: [
{"type":"string"},
{"type":"string"},
{"type":"null"}
]
// When the resource was last updated
updatedAt?: anyOf: [
{"type":"string"},
{"type":"string"},
{"type":"null"}
]
}
Schemas: AuditInfoMember AuditInfoApiKey
BorderNameTakenMessage
// Error response when a border name is already taken within the scope (organization/workspace)
{
message: string
}
BorderBase
// Border Base Schema
{
// Name of the border
name: string
// Description of the border
description?: string
// Custom metadata for the border as JSON object
metadata?: object | null
// ID of the workspace this border belongs to, if any
workspaceId?: string | null
}
GetBordersResponse
// List of borders grouped by organization and workspace
{
organizations: []
workspaces: BorderResponse[]
}
Schemas: BorderResponse
EmptyBordersOrgContextResponseMessage
// Response body when no border entities are found for the organization context
{
// No borders found for the specified organization and workspace
message: string
}
BaseBorders
[]
BaseBorder
// A predefined base border that can be used as a template
{
// Unique identifier of the base border
id: string
// Name of the base border
name: string
// Border configuration options
options: allOf: [
{"$ref":"BorderOptions"}
]
}
Schemas: BorderOptions
UpdateBorder
// Update Border Schema
{
// Name of the border
name?: string
// Description of the border
description?: string
// Updated custom metadata for the border as JSON object
metadata?: object | null
}
DeleteBorderResponse
// Delete Border Response Schema
{
// Success message
message: string
}
UpdateBorderOptionsRequest
{
// Partial border options to update. borderOptions is required and must contain at least one field (can be nullable). Other top-level options are optional. Use null as a value to delete a field.
options: {
borderOptions: {
hasBorder?: boolean | null
thickness?: number | null
color?: string | null
radius?: string | null
noBorderThickness?: number | null
background?: string | null
inner?: object | null
// Inner or outer border configuration
borderOuter?: object | null
// Inner or outer border configuration
borderInner?: object | null
decorations?: object | null
}
// Overall shape of the QR code
shape?: enum[square, circle, ]
// Margin around the QR code in pixels
margin?: number | null
// Whether QR code is responsive
isResponsive?: boolean | null
// Scale factor for QR code (0-1.5)
scale?: number | null
// General offset in pixels
offset?: number | null
// Vertical offset in pixels
verticalOffset?: number | null
// Horizontal offset in pixels
horizontalOffset?: number | null
// QR code specific options
qrOptions?: object | null
// Options for QR code dots
dotsOptions?: object | null
// Options for QR code corner squares
cornersSquareOptions?: object | null
// Options for QR code corner dots
cornersDotOptions?: object | null
// Options for QR code background or false to disable
backgroundOptions?: anyOf: [
{"type":"object","properties":{"color":{"type":["string","null"],"description":"Background color in CSS format","example":"#ffffff"},"round":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"string"},{"type":"null"}],"description":"Background corner rounding (0-1 or CSS value)","example":0.1},"gradient":{"oneOf":[{"$ref":"Gradient"},{"type":"null"}],"description":"Gradient for background"}},"required":["color"]},
{"type":"boolean","const":false}
]
// Image to embed in the QR code (URL, Buffer, or Blob)
image?: anyOf: [
{"type":"string"},
{},
{},
{"type":"null"}
]
// Options for embedded image
imageOptions?: object | null
}
}
RouterRuleTemplateNotFoundMessage
// Indicates that the specified router rule template was not found
{
// The specified router rule template could not be found
message: string
}
WorkspaceRouterRuleResponse
// Workspace router rule assignment response object with code context
allOf: [
{"$ref":"CodeRouterRuleResponse"}
]
Schemas: CodeRouterRuleResponse