{"openapi":"3.0.0","info":{"version":"1.0.0","title":"CentralAuth API"},"components":{"securitySchemes":{"bearerToken":{"type":"http","scheme":"bearer","bearerFormat":"string"},"cookieSessionToken":{"type":"apiKey","in":"cookie","name":"accessToken"}},"schemas":{"InvitedUser":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"tenantId":{"type":"string","format":"uuid"},"email":{"type":"string","format":"email"},"roleId":{"type":"string","enum":["Admin","OrganizationAdmin","FinancialAdmin","UserAdmin"]},"activated":{"type":"boolean","default":false,"readOnly":true},"created":{"type":"string","format":"date-time","readOnly":true},"updated":{"type":"string","format":"date-time","readOnly":true},"role":{"type":"object","properties":{"id":{"type":"string","enum":["Admin","OrganizationAdmin","FinancialAdmin","UserAdmin"],"readOnly":true},"name":{"type":"string"}},"required":["name"]}},"required":["tenantId","email","roleId","activated","role"]},"InternalUser":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"tenantId":{"type":"string","format":"uuid","readOnly":true},"userId":{"type":"string","format":"uuid","readOnly":true},"roleId":{"type":"string","enum":["Admin","OrganizationAdmin","FinancialAdmin","UserAdmin"]}},"required":["roleId"]},"Organization":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"tenantId":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":2},"logo":{"type":"string","nullable":true,"format":"uri"},"clientSecret":{"type":"string","readOnly":true,"description":"The client secret key for the organization. When creating a new organization, the client secret will be readable once. After that, the client secret will be encrypted and cannot be retrieved."},"newClientSecret":{"type":"string","readOnly":true,"description":"The new client secret key for the organization to be rotated."},"newClientSecretDate":{"type":"string","format":"date-time","readOnly":true,"description":"The datetime when the new client secret key has been created."},"domain":{"type":"string","nullable":true,"description":"The automatically assigned domain for this organization."},"customDomain":{"type":"string","nullable":true},"customDomainVerified":{"type":"boolean","readOnly":true,"description":"Indicates if the custom domain has been verified."},"emailConnectionEnabled":{"type":"boolean","default":true,"description":"Indicates if email connections are enabled for this organization."},"passkeyConnectionEnabled":{"type":"boolean","default":true,"description":"Indicates if passkey connections are enabled for this organization."},"centralAuthAppConnectionEnabled":{"type":"boolean","default":true,"description":"Indicates if CentralAuth app connections are enabled for this organization."},"overrideParentSettings":{"type":"boolean","default":false},"organizationSettingsId":{"type":"string","format":"uuid","readOnly":true},"created":{"type":"string","format":"date-time","readOnly":true},"updated":{"type":"string","format":"date-time","readOnly":true},"settings":{"$ref":"#/components/schemas/OrganizationSettings"},"whitelistItems":{"type":"array","items":{"$ref":"#/components/schemas/WhitelistItem"}},"appRegistrations":{"type":"array","items":{"$ref":"#/components/schemas/NativeAppRegistration"}},"oAuthProviders":{"type":"array","items":{"$ref":"#/components/schemas/OAuthProvider"}},"themeSettings":{"$ref":"#/components/schemas/ThemeSettings"}},"required":["tenantId","name"]},"OrganizationSettings":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"maxSessionTime":{"type":"number","minimum":0,"default":0},"maxInactivityTime":{"type":"number","minimum":0,"default":0},"enableUserCreation":{"type":"boolean","default":true},"allowLocalhost":{"type":"boolean","default":false},"checkReferrer":{"type":"boolean","default":true},"hijackProtection":{"type":"boolean","default":true},"hijackProtectionIp":{"type":"boolean","default":true},"hijackProtectionUserAgent":{"type":"boolean","default":true},"hijackProtectionDeviceId":{"type":"boolean","default":true},"autoLogin":{"type":"boolean","default":true},"defaultLoginMethod":{"type":"string","enum":["local","remote","userPick"],"default":"local"},"defaultLoginAttemptType":{"type":"string","enum":["link","challenge","code"],"default":"code"},"useGlobalSmtp":{"type":"boolean","default":true},"smtpHost":{"type":"string","nullable":true},"smtpPort":{"type":"number","nullable":true,"minimum":0},"smtpFrom":{"type":"string","nullable":true},"smtpUser":{"type":"string","nullable":true},"smtpPass":{"type":"string","nullable":true}}},"WhitelistItem":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"organizationId":{"type":"string","format":"uuid","readOnly":true},"value":{"type":"string"}},"required":["value"]},"NativeAppRegistration":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"type":{"type":"string","enum":["mobile","desktop"],"default":"mobile","description":"The type of the native app, e.g. mobile or desktop."},"bundleId":{"type":"string","description":"App ID or package name for the native app."},"appLink":{"type":"string","description":"App link, universal link or loopback URL to open the app after authentication."},"certificateThumbprint":{"type":"string","nullable":true,"minLength":64,"maxLength":64,"description":"The certificate thumbprint for the app to verify the authentication response. This field is only relevant for desktop apps."},"organizationId":{"type":"string","format":"uuid","readOnly":true}},"required":["type","bundleId","appLink","organizationId"]},"OAuthProvider":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"organizationId":{"type":"string","format":"uuid","readOnly":true},"type":{"type":"string","enum":["google","microsoft","facebook","linkedin","x","reddit","github"]},"useOwnCredentials":{"type":"boolean","default":false},"clientId":{"type":"string","nullable":true},"clientSecret":{"type":"string","nullable":true}},"required":["type","clientId","clientSecret"]},"ThemeSettings":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"organizationId":{"type":"string","format":"uuid","description":"ID of the organization these theme settings belong to","readOnly":true},"loginBlockLayout":{"type":"string","enum":["default","compact"],"default":"default","description":"Layout of the login block on the login page"},"loginPageLayout":{"type":"string","enum":["default","alignLeft","alignRight","fullLeft","fullRight","compact"],"default":"default","description":"Layout of the login page"},"imageUrl":{"type":"string","nullable":true,"format":"uri","description":"URL of the image to use on the login page"},"customFont":{"type":"string","description":"Google Font name to use on the login page"},"primaryColor":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$","default":"#6366F1","description":"Primary color used on the login page"},"backgroundColor":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$","default":"#FFFFFF","description":"Background color used on the login page"},"contentColor":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$","default":"#1F2023","description":"Content color used on the login page"},"neutralColor":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$","default":"#E1E2E7","description":"Neutral color used on the login page"}}},"Tenant":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"tenantId":{"type":"string","format":"uuid","readOnly":true},"formId":{"type":"string","writeOnly":true},"name":{"type":"string","minLength":2},"logo":{"type":"string","nullable":true,"format":"uri"},"whitelabel":{"type":"boolean","default":false,"description":"Indicates if the tenant is whitelabeled or not"},"organizationSettingsId":{"type":"string","format":"uuid","readOnly":true},"created":{"type":"string","format":"date-time","readOnly":true},"updated":{"type":"string","format":"date-time","readOnly":true},"deleted":{"type":"string","nullable":true,"format":"date-time","readOnly":true},"internalUsers":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/InternalUser"},{"type":"object","properties":{"user":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"email":{"type":"string","format":"email","description":"An email address unique for this user."},"gravatar":{"type":"string","readOnly":true,"description":"The Gravatar image URL."},"verified":{"type":"boolean","default":false,"description":"Flag whether this user has verified their email address."},"blocked":{"type":"boolean","default":false,"description":"Flag whether this user is blocked."},"organizationId":{"type":"string","format":"uuid"},"created":{"type":"string","format":"date-time","readOnly":true,"description":"The date and time when this user was created."},"updated":{"type":"string","format":"date-time","readOnly":true,"description":"The date and time when this user was last updated."},"lastLogin":{"type":"string","nullable":true,"format":"date-time","readOnly":true,"description":"A datetime object of the day when the user was last active."}},"required":["email","organizationId"]}},"required":["user"]},{"type":"object","properties":{"role":{"$ref":"#/components/schemas/Role"}},"required":["role"]}]},"readOnly":true},"invitedUsers":{"type":"array","items":{"$ref":"#/components/schemas/InvitedUser"},"readOnly":true},"settings":{"$ref":"#/components/schemas/OrganizationSettings"},"tenantData":{"$ref":"#/components/schemas/TenantData"}},"required":["formId","name","whitelabel","tenantData"]},"Role":{"type":"object","properties":{"id":{"type":"string","enum":["Admin","OrganizationAdmin","FinancialAdmin","UserAdmin"],"readOnly":true},"name":{"type":"string"},"permissions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","enum":["updateTenant","deleteTenant","createOrganization","updateOrganization","deleteOrganization","manageBilling","createUser","updateUser","deleteUser","viewAllUsers"],"readOnly":true},"name":{"type":"string"}}}}},"required":["name","permissions"]},"TenantData":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"active":{"type":"boolean","default":true,"readOnly":true,"description":"Indicates if the tenant is active or not"},"tier":{"type":"string","enum":["free","basic","pro","enterprise"],"default":"free","readOnly":true,"description":"The tier of the tenant, used for billing and feature access"},"nextTier":{"type":"string","nullable":true,"enum":["free","basic","pro","enterprise",null],"readOnly":true,"description":"The tier to be set at the start of the next billing period"},"discountPercentage":{"type":"number","minimum":0,"maximum":100,"default":0,"readOnly":true,"description":"Custom subscription discount percentage for the tenant"},"customerId":{"type":"string","nullable":true,"readOnly":true,"description":"ID of the customer in Mollie"},"relationId":{"type":"number","nullable":true,"readOnly":true,"description":"ID of the customer relation in e-Boekhouden"},"mandateId":{"type":"string","nullable":true,"readOnly":true,"description":"ID of the mandate in Mollie"},"subscriptionStart":{"type":"string","nullable":true,"format":"date-time","readOnly":true,"description":"The start date of the subscription for the tenant"},"tenantId":{"type":"string","format":"uuid","readOnly":true},"billingInfo":{"$ref":"#/components/schemas/BillingInfo"}},"required":["active","tier","discountPercentage","billingInfo"]},"BillingInfo":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"tenantDataId":{"type":"string","format":"uuid","readOnly":true},"currency":{"type":"string","enum":["EUR","USD","GBP","JPY","CNY"],"default":"USD","description":"The currency for the invoices"},"invoiceEmailAddress":{"type":"string","format":"email","description":"Email address to send the invoices to"},"addressLine":{"type":"string","description":"Billing address line 1 for the invoices"},"addressLine2":{"type":"string","nullable":true,"description":"Billing address line 2 for the invoices"},"zipPostalCode":{"type":"string","description":"Zip or postal code for the invoices"},"city":{"type":"string","description":"City for the invoices"},"country":{"type":"string","enum":["AF","AL","DZ","AS","AD","AO","AI","AQ","AG","AR","AM","AW","AU","AT","AZ","BS","BH","BD","BB","BY","BE","BZ","BJ","BM","BT","BO","BQ","BA","BW","BV","BR","IO","BN","BG","BF","BI","KH","CM","CA","CV","KY","CF","TD","CL","CN","CX","CC","CO","KM","CG","CD","CK","CR","HR","CU","CW","CY","CZ","CI","DK","DJ","DM","DO","EC","EG","SV","GQ","ER","EE","SZ","ET","FK","FO","FJ","FI","FR","GF","PF","TF","GA","GM","GE","DE","GH","GI","GR","GL","GD","GP","GU","GT","GG","GN","GW","GY","HT","HM","VA","HN","HK","HU","IS","IN","ID","IR","IQ","IE","IM","IT","JM","JP","JE","JO","KZ","KE","KI","KP","KR","KW","KG","LA","LV","LB","LS","LR","LY","LI","LT","LU","MO","MK","MG","MW","MY","MV","ML","MT","MH","MQ","MR","MU","YT","MX","FM","MD","MC","MN","ME","MS","MA","MZ","MM","NA","NR","NP","NL","NC","NZ","NI","NE","NG","NU","NF","MP","NO","OM","PK","PW","PS","PA","PG","PY","PE","PH","PN","PL","PT","PR","QA","RO","RW","RE","BL","SH","KN","LC","MF","PM","VC","WS","SM","ST","SA","SN","RS","SC","SL","SG","SX","SK","SI","SB","SO","ZA","GS","SS","ES","LK","SD","SR","SJ","SE","CH","SY","TW","TJ","TZ","TH","TL","TG","TK","TO","TT","TN","TR","TM","TC","TV","UG","UA","AE","GB","US","UM","UY","UZ","VU","VE","VN","VG","VI","WF","EH","YE","ZM","ZW","AX"],"description":"Country for the invoices"},"vatNumber":{"type":"string","description":"VAT number for the invoices"}},"required":["id","tenantDataId","currency","invoiceEmailAddress","addressLine","zipPostalCode","city","country","vatNumber"]},"Invoice":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"tenantDataId":{"type":"string","format":"uuid","readOnly":true},"paymentId":{"type":"string","nullable":true,"readOnly":true,"description":"ID of the payment in Mollie"},"invoiceId":{"type":"number","nullable":true,"readOnly":true,"description":"External ID of the invoice"},"tier":{"type":"string","enum":["free","basic","pro","enterprise"],"default":"free","readOnly":true,"description":"The tier of the tenant for this invoice"},"currency":{"type":"string","enum":["EUR","USD","GBP","JPY","CNY"],"default":"USD","readOnly":true,"description":"The currency of the invoice"},"subscriptionAmount":{"type":"number","readOnly":true,"description":"Amount of the subscription in the invoice"},"monthlyActiveUsers":{"type":"number","minimum":0,"default":0,"readOnly":true,"description":"Number of MAUs for the period of this invoice"},"monthlyActiveUserAmount":{"type":"number","readOnly":true,"description":"Amount of the MAU in the invoice"},"monthlyActiveUserTier":{"type":"string","enum":["free","basic","pro","enterprise"],"default":"free","readOnly":true,"description":"The tier used for calculating the amount of the MAU"},"discountPercentage":{"type":"number","readOnly":true,"description":"Discount percentage for the invoice"},"status":{"type":"string","enum":["open","pending","authorized","paid","canceled","failed","expired","chargeback"],"default":"open","readOnly":true,"description":"Status of the payment"},"startDate":{"type":"string","format":"date-time","readOnly":true},"endDate":{"type":"string","format":"date-time","readOnly":true},"downloadUrl":{"type":"string","nullable":true,"format":"uri","readOnly":true,"description":"URL to download the invoice PDF"},"created":{"type":"string","format":"date-time","readOnly":true},"updated":{"type":"string","format":"date-time","readOnly":true}},"required":["id","tenantDataId","tier","currency","subscriptionAmount","monthlyActiveUsers","monthlyActiveUserAmount","monthlyActiveUserTier","discountPercentage","status","startDate","endDate","created","updated"]},"User":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"email":{"type":"string","format":"email","description":"An email address unique for this user."},"gravatar":{"type":"string","readOnly":true,"description":"The Gravatar image URL."},"verified":{"type":"boolean","default":false,"description":"Flag whether this user has verified their email address."},"blocked":{"type":"boolean","default":false,"description":"Flag whether this user is blocked."},"organizationId":{"type":"string","format":"uuid"},"created":{"type":"string","format":"date-time","readOnly":true,"description":"The date and time when this user was created."},"updated":{"type":"string","format":"date-time","readOnly":true,"description":"The date and time when this user was last updated."},"lastLogin":{"type":"string","nullable":true,"format":"date-time","readOnly":true,"description":"A datetime object of the day when the user was last active."},"connections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["email","passkey","centralauth","google","apple","microsoft","facebook","linkedin","x","reddit","github"]},"userId":{"type":"string","format":"uuid"},"created":{"type":"string","format":"date-time","readOnly":true},"updated":{"type":"string","format":"date-time","readOnly":true}}},"readOnly":true}},"required":["email","organizationId"]},"Paging":{"type":"object","properties":{"pager":{"type":"object","properties":{"pageIndex":{"type":"number","minimum":0,"default":0,"description":"Current page index in the pager, starting at 0"},"pages":{"type":"number","minimum":0,"readOnly":true,"description":"Total number of pages based on the limit per page"},"limitPerPage":{"type":"number","minimum":1,"maximum":100,"default":10,"description":"Maximum number of entities on one page"},"totalEntities":{"type":"number","minimum":0,"readOnly":true,"description":"Total number of entities"}},"required":["pages","totalEntities"]},"data":{"nullable":true,"readOnly":true,"description":"Generic for the array of entities for one page of the pager"}},"required":["pager"]},"APIKey":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"organizationId":{"type":"string","format":"uuid","description":"Foreign key to a tenant or an organization."},"name":{"type":"string","minLength":3,"description":"The human-readable name of the API key."},"key":{"type":"string","description":"The hashed API key. When creating a new API key, it will be readable once. After that, the API key will be encrypted and cannot be retrieved.","readOnly":true},"created":{"type":"string","format":"date-time","readOnly":true},"updated":{"type":"string","format":"date-time","readOnly":true},"lastUsed":{"type":"string","format":"date-time","readOnly":true}},"required":["organizationId","name"]},"ApiRequest":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"tenantId":{"type":"string","format":"uuid","description":"The tenant ID this API request belongs to."},"endpoint":{"type":"string","description":"The API endpoint being requested."},"date":{"type":"string","format":"date-time","readOnly":true,"description":"The date and time when this API request was made."}},"required":["id","tenantId","endpoint","date"]},"AuditLog":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"tenantId":{"type":"string","format":"uuid","description":"The tenant ID this audit log belongs to."},"actorType":{"type":"string","enum":["user","apiKey","authToken","system"],"description":"The type of actor that performed the action."},"actorId":{"type":"string","nullable":true,"format":"uuid","description":"The ID of the actor that performed the action."},"action":{"type":"string","enum":["CREATE","UPDATE","UPSERT","DELETE"],"description":"The action performed on the target."},"targetType":{"type":"string","description":"The type of the target model."},"targetId":{"type":"string","format":"uuid","description":"The ID of the target model."},"status":{"type":"string","enum":["success","failure"],"description":"The status of the action."},"ipAddress":{"type":"string","description":"The IP address of the actor."},"details":{"type":"object","description":"Additional details about the action, including query data and errors."},"created":{"type":"string","format":"date-time","readOnly":true,"description":"The date and time when this audit log was created."}},"required":["id","tenantId","actorType","action","targetType","targetId","status","ipAddress","created"]},"MailLog":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true,"description":"The unique identifier for the mail log."},"messageId":{"type":"string","nullable":true,"description":"The ID of the message in the email server, can be null if the email was not sent"},"organizationId":{"type":"string","format":"uuid","description":"The organization ID this mail log belongs to."},"to":{"type":"string","format":"email","description":"The recipient email address."},"from":{"type":"string","format":"email","description":"The sender email address."},"subject":{"type":"string","description":"The subject of the email."},"body":{"type":"string","description":"The HTML body of the email. When the email was sent less than 15 minutes ago, the body is stripped for security reasons."},"sent":{"type":"boolean","description":"Whether the email was sent successfully or not."},"responseTime":{"type":"number","description":"The time it took to get a response from the email server in milliseconds."},"response":{"type":"string","nullable":true,"description":"The response from the email server, can be null if the email was not sent."},"error":{"type":"string","nullable":true,"description":"The error message if the email was not sent, can be null if the email was sent successfully."},"created":{"type":"string","format":"date-time","readOnly":true,"description":"The date and time when this mail log was created."}},"required":["id","organizationId","to","from","subject","body","sent","responseTime","created"]}},"parameters":{}},"paths":{"/api/v1/invited_user/{id}":{"delete":{"summary":"Delete an invited admin","tags":["Admins"],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Success"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}}},"/api/v1/invited_user":{"post":{"summary":"Invite an new admin to the tenant","tags":["Admins"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"tenantId":{"type":"string","format":"uuid"},"email":{"type":"string","format":"email"},"roleId":{"type":"string","enum":["Admin","OrganizationAdmin","FinancialAdmin","UserAdmin"]}},"required":["tenantId","email","roleId"]}}}},"responses":{"200":{"description":"An invited admin object","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvitedUser"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}}},"/api/v1/internal_user/{tenantId}/{userId}":{"delete":{"summary":"Delete an internal user (admin) on a tenant","tags":["Admins"],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"tenantId","in":"path"},{"schema":{"type":"string","format":"uuid"},"required":true,"name":"userId","in":"path"}],"responses":{"200":{"description":"Success"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}},"post":{"summary":"Update an existing internal user (admin) on a tenant","tags":["Admins"],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"tenantId","in":"path"},{"schema":{"type":"string","format":"uuid"},"required":true,"name":"userId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"roleId":{"type":"string","enum":["Admin","OrganizationAdmin","FinancialAdmin","UserAdmin"]}}}}}},"responses":{"200":{"description":"An internal user object","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalUser"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}}},"/api/v2/organization/{id}":{"get":{"summary":"Get an organization","tags":["Organizations"],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"An organization object with whitelist items, OAuth providers and settings","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Organization"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}},"delete":{"summary":"Delete an organization","description":"WARNING! When you delete an organizations, all users and settings will be deleted. This action cannot be undone.","tags":["Organizations"],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Success"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}},"post":{"summary":"Update an existing organization","tags":["Organizations"],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":2},"logo":{"type":"string","nullable":true,"format":"uri"},"customDomain":{"type":"string","nullable":true},"emailConnectionEnabled":{"type":"boolean","default":true,"description":"Indicates if email connections are enabled for this organization."},"passkeyConnectionEnabled":{"type":"boolean","default":true,"description":"Indicates if passkey connections are enabled for this organization."},"centralAuthAppConnectionEnabled":{"type":"boolean","default":true,"description":"Indicates if CentralAuth app connections are enabled for this organization."},"overrideParentSettings":{"type":"boolean","default":false},"settings":{"type":"object","properties":{"maxSessionTime":{"type":"number","minimum":0,"default":0},"maxInactivityTime":{"type":"number","minimum":0,"default":0},"enableUserCreation":{"type":"boolean","default":true},"allowLocalhost":{"type":"boolean","default":false},"checkReferrer":{"type":"boolean","default":true},"hijackProtection":{"type":"boolean","default":true},"hijackProtectionIp":{"type":"boolean","default":true},"hijackProtectionUserAgent":{"type":"boolean","default":true},"hijackProtectionDeviceId":{"type":"boolean","default":true},"autoLogin":{"type":"boolean","default":true},"defaultLoginMethod":{"type":"string","enum":["local","remote","userPick"],"default":"local"},"defaultLoginAttemptType":{"type":"string","enum":["link","challenge","code"],"default":"code"},"useGlobalSmtp":{"type":"boolean","default":true},"smtpHost":{"type":"string","nullable":true},"smtpPort":{"type":"number","nullable":true,"minimum":0},"smtpFrom":{"type":"string","nullable":true},"smtpUser":{"type":"string","nullable":true},"smtpPass":{"type":"string","nullable":true}}},"whitelistItems":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"}},"required":["value"]}},"themeSettings":{"type":"object","properties":{"loginBlockLayout":{"type":"string","enum":["default","compact"],"default":"default","description":"Layout of the login block on the login page"},"loginPageLayout":{"type":"string","enum":["default","alignLeft","alignRight","fullLeft","fullRight","compact"],"default":"default","description":"Layout of the login page"},"imageUrl":{"type":"string","nullable":true,"format":"uri","description":"URL of the image to use on the login page"},"customFont":{"type":"string","description":"Google Font name to use on the login page"},"primaryColor":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$","default":"#6366F1","description":"Primary color used on the login page"},"backgroundColor":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$","default":"#FFFFFF","description":"Background color used on the login page"},"contentColor":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$","default":"#1F2023","description":"Content color used on the login page"},"neutralColor":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$","default":"#E1E2E7","description":"Neutral color used on the login page"}}},"appRegistrations":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["mobile","desktop"],"default":"mobile","description":"The type of the native app, e.g. mobile or desktop."},"bundleId":{"type":"string","description":"App ID or package name for the native app."},"appLink":{"type":"string","description":"App link, universal link or loopback URL to open the app after authentication."},"certificateThumbprint":{"type":"string","nullable":true,"minLength":64,"maxLength":64,"description":"The certificate thumbprint for the app to verify the authentication response. This field is only relevant for desktop apps."}},"required":["type","bundleId","appLink"]}},"oAuthProviders":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["google","microsoft","facebook","linkedin","x","reddit","github"]},"useOwnCredentials":{"type":"boolean","default":false},"clientId":{"type":"string","nullable":true},"clientSecret":{"type":"string","nullable":true}}}}}}}}},"responses":{"200":{"description":"An organization object with whitelist items, OAuth providers and settings","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Organization"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}}},"/api/v2/organization":{"post":{"summary":"Create a new organization","tags":["Organizations"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"tenantId":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":2},"logo":{"type":"string","nullable":true,"format":"uri"},"customDomain":{"type":"string","nullable":true},"emailConnectionEnabled":{"type":"boolean","default":true,"description":"Indicates if email connections are enabled for this organization."},"passkeyConnectionEnabled":{"type":"boolean","default":true,"description":"Indicates if passkey connections are enabled for this organization."},"centralAuthAppConnectionEnabled":{"type":"boolean","default":true,"description":"Indicates if CentralAuth app connections are enabled for this organization."},"overrideParentSettings":{"type":"boolean","default":false},"settings":{"type":"object","properties":{"maxSessionTime":{"type":"number","minimum":0,"default":0},"maxInactivityTime":{"type":"number","minimum":0,"default":0},"enableUserCreation":{"type":"boolean","default":true},"allowLocalhost":{"type":"boolean","default":false},"checkReferrer":{"type":"boolean","default":true},"hijackProtection":{"type":"boolean","default":true},"hijackProtectionIp":{"type":"boolean","default":true},"hijackProtectionUserAgent":{"type":"boolean","default":true},"hijackProtectionDeviceId":{"type":"boolean","default":true},"autoLogin":{"type":"boolean","default":true},"defaultLoginMethod":{"type":"string","enum":["local","remote","userPick"],"default":"local"},"defaultLoginAttemptType":{"type":"string","enum":["link","challenge","code"],"default":"code"},"useGlobalSmtp":{"type":"boolean","default":true},"smtpHost":{"type":"string","nullable":true},"smtpPort":{"type":"number","nullable":true,"minimum":0},"smtpFrom":{"type":"string","nullable":true},"smtpUser":{"type":"string","nullable":true},"smtpPass":{"type":"string","nullable":true}}},"whitelistItems":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"}},"required":["value"]}},"appRegistrations":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["mobile","desktop"],"default":"mobile","description":"The type of the native app, e.g. mobile or desktop."},"bundleId":{"type":"string","description":"App ID or package name for the native app."},"appLink":{"type":"string","description":"App link, universal link or loopback URL to open the app after authentication."},"certificateThumbprint":{"type":"string","nullable":true,"minLength":64,"maxLength":64,"description":"The certificate thumbprint for the app to verify the authentication response. This field is only relevant for desktop apps."}},"required":["type","bundleId","appLink"]}},"oAuthProviders":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["google","microsoft","facebook","linkedin","x","reddit","github"]},"useOwnCredentials":{"type":"boolean","default":false},"clientId":{"type":"string","nullable":true},"clientSecret":{"type":"string","nullable":true}},"required":["type","clientId","clientSecret"]}},"themeSettings":{"type":"object","properties":{"loginBlockLayout":{"type":"string","enum":["default","compact"],"default":"default","description":"Layout of the login block on the login page"},"loginPageLayout":{"type":"string","enum":["default","alignLeft","alignRight","fullLeft","fullRight","compact"],"default":"default","description":"Layout of the login page"},"imageUrl":{"type":"string","nullable":true,"format":"uri","description":"URL of the image to use on the login page"},"customFont":{"type":"string","description":"Google Font name to use on the login page"},"primaryColor":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$","default":"#6366F1","description":"Primary color used on the login page"},"backgroundColor":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$","default":"#FFFFFF","description":"Background color used on the login page"},"contentColor":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$","default":"#1F2023","description":"Content color used on the login page"},"neutralColor":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$","default":"#E1E2E7","description":"Neutral color used on the login page"}}}},"required":["tenantId","name"]}}}},"responses":{"200":{"description":"An organization object with whitelist items, OAuth providers and settings","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Organization"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}}},"/api/v1/organization/{id}/rotate_secret":{"get":{"summary":"Request a new client secret for the organization","tags":["Organizations"],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"A new client secret for the organization. The client secret will be encrypted and cannot be retrieved after this request.","content":{"text/plain":{"schema":{"type":"string"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}}},"/api/v1/organization/{id}/activate_secret":{"post":{"summary":"Activate the newly created client secret for the organization","description":"To create a new client secret, first use the /api/v1/organization/{id}/rotate_secret endpoint.","tags":["Organizations"],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"string"}}}},"responses":{"200":{"description":"Success"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}}},"/api/v1/tenant/{id}":{"get":{"summary":"Get a tenant","tags":["Tenants"],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"A tenant object with settings, internal and invited users.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tenant"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}},"delete":{"summary":"Delete a tenant","description":"WARNING! When you delete a tenant, all organizations, users and settings will be deleted. This action cannot be undone.","tags":["Tenants"],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Success"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}},"post":{"summary":"Update an existing tenant","tags":["Tenants"],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":2},"logo":{"type":"string","nullable":true,"format":"uri"},"whitelabel":{"type":"boolean","default":false,"description":"Indicates if the tenant is whitelabeled or not"},"settings":{"$ref":"#/components/schemas/OrganizationSettings"}}}}}},"responses":{"200":{"description":"A tenant object with settings, internal and invited users.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tenant"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}}},"/api/v1/invoices/{tenantId}":{"get":{"summary":"Get all invoices for a tenant","tags":["Tenants"],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"tenantId","in":"path"}],"responses":{"200":{"description":"All invoices for this tenant","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Invoice"}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}}},"/api/v1/user/{id}":{"get":{"summary":"Get a user","tags":["Users"],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"A user object with all active connections","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}},"post":{"summary":"Update an existing user","description":"Note that it is not possible to edit the email address of a user.","tags":["Users"],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"verified":{"type":"boolean","default":false,"description":"Flag whether this user has verified their email address."},"blocked":{"type":"boolean","default":false,"description":"Flag whether this user is blocked."}}}}}},"responses":{"200":{"description":"A user object with all active connections","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}},"delete":{"summary":"Delete a user","description":"Note that a user can create a new user object by logging in to your organization, unless user creation is disabled. It is not necessary to create a new user object first. If you have disabled user creation, you can manage your users through the API or the dashboard.","tags":["Users"],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Success"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}}},"/api/v1/user/{organizationId}/{email}":{"get":{"summary":"Get a user by email address","tags":["Users"],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"organizationId","in":"path"},{"schema":{"type":"string","format":"email"},"required":true,"name":"email","in":"path"}],"responses":{"200":{"description":"A user object with all active connections","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}},"post":{"summary":"Update an existing user by email address","description":"Note that it is not possible to edit the email address of a user.","tags":["Users"],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"organizationId","in":"path"},{"schema":{"type":"string","format":"email"},"required":true,"name":"email","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"verified":{"type":"boolean","default":false,"description":"Flag whether this user has verified their email address."},"blocked":{"type":"boolean","default":false,"description":"Flag whether this user is blocked."}}}}}},"responses":{"200":{"description":"A user object with all active connections","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}},"delete":{"summary":"Delete a user by email address","description":"Note that a user can create a new user object by logging in to your organization, unless user creation is disabled. It is not necessary to create a new user object first. If you have disabled user creation, you can manage your users through the API or the dashboard.","tags":["Users"],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"organizationId","in":"path"},{"schema":{"type":"string","format":"email"},"required":true,"name":"email","in":"path"}],"responses":{"200":{"description":"Success"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}}},"/api/v1/user":{"post":{"summary":"Create a new user","description":"Note that it is not necessary to create a user before this user can log in. When a user does not exist when they try to log for in the first time, the user will be created automatically, unless user creation is disabled.","tags":["Users"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"An email address unique for this user."},"verified":{"type":"boolean","default":false,"description":"Flag whether this user has verified their email address."},"blocked":{"type":"boolean","default":false,"description":"Flag whether this user is blocked."},"organizationId":{"type":"string","format":"uuid"}},"required":["email","organizationId"]}}}},"responses":{"200":{"description":"A user object with all active connections","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}}},"/api/v1/users/{organizationId}":{"post":{"summary":"Create a batch of users","description":"Any duplicate entries will be skipped. Note that it is not necessary to create a user before this user can log in. When a user does not exist when they try to log for in the first time, the user will be created automatically, unless user creation is disabled.","tags":["Users"],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"organizationId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"An email address unique for this user."},"verified":{"type":"boolean","default":false,"description":"Flag whether this user has verified their email address."},"blocked":{"type":"boolean","default":false,"description":"Flag whether this user is blocked."}},"required":["email"]},"minItems":1,"maxItems":1000,"description":"An array of users to create. Maximum 1.000 users at once."}}}},"responses":{"200":{"description":"An empty response on success"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}},"get":{"summary":"Get a list of users","description":"Get a pager object with all users in an organization","tags":["Users"],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"organizationId","in":"path"},{"schema":{"type":"number","minimum":0,"default":0,"description":"Current page index in the pager, starting at 0"},"required":false,"description":"Current page index in the pager, starting at 0","name":"pageIndex","in":"query"},{"schema":{"type":"number","minimum":1,"maximum":100,"default":10,"description":"Maximum number of entities on one page"},"required":false,"description":"Maximum number of entities on one page","name":"limitPerPage","in":"query"},{"schema":{"type":"string","enum":["email","verified","blocked","created","updated","lastLogin"],"default":"email"},"required":false,"name":"order","in":"query"},{"schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"required":false,"name":"sort","in":"query"},{"schema":{"type":"string","minLength":3},"required":false,"name":"search","in":"query"}],"responses":{"200":{"description":"A pager object with users","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Paging"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/User"}}},"required":["data"]}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}}},"/api/v1/api_key/{id}":{"get":{"summary":"Get an API key","tags":["API keys"],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"An API key object","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKey"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}},"delete":{"summary":"Delete an API key","tags":["API keys"],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Success"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}},"post":{"summary":"Update an existing API key","tags":["API keys"],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":3,"description":"The human-readable name of the API key."}}}}}},"responses":{"200":{"description":"An API key object","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKey"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}}},"/api/v1/api_key":{"post":{"summary":"Create a new API key","tags":["API keys"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"organizationId":{"type":"string","format":"uuid","description":"Foreign key to a tenant or an organization."},"name":{"type":"string","minLength":3,"description":"The human-readable name of the API key."}},"required":["organizationId","name"]}}}},"responses":{"200":{"description":"An API key object","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKey"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}}},"/api/v1/api_keys/{organizationId}":{"get":{"summary":"Get all API keys for a tenant or organization","tags":["API keys"],"parameters":[{"schema":{"type":"string","format":"uuid","description":"Tenant or organization ID"},"required":true,"description":"Tenant or organization ID","name":"organizationId","in":"path"}],"responses":{"200":{"description":"An array with API key objects","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/APIKey"}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}}},"/api/v1/api_requests/{tenantId}":{"get":{"summary":"Get a list of API requests","description":"Get a pager object with all API requests made under this tenant","tags":["Logs"],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"tenantId","in":"path"},{"schema":{"type":"number","minimum":0,"default":0,"description":"Current page index in the pager, starting at 0"},"required":false,"description":"Current page index in the pager, starting at 0","name":"pageIndex","in":"query"},{"schema":{"type":"number","minimum":1,"maximum":100,"default":10,"description":"Maximum number of entities on one page"},"required":false,"description":"Maximum number of entities on one page","name":"limitPerPage","in":"query"},{"schema":{"type":"string"},"required":false,"name":"endpoint","in":"query"}],"responses":{"200":{"description":"A pager object with API requests","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Paging"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ApiRequest"}}},"required":["data"]}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}}},"/api/v1/audit_logs/{tenantId}":{"get":{"summary":"Get a list of audit logs","description":"Get a pager object with all audit logs created under a tenant","tags":["Logs"],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"tenantId","in":"path"},{"schema":{"type":"number","minimum":0,"default":0,"description":"Current page index in the pager, starting at 0"},"required":false,"description":"Current page index in the pager, starting at 0","name":"pageIndex","in":"query"},{"schema":{"type":"number","minimum":1,"maximum":100,"default":10,"description":"Maximum number of entities on one page"},"required":false,"description":"Maximum number of entities on one page","name":"limitPerPage","in":"query"},{"schema":{"type":"string","enum":["user","apiKey","authToken","system"]},"required":false,"name":"actorType","in":"query"},{"schema":{"type":"string","format":"uuid"},"required":false,"name":"actorId","in":"query"},{"schema":{"type":"string","enum":["CREATE","UPDATE","UPSERT","DELETE"]},"required":false,"name":"action","in":"query"},{"schema":{"type":"string","minLength":3},"required":false,"name":"targetType","in":"query"},{"schema":{"type":"string","format":"uuid"},"required":false,"name":"targetId","in":"query"},{"schema":{"type":"string","enum":["success","failure"]},"required":false,"name":"status","in":"query"},{"schema":{"type":"string"},"required":false,"name":"ipAddress","in":"query"}],"responses":{"200":{"description":"A pager object with audit logs","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Paging"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AuditLog"}}},"required":["data"]}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}}},"/api/v1/mail_logs/{tenantId}":{"get":{"summary":"Get a list of mail logs","description":"Get a pager object with all mail logs created under the organizations of a tenant","tags":["Logs"],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"tenantId","in":"path"},{"schema":{"type":"number","minimum":0,"default":0,"description":"Current page index in the pager, starting at 0"},"required":false,"description":"Current page index in the pager, starting at 0","name":"pageIndex","in":"query"},{"schema":{"type":"number","minimum":1,"maximum":100,"default":10,"description":"Maximum number of entities on one page"},"required":false,"description":"Maximum number of entities on one page","name":"limitPerPage","in":"query"},{"schema":{"type":"string","format":"uuid"},"required":false,"name":"organizationId","in":"query"},{"schema":{"type":"string","format":"email"},"required":false,"name":"to","in":"query"},{"schema":{"type":"string"},"required":false,"name":"subject","in":"query"},{"schema":{"type":"boolean"},"required":false,"name":"sent","in":"query"}],"responses":{"200":{"description":"A pager object with mail logs","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Paging"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MailLog"}}},"required":["data"]}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"403":{"description":"No permission","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"405":{"description":"Invalid method","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","enum":["genericError","noPermission","tooManyRequests","missingFields","sessionMissing","sessionNotVerified","sessionExpired","sessionInactive","sessionInvalid","domainInvalid","loginAttemptMissing","loginAttemptExpired","loginAttemptInvalid","passkeyDataMissing","passkeyDataExpired","passkeyDataInvalid","passkeyWrongOrganization","callbackUrlInvalid","connectionMissing","organizationIdMissing","callbackUrlMissing","tokenMissing","tokenInvalid","stateMissing","stateInvalid","codeChallengeMissing","codeChallengeInvalid","captchaInvalid","entityMissing","entityInvalid"]},"message":{"type":"string"}}}}}},"502":{"description":"Deployment error"},"503":{"description":"Service unavailable"},"504":{"description":"Gateway timeout"}}}}},"security":[{"bearerToken":[]},{"cookieSessionToken":[]}],"servers":[{"url":"https://centralauth.com"}]}