openapi: 3.2.0 info: title: Clerk Com Sign Ups API termsOfService: https://clerk.com/terms 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 version: '1.0' description: 'Operations tagged Sign Ups across 2 of this provider''s published API definitions: clerk-backend-api-openapi.yml, clerk-frontend-api-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://api.clerk.com/v1 - url: https://{domain}.clerk.accounts.dev variables: domain: default: example-destined-camel-13 description: Your Development Instance Frontend API Domain. tags: - name: Signups description: Sign-up objects track the progress of a sign-up attempt and store any field collected from user input. externalDocs: url: https://clerk.com/docs/references/javascript/sign-up paths: /sign_ups/{id}: get: operationId: GetSignUp x-speakeasy-group: signUps x-speakeasy-name-override: get summary: Retrieve a Sign-up by ID description: Retrieve the details of the sign-up with the given ID tags: - Signups parameters: - name: id in: path description: The ID of the sign-up to retrieve required: true schema: type: string responses: '200': $ref: '#/components/responses/SignUp' '403': $ref: '#/components/responses/AuthorizationInvalid' security: - bearerAuth: [] patch: operationId: UpdateSignUp x-speakeasy-group: signUps x-speakeasy-name-override: update summary: Update a Sign-up description: Update the sign-up with the given ID tags: - Signups parameters: - name: id in: path description: The ID of the sign-up to update required: true schema: type: string requestBody: content: application/json: schema: type: object properties: external_id: type: - string - 'null' description: 'The ID of the guest attempting to sign up as used in your external systems or your previous authentication solution. This will be copied to the resulting user when the sign-up is completed.' custom_action: type: - boolean - 'null' description: If true, the sign-up will be marked as a custom action. responses: '200': $ref: '#/components/responses/SignUp' '403': $ref: '#/components/responses/AuthorizationInvalid' security: - bearerAuth: [] servers: - url: https://api.clerk.com/v1 /v1/client/sign_ups: post: summary: Create Sign-up description: Creates or replaces the sign-up on the current Client object. tags: - Signups operationId: createSignUps parameters: - in: header name: Origin description: The origin of the request schema: type: string requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: transfer: type: - boolean - 'null' password: type: - string - 'null' first_name: type: - string - 'null' last_name: type: - string - 'null' username: type: - string - 'null' email_address: type: - string - 'null' phone_number: type: - string - 'null' email_address_or_phone_number: type: - string - 'null' unsafe_metadata: type: - string - 'null' strategy: type: - string - 'null' description: 'Strategy used to sign up. Can be one of `email_code`, `email_link`, `enterprise_sso`, `google_one_tap`, `oauth_[provider]`, `oauth_token_[provider]`, `phone_code`, `saml`, `ticket`, `web3_[provider]_signature`' action_complete_redirect_url: type: - string - 'null' redirect_url: type: - string - 'null' ticket: type: - string - 'null' web3_wallet: type: - string - 'null' token: type: - string - 'null' description: The ID token from an OpenID Connect flow. Only used with `oauth_token_[provider]` and `google_one_tap` strategies. code: type: - string - 'null' description: The authorization or grant code for an OAuth exchange. Only used with `oauth_token_[provider]` strategies. captcha_token: type: - string - 'null' captcha_error: type: - string - 'null' captcha_widget_type: type: - string - 'null' legal_accepted: type: - boolean - 'null' description: Has the value `true` if the user has accepted the legal requirements. oidc_login_hint: type: - string - 'null' description: Used with `oauth_[provider]`. The given value will be forwarded to the OIDC `login_hint` parameter of the generated redirect URL. oidc_prompt: type: - string - 'null' description: Used with `oauth_[provider]` or `enterprise_sso`. The given value will be forwarded to the OIDC `prompt` parameter of the generated redirect URL. When using shared credentials this value might be adjusted for security reasons. responses: '200': $ref: '#/components/responses/Client.SignUp' '307': description: Redirect, no body. '400': $ref: '#/components/responses/ClerkErrors' '403': $ref: '#/components/responses/ClerkErrors' '404': $ref: '#/components/responses/ClerkErrors' '409': $ref: '#/components/responses/ClerkErrors' '422': $ref: '#/components/responses/ClerkErrors' security: - {} - DevBrowser: [] - ProductionBrowser: [] - ProductionNativeApp: [] ProductionNativeFlag: [] servers: - url: https://{domain}.clerk.accounts.dev variables: domain: default: example-destined-camel-13 description: Your Development Instance Frontend API Domain. /v1/client/sign_ups/{sign_up_id}: get: summary: Get Sign-up description: Returns the sign-up by ID. Must be associated with the current Client object. tags: - Signups operationId: getSignUps parameters: - in: path name: sign_up_id required: true schema: type: string description: The sign up unique identifier. responses: '200': $ref: '#/components/responses/Client.SignUp' '400': $ref: '#/components/responses/ClerkErrors' '401': $ref: '#/components/responses/ClerkErrors' '404': $ref: '#/components/responses/ClerkErrors' security: - {} - DevBrowser: [] - ProductionBrowser: [] - ProductionNativeApp: [] ProductionNativeFlag: [] patch: summary: Update Sign-up description: Updates the sign-up object specified by ID, with the supplied parameters. tags: - Signups operationId: updateSignUps parameters: - in: path name: sign_up_id required: true schema: type: string description: The sign up unique identifier. - in: header name: Origin description: The origin of the request schema: type: string requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: password: type: - string - 'null' first_name: type: - string - 'null' last_name: type: - string - 'null' username: type: - string - 'null' email_address: type: - string - 'null' phone_number: type: - string - 'null' email_address_or_phone_number: type: - string - 'null' unsafe_metadata: type: - string - 'null' strategy: type: - string - 'null' description: 'Strategy used to sign up. Can be one of `email_code`, `email_link`, `enterprise_sso`, `google_one_tap`, `oauth_[provider]`, `oauth_token_[provider]`, `phone_code`, `saml`, `ticket`, `web3_[provider]_signature`' redirect_url: type: - string - 'null' action_complete_redirect_url: type: - string - 'null' ticket: type: - string - 'null' web3_wallet: type: - string - 'null' token: type: - string - 'null' description: The ID token from an OpenID Connect flow. Only used with `oauth_token_[provider]` and `google_one_tap` strategies. code: type: - string - 'null' description: The authorization or grant code for an OAuth exchange. Only used with `oauth_token_[provider]` strategies. legal_accepted: type: - boolean - 'null' description: 'Has the value `true` if the user has accepted the legal requirements. ' oidc_login_hint: type: - string - 'null' description: Used with `oauth_[provider]`. The given value will be forwarded to the OIDC `login_hint` parameter of the generated redirect URL. oidc_prompt: type: - string - 'null' description: Used with `oauth_[provider]` or `enterprise_sso`. The given value will be forwarded to the OIDC `prompt` parameter of the generated redirect URL. When using shared credentials this value might be adjusted for security reasons. responses: '200': $ref: '#/components/responses/Client.SignUp' '307': description: Redirect, no body. '400': $ref: '#/components/responses/ClerkErrors' '403': $ref: '#/components/responses/ClerkErrors' '404': $ref: '#/components/responses/ClerkErrors' '422': $ref: '#/components/responses/ClerkErrors' security: - {} - DevBrowser: [] - ProductionBrowser: [] - ProductionNativeApp: [] ProductionNativeFlag: [] servers: - url: https://{domain}.clerk.accounts.dev variables: domain: default: example-destined-camel-13 description: Your Development Instance Frontend API Domain. /v1/client/sign_ups/{sign_up_id}/prepare_verification: post: summary: Prepare Sign-up Identification Verification description: 'Prepares verification for the sign-up specified by `{id}`. Depending on the given strategy, the API will prepare the verification for the current sign-up. In particular, * for `email_code`, the API will send a verification email to the email address currently load up in the sign-up * for `phone_code`, the API will send a verification SMS to the phone number currently load up in the sign-up' tags: - Signups operationId: prepareSignUpsVerification parameters: - in: path name: sign_up_id required: true schema: type: string description: The sign up unique identifier. - in: header name: Origin description: The origin of the request schema: type: string requestBody: content: application/x-www-form-urlencoded: schema: type: object additionalProperties: false properties: strategy: type: string description: 'The verification strategy - email_code - email_link - phone_code - web3_metamask_signature - web3_base_signature - web3_coinbase_wallet_signature - web3_okx_wallet_signature - saml - oauth' redirect_url: type: - string - 'null' action_complete_redirect_url: type: - string - 'null' oidc_login_hint: type: - string - 'null' description: Used with `oauth_[provider]`. The given value will be forwarded to the OIDC `login_hint` parameter of the generated redirect URL. oidc_prompt: type: - string - 'null' description: Used with `oauth_[provider]` or `enterprise_sso`. The given value will be forwarded to the OIDC `prompt` parameter of the generated redirect URL. When using shared credentials this value might be adjusted for security reasons. responses: '200': $ref: '#/components/responses/Client.SignUp' '400': $ref: '#/components/responses/ClerkErrors' '401': $ref: '#/components/responses/ClerkErrors' '422': $ref: '#/components/responses/ClerkErrors' '429': $ref: '#/components/responses/ClerkErrors' security: - {} - DevBrowser: [] - ProductionBrowser: [] - ProductionNativeApp: [] ProductionNativeFlag: [] servers: - url: https://{domain}.clerk.accounts.dev variables: domain: default: example-destined-camel-13 description: Your Development Instance Frontend API Domain. /v1/client/sign_ups/{sign_up_id}/attempt_verification: post: summary: Attempt Sign-up Identification Verification description: Attempts to verify the identification that corresponds to the given strategy using the given verification code. tags: - Signups operationId: attemptSignUpsVerification parameters: - in: path name: sign_up_id required: true schema: type: string description: The sign up unique identifier. - in: header name: Origin description: The origin of the request schema: type: string requestBody: content: application/x-www-form-urlencoded: schema: type: object additionalProperties: false properties: strategy: type: string description: The verification strategy enum: - email_code - email_link - phone_code - web3_metamask_signature - web3_base_signature - web3_coinbase_wallet_signature - web3_okx_wallet_signature - web3_solana_signature - google_one_tap code: type: - string - 'null' description: The verification code signature: type: - string - 'null' description: The verification web3 signature token: type: - string - 'null' description: The ID token from an OpenID Connect flow. Only used with `oauth_token_[provider]` and `google_one_tap` strategies. responses: '200': $ref: '#/components/responses/Client.SignUp' '307': description: Redirect, no body. '400': $ref: '#/components/responses/ClerkErrors' '403': $ref: '#/components/responses/ClerkErrors' '409': $ref: '#/components/responses/ClerkErrors' '422': $ref: '#/components/responses/ClerkErrors' '429': $ref: '#/components/responses/ClerkErrors' security: - {} - DevBrowser: [] - ProductionBrowser: [] - ProductionNativeApp: [] ProductionNativeFlag: [] servers: - url: https://{domain}.clerk.accounts.dev variables: domain: default: example-destined-camel-13 description: Your Development Instance Frontend API Domain. components: schemas: ClerkError: type: object properties: message: type: string long_message: type: string code: type: string meta: type: object required: - message - long_message - code SignUp: type: object additionalProperties: false properties: object: type: string enum: - sign_up_attempt id: type: string status: type: string enum: - missing_requirements - complete - abandoned required_fields: type: array items: type: string optional_fields: type: array items: type: string missing_fields: type: array items: type: string unverified_fields: type: array items: type: string verifications: $ref: '#/components/schemas/SignUpVerifications' username: type: - string - 'null' email_address: type: - string - 'null' phone_number: type: - string - 'null' web3_wallet: type: - string - 'null' password_enabled: type: boolean first_name: type: - string - 'null' last_name: type: - string - 'null' unsafe_metadata: type: object additionalProperties: true public_metadata: type: object additionalProperties: true custom_action: type: boolean external_id: type: - string - 'null' created_session_id: type: - string - 'null' created_user_id: type: - string - 'null' abandon_at: type: integer format: int64 description: 'Unix timestamp at which the user abandoned the sign up attempt. ' example: 1700690400000 legal_accepted_at: type: - integer - 'null' format: int64 description: 'Unix timestamp at which the user accepted the legal requirements. ' example: 1700690400000 locale: type: - string - 'null' description: The user locale preference for the sign-up specified as a BCP-47 language tag. example: en-US external_account: type: object deprecated: true 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 ClerkErrors: type: object properties: errors: type: array items: $ref: '#/components/schemas/ClerkError' meta: type: object clerk_trace_id: type: string required: - errors SignUpVerifications: type: object additionalProperties: false properties: email_address: $ref: '#/components/schemas/SignUpVerification' phone_number: $ref: '#/components/schemas/SignUpVerification' web3_wallet: $ref: '#/components/schemas/SignUpVerification' external_account: type: - object - 'null' required: - email_address - phone_number - web3_wallet - external_account SignUpVerification: type: - object - 'null' additionalProperties: true properties: next_action: type: string enum: - needs_prepare - needs_attempt - '' supported_strategies: type: array items: type: string 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 - 'null' expire_at: type: - integer - 'null' required: - status - strategy 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 - 'null' 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 - 'null' allOf: - $ref: '#/components/schemas/Client.PublicUserData' required: - object - id - public_metadata - role - role_name - permissions - created_at - updated_at - organization 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 - 'null' 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 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 - 'null' email_address: type: - string - 'null' phone_number: type: - string - 'null' web3_wallet: type: - string - 'null' password_enabled: type: boolean first_name: type: - string - 'null' last_name: type: - string - 'null' 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 - 'null' created_session_id: type: - string - 'null' created_user_id: type: - string - 'null' abandon_at: type: integer format: int64 description: Unix timestamp at which the sign up will be abandoned. example: 1700690400000 legal_accepted_at: type: - integer - 'null' format: int64 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 schemas-Client.Session: allOf: - $ref: '#/components/schemas/schemas-Client.SessionBase' - type: object properties: last_active_organization_id: type: - string - 'null' user: $ref: '#/components/schemas/Client.User' public_user_data: type: - object - 'null' 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 Client.PublicUserData: type: object additionalProperties: false properties: first_name: type: - string - 'null' last_name: type: - string - 'null' image_url: type: - string - 'null' has_image: type: boolean identifier: type: string profile_image_url: type: - string - 'null' deprecated: true description: Use `image_url` instead. user_id: type: - string - 'null' username: type: - string - 'null' banned: type: boolean required: - first_name - last_name - identifier - has_image 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: type: - object - 'null' 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 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 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 - 'null' allOf: - $ref: '#/components/schemas/Token' actor: type: - object - 'null' additionalProperties: true tasks: type: - array - 'null' items: $ref: '#/components/schemas/Client.SessionTask' required: - id - object - status - expire_at - abandon_at - last_active_at Client.SessionTask: type: object properties: key: type: string required: - key 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 - 'null' attempts: type: - integer - 'null' verified_at_client: type: - string - 'null' error: type: - object - 'null' oneOf: - $ref: '#/components/schemas/ClerkError' required: - status - strategy - attempts - expire_at 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: type: - string - 'null' error: allOf: - $ref: '#/components/schemas/ClerkError' - type: - object - 'null' expire_at: type: - integer - 'null' attempts: type: - integer - 'null' required: - status - strategy 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 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 - 'null' 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 - 'null' username: type: - string - 'null' phone_number: type: - string - 'null' public_metadata: type: object additionalProperties: true label: type: - string - 'null' 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 - 'null' 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 - 'null' expire_at: type: - integer - 'null' required: - status - strategy 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 - 'null' expire_at: type: - integer - 'null' required: - status - strategy 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 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 - 'null' expire_at: type: - integer - 'null' required: - status - strategy 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 - 'null' attempts: type: - integer - 'null' required: - status - strategy 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 - 'null' expire_at: type: - integer - 'null' required: - status - strategy Client.SignUp.Verifications: type: object properties: email_address: type: - object - 'null' 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 - 'null' allOf: - $ref: '#/components/schemas/Stubs.Verification.OTP' - $ref: '#/components/schemas/Stubs.SignUpVerification.AdditionalFields' web3_wallet: type: - object - 'null' allOf: - $ref: '#/components/schemas/Stubs.Verification.Web3Signature' - $ref: '#/components/schemas/Stubs.SignUpVerification.AdditionalFields' external_account: type: - object - 'null' 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 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 - 'null' expire_at: type: - integer - 'null' required: - status - strategy 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 - 'null' last_name: type: - string - 'null' provider_user_id: description: The unique ID of the user in the external provider's system type: - string - 'null' enterprise_connection_id: type: - string - 'null' last_authenticated_at: type: - integer - 'null' format: int64 description: 'Unix timestamp of last authentication. ' public_metadata: type: object additionalProperties: true verification: type: - object - 'null' oneOf: - $ref: '#/components/schemas/Stubs.Verification.SAML' - $ref: '#/components/schemas/Stubs.Verification.Ticket' saml_connection: type: - object - 'null' 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 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 - 'null' oneOf: - $ref: '#/components/schemas/ClerkError' expire_at: type: integer attempts: type: - integer - 'null' verified_at_client: type: - string - 'null' required: - status - strategy - attempts - expire_at 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: type: - string - 'null' error: type: - object - 'null' allOf: - $ref: '#/components/schemas/ClerkError' expire_at: type: integer attempts: type: - integer - 'null' 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 - 'null' expire_at: type: integer nonce: type: string required: - status - strategy - expire_at Client.ClientWrappedSignUp: type: object additionalProperties: false properties: response: $ref: '#/components/schemas/Client.SignUp' client: $ref: '#/components/schemas/schemas-Client.Client' required: - response - client 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 - 'null' items: $ref: '#/components/schemas/Stubs.SignInFactor' supported_second_factors: type: - array - 'null' items: $ref: '#/components/schemas/Stubs.SignInFactor' first_factor_verification: type: - object - 'null' 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 - 'null' 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: type: - string - 'null' user_data: type: - object - 'null' additionalProperties: false properties: first_name: type: - string - 'null' last_name: type: - string - 'null' image_url: type: string has_image: type: boolean profile_image_url: type: - string - 'null' deprecated: true description: Use `image_url` instead. required: - first_name - last_name - has_image created_session_id: type: - string - 'null' abandon_at: type: integer format: int64 description: Unix timestamp at which the sign in will be abandoned. example: 1700690400000 client_trust_state: type: - string - 'null' 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 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 - 'null' expire_at: type: integer verified_at_client: type: string required: - status - strategy - expire_at 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 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 - 'null' expire_at: type: - integer - 'null' required: - status - strategy 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 - 'null' format: int64 description: 'Unix timestamp of when the passkey was last used. ' verification: type: - object - 'null' 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 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 - 'null' expire_at: type: integer required: - status - strategy - expire_at 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: type: - object - 'null' 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 - 'null' items: type: string 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 schemas-Client.Client: type: - object - 'null' 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 - 'null' allOf: - $ref: '#/components/schemas/schemas-Client.SignIn' sign_up: type: - object - 'null' allOf: - $ref: '#/components/schemas/Client.SignUp' last_active_session_id: type: - string - 'null' description: Last active session_id. last_authentication_strategy: type: - string - 'null' description: 'The authentication strategy that was last used to authenticate the user on this client. ' cookie_expires_at: type: - integer - 'null' 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.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: type: - string - 'null' first_name: type: - string - 'null' last_name: type: - string - 'null' image_url: type: string has_image: type: boolean primary_email_address_id: type: - string - 'null' primary_phone_number_id: type: - string - 'null' primary_web3_wallet_id: type: - string - 'null' 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: type: - integer - 'null' 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: type: - string - 'null' last_sign_in_at: type: - integer - 'null' format: int64 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 - 'null' format: int64 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 - 'null' format: int64 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 - 'null' format: int64 description: Unix timestamp of the latest session activity, with day precision. example: 1700690400000 mfa_enabled_at: type: - integer - 'null' format: int64 description: Unix timestamp at which the user enabled MFA. example: 1700690400000 mfa_disabled_at: type: - integer - 'null' format: int64 description: Unix timestamp at which the user disabled MFA. example: 1700690400000 legal_accepted_at: type: - integer - 'null' format: int64 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 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 - 'null' external_verification_redirect_url: type: - string - 'null' default: type: boolean required: - strategy 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 - 'null' 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.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 - 'null' expire_at: type: - integer - 'null' nonce: type: - string - 'null' message: type: - string - 'null' required: - status - strategy responses: SignUp: description: Success content: application/json: schema: $ref: '#/components/schemas/SignUp' AuthorizationInvalid: description: Authorization invalid content: application/json: schema: $ref: '#/components/schemas/ClerkErrors' Client.SignUp: description: Returns the sign up object, as well as the updated session object. content: application/json: schema: $ref: '#/components/schemas/Client.ClientWrappedSignUp' ClerkErrors: description: Request was not successful content: application/json: schema: $ref: '#/components/schemas/ClerkErrors' securitySchemes: bearerAuth: type: http scheme: bearer description: Secret key, obtained under "API Keys" in the Clerk Dashboard. bearerFormat: sk__ ProductionBrowser: type: apiKey in: cookie name: __client description: 'The Client API token sent in the form of a browser cookie. Used to authenticate production browser applications.' DevBrowser: type: apiKey in: query name: __dev_session description: 'A Dev Browser API token sent as a query parameter. Used to authenticate only dev instances. To generate a dev instance API token you must first make a request to `/v1/dev_browser` and copy it from the response.' ProductionNativeApp: type: http scheme: bearer description: 'The Client API token sent in the `Authorization` header. Used to authenticate native applications.' ProductionNativeFlag: type: apiKey in: query name: _is_native description: 'If sent and the value is true, it instructs the server to parse the API token from the `Authorization` header. It should always be set to true when using the `Authorization` header authentication strategy.' ClientCredentials: type: http scheme: basic description: HTTP Basic Authentication using Client ID as username and Client Secret as password. externalDocs: url: https://clerk.com/docs x-refined-from: - clerk-backend-api-openapi.yml - clerk-frontend-api-openapi.yml x-speakeasy-retries: strategy: backoff backoff: initialInterval: 500 maxInterval: 60000 maxElapsedTime: 3600000 exponent: 1.5 statusCodes: - 5XX retryConnectionErrors: true