openapi: 3.0.3 info: title: Clerk Backend Account Portal Domains API x-logo: url: https://clerk.com/_next/image?url=%2Fimages%2Fclerk-logo.svg&w=96&q=75 altText: Clerk docs href: https://clerk.com/docs contact: email: support@clerk.com name: Clerk Platform Team url: https://clerk.com/support description: 'The Clerk REST Backend API, meant to be accessed by backend servers. ### Versions When the API changes in a way that isn''t compatible with older versions, a new version is released. Each version is identified by its release date, e.g. `2025-04-10`. For more information, please see [Clerk API Versions](https://clerk.com/docs/versioning/available-versions). Please see https://clerk.com/docs for more information.' version: '2025-11-10' termsOfService: https://clerk.com/terms license: name: MIT url: https://github.com/clerk/openapi-specs/blob/main/LICENSE servers: - url: https://api.clerk.com/v1 security: - bearerAuth: [] tags: - name: Domains description: Domains represent each instance's URLs and DNS setup. paths: /domains: get: operationId: ListDomains x-speakeasy-group: domains x-speakeasy-name-override: list summary: List All Instance Domains description: 'Use this endpoint to get a list of all domains for an instance. The response will contain the primary domain for the instance and any satellite domains. Each domain in the response contains information about the URLs where Clerk operates and the required CNAME targets.' tags: - Domains responses: '200': $ref: '#/components/responses/Domains' post: summary: Add a Domain operationId: AddDomain x-speakeasy-group: domains x-speakeasy-name-override: add description: 'Add a new domain for your instance. Useful in the case of multi-domain instances, allows adding satellite domains to an instance. The new domain must have a `name`. The domain name can contain the port for development instances, like `localhost:3000`. At the moment, instances can have only one primary domain, so the `is_satellite` parameter must be set to `true`. If you''re planning to configure the new satellite domain to run behind a proxy, pass the `proxy_url` parameter accordingly.' tags: - Domains requestBody: content: application/json: schema: type: object properties: name: type: string description: The new domain name. Can contain the port for development instances. is_satellite: type: boolean description: Marks the new domain as satellite. Only `true` is accepted at the moment. enum: - true proxy_url: type: string description: The full URL of the proxy which will forward requests to the Clerk Frontend API for this domain. Applicable only to production instances. nullable: true required: - name - is_satellite responses: '200': $ref: '#/components/responses/Domain' '400': $ref: '#/components/responses/ClerkErrors' '402': $ref: '#/components/responses/ClerkErrors' '422': $ref: '#/components/responses/UnprocessableEntity' /domains/{domain_id}: delete: operationId: DeleteDomain x-speakeasy-group: domains x-speakeasy-name-override: delete summary: Delete a Satellite Domain description: 'Deletes a satellite domain for the instance. It is currently not possible to delete the instance''s primary domain.' tags: - Domains parameters: - in: path name: domain_id required: true schema: type: string description: The ID of the domain that will be deleted. Must be a satellite domain. responses: '200': $ref: '#/components/responses/DeletedObject' '403': $ref: '#/components/responses/ClerkErrors' '404': $ref: '#/components/responses/ResourceNotFound' patch: operationId: UpdateDomain x-speakeasy-group: domains x-speakeasy-name-override: update summary: Update a Domain description: 'The `proxy_url` can be updated only for production instances. Update one of the instance''s domains. Both primary and satellite domains can be updated. If you choose to use Clerk via proxy, use this endpoint to specify the `proxy_url`. Whenever you decide you''d rather switch to DNS setup for Clerk, simply set `proxy_url` to `null` for the domain. When you update a production instance''s primary domain name, you have to make sure that you''ve completed all the necessary setup steps for DNS and emails to work. Expect downtime otherwise. Updating a primary domain''s name will also update the instance''s home origin, affecting the default application paths.' tags: - Domains parameters: - in: path name: domain_id required: true schema: type: string description: The ID of the domain that will be updated. requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: name: type: string description: 'The new domain name. For development instances, can contain the port, i.e `myhostname:3000`. For production instances, must be a valid FQDN, i.e `mysite.com`. Cannot contain protocol scheme.' nullable: true proxy_url: type: string description: 'The full URL of the proxy that will forward requests to Clerk''s Frontend API. Can only be updated for production instances.' nullable: true is_secondary: type: boolean description: 'Whether this is a domain for a secondary app, meaning that any subdomain provided is significant and will be stored as part of the domain. This is useful for supporting multiple apps (one primary and multiple secondaries) on the same root domain (eTLD+1).' nullable: true responses: '200': $ref: '#/components/responses/Domain' '400': $ref: '#/components/responses/ClerkErrors' '404': $ref: '#/components/responses/ResourceNotFound' '422': $ref: '#/components/responses/UnprocessableEntity' /v1/organizations/{organization_id}/domains: post: summary: Create Organization Domain description: 'Create a new organization domain. The current user must have permissions to manage the domains of the organization.' tags: - Domains operationId: CreateOrganizationDomain parameters: - in: path required: true name: organization_id schema: type: string description: The organization ID. requestBody: required: true content: application/x-www-form-urlencoded: schema: type: object additionalProperties: false properties: name: type: string description: The name of the new domain nullable: false required: - name responses: '200': $ref: '#/components/responses/Client.ClientWrappedOrganizationDomain' '401': $ref: '#/components/responses/ClerkErrors' '403': $ref: '#/components/responses/ClerkErrors' '404': $ref: '#/components/responses/ClerkErrors' '422': $ref: '#/components/responses/ClerkErrors' get: summary: Get All Organization Domains description: 'Retrieves a list of all the domains in an organization The current user must have permissions to manage the domains of the organization.' tags: - Domains operationId: ListOrganizationDomains parameters: - $ref: '#/components/parameters/LimitParameter' - $ref: '#/components/parameters/OffsetParameter' - in: path name: organization_id description: The organization ID. required: true schema: type: string - in: query name: verified description: Filter by whether a domain is verified required: false schema: type: boolean - in: query name: enrollment_mode description: Filter by enrollment mode required: false schema: type: string responses: '200': $ref: '#/components/responses/Client.ClientWrappedOrganizationDomains' '401': $ref: '#/components/responses/ClerkErrors' '403': $ref: '#/components/responses/ClerkErrors' '422': $ref: '#/components/responses/ClerkErrors' /v1/organizations/{organization_id}/domains/{domain_id}: get: summary: Get Organization Domain description: 'Retrieve all properties for a domain of an organization. The current user must have permissions to manage the domains of the organization.' tags: - Domains operationId: GetOrganizationDomain parameters: - in: path required: true name: organization_id schema: type: string description: The organization ID. - in: path required: true name: domain_id schema: type: string description: The domain ID. responses: '200': $ref: '#/components/responses/Client.ClientWrappedOrganizationDomain' '401': $ref: '#/components/responses/ClerkErrors' '403': $ref: '#/components/responses/ClerkErrors' '404': $ref: '#/components/responses/ClerkErrors' '422': $ref: '#/components/responses/ClerkErrors' delete: summary: Delete Organization Domain description: 'Remove a domain from an organization. The current user must have permissions to manage the domains of the organization.' tags: - Domains operationId: deleteOrganizationDomain parameters: - in: path required: true name: organization_id schema: type: string description: The organization ID. - in: path required: true name: domain_id schema: type: string description: The domain ID. responses: '200': $ref: '#/components/responses/Client.DeletedOrganizationDomain' '401': $ref: '#/components/responses/ClerkErrors' '403': $ref: '#/components/responses/ClerkErrors' '404': $ref: '#/components/responses/ClerkErrors' '422': $ref: '#/components/responses/ClerkErrors' /v1/organizations/{organization_id}/domains/{domain_id}/update_enrollment_mode: post: summary: Update Organization Enrollment Mode description: 'Update the enrollment mode for an organization domain. This can be either `automatic_invitation` or `automatic_suggestion`. The current user must have permissions to manage the domains of the organization.' tags: - Domains operationId: UpdateOrganizationDomainEnrollmentMode parameters: - in: path required: true name: organization_id schema: type: string description: The organization ID. - in: path required: true name: domain_id schema: type: string description: The domain ID. requestBody: content: application/x-www-form-urlencoded: schema: type: object additionalProperties: false properties: enrollment_mode: type: string nullable: false delete_pending: type: boolean nullable: true required: - enrollment_mode responses: '200': $ref: '#/components/responses/Client.ClientWrappedOrganizationDomain' '401': $ref: '#/components/responses/ClerkErrors' '403': $ref: '#/components/responses/ClerkErrors' '404': $ref: '#/components/responses/ClerkErrors' '422': $ref: '#/components/responses/ClerkErrors' /v1/organizations/{organization_id}/domains/{domain_id}/prepare_affiliation_verification: post: summary: Prepare Organization Domain Affiliation Verification description: 'Prepares affiliation verification for an organization domain. The current user must have permissions to manage the domains of the organization.' tags: - Domains operationId: prepareOrganizationDomainVerification parameters: - in: path required: true name: organization_id schema: type: string description: The organization ID. - in: path required: true name: domain_id schema: type: string description: The domain ID. requestBody: content: application/x-www-form-urlencoded: schema: type: object additionalProperties: false properties: affiliation_email_address: type: string nullable: false required: - affiliation_email_address responses: '200': $ref: '#/components/responses/Client.ClientWrappedOrganizationDomain' '401': $ref: '#/components/responses/ClerkErrors' '403': $ref: '#/components/responses/ClerkErrors' '404': $ref: '#/components/responses/ClerkErrors' '422': $ref: '#/components/responses/ClerkErrors' /v1/organizations/{organization_id}/domains/{domain_id}/attempt_affiliation_verification: post: summary: Attempt Organization Domain Affiliation Verification description: 'Attempts affiliation verification for organization domain The current user must have permissions to manage the domains of the organization.' tags: - Domains operationId: attemptOrganizationDomainVerification parameters: - in: path required: true name: organization_id schema: type: string description: The organization ID. - in: path required: true name: domain_id schema: type: string description: The domain ID. requestBody: content: application/x-www-form-urlencoded: schema: type: object additionalProperties: false properties: code: type: string description: The code that was sent to the email address. nullable: false required: - code responses: '200': $ref: '#/components/responses/Client.ClientWrappedOrganizationDomain' '400': $ref: '#/components/responses/ClerkErrors' '401': $ref: '#/components/responses/ClerkErrors' '403': $ref: '#/components/responses/ClerkErrors' '404': $ref: '#/components/responses/ClerkErrors' '422': $ref: '#/components/responses/ClerkErrors' /platform/applications/{applicationID}/domain: patch: operationId: PlatformUpdateApplicationDomain x-speakeasy-group: platform x-speakeasy-name-override: updateApplicationDomain tags: - Domains summary: Update Application Domain description: 'Update the production domain for an application. ' security: - platform_api_access_token: [] parameters: - name: applicationID in: path description: Application ID. required: true schema: type: string requestBody: description: Domain data to update. required: true content: application/json: schema: $ref: '#/components/schemas/PlatformUpdateApplicationDomainRequest' responses: '200': description: Application domain updated successfully. content: application/json: schema: $ref: '#/components/schemas/PlatformDomainResponse' '400': $ref: '#/components/responses/ClerkErrors' '401': $ref: '#/components/responses/AuthenticationInvalid' '403': $ref: '#/components/responses/AuthorizationInvalid' '404': $ref: '#/components/responses/ResourceNotFound' '422': $ref: '#/components/responses/UnprocessableEntity' /platform/applications/{applicationID}/domains: get: operationId: PlatformListApplicationDomains x-speakeasy-group: platform x-speakeasy-name-override: listApplicationDomains tags: - Domains summary: List Application Domains description: 'List all domains for an application''s production instance. ' security: - platform_api_access_token: [] parameters: - name: applicationID in: path description: Application ID. required: true schema: type: string responses: '200': description: Application domains retrieved successfully. content: application/json: schema: $ref: '#/components/schemas/PlatformListApplicationDomainsResponse' '401': $ref: '#/components/responses/AuthenticationInvalid' '403': $ref: '#/components/responses/AuthorizationInvalid' '404': $ref: '#/components/responses/ResourceNotFound' post: operationId: PlatformCreateApplicationDomain x-speakeasy-group: platform x-speakeasy-name-override: createApplicationDomain tags: - Domains summary: Create Application Domain description: 'Create a provider domain for an application''s production instance. ' security: - platform_api_access_token: [] parameters: - name: applicationID in: path description: Application ID. required: true schema: type: string requestBody: description: Domain data to create. required: true content: application/json: schema: $ref: '#/components/schemas/PlatformCreateApplicationDomainRequest' responses: '201': description: Application domain created successfully. content: application/json: schema: $ref: '#/components/schemas/PlatformDomainResponse' '400': $ref: '#/components/responses/ClerkErrors' '401': $ref: '#/components/responses/AuthenticationInvalid' '403': $ref: '#/components/responses/AuthorizationInvalid' '404': $ref: '#/components/responses/ResourceNotFound' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' /platform/applications/{applicationID}/domains/{domainIDOrName}: get: operationId: PlatformGetApplicationDomain x-speakeasy-group: platform x-speakeasy-name-override: getApplicationDomain tags: - Domains summary: Get Application Domain description: 'Get domain information for an application. ' security: - platform_api_access_token: [] parameters: - name: applicationID in: path description: Application ID. required: true schema: type: string - name: domainIDOrName in: path description: Domain ID or domain name. example: dmn_abcdefghijklmnopqrstuvwxyz0 required: true schema: type: string responses: '200': description: Application domain retrieved successfully. content: application/json: schema: $ref: '#/components/schemas/PlatformDomainResponse' '400': $ref: '#/components/responses/ClerkErrors' '401': $ref: '#/components/responses/AuthenticationInvalid' '403': $ref: '#/components/responses/AuthorizationInvalid' '404': $ref: '#/components/responses/ResourceNotFound' delete: operationId: PlatformDeleteApplicationDomain x-speakeasy-group: platform x-speakeasy-name-override: deleteApplicationDomain tags: - Domains summary: Delete Application Domain description: 'Delete a provider domain from an application''s production instance. Only provider domains can be deleted. The primary domain cannot be deleted. ' security: - platform_api_access_token: [] parameters: - name: applicationID in: path description: Application ID. required: true schema: type: string - name: domainIDOrName in: path description: Domain ID or domain name. example: dmn_abcdefghijklmnopqrstuvwxyz0 required: true schema: type: string responses: '200': description: Application domain deleted successfully. content: application/json: schema: $ref: '#/components/schemas/PlatformDeletedObjectResponse' '400': $ref: '#/components/responses/ClerkErrors' '401': $ref: '#/components/responses/AuthenticationInvalid' '403': $ref: '#/components/responses/AuthorizationInvalid' '404': $ref: '#/components/responses/ResourceNotFound' '422': $ref: '#/components/responses/UnprocessableEntity' /platform/applications/{applicationID}/domains/{domainIDOrName}/status: get: operationId: PlatformGetApplicationDomainStatus x-speakeasy-group: platform x-speakeasy-name-override: getApplicationDomainStatus tags: - Domains summary: Get Application Domain Status description: 'Get the status of a domain for an application. ' security: - platform_api_access_token: [] parameters: - name: applicationID in: path description: Application ID. required: true schema: type: string - name: domainIDOrName in: path description: Domain ID or domain name. example: dmn_abcdefghijklmnopqrstuvwxyz0 required: true schema: type: string responses: '200': description: Application domain status retrieved successfully. content: application/json: schema: $ref: '#/components/schemas/PlatformDomainStatusResponse' '400': $ref: '#/components/responses/ClerkErrors' '401': $ref: '#/components/responses/AuthenticationInvalid' '403': $ref: '#/components/responses/AuthorizationInvalid' '404': $ref: '#/components/responses/ResourceNotFound' /platform/applications/{applicationID}/domains/{domainIDOrName}/dns_check: post: operationId: PlatformTriggerDNSCheck x-speakeasy-group: platform x-speakeasy-name-override: triggerDNSCheck tags: - Domains summary: Trigger DNS Check description: 'Triggers a DNS check for a domain and returns the current domain status. This endpoint ensures that at most one DNS check job is in-flight at any time. If a check is already running or was recently performed, a 409 Conflict is returned. Use this endpoint to trigger a new DNS verification check after configuring DNS records. ' security: - platform_api_access_token: [] parameters: - name: applicationID in: path description: Application ID. required: true schema: type: string - name: domainIDOrName in: path description: Domain ID or domain name. example: dmn_abcdefghijklmnopqrstuvwxyz0 required: true schema: type: string responses: '200': description: DNS check triggered and domain status returned successfully. content: application/json: schema: $ref: '#/components/schemas/PlatformDNSCheckResponse' '400': $ref: '#/components/responses/ClerkErrors' '401': $ref: '#/components/responses/AuthenticationInvalid' '403': $ref: '#/components/responses/AuthorizationInvalid' '404': $ref: '#/components/responses/ResourceNotFound' '409': $ref: '#/components/responses/Conflict' /platform/domains: get: operationId: PlatformListDomains x-speakeasy-group: platform x-speakeasy-name-override: listDomains tags: - Domains summary: List Domains description: 'List production instance domains for applications in the authenticated workspace. Results are sorted by domain creation time in descending order (most recent first). Set `include_development` to include development instance domains. ' security: - platform_api_access_token: [] parameters: - name: name in: query description: Filter domains whose name contains this substring (case-insensitive). required: false schema: type: string - name: include_development in: query description: When `true`, include development instance domains. Defaults to production only. required: false schema: type: string enum: - 'true' - name: limit in: query description: Number of results to return per page (1-500, default 10). required: false schema: type: integer minimum: 1 maximum: 500 default: 10 - name: starting_after in: query description: 'Cursor for pagination. Provide the ID of the last domain from the previous page to get the next page of results. ' required: false schema: type: string - name: ending_before in: query description: 'Cursor for pagination. Provide the ID of the first domain from the previous page to get the previous page of results. ' required: false schema: type: string responses: '200': description: Domains retrieved successfully. content: application/json: schema: $ref: '#/components/schemas/PlatformListDomainsResponse' '401': $ref: '#/components/responses/AuthenticationInvalid' '403': $ref: '#/components/responses/AuthorizationInvalid' '422': $ref: '#/components/responses/UnprocessableEntity' /platform/domains/{domainIDOrName}: get: operationId: PlatformGetDomain x-speakeasy-group: platform x-speakeasy-name-override: getDomain tags: - Domains summary: Get Domain description: 'Retrieve a single domain by ID or name for the authenticated workspace. ' security: - platform_api_access_token: [] parameters: - name: domainIDOrName in: path description: Domain ID or domain name. example: dmn_abcdefghijklmnopqrstuvwxyz0 required: true schema: type: string responses: '200': description: Domain retrieved successfully. content: application/json: schema: $ref: '#/components/schemas/PlatformWorkspaceDomainResponse' '401': $ref: '#/components/responses/AuthenticationInvalid' '403': $ref: '#/components/responses/AuthorizationInvalid' '404': $ref: '#/components/responses/ResourceNotFound' components: schemas: Stubs.Verification.GoogleOneTap: type: object additionalProperties: false properties: object: type: string enum: - verification_google_one_tap status: type: string enum: - unverified - verified strategy: type: string enum: - google_one_tap expire_at: type: integer nullable: true attempts: type: integer nullable: true required: - status - strategy Stubs.Verification.SAML: type: object properties: object: type: string enum: - verification_saml status: type: string enum: - unverified - verified - failed - expired - transferable strategy: type: string enum: - saml external_verification_redirect_url: nullable: true type: string error: allOf: - $ref: '#/components/schemas/ClerkError' - type: object nullable: true expire_at: type: integer nullable: true attempts: type: integer nullable: true required: - status - strategy CNAMEStatus: type: object additionalProperties: false properties: actual: type: array items: type: string clerk_subdomain: type: string from: type: string to: type: string verified: type: boolean required: type: boolean failure_hints: type: array nullable: true items: $ref: '#/components/schemas/FailureHint' required: - clerk_subdomain - from - to - verified - required - failure_hints Client.EmailAddress: type: object additionalProperties: false properties: id: type: string object: type: string description: 'String representing the object''s type. Objects of the same type share the same value. ' enum: - email_address email_address: type: string reserved: type: boolean verification: type: object nullable: true oneOf: - $ref: '#/components/schemas/Stubs.Verification.OTP' - $ref: '#/components/schemas/Stubs.Verification.Invitation' - $ref: '#/components/schemas/Stubs.Verification.Link' - $ref: '#/components/schemas/Stubs.Verification.Ticket' - $ref: '#/components/schemas/Stubs.Verification.Admin' - $ref: '#/components/schemas/Stubs.Verification.FromOauth' - $ref: '#/components/schemas/Stubs.Verification.SAML' linked_to: type: array items: $ref: '#/components/schemas/Stubs.Identification.Link' matches_sso_connection: description: 'Indicates whether this email address domain matches an active enterprise connection. ' type: boolean created_at: type: integer format: int64 description: 'Unix timestamp of creation ' updated_at: type: integer format: int64 description: 'Unix timestamp of creation ' required: - id - object - email_address - verification - linked_to - reserved - created_at - updated_at ClerkError: type: object properties: message: type: string long_message: type: string code: type: string meta: type: object required: - message - long_message - code Stubs.SignUpVerification.AdditionalFields: type: object properties: next_action: type: string enum: - needs_prepare - needs_attempt - '' supported_strategies: type: array items: type: string required: - next_action - supported_strategies PlatformUpdateApplicationDomainRequest: type: object additionalProperties: false properties: name: type: string description: The domain name. proxy_path: type: string description: Optional proxy path for provider domains. required: - name schemas-Client.Session: allOf: - $ref: '#/components/schemas/schemas-Client.SessionBase' - type: object properties: last_active_organization_id: type: string nullable: true user: $ref: '#/components/schemas/Client.User' public_user_data: type: object nullable: true allOf: - $ref: '#/components/schemas/Client.PublicUserData' factor_verification_age: type: array description: Each item represents the minutes that have passed since the last time a first or second factor were verified. items: type: integer created_at: type: integer format: int64 description: Unix timestamp of creation. example: 1700690400000 updated_at: type: integer format: int64 description: Unix timestamp of last update. example: 1700690400000 required: - last_active_organization_id - public_user_data - factor_verification_age - created_at - updated_at schemas-Client.SessionBase: type: object properties: id: type: string object: type: string description: 'String representing the object''s type. Objects of the same type share the same value. ' enum: - session status: type: string enum: - active - revoked - ended - expired - removed - abandoned - pending expire_at: type: integer format: int64 abandon_at: type: integer format: int64 last_active_at: type: integer format: int64 last_active_token: type: object nullable: true allOf: - $ref: '#/components/schemas/Token' actor: type: object nullable: true additionalProperties: true tasks: type: array nullable: true items: $ref: '#/components/schemas/Client.SessionTask' required: - id - object - status - expire_at - abandon_at - last_active_at PlatformDomainResponse: type: object additionalProperties: false properties: object: type: string enum: - domain id: type: string description: The ID of the domain. name: type: string description: The domain name. is_satellite: type: boolean description: Whether this is a satellite domain. is_provider_domain: type: boolean description: Whether this is a provider domain. frontend_api_url: type: string description: The frontend API URL. development_origin: type: string description: The development origin. accounts_portal_url: type: string description: The accounts portal URL. proxy_url: type: string description: The proxy URL. cname_targets: type: array items: type: object properties: host: type: string value: type: string required: type: boolean description: 'CNAME targets for the domain. Omitted for development domains, which do not use custom-domain DNS setup. ' created_at: type: string format: date-time description: When the domain was created. updated_at: type: string format: date-time description: When the domain was last updated. application: $ref: '#/components/schemas/PlatformDomainApplicationSummary' description: Included on workspace-wide domain endpoints (`GET /platform/domains`, `GET /platform/domains/{domainIDOrName}`). instance: $ref: '#/components/schemas/PlatformDomainInstanceSummary' description: Included on workspace-wide domain endpoints (`GET /platform/domains`, `GET /platform/domains/{domainIDOrName}`). required: - object - id - name - frontend_api_url - development_origin - created_at - updated_at PlatformDomainInstanceSummary: type: object additionalProperties: false properties: object: type: string enum: - instance id: type: string environment_type: type: string description: Instance environment type. enum: - production - development created_at: type: string format: date-time updated_at: type: string format: date-time required: - object - id - environment_type - created_at - updated_at Stubs.SignInFactor: type: object additionalProperties: false properties: strategy: type: string enum: - ticket - password - email_code - email_link - phone_code - web3_metamask_signature - web3_base_signature - web3_coinbase_wallet_signature - web3_okx_wallet_signature - web3_solana_signature - totp - backup_code - oauth_apple - oauth_google - oauth_facebook - oauth_hubspot - oauth_github - oauth_mock - oauth_custom_mock - oauth_token_mock - saml - enterprise_sso - reset_password_email_code - reset_password_phone_code - passkey - google_one_tap safe_identifier: type: string enterprise_connection_id: type: string enterprise_connection_name: type: string email_address_id: type: string phone_number_id: type: string web3_wallet_id: type: string passkey_id: type: string primary: type: boolean nullable: true external_verification_redirect_url: nullable: true type: string default: type: boolean required: - strategy PlatformDeletedObjectResponse: type: object additionalProperties: false properties: deleted: type: boolean description: Whether the object was deleted. object: type: string example: deleted id: type: string description: The ID of the deleted resource. required: - deleted - object - id verification_oauth: x-speakeasy-name-override: Oauth type: object additionalProperties: false properties: object: type: string enum: - verification_oauth status: type: string x-speakeasy-unknown-values: allow enum: - unverified - verified - failed - expired - transferable strategy: type: string x-speakeasy-unknown-values: allow pattern: ^oauth_(?:(?:token_)|(?:custom_))?[a-z]+$ external_verification_redirect_url: type: string error: type: object nullable: true oneOf: - $ref: '#/components/schemas/ClerkError' expire_at: type: integer attempts: type: integer nullable: true verified_at_client: type: string nullable: true required: - status - strategy - attempts - expire_at DeletedObject: type: object additionalProperties: false properties: object: type: string id: type: string slug: type: string deleted: type: boolean external_id: type: string required: - object - deleted Client.PublicOrganizationData: type: object additionalProperties: false properties: id: type: string name: type: string slug: type: string image_url: type: string has_image: type: boolean required: - id - name - slug - has_image Domains: type: object additionalProperties: false properties: data: type: array items: $ref: '#/components/schemas/Domain' total_count: type: integer format: int64 description: 'Total number of domains ' required: - data - total_count PlatformDomainStatusResponse: type: object properties: dns: type: object $ref: '#/components/schemas/DNSStatus' ssl: type: object properties: status: type: string enum: - complete - in_process - not_started - failed - incomplete required: type: boolean failure_hints: type: array nullable: true items: $ref: '#/components/schemas/FailureHint' ssl_hosts: type: object additionalProperties: $ref: '#/components/schemas/SSLStatus' mail: type: object properties: status: type: string required: type: boolean required: - status - required proxy: type: object properties: status: type: string required: type: boolean required: - status - required status: type: string enum: - complete - incomplete required: - dns - ssl - status Client.SignUp: type: object properties: object: type: string description: 'String representing the object''s type. Objects of the same type share the same value. ' enum: - sign_up_attempt id: type: string description: Unique identifier for this sign up. status: type: string enum: - abandoned - missing_requirements - complete required_fields: type: array items: type: string description: 'List of required fields which need to be supplied to the current sign-up. These fields are mandatory in order for the sign-up to satisfy the attached registration policy and be marked as complete. ' optional_fields: type: array items: type: string description: 'List of optional fields which can be supplied to the current sign-up. These fields are not required and their absence does not prevent the sign-up to be marked as complete. ' missing_fields: type: array items: type: string description: 'List of the missing fields which still need to be supplied to the current sign-up. These fields are mandatory in order for the sign-up to satisfy the attached registration policy and be marked as complete. ' unverified_fields: type: array items: type: string description: 'List of fields which are already supplied to the current sign-up but they need to be verified. Example of such fields are email addresses and phone numbers. ' verifications: description: 'Group for all available verifications. ' allOf: - $ref: '#/components/schemas/Client.SignUp.Verifications' username: type: string nullable: true email_address: type: string nullable: true phone_number: type: string nullable: true web3_wallet: type: string nullable: true password_enabled: type: boolean first_name: type: string nullable: true last_name: type: string nullable: true unsafe_metadata: description: 'Custom JSON that callers can use to store arbitrary values that make sense in the context of the current sign up. ' type: object additionalProperties: true public_metadata: description: 'Custom JSON that can be used to store arbitrary values which will end up in the user''s public metadata. This field can only be populated from the application''s BE. At this point, this can be done via invitations. ' type: object additionalProperties: true custom_action: type: boolean external_id: type: string nullable: true created_session_id: type: string nullable: true created_user_id: type: string nullable: true abandon_at: type: integer format: int64 description: Unix timestamp at which the sign up will be abandoned. example: 1700690400000 legal_accepted_at: type: integer format: int64 nullable: true description: Unix timestamp at which the user accepted the legal requirements. example: 1700690400000 required: - object - id - status - required_fields - optional_fields - missing_fields - unverified_fields - verifications - username - email_address - phone_number - web3_wallet - password_enabled - first_name - last_name - custom_action - external_id - created_session_id - created_user_id - abandon_at - legal_accepted_at Client.SessionTask: type: object properties: key: type: string required: - key FailureHint: type: object properties: code: type: string message: type: string required: - code - message Client.DeletedObject: type: object additionalProperties: false properties: id: type: string slug: type: string object: type: string deleted: type: boolean required: - object - deleted PlatformDNSCheckResponse: description: 'Response from triggering a DNS check. Includes the current domain status along with metadata about the check. ' allOf: - $ref: '#/components/schemas/PlatformDomainStatusResponse' - type: object properties: domain_id: type: string description: The ID of the domain. example: dmn_abcdefghijklmnopqrstuvwxyz0 last_run_at: type: integer format: int64 nullable: true description: 'The timestamp in epoch milliseconds of the last DNS check, if any. Will be `null` if no check has been performed yet. ' required: - domain_id - last_run_at Stubs.Verification.Password: type: object additionalProperties: false properties: object: type: string enum: - verification_password status: type: string enum: - unverified - verified strategy: type: string enum: - password attempts: type: integer nullable: true expire_at: type: integer nullable: true required: - status - strategy PlatformWorkspaceDomainResponse: allOf: - $ref: '#/components/schemas/PlatformDomainResponse' - type: object required: - application - instance CNameTarget: type: object additionalProperties: false properties: host: type: string value: type: string required: description: 'Denotes whether this CNAME target is required to be set in order for the domain to be considered deployed. ' type: boolean required: - host - value - required Client.PhoneNumber: type: object additionalProperties: false properties: id: type: string object: type: string description: 'String representing the object''s type. Objects of the same type share the same value. ' enum: - phone_number phone_number: type: string reserved_for_second_factor: type: boolean default_second_factor: type: boolean reserved: type: boolean verification: nullable: true type: object oneOf: - $ref: '#/components/schemas/Stubs.Verification.OTP' - $ref: '#/components/schemas/Stubs.Verification.Admin' linked_to: type: array items: $ref: '#/components/schemas/Stubs.Identification.Link' backup_codes: type: array items: type: string nullable: true created_at: type: integer format: int64 description: 'Unix timestamp of creation ' updated_at: type: integer format: int64 description: 'Unix timestamp of creation ' required: - id - object - phone_number - verification - linked_to - reserved - created_at - updated_at Client.SAMLAccount: type: object additionalProperties: false properties: id: type: string object: type: string description: 'String representing the object''s type. Objects of the same type share the same value. ' enum: - saml_account provider: type: string active: type: boolean email_address: type: string first_name: type: string nullable: true last_name: type: string nullable: true provider_user_id: description: The unique ID of the user in the external provider's system type: string nullable: true enterprise_connection_id: type: string nullable: true last_authenticated_at: type: integer format: int64 nullable: true description: 'Unix timestamp of last authentication. ' public_metadata: type: object additionalProperties: true verification: type: object nullable: true oneOf: - $ref: '#/components/schemas/Stubs.Verification.SAML' - $ref: '#/components/schemas/Stubs.Verification.Ticket' saml_connection: type: object nullable: true oneOf: - $ref: '#/components/schemas/Stubs.SAMLConnection.SAMLAccount' required: - id - object - provider - active - email_address - first_name - last_name - provider_user_id - public_metadata - saml_connection - verification Stubs.Verification.OTP: type: object properties: object: type: string enum: - verification_otp status: type: string enum: - unverified - verified - failed - expired strategy: type: string enum: - phone_code - email_code - reset_password_email_code - reset_password_phone_code attempts: type: integer nullable: true expire_at: type: integer required: - status - strategy - expire_at schemas-Client.SignIn: type: object additionalProperties: false properties: object: type: string description: String representing the object's type. Objects of the same type share the same value. enum: - sign_in_attempt id: type: string status: type: string enum: - abandoned - needs_identifier - needs_first_factor - needs_second_factor - needs_client_trust - needs_new_password - needs_protect_check - complete supported_identifiers: type: array description: List of supported identifiers that can be used to sign in. items: type: string enum: - email_address - phone_number - username - web3_wallet - passkey supported_first_factors: type: array nullable: true items: $ref: '#/components/schemas/Stubs.SignInFactor' supported_second_factors: type: array nullable: true items: $ref: '#/components/schemas/Stubs.SignInFactor' first_factor_verification: type: object nullable: true oneOf: - $ref: '#/components/schemas/Stubs.Verification.Password' - $ref: '#/components/schemas/Stubs.Verification.Oauth' - $ref: '#/components/schemas/Stubs.Verification.OTP' - $ref: '#/components/schemas/Stubs.Verification.Link' - $ref: '#/components/schemas/Stubs.Verification.Web3Signature' - $ref: '#/components/schemas/Stubs.Verification.Ticket' - $ref: '#/components/schemas/Stubs.Verification.SAML' - $ref: '#/components/schemas/Stubs.Verification.Passkey' - $ref: '#/components/schemas/Stubs.Verification.GoogleOneTap' second_factor_verification: type: object nullable: true oneOf: - $ref: '#/components/schemas/Stubs.Verification.OTP' - $ref: '#/components/schemas/Stubs.Verification.Link' - $ref: '#/components/schemas/Stubs.Verification.TOTP' - $ref: '#/components/schemas/Stubs.Verification.Ticket' - $ref: '#/components/schemas/Stubs.Verification.BackupCode' identifier: nullable: true type: string user_data: type: object additionalProperties: false nullable: true properties: first_name: type: string nullable: true last_name: type: string nullable: true image_url: type: string has_image: type: boolean profile_image_url: type: string nullable: true deprecated: true description: Use `image_url` instead. required: - first_name - last_name - has_image created_session_id: nullable: true type: string abandon_at: type: integer format: int64 description: Unix timestamp at which the sign in will be abandoned. example: 1700690400000 client_trust_state: type: string nullable: true description: 'The trust state of the client for this sign-in attempt. - `pending`: The identifier has not been set yet. - `new`: The user has not had a session on this client before. - `known`: The user has had a session on this client before. ' enum: - pending - new - known required: - object - id - status - supported_identifiers - supported_first_factors - supported_second_factors - first_factor_verification - second_factor_verification - identifier - user_data - created_session_id - abandon_at ClerkErrors: type: object properties: errors: type: array items: $ref: '#/components/schemas/ClerkError' meta: type: object clerk_trace_id: type: string required: - errors Client.OrganizationMembership: type: object properties: id: type: string object: type: string description: 'String representing the object''s type. Objects of the same type share the same value. ' enum: - organization_membership public_metadata: type: object additionalProperties: true role: type: string role_name: type: string permissions: type: array nullable: true items: type: string created_at: type: integer format: int64 description: Unix timestamp of creation. updated_at: type: integer format: int64 description: Unix timestamp of last update. organization: $ref: '#/components/schemas/Client.Organization' public_user_data: type: object nullable: true allOf: - $ref: '#/components/schemas/Client.PublicUserData' required: - object - id - public_metadata - role - role_name - permissions - created_at - updated_at - organization Client.Web3Wallet: type: object additionalProperties: false properties: id: type: string object: type: string description: 'String representing the object''s type. Objects of the same type share the same value. ' enum: - web3_wallet web3_wallet: type: string verification: nullable: true type: object oneOf: - $ref: '#/components/schemas/Stubs.Verification.Web3Signature' - $ref: '#/components/schemas/Stubs.Verification.Admin' created_at: type: integer format: int64 description: 'Unix timestamp of creation ' updated_at: type: integer format: int64 description: 'Unix timestamp of creation ' required: - id - object - web3_wallet - verification - created_at - updated_at Client.User: type: object properties: id: type: string object: type: string description: 'String representing the object''s type. Objects of the same type share the same value. ' enum: - user username: nullable: true type: string first_name: nullable: true type: string last_name: nullable: true type: string image_url: type: string has_image: type: boolean primary_email_address_id: nullable: true type: string primary_phone_number_id: nullable: true type: string primary_web3_wallet_id: nullable: true type: string password_enabled: type: boolean two_factor_enabled: type: boolean totp_enabled: type: boolean backup_code_enabled: type: boolean email_addresses: type: array items: $ref: '#/components/schemas/Client.EmailAddress' phone_numbers: type: array items: $ref: '#/components/schemas/Client.PhoneNumber' web3_wallets: type: array items: $ref: '#/components/schemas/Client.Web3Wallet' passkeys: type: array items: $ref: '#/components/schemas/Client.Passkey' organization_memberships: type: array items: $ref: '#/components/schemas/Client.OrganizationMembership' external_accounts: type: array items: $ref: '#/components/schemas/ExternalAccountWithVerification' saml_accounts: type: array items: $ref: '#/components/schemas/Client.SAMLAccount' password_last_updated_at: nullable: true type: integer format: int64 description: Unix timestamp of last update. example: 1700690400000 public_metadata: type: object additionalProperties: true private_metadata: type: object additionalProperties: true unsafe_metadata: type: object additionalProperties: true external_id: nullable: true type: string last_sign_in_at: type: integer format: int64 nullable: true description: Unix timestamp of last sign-in. example: 1700690400000 banned: type: boolean description: Flag to denote whether user is banned or not. locked: type: boolean description: 'Flag to denote whether user is currently locked, i.e. restricted from signing in or not. ' deprovisioned: type: boolean description: 'Flag to denote whether the user has been deprovisioned via SCIM and is restricted from signing in. Only present on instances with SCIM enabled. ' lockout_expires_in_seconds: type: integer format: int64 nullable: true description: 'The number of seconds remaining until the lockout period expires for a locked user. A null value for a locked user indicates that lockout never expires. ' example: 300 verification_attempts_remaining: type: integer format: int64 nullable: true description: 'The number of verification attempts remaining until the user is locked. Null if account lockout is not enabled. Note: if a user is locked explicitly via the Backend API, they may still have verification attempts remaining. ' created_at: type: integer format: int64 description: Unix timestamp of creation. example: 1700690400000 updated_at: type: integer format: int64 description: Unix timestamp of last update. example: 1700690400000 delete_self_enabled: type: boolean description: If enabled, user can delete themselves via FAPI. create_organization_enabled: type: boolean description: If enabled, user can create organizations via FAPI. create_organizations_limit: type: integer description: The maximum number of organizations the user can create. 0 means unlimited. last_active_at: type: integer format: int64 nullable: true description: Unix timestamp of the latest session activity, with day precision. example: 1700690400000 mfa_enabled_at: type: integer format: int64 nullable: true description: Unix timestamp at which the user enabled MFA. example: 1700690400000 mfa_disabled_at: type: integer format: int64 nullable: true description: Unix timestamp at which the user disabled MFA. example: 1700690400000 legal_accepted_at: type: integer format: int64 nullable: true description: Unix timestamp at which the user accepted the legal requirements. example: 1700690400000 profile_image_url: type: string deprecated: true description: Deprecated. Use `image_url` instead. required: - id - object - username - first_name - last_name - has_image - primary_email_address_id - primary_phone_number_id - primary_web3_wallet_id - password_enabled - two_factor_enabled - totp_enabled - backup_code_enabled - email_addresses - phone_numbers - web3_wallets - passkeys - external_accounts - saml_accounts - enterprise_accounts - public_metadata - external_id - last_sign_in_at - banned - locked - lockout_expires_in_seconds - verification_attempts_remaining - created_at - updated_at - delete_self_enabled - create_organization_enabled - last_active_at - mfa_enabled_at - mfa_disabled_at - legal_accepted_at Client.Passkey: type: object additionalProperties: false properties: id: type: string object: type: string description: 'String representing the object''s type. Objects of the same type share the same value. ' enum: - passkey name: type: string last_used_at: type: integer format: int64 description: 'Unix timestamp of when the passkey was last used. ' nullable: true verification: nullable: true type: object oneOf: - $ref: '#/components/schemas/Stubs.Verification.Passkey' created_at: type: integer format: int64 description: 'Unix timestamp of creation ' updated_at: type: integer format: int64 description: 'Unix timestamp of update ' required: - id - object - name - verification Client.OrganizationDomainVerification: type: object additionalProperties: false properties: status: type: string strategy: type: string attempts: type: integer nullable: true expire_at: nullable: true type: integer format: int64 required: - status - strategy - attempts - expire_at Client.Organization: type: object additionalProperties: false properties: id: type: string object: type: string description: 'String representing the object''s type. Objects of the same type share the same value. ' enum: - organization name: type: string slug: type: string image_url: type: string has_image: type: boolean members_count: type: integer pending_invitations_count: type: integer max_allowed_memberships: type: integer admin_delete_enabled: type: boolean public_metadata: type: object additionalProperties: true created_at: type: integer format: int64 description: 'Unix timestamp of creation. ' updated_at: type: integer format: int64 description: 'Unix timestamp of last update. ' logo_url: type: string nullable: true deprecated: true description: Deprecated. Use `image_url` instead. required: - object - id - name - slug - has_image - max_allowed_memberships - admin_delete_enabled - public_metadata - created_at - updated_at Stubs.Verification.Admin: type: object additionalProperties: false properties: object: type: string enum: - verification_admin status: type: string enum: - verified - unverified - failed - expired strategy: type: string enum: - admin attempts: type: integer nullable: true expire_at: type: integer nullable: true required: - status - strategy PlatformListDomainsResponse: title: List Domains Response description: A paginated list of domains across the workspace. type: object additionalProperties: false properties: data: type: array description: The list of domains. items: $ref: '#/components/schemas/PlatformWorkspaceDomainResponse' total_count: type: integer format: int64 description: The total number of domains matching the query. example: 5 required: - data - total_count Client.PublicUserData: type: object additionalProperties: false properties: first_name: type: string nullable: true last_name: type: string nullable: true image_url: type: string nullable: true has_image: type: boolean identifier: type: string profile_image_url: type: string nullable: true deprecated: true description: Use `image_url` instead. user_id: type: string nullable: true username: type: string nullable: true banned: type: boolean required: - first_name - last_name - identifier - has_image PlatformDomainApplicationSummary: type: object additionalProperties: false properties: object: type: string enum: - application id: type: string created_at: type: string format: date-time updated_at: type: string format: date-time required: - object - id - created_at - updated_at Client.ClientWrappedOrganizationDomains: type: object additionalProperties: false properties: response: type: object properties: data: type: array items: $ref: '#/components/schemas/Client.OrganizationDomain' total_count: type: integer format: int64 client: type: object nullable: false allOf: - $ref: '#/components/schemas/schemas-Client.Client' required: - response - client Stubs.Verification.Ticket: type: object properties: object: type: string enum: - verification_ticket status: type: string enum: - unverified - verified - expired strategy: type: string enum: - ticket attempts: type: integer nullable: true expire_at: type: integer nullable: true required: - status - strategy Stubs.Verification.Web3Signature: type: object properties: object: type: string enum: - verification_web3 status: type: string enum: - unverified - verified - failed - expired strategy: type: string enum: - web3_metamask_signature - web3_base_signature - web3_coinbase_wallet_signature - web3_okx_wallet_signature - web3_solana_signature attempts: type: integer nullable: true expire_at: type: integer nullable: true nonce: type: string nullable: true message: type: string nullable: true required: - status - strategy PlatformListApplicationDomainsResponse: title: List Application Domains Response description: A paginated list of application domains. type: object additionalProperties: false properties: data: type: array description: The list of application domains. items: $ref: '#/components/schemas/PlatformDomainResponse' total_count: type: integer format: int64 description: The total number of application domains for the application. example: 2 required: - data - total_count verification_google_one_tap: x-speakeasy-name-override: GoogleOneTap type: object additionalProperties: false properties: object: type: string enum: - verification_google_one_tap status: type: string enum: - unverified - verified strategy: type: string enum: - google_one_tap expire_at: type: integer nullable: true attempts: type: integer nullable: true verified_at_client: type: string nullable: true error: type: object nullable: true oneOf: - $ref: '#/components/schemas/ClerkError' required: - status - strategy - attempts - expire_at ExternalAccountWithVerification: type: object additionalProperties: true properties: object: type: string description: String representing the object's type. Objects of the same type share the same value. enum: - external_account - facebook_account - google_account id: type: string provider: type: string identification_id: type: string provider_user_id: description: The unique ID of the user in the external provider's system type: string approved_scopes: type: string email_address: type: string email_address_verified: type: boolean nullable: true description: 'Whether the email was verified by the OAuth provider at creation time. null = unknown (pre-migration data or custom OAuth providers), true = provider confirmed email was verified, false = provider confirmed email was NOT verified ' first_name: type: string last_name: type: string avatar_url: type: string deprecated: true description: Please use `image_url` instead image_url: type: string nullable: true username: type: string nullable: true phone_number: type: string nullable: true public_metadata: type: object additionalProperties: true label: type: string nullable: true created_at: type: integer format: int64 description: 'Unix timestamp of creation ' updated_at: type: integer format: int64 description: 'Unix timestamp of creation ' verification: type: object nullable: true oneOf: - $ref: '#/components/schemas/verification_oauth' - $ref: '#/components/schemas/verification_google_one_tap' discriminator: propertyName: object required: - object - id - provider - identification_id - provider_user_id - approved_scopes - email_address - first_name - last_name - public_metadata - created_at - updated_at - verification Stubs.Verification.BackupCode: type: object additionalProperties: false properties: object: type: string enum: - verification_backup_code status: type: string enum: - unverified - verified strategy: type: string enum: - backup_code attempts: type: integer nullable: true expire_at: type: integer nullable: true required: - status - strategy Client.ClientWrappedOrganizationDomain: type: object additionalProperties: false properties: response: type: object nullable: false allOf: - $ref: '#/components/schemas/Client.OrganizationDomain' client: type: object nullable: false allOf: - $ref: '#/components/schemas/schemas-Client.Client' required: - response - client PlatformCreateApplicationDomainRequest: type: object additionalProperties: false properties: name: type: string description: The provider domain name. proxy_path: type: string description: Optional proxy path for provider domains. required: - name Client.ClientWrappedDeletedObject: type: object additionalProperties: false properties: response: $ref: '#/components/schemas/Client.DeletedObject' client: type: object nullable: true allOf: - $ref: '#/components/schemas/schemas-Client.Client' required: - response - client SSLStatus: type: object additionalProperties: false properties: status: type: string required: type: boolean failure_hints: type: array nullable: true items: $ref: '#/components/schemas/FailureHint' required: - status - required - failure_hints Token: type: object additionalProperties: false properties: object: type: string description: 'String representing the object''s type. Objects of the same type share the same value. ' enum: - token jwt: type: string description: 'String representing the encoded JWT value. ' required: - object - jwt Client.OrganizationDomain: type: object additionalProperties: false properties: object: type: string enum: - organization_domain id: type: string organization_id: type: string name: type: string enrollment_mode: type: string affiliation_email_address: nullable: true type: string verification: type: object nullable: true allOf: - $ref: '#/components/schemas/Client.OrganizationDomainVerification' total_pending_invitations: type: integer total_pending_suggestions: type: integer public_organization_data: type: object nullable: true allOf: - $ref: '#/components/schemas/Client.PublicOrganizationData' created_at: type: integer format: int64 description: Unix timestamp of creation. updated_at: type: integer format: int64 description: Unix timestamp of last update. required: - object - id - organization_id - name - enrollment_mode - affiliation_email_address - verification - total_pending_invitations - total_pending_suggestions - created_at - updated_at Stubs.Verification.Invitation: type: object additionalProperties: false properties: object: type: string enum: - verification_invitation status: type: string enum: - verified strategy: type: string enum: - invitation attempts: type: integer nullable: true expire_at: type: integer nullable: true required: - status - strategy DNSStatus: type: object additionalProperties: false properties: status: type: string enum: - not_started - in_progress - complete cnames: type: object properties: accounts: $ref: '#/components/schemas/CNAMEStatus' clerk: $ref: '#/components/schemas/CNAMEStatus' clk._domainkey: $ref: '#/components/schemas/CNAMEStatus' clk2._domainkey: $ref: '#/components/schemas/CNAMEStatus' clkmail: $ref: '#/components/schemas/CNAMEStatus' required: - status - cnames Stubs.Verification.Link: type: object properties: object: type: string enum: - verification_email_link status: type: string enum: - unverified - verified - failed - expired - transferable strategy: type: string enum: - email_link attempts: type: integer nullable: true expire_at: type: integer verified_at_client: type: string required: - status - strategy - expire_at Stubs.Verification.Passkey: type: object additionalProperties: false properties: object: type: string enum: - verification_passkey status: type: string enum: - unverified - verified - failed - expired strategy: type: string enum: - passkey attempts: type: integer nullable: true expire_at: type: integer nonce: type: string required: - status - strategy - expire_at Stubs.Verification.TOTP: type: object additionalProperties: false properties: object: type: string enum: - verification_totp status: type: string enum: - unverified - verified strategy: type: string enum: - totp attempts: type: integer nullable: true expire_at: type: integer nullable: true required: - status - strategy Stubs.Verification.Oauth: type: object additionalProperties: false properties: object: type: string enum: - verification_oauth status: type: string enum: - unverified - verified - failed - expired - transferable strategy: type: string pattern: ^oauth_(?:(?:token_)|(?:custom_))?[a-z0-9_]+$ external_verification_redirect_url: nullable: true type: string error: type: object nullable: true allOf: - $ref: '#/components/schemas/ClerkError' expire_at: type: integer attempts: type: integer nullable: true required: - status - strategy - expire_at Stubs.Identification.Link: type: object additionalProperties: false properties: type: type: string enum: - oauth_apple - oauth_google - oauth_mock - oauth_custom_mock - saml id: type: string required: - type - id Domain: type: object properties: object: type: string enum: - domain id: type: string name: type: string is_satellite: type: boolean frontend_api_url: type: string accounts_portal_url: type: string nullable: true description: 'Null for satellite domains. ' proxy_url: type: string nullable: true development_origin: type: string cname_targets: type: array items: $ref: '#/components/schemas/CNameTarget' nullable: true required: - object - id - name - is_satellite - frontend_api_url - development_origin Stubs.Verification.FromOauth: type: object properties: object: type: string enum: - verification_from_oauth status: type: string enum: - verified - unverified strategy: type: string enum: - from_oauth_apple - from_oauth_google - from_oauth_mock - from_oauth_custom_mock attempts: type: integer nullable: true expire_at: type: integer nullable: true required: - status - strategy Stubs.SAMLConnection.SAMLAccount: type: object additionalProperties: false properties: id: type: string name: type: string domain: type: string deprecated: true domains: type: array items: type: string active: type: boolean provider: type: string sync_user_attributes: type: boolean allow_subdomains: type: boolean allow_idp_initiated: type: boolean disable_additional_identifications: type: boolean allow_organization_account_linking: type: boolean created_at: type: integer format: int64 description: 'Unix timestamp of creation. ' updated_at: type: integer format: int64 description: 'Unix timestamp of last update. ' required: - id - name - active - provider - sync_user_attributes - created_at - updated_at anyOf: - required: - domain - required: - domains schemas-Client.Client: type: object nullable: true properties: object: type: string description: String representing the object's type. Objects of the same type share the same value. enum: - client id: type: string description: String representing the identifier of the session. sessions: type: array items: $ref: '#/components/schemas/schemas-Client.Session' sign_in: type: object nullable: true allOf: - $ref: '#/components/schemas/schemas-Client.SignIn' sign_up: type: object nullable: true allOf: - $ref: '#/components/schemas/Client.SignUp' last_active_session_id: nullable: true type: string description: Last active session_id. last_authentication_strategy: nullable: true type: string description: 'The authentication strategy that was last used to authenticate the user on this client. ' cookie_expires_at: nullable: true type: integer format: int64 description: Unix timestamp of the cookie expiration. captcha_bypass: type: boolean description: Whether the client can bypass CAPTCHA. created_at: type: integer format: int64 description: Unix timestamp of creation. updated_at: type: integer format: int64 description: Unix timestamp of last update. required: - object - id - sessions - sign_in - sign_up - last_active_session_id - last_authentication_strategy - cookie_expires_at - captcha_bypass - created_at - updated_at Client.SignUp.Verifications: type: object properties: email_address: type: object nullable: true oneOf: - allOf: - $ref: '#/components/schemas/Stubs.Verification.OTP' - $ref: '#/components/schemas/Stubs.SignUpVerification.AdditionalFields' - allOf: - $ref: '#/components/schemas/Stubs.Verification.Link' - $ref: '#/components/schemas/Stubs.SignUpVerification.AdditionalFields' - allOf: - $ref: '#/components/schemas/Stubs.Verification.Ticket' - $ref: '#/components/schemas/Stubs.SignUpVerification.AdditionalFields' - allOf: - $ref: '#/components/schemas/Stubs.Verification.FromOauth' - $ref: '#/components/schemas/Stubs.SignUpVerification.AdditionalFields' - allOf: - $ref: '#/components/schemas/Stubs.Verification.SAML' - $ref: '#/components/schemas/Stubs.SignUpVerification.AdditionalFields' phone_number: type: object nullable: true allOf: - $ref: '#/components/schemas/Stubs.Verification.OTP' - $ref: '#/components/schemas/Stubs.SignUpVerification.AdditionalFields' web3_wallet: type: object nullable: true allOf: - $ref: '#/components/schemas/Stubs.Verification.Web3Signature' - $ref: '#/components/schemas/Stubs.SignUpVerification.AdditionalFields' external_account: type: object nullable: true oneOf: - $ref: '#/components/schemas/Stubs.Verification.Oauth' - $ref: '#/components/schemas/Stubs.Verification.SAML' - $ref: '#/components/schemas/Stubs.Verification.Ticket' - $ref: '#/components/schemas/Stubs.Verification.GoogleOneTap' required: - email_address - phone_number - web3_wallet - external_account responses: Client.ClientWrappedOrganizationDomain: description: Returns the response for Client wrapped OrganizationDomain object. content: application/json: schema: $ref: '#/components/schemas/Client.ClientWrappedOrganizationDomain' Domains: description: A list of domains content: application/json: schema: $ref: '#/components/schemas/Domains' DeletedObject: description: Deleted Object content: application/json: schema: $ref: '#/components/schemas/DeletedObject' AuthorizationInvalid: description: Authorization invalid content: application/json: schema: $ref: '#/components/schemas/ClerkErrors' UnprocessableEntity: description: Invalid request parameters content: application/json: schema: $ref: '#/components/schemas/ClerkErrors' Domain: description: A domain content: application/json: schema: $ref: '#/components/schemas/Domain' Client.DeletedOrganizationDomain: description: Returns a deleted organization domain. content: application/json: schema: $ref: '#/components/schemas/Client.ClientWrappedDeletedObject' ClerkErrors: description: Request was not successful content: application/json: schema: $ref: '#/components/schemas/ClerkErrors' AuthenticationInvalid: description: Authentication invalid content: application/json: schema: $ref: '#/components/schemas/ClerkErrors' Client.ClientWrappedOrganizationDomains: description: Returns the response for Client wrapped array of OrganizationDomain objects. content: application/json: schema: $ref: '#/components/schemas/Client.ClientWrappedOrganizationDomains' ResourceNotFound: description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ClerkErrors' Conflict: description: Conflict content: application/json: schema: $ref: '#/components/schemas/ClerkErrors' parameters: OffsetParameter: name: offset in: query description: 'Skip the first `offset` results when paginating. Needs to be an integer greater or equal to zero. To be used in conjunction with `limit`.' required: false schema: type: integer default: 0 minimum: 0 LimitParameter: name: limit in: query description: 'Applies a limit to the number of results returned. Can be used for paginating the results together with `offset`.' required: false schema: type: integer default: 10 minimum: 1 maximum: 500 securitySchemes: bearerAuth: type: http scheme: bearer description: Secret key, obtained under "API Keys" in the Clerk Dashboard. bearerFormat: sk__ externalDocs: url: https://clerk.com/docs x-speakeasy-retries: strategy: backoff backoff: initialInterval: 500 maxInterval: 60000 maxElapsedTime: 3600000 exponent: 1.5 statusCodes: - 5XX retryConnectionErrors: true