openapi: 3.1.1
info:
    version: 2.0.4
    title: Corbado Frontend API
    description: Overview of all Corbado Frontend API calls to implement passwordless authentication.
    contact:
        name: Corbado team
        email: support@corbado.com
        url: https://www.corbado.com
servers:
    - url: https://{projectId}.frontendapi.cloud.corbado.io
      variables:
        projectId:
            description: Your Corbado project ID
            default: pro-000000
tags:
    - name: CorbadoConnect
      description: All API calls that are related to a connect process
      x-group: Passkey flows
    - name: WellKnown
      description: All API calls that are related to WellKnown assets
      x-group: App association and keys
    - name: Auth
      description: All API calls that are related to an authentication process.
    - name: Configs
      description: All API calls to manage configurations
    - name: Users
      description: All API calls to manage users
    - name: OIDC
      description: All API calls that are related to OpenID Connect
paths:
    /v2/process-config:
        get:
            x-excluded: true
            summary: Retrieve process configuration
            description: Retrieves the process configuration settings.
            operationId: GetProcessConfig
            tags:
                - Configs
            responses:
                "200":
                    description: Process configuration settings.
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/processConfigRsp"
    /v2/session-config:
        get:
            x-excluded: true
            summary: Retrieve session configuration
            description: Retrieves the session configuration settings.
            operationId: GetSessionConfig
            tags:
                - Configs
            responses:
                "200":
                    description: Session configuration settings.
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/sessionConfigRsp"
    /v2/user-details-config:
        get:
            x-excluded: true
            summary: Retrieve user details configuration
            description: Retrieves user details configuration needed by the UserDetails component.
            operationId: GetUserDetailsConfig
            tags:
                - Configs
            responses:
                "200":
                    description: User details configuration.
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/userDetailsConfigRsp"
    /v2/me:
        get:
            x-excluded: true
            summary: Retrieve current user
            description: |
                Retrieves data of currently logged in user including their [login identifiers](/api-reference/backend-api/loginidentifiers/create-a-login-identifier-for-a-user) and [social logins](/api-reference/backend-api/users/create-a-social-login-for-a-user).
            operationId: CurrentUserGet
            tags:
                - Users
            responses:
                "200":
                    description: tbd
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/meRsp"
        patch:
            x-excluded: true
            summary: Update current User
            description: |
                Updates data of currently logged in user.
            operationId: CurrentUserUpdate
            tags:
                - Users
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/meUpdateReq"
            responses:
                "200":
                    $ref: "#/components/responses/200"
        delete:
            x-excluded: true
            summary: Delete current user
            description: |
                Deletes currently logged in user.
            operationId: CurrentUserDelete
            tags:
                - Users
            responses:
                "200":
                    $ref: "#/components/responses/200"
    /v2/me/passkeys:
        get:
            x-excluded: true
            summary: List all user passkeys
            description: |
                Returns a list of passkeys for the currently logged in user.
            operationId: CurrentUserPasskeyGet
            tags:
                - Users
            responses:
                "200":
                    description: tbd
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/mePasskeyRsp"
    /v2/me/passkeys/append/start:
        post:
            x-excluded: true
            summary: Start passkey append
            description: |
                Starts passkey append for currently logged in user.
            operationId: CurrentUserPasskeyAppendStart
            tags:
                - Users
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/mePasskeysAppendStartReq"
            responses:
                "200":
                    description: tbd
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/mePasskeysAppendStartRsp"
    /v2/me/passkeys/append/finish:
        post:
            x-excluded: true
            summary: Finish passkey append
            description: |
                Finishes passkey append for currently logged in user.
            operationId: CurrentUserPasskeyAppendFinish
            tags:
                - Users
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/mePasskeysAppendFinishReq"
            responses:
                "200":
                    description: tbd
    /v2/me/passkeys/{credentialID}:
        delete:
            x-excluded: true
            summary: Delete user passkey
            description: |
                Deletes a passkey for the currently logged in user.
            operationId: CurrentUserPasskeyDelete
            tags:
                - Users
            parameters:
                - in: path
                  required: true
                  name: credentialID
                  schema:
                    type: string
                  description: Unique identifier of the passkey.
                  example: "cre-940364795071150919"
            responses:
                "200":
                    description: tbs
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/mePasskeyDeleteRsp"
    /v2/me/refresh:
        post:
            x-excluded: true
            summary: Refresh user session
            description: |
                Performs session refresh of currently logged in user. Issues a new session-token if session is still valid.

                Manage users sessions in the [Management Console](https://app.corbado.com/users/sessions) or consult the [Documentation](https://docs.corbado.com/corbado-complete/sessions/overview) for more details.
            operationId: CurrentUserSessionRefresh
            tags:
                - Users
            responses:
                "200":
                    description: tbd
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/meRefreshRsp"
    /v2/me/logout:
        post:
            x-excluded: true
            summary: Logout user
            description: |
                Performs session logout of currently logged in user.

                Manage users sessions in the [Management Console](https://app.corbado.com/users/sessions) or consult the [Documentation](https://docs.corbado.com/corbado-complete/sessions/overview) for more details.
            operationId: CurrentUserSessionLogout
            tags:
                - Users
            responses:
                "204":
                    description: tbd
    /v2/me/identifier:
        post:
            x-excluded: true
            summary: Create login identifier
            description: |
                Creates a login identifier for the currently logged in user.
            operationId: CurrentUserIdentifierCreate
            tags:
                - Users
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/meIdentifierCreateReq"
            responses:
                "200":
                    $ref: "#/components/responses/200"
        delete:
            x-excluded: true
            summary: Delete login identifier
            description: |
                Deletes a login identifier for the currently logged in user.
            operationId: CurrentUserIdentifierDelete
            tags:
                - Users
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/meIdentifierDeleteReq"
            responses:
                "200":
                    $ref: "#/components/responses/200"
        patch:
            x-excluded: true
            summary: Update login identifier
            description: |
                Updates a login identifier for the currently logged in user.
            operationId: CurrentUserIdentifierUpdate
            tags:
                - Users
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/meIdentifierUpdateReq"
            responses:
                "200":
                    $ref: "#/components/responses/200"
    /v2/me/identifier/verify/start:
        post:
            x-excluded: true
            summary: Start login identifier verification
            description: |
                Starts login identifer verification of currently logged in user.
            operationId: CurrentUserIdentifierVerifyStart
            tags:
                - Users
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/meIdentifierVerifyStartReq"
            responses:
                "200":
                    $ref: "#/components/responses/200"
    /v2/me/identifier/verify/finish:
        post:
            x-excluded: true
            summary: Finish login identifier verification
            description: |
                Finishes login identifer verification of currently logged in user.
            operationId: CurrentUserIdentifierVerifyFinish
            tags:
                - Users
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/meIdentifierVerifyFinishReq"
            responses:
                "200":
                    $ref: "#/components/responses/200"
    /v2/auth/process/init:
        post:
            x-excluded: true
            summary: Initialize authentication process
            description: Initializes a new authentication process.
            operationId: ProcessInit
            tags:
                - Auth
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/processInitReq"
            responses:
                "200":
                    description: tbd
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/processInitRsp"
    /v2/auth/process:
        get:
            x-excluded: true
            summary: Retrieve authentication process
            description: Retrieves the current authentication process state.
            operationId: ProcessGet
            tags:
                - Auth
            parameters:
                - in: query
                  required: false
                  name: preferredBlock
                  schema:
                    $ref: "#/components/schemas/blockType"
            responses:
                "200":
                    description: tbd
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/processResponse"
    /v2/auth/process/complete:
        post:
            x-excluded: true
            summary: Complete authentication process
            description: Completes the current authentication process.
            operationId: ProcessComplete
            tags:
                - Auth
            responses:
                "200":
                    description: tbd
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/processResponse"
    /v2/auth/process/reset:
        post:
            x-excluded: true
            summary: Reset authentication process
            description: Resets the current authentication process.
            operationId: ProcessReset
            tags:
                - Auth
            responses:
                "200":
                    description: tbd
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/processResponse"
    /v2/auth/signup/init:
        post:
            x-excluded: true
            summary: Initialize signup
            description: Initializes a new user signup process.
            operationId: SignupInit
            tags:
                - Auth
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/signupInitReq"
            responses:
                "200":
                    description: tbd
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/processResponse"
    /v2/auth/login/init:
        post:
            x-excluded: true
            summary: Initialize login
            description: Initializes a new login process.
            operationId: LoginInit
            tags:
                - Auth
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/loginInitReq"
            responses:
                "200":
                    description: tbd
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/processResponse"
    /v2/auth/block/skip:
        post:
            x-excluded: true
            summary: Skip authentication block
            description: Skips the current authentication block.
            operationId: BlockSkip
            tags:
                - Auth
            responses:
                "200":
                    description: tbd
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/processResponse"
    /v2/auth/passkey/append/start:
        post:
            x-excluded: true
            summary: Start passkey append
            description: Starts the process of appending a new passkey.
            operationId: PasskeyAppendStart
            tags:
                - Auth
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/passkeyAppendStartReq"
            responses:
                "200":
                    description: tbd
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/processResponse"
    /v2/auth/passkey/append/finish:
        post:
            x-excluded: true
            summary: Finish passkey append
            description: Completes the process of appending a new passkey.
            operationId: PasskeyAppendFinish
            tags:
                - Auth
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/passkeyAppendFinishReq"
            responses:
                "200":
                    description: tbd
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/processResponse"
    /v2/auth/passkey/login/start:
        post:
            x-excluded: true
            summary: Start passkey login
            description: Initiates the passkey login process.
            operationId: PasskeyLoginStart
            tags:
                - Auth
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/passkeyLoginStartReq"
            responses:
                "200":
                    description: tbd
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/processResponse"
    /v2/auth/passkey/login/finish:
        post:
            x-excluded: true
            summary: Finish passkey login
            description: Completes the passkey login process.
            operationId: PasskeyLoginFinish
            tags:
                - Auth
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/passkeyLoginFinishReq"
            responses:
                "200":
                    description: tbd
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/processResponse"
    /v2/auth/passkey/mediation/finish:
        post:
            x-excluded: true
            summary: Finish passkey mediation
            description: Completes the passkey mediation process.
            operationId: PasskeyMediationFinish
            tags:
                - Auth
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/passkeyMediationFinishReq"
            responses:
                "200":
                    description: tbd
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/processResponse"
    /v2/auth/identifier/verify/start:
        post:
            x-excluded: true
            summary: Start identifier verification
            description: Initiates the identifier verification process.
            operationId: IdentifierVerifyStart
            tags:
                - Auth
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/identifierVerifyStartReq"
            responses:
                "200":
                    description: tbd
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/processResponse"
    /v2/auth/identifier/verify/finish:
        post:
            x-excluded: true
            summary: Finish identifier verification
            description: Completes the identifier verification process.
            operationId: IdentifierVerifyFinish
            tags:
                - Auth
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/identifierVerifyFinishReq"
            responses:
                "200":
                    description: tbd
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/processResponse"
    /v2/auth/identifier/verify/status:
        get:
            x-excluded: true
            summary: Retrieve identifier verification status
            description: Retrieves the current status of identifier verification.
            operationId: IdentifierVerifyStatus
            tags:
                - Auth
            responses:
                "200":
                    description: tbd
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/processResponse"
    /v2/auth/identifier/update:
        post:
            x-excluded: true
            summary: Update identifier
            description: Updates the user's identifier information.
            operationId: IdentifierUpdate
            tags:
                - Auth
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/identifierUpdateReq"
            responses:
                "200":
                    description: tbd
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/processResponse"
    /v2/auth/social/verify/start:
        post:
            x-excluded: true
            summary: Start social verification
            description: Initiates the social authentication verification process.
            operationId: SocialVerifyStart
            tags:
                - Auth
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/socialVerifyStartReq"
            responses:
                "200":
                    description: tbd
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/processResponse"
    /v2/auth/social/verify/callback:
        get:
            x-excluded: true
            summary: Social verification callback
            description: Handles the callback from social authentication providers.
            operationId: SocialVerifyCallback
            tags:
                - Auth
            responses:
                "200":
                    description: tbd
    /v2/auth/social/verify/finish:
        post:
            x-excluded: true
            summary: Finish social verification
            description: Completes the social authentication verification process.
            operationId: SocialVerifyFinish
            tags:
                - Auth
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/socialVerifyFinishReq"
            responses:
                "200":
                    description: tbd
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/processResponse"
    /v2/sso/saml2/start:
        post:
            x-excluded: true
            summary: Start SAML2 SSO login
            description: Starts a SAML2 SSO login by forwarding the request to Backend API v2.
            operationId: SsoSaml2Start
            tags:
                - Auth
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/ssoSaml2StartReq"
            responses:
                "200":
                    description: Contains the IdP redirect URL and relay state.
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/ssoSaml2StartRsp"
    /v2/sso/saml2/finish:
        post:
            x-excluded: true
            summary: Finish SAML2 SSO login
            description: Completes SAML2 SSO login with IdP form POST data and redirects the user.
            operationId: SsoSaml2Finish
            tags:
                - Auth
            requestBody:
                required: true
                content:
                    application/x-www-form-urlencoded:
                        schema:
                            $ref: "#/components/schemas/ssoSaml2FinishReq"
            responses:
                "302":
                    description: Redirect to the target URL after successful login.
                default:
                    $ref: "#/components/responses/error"
    /v2/auth/events:
        post:
            x-excluded: true
            summary: Create authentication event
            description: Creates a new user generated complete event.
            operationId: EventCreate
            tags:
                - Auth
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/eventCreateReq"
            responses:
                "204":
                    description: tbd
    /v2/connect/login/init:
        post:
            x-mint:
                href: /api-reference/connect/frontend/corbadoconnect/initialize-connect-login
            security: []
            summary: Initialize connect login
            description: "Initializes a [Corbado Connect](/corbado-connect/overview/welcome) process for login."
            operationId: ConnectLoginInit
            tags:
                - CorbadoConnect
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/connectLoginInitReq"
            responses:
                "200":
                    description: Contains information about if and how a passkey login can be started.
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/connectLoginInitRsp"
    /v2/connect/login/start:
        post:
            x-mint:
                href: /api-reference/connect/frontend/corbadoconnect/start-connect-login
            security:
                - connectProcess: []
            summary: Start connect login
            description: "Starts an initialized [Corbado Connect](/corbado-connect/overview/welcome) login process."
            operationId: ConnectLoginStart
            tags:
                - CorbadoConnect
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/connectLoginStartReq"
            responses:
                "200":
                    description: Contains the challenge for the passkey login.
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/connectLoginStartRsp"
                "404":
                    description: No user was found for the identifier
    /v2/connect/login/finish:
        post:
            x-mint:
                href: /api-reference/connect/frontend/corbadoconnect/finish-connect-login
            security:
                - connectProcess: []
            summary: Finish connect login
            description: "Finishes an initialized [Corbado Connect](/corbado-connect/overview/welcome) login process."
            operationId: ConnectLoginFinish
            tags:
                - CorbadoConnect
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/connectLoginFinishReq"
            responses:
                "200":
                    description: Data about the passkey login and the session.
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/connectLoginFinishRsp"
                "404":
                    description: No credential was found for the identifier
    /v2/connect/append/init:
        post:
            x-mint:
                href: /api-reference/connect/frontend/corbadoconnect/initialize-connect-append
            security: []
            summary: Initialize connect append
            description: "Initializes a [Corbado Connect](/corbado-connect/overview/welcome) process for passkey append."
            operationId: ConnectAppendInit
            tags:
                - CorbadoConnect
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/connectAppendInitReq"
            responses:
                "200":
                    description: Contains information about if and how a passkey append can be started.
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/connectAppendInitRsp"
    /v2/connect/append/start:
        post:
            x-mint:
                href: /api-reference/connect/frontend/corbadoconnect/start-connect-append
            security:
                - connectProcess: []
            summary: Start connect append
            description: "Starts an initialized [Corbado Connect](/corbado-connect/overview/welcome) passkey append process."
            operationId: ConnectAppendStart
            tags:
                - CorbadoConnect
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/connectAppendStartReq"
            responses:
                "200":
                    description: Contains the challenge for the passkey append.
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/connectAppendStartRsp"
    /v2/connect/append/finish:
        post:
            x-mint:
                href: /api-reference/connect/frontend/corbadoconnect/finish-connect-append
            security:
                - connectProcess: []
            summary: Finish connect append
            description: "Finishes an initialized [Corbado Connect](/corbado-connect/overview/welcome) passkey append process."
            operationId: ConnectAppendFinish
            tags:
                - CorbadoConnect
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/connectAppendFinishReq"
            responses:
                "200":
                    description: Data about the new passkey.
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/connectAppendFinishRsp"
    /v2/connect/manage/init:
        post:
            x-mint:
                href: /api-reference/connect/frontend/corbadoconnect/initialize-connect-management
            security: []
            summary: Initialize connect management
            description: "Initializes a [Corbado Connect](/corbado-connect/overview/welcome) process for passkey management."
            operationId: ConnectManageInit
            tags:
                - CorbadoConnect
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/connectManageInitReq"
            responses:
                "200":
                    description: Contains information about if and how passkey management can be started.
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/connectManageInitRsp"
    /v2/connect/manage/delete:
        post:
            x-mint:
                href: /api-reference/connect/frontend/corbadoconnect/delete-connect-passkey
            security:
                - connectProcess: []
            summary: Delete connect passkey
            description: "Deletes a passkey for a user identified by a [Corbado Connect](/corbado-connect/overview/welcome) token."
            operationId: ConnectManageDelete
            tags:
                - CorbadoConnect
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/connectManageDeleteReq"
            responses:
                "200":
                    description: Contains the ID of the deleted passkey.
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/connectManageDeleteRsp"
    /v2/connect/manage/list:
        post:
            x-mint:
                href: /api-reference/connect/frontend/corbadoconnect/list-connect-passkeys
            security:
                - connectProcess: []
            summary: List connect passkeys
            description: "Lists all passkeys for a user identifier by a [Corbado Connect](/corbado-connect/overview/welcome) token."
            operationId: ConnectManageList
            tags:
                - CorbadoConnect
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/connectManageListReq"
            responses:
                "200":
                    description: Contains all passkeys for a user.
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/connectManageListRsp"
    /v2/connect/events:
        post:
            x-mint:
                href: /api-reference/connect/frontend/corbadoconnect/create-connect-event
            security:
                - connectProcess: []
            summary: Create connect event
            description: Creates a new user generated [Corbado Connect](https://docs.corbado.com/corbado-connect) event.
            operationId: ConnectEventCreate
            tags:
                - CorbadoConnect
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/connectEventCreateReq"
            responses:
                "204":
                    description: tbd
    /v2/connect/eventsLow:
        post:
            summary: "Send low-level Connect events"
            x-mint:
                href: /api-reference/connect/frontend/corbadoconnect/post-v2connecteventslow
                metadata:
                    sidebarTitle: "Send low-level Connect events"
            security:
                - connectProcess: []
            operationId: ConnectEventLowCreate
            tags:
                - CorbadoConnect
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/connectEventLowCreateReq"
            responses:
                "204":
                    description: tbd
    /v2/connect/process/clear:
        post:
            x-mint:
                href: /api-reference/connect/frontend/corbadoconnect/clear-connect-process
            security: []
            summary: Clear connect process
            description: Remove process state for a [Corbado Connect](https://docs.corbado.com/corbado-connect) process.
            operationId: ConnectProcessClear
            tags:
                - CorbadoConnect
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/connectProcessClearReq"
            responses:
                "200":
                    description: Contains information about the process state.
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/connectProcessClearRsp"
                "404":
                    description: No process was found for the token
    /v2/oidc/userInfo:
        get:
            x-excluded: true
            summary: OIDC user info
            description: Retrieves user information in accordance with the OpenID Connect (OIDC) standard.
            operationId: OIDCUserInfoGet
            tags:
                - OIDC
            responses:
                "200":
                    description: User information as per OIDC standard.
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/oidcUserInfoRsp"
                "401":
                    description: Unauthorized - Invalid or missing token
    /.well-known/assetlinks.json:
        get:
            summary: "Get Android Digital Asset Links"
            x-mint:
                href: /api-reference/connect/frontend/wellknown/get-well-knownassetlinksjson
                metadata:
                    sidebarTitle: "Get Android Digital Asset Links"
            security: []
            description: Provides asset links for android devices
            operationId: AssetLinks
            tags:
                - WellKnown
            responses:
                '200':
                    description: Provides a list of assets links
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/assetLinksRsp'
                default:
                    $ref: '#/components/responses/error'
    /.well-known/apple-app-site-association:
        get:
            summary: "Get Apple App Site Association"
            x-mint:
                href: /api-reference/connect/frontend/wellknown/get-well-knownapple-app-site-association
                metadata:
                    sidebarTitle: "Get Apple App Site Association"
            security: []
            description: Provides apple app site association
            operationId: AppleAppSiteAssociation
            tags:
                - WellKnown
            responses:
                '200':
                    description: Provides a list of site association
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/appleAppSiteAssociationRsp'
                default:
                    $ref: '#/components/responses/error'
    /.well-known/jwks:
        get:
            summary: "Get project signing keys"
            x-mint:
                href: /api-reference/connect/frontend/wellknown/get-well-knownjwks
                metadata:
                    sidebarTitle: "Get project signing keys"
            description: Retrieves well-known JWKS for Project ID
            operationId: WellKnownJWKSList
            tags:
                - WellKnown
            responses:
                '200':
                    description: JWKS successfully retrieved
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/wellKnownJWKSListRsp'
                default:
                    $ref: '#/components/responses/error'
            security: []
components:
    securitySchemes:
        connectProcess:
            type: apiKey
            in: header
            name: X-Corbado-Process-ID
            description: The process token returned by the corresponding Connect initialization endpoint. SDKs manage it automatically.
        basicAuth:
            type: http
            scheme: basic
        bearerAuth:
            type: http
            scheme: bearer
            bearerFormat: JWT
            description: |
                After a user logs in successfully, a session is created and a JWT token is returned.
                This token represents the user's authenticated session.
                It must be included in the `Authorization` header as a Bearer token for all protected endpoints:

                `Authorization: Bearer <your-token>`

                The server will validate this token to authorize access.
        projectID:
            type: apiKey
            in: header
            name: X-Corbado-ProjectID
            description: |
                Identifies your project context for Corbado.
                Include this in the request headers as:

                `X-Corbado-ProjectID: <your-project-id>`
    schemas:
        processInitReq:
            type: object
            description: tbd.
            required:
                - clientInformation
            properties:
                clientInformation:
                    $ref: "#/components/schemas/clientInformation"
                passkeyAppendShown:
                    type: integer
                    format: int64
                optOutOfPasskeyAppendAfterHybrid:
                    type: boolean
                    description: deprecated
                preferredBlock:
                    $ref: "#/components/schemas/blockType"
        processInitRsp:
            type: object
            description: tbd.
            required:
                - token
                - expiresAt
                - processResponse
            properties:
                newClientEnvHandle:
                    type: string
                token:
                    type: string
                expiresAt:
                    type: integer
                processResponse:
                    $ref: "#/components/schemas/processResponse"
        signupInitReq:
            type: object
            description: tbd.
            required:
                - identifiers
            properties:
                fullName:
                    type: string
                identifiers:
                    type: array
                    items:
                        $ref: "#/components/schemas/loginIdentifier"
        loginInitReq:
            type: object
            description: tbd.
            required:
                - identifierValue
                - isPhone
            properties:
                identifierValue:
                    type: string
                isPhone:
                    type: boolean
        passkeyAppendStartReq:
            type: object
            properties:
                clientInformation:
                    $ref: "#/components/schemas/clientInformation"
        passkeyAppendFinishReq:
            type: object
            description: tbd.
            required:
                - signedChallenge
            properties:
                signedChallenge:
                    type: string
        mePasskeysAppendStartReq:
            type: object
            required:
                - clientInformation
            properties:
                clientInformation:
                    $ref: "#/components/schemas/clientInformation"
        mePasskeysAppendStartRsp:
            type: object
            required:
                - attestationOptions
            properties:
                newClientEnvHandle:
                    type: string
                appendNotAllowedReason:
                    type: string
                    enum:
                        - "passkey_already_exists"
                        - "passkeys_not_supported"
                attestationOptions:
                    type: string
                    example: '{"publicKey":{"challenge":"2m6...0w9/MgW...KE=","rp":{"name":"demo","id":"localhost"},"user":{"name":"example@mail.com","id":"dXN...zk5"},"pubKeyCredParams":[{"type":"public-key","alg":-7},{"type":"public-key","alg":-35},{"type":"public-key","alg":-36},{"type":"public-key","alg":-257},{"type":"public-key","alg":-258},{"type":"public-key","alg":-259},{"type":"public-key","alg":-37},{"type":"public-key","alg":-38},{"type":"public-key","alg":-39},{"type":"public-key","alg":-8}],"authenticatorSelection":{"authenticatorAttachment":"platform","requireResidentKey":false,"userVerification":"required"},"timeout":60000,"attestation":"none"}}'
        mePasskeysAppendFinishReq:
            type: object
            required:
                - attestationResponse
                - clientInformation
            properties:
                attestationResponse:
                    type: string
                    example: '{"type":"public-key","id":"JM6...J_Q","rawId":"JM6...J_Q","authenticatorAttachment":null,"response":{"clientDataJSON":"eyJ...ZX0","authenticatorData":"SZY...AAQ","signature":"Ni7...YAg","userHandle":"dXN...zk5"},"clientExtensionResults":{}}'
                clientInformation:
                    $ref: "#/components/schemas/clientInformation"
        meIdentifierCreateReq:
            type: object
            required:
                - identifierType
                - value
            properties:
                identifierType:
                    $ref: "#/components/schemas/loginIdentifierType"
                value:
                    type: string
        meIdentifierDeleteReq:
            type: object
            required:
                - identifierID
            properties:
                identifierID:
                    type: string
        meIdentifierUpdateReq:
            type: object
            required:
                - identifierID
                - identifierType
                - value
            properties:
                identifierID:
                    type: string
                identifierType:
                    $ref: "#/components/schemas/loginIdentifierType"
                value:
                    type: string
        meIdentifierVerifyStartReq:
            type: object
            description: tbd.
            required:
                - identifierID
                - clientInformation
            properties:
                identifierID:
                    type: string
                clientInformation:
                    $ref: "#/components/schemas/clientInformation"
        meIdentifierVerifyFinishReq:
            type: object
            required:
                - identifierID
                - code
            properties:
                identifierID:
                    type: string
                code:
                    type: string
        passkeyLoginStartReq:
            type: object
            properties:
                clientInformation:
                    $ref: "#/components/schemas/clientInformation"
        passkeyLoginFinishReq:
            type: object
            description: tbd.
            required:
                - signedChallenge
            properties:
                signedChallenge:
                    type: string
        passkeyMediationFinishReq:
            type: object
            description: tbd.
            required:
                - signedChallenge
            properties:
                signedChallenge:
                    type: string
        identifierVerifyStartReq:
            type: object
            description: tbd.
            required:
                - identifierType
                - verificationType
            properties:
                identifierType:
                    $ref: "#/components/schemas/loginIdentifierType"
                verificationType:
                    $ref: "#/components/schemas/verificationMethod"
        identifierVerifyFinishReq:
            type: object
            required:
                - code
                - identifierType
                - verificationType
            properties:
                code:
                    type: string
                identifierType:
                    $ref: "#/components/schemas/loginIdentifierType"
                verificationType:
                    $ref: "#/components/schemas/verificationMethod"
        socialVerifyStartReq:
            type: object
            required:
                - providerType
                - redirectUrl
                - authType
            properties:
                providerType:
                    type: string
                    description: Type of the social provider.
                    enum:
                        - 'google'
                        - 'microsoft'
                        - 'github'
                redirectUrl:
                    type: string
                authType:
                    $ref: "#/components/schemas/authType"
        socialVerifyFinishReq:
            type: object
        ssoSaml2StartReq:
            type: object
            required:
                - email
            properties:
                email:
                    type: string
                invitationToken:
                    type: string
        ssoSaml2StartRsp:
            type: object
            required:
                - idpRedirectURL
            properties:
                idpRedirectURL:
                    type: string
        ssoSaml2FinishReq:
            type: object
            required:
                - SAMLResponse
                - RelayState
            properties:
                SAMLResponse:
                    type: string
                RelayState:
                    type: string
        identifierUpdateReq:
            type: object
            required:
                - value
                - identifierType
            properties:
                identifierType:
                    $ref: "#/components/schemas/loginIdentifierType"
                value:
                    type: string
        processConfigRsp:
            type: object
            required:
                - useServerSideProcessId
                - frontendApiUrl
            properties:
                useServerSideProcessId:
                    type: boolean
                frontendApiUrl:
                    type: string
        sessionConfigRsp:
            type: object
            required:
                - useSessionManagement
            properties:
                useSessionManagement:
                    type: boolean
                shortSessionCookieConfig:
                    $ref: "#/components/schemas/shortSessionCookieConfig"
                sessionTokenCookieConfig:
                    $ref: "#/components/schemas/sessionTokenCookieConfig"
                frontendApiUrl:
                    type: string
        userDetailsConfigRsp:
            type: object
            required:
                - fullNameRequired
                - identifiers
            properties:
                fullNameRequired:
                    type: boolean
                identifiers:
                    type: array
                    items:
                        $ref: "#/components/schemas/loginIdentifierConfig"
        mePasskeyRsp:
            type: object
            required:
                - passkeys
                - paging
            properties:
                passkeys:
                    type: array
                    items:
                        $ref: "#/components/schemas/passkey"
                paging:
                    type: object
                    required:
                        - page
                        - totalPages
                        - totalItems
                    properties:
                        page:
                            description: current page returned in response
                            type: integer
                            default: 1
                        totalPages:
                            description: total number of pages available
                            type: integer
                        totalItems:
                            description: total number of items available
                            type: integer
        meRefreshRsp:
            type: object
            required:
                - shortSession
                - sessionToken
            properties:
                shortSession:
                    type: string
                    deprecated: true
                    x-deprecated-reason: 'Old code'
                sessionToken:
                    type: string
        mePasskeyDeleteRsp:
            type: object
            required:
                - id
            properties:
                id:
                    type: string
        connectLoginInitReq:
            type: object
            required:
                - clientInformation
                - flags
            properties:
                clientInformation:
                    $ref: "#/components/schemas/clientInformation"
                flags:
                    type: object
                    additionalProperties:
                        type: string
                invitationToken:
                    type: string
        connectLoginInitRsp:
            type: object
            required:
                - token
                - expiresAt
                - frontendApiUrl
                - loginAllowed
                - flags
            properties:
                token:
                    type: string
                newClientEnvHandle:
                    type: string
                newClientState:
                    type: string
                expiresAt:
                    type: integer
                    format: int64
                frontendApiUrl:
                    type: string
                loginAllowed:
                    type: boolean
                conditionalUIChallenge:
                    type: string
                flags:
                    type: object
                    additionalProperties:
                        type: string
        connectLoginStartReq:
            type: object
            required:
                - identifier
                - source
                - loadedMs
            properties:
                identifier:
                    type: string
                source:
                    type: string
                    enum:
                        - "one-tap"
                        - "text-field"
                        - "error-soft"
                        - "error-hard"
                loadedMs:
                    type: integer
                    format: int64
                loginConnectToken:
                    type: string
                identifierHintAvailable:
                    type: boolean
                oneTapMeta:
                    $ref: "#/components/schemas/clientStateMeta"
        connectLoginStartRsp:
            type: object
            required:
                - assertionOptions
                - isCDA
                - fallbackOperationError
            properties:
                assertionOptions:
                    type: string
                isCDA:
                    type: boolean
                fallbackOperationError:
                    $ref: "#/components/schemas/fallbackOperationError"
                preferImmediatelyAvailable:
                    type: boolean
        connectLoginFinishReq:
            type: object
            required:
                - assertionResponse
                - isConditionalUI
            properties:
                isConditionalUI:
                    type: boolean
                assertionResponse:
                    type: string
                loadedMs:
                    type: integer
                    format: int64
        connectLoginFinishRsp:
            type: object
            required:
                - session
                - signedPasskeyData
            properties:
                passkeyOperation:
                    $ref: "#/components/schemas/passkeyOperation"
                session:
                    type: string
                signedPasskeyData:
                    type: string
                fallbackOperationError:
                    $ref: "#/components/schemas/fallbackOperationError"
        connectAppendInitReq:
            type: object
            required:
                - clientInformation
                - flags
            properties:
                clientInformation:
                    $ref: "#/components/schemas/clientInformation"
                flags:
                    type: object
                    additionalProperties:
                        type: string
                invitationToken:
                    type: string
                situation:
                    type: string
        connectAppendInitRsp:
            type: object
            required:
                - processID
                - expiresAt
                - frontendApiUrl
                - appendAllowed
                - flags
            properties:
                processID:
                    type: string
                newClientEnvHandle:
                    type: string
                expiresAt:
                    type: integer
                    format: int64
                frontendApiUrl:
                    type: string
                appendAllowed:
                    type: boolean
                flags:
                    type: object
                    additionalProperties:
                        type: string
                newClientState:
                    type: string
        connectAppendStartReq:
            type: object
            required:
                - appendTokenValue
                - loadedMs
            properties:
                appendTokenValue:
                    type: string
                forcePasskeyAppend:
                    type: boolean
                loadedMs:
                    type: integer
                    format: int64
                situation:
                    type: string
        connectAppendStartRsp:
            type: object
            required:
                - attestationOptions
                - variant
                - isRestrictedBrowser
                - autoAppend
                - conditionalAppend
                - expiresMs
            properties:
                attestationOptions:
                    type: string
                variant:
                    type: string
                    enum:
                        - default
                        - after-hybrid
                        - after-error
                isRestrictedBrowser:
                    type: boolean
                autoAppend:
                    type: boolean
                conditionalAppend:
                    type: boolean
                expiresMs:
                    type: integer
                    format: int64
                customData:
                    type: object
                    additionalProperties:
                        type: string
        connectAppendFinishReq:
            type: object
            required:
                - attestationResponse
                - completionType
            properties:
                attestationResponse:
                    type: string
                completionType:
                    $ref: "#/components/schemas/appendCompletionType"
                customData:
                    type: object
                    additionalProperties:
                        type: string
        connectAppendFinishRsp:
            type: object
            required:
                - passkeyOperation
            properties:
                passkeyOperation:
                    $ref: "#/components/schemas/passkeyOperation"
        connectManageInitReq:
            type: object
            required:
                - clientInformation
                - flags
            properties:
                clientInformation:
                    $ref: "#/components/schemas/clientInformation"
                flags:
                    type: object
                    additionalProperties:
                        type: string
                invitationToken:
                    type: string
        connectManageInitRsp:
            type: object
            required:
                - processID
                - expiresAt
                - frontendApiUrl
                - manageAllowed
                - flags
            properties:
                processID:
                    type: string
                newClientEnvHandle:
                    type: string
                expiresAt:
                    type: integer
                    format: int64
                frontendApiUrl:
                    type: string
                manageAllowed:
                    type: boolean
                flags:
                    type: object
                    additionalProperties:
                        type: string
        connectManageDeleteReq:
            type: object
            required:
                - connectToken
                - credentialID
            properties:
                connectToken:
                    type: string
                credentialID:
                    type: string
        connectManageListReq:
            type: object
            required:
                - connectToken
            properties:
                connectToken:
                    type: string
                mode:
                    type: string
                    enum:
                        - "default"
                        - "post-delete"
                        - "post-append"
        connectManageListRsp:
            type: object
            required:
                - passkeys
                - rpID
                - userID
                - signalAllAcceptedCredentials
            properties:
                passkeys:
                    type: array
                    items:
                        $ref: "#/components/schemas/passkey"
                rpID:
                    type: string
                userID:
                    type: string
                signalAllAcceptedCredentials:
                    type: boolean
        connectManageDeleteRsp:
            type: object
            required:
                - credentialID
            properties:
                credentialID:
                    type: string
        connectEventCreateReq:
            type: object
            required:
                - eventType
            properties:
                eventType:
                    $ref: "#/components/schemas/passkeyEventType"
                message:
                    type: string
                challenge:
                    type: string
        connectEventLowCreateReq:
            type: object
            required:
                - items
            properties:
                items:
                    type: array
                    items:
                        $ref: "#/components/schemas/connectEventLow"
                meta:
                    $ref: "#/components/schemas/connectEventLowMeta"
        connectEventLowMeta:
            type: object
            required:
                - sent
            properties:
                sent:
                    type: integer
                    format: int64
        connectEventLow:
            type: object
            required:
                - eventType
                - timestamp
            properties:
                eventType:
                    type: string
                timestamp:
                    type: integer
                    format: int64
                durationMs:
                    type: integer
                    format: int64
        passkey:
            type: object
            required:
                - id
                - credentialID
                - attestationType
                - transport
                - backupEligible
                - backupState
                - authenticatorAAGUID
                - aaguidDetails
                - sourceOS
                - sourceBrowser
                - lastUsed
                - created
                - status
                - createdMs
                - lastUsedMs
                - tags
            properties:
                id:
                    type: string
                    example: "cre-12345"
                credentialID:
                    type: string
                attestationType:
                    type: string
                transport:
                    type: array
                    items:
                        type: string
                        enum:
                            - "usb"
                            - "nfc"
                            - "ble"
                            - "internal"
                            - "hybrid"
                            - "smart-card"
                backupEligible:
                    type: boolean
                backupState:
                    type: boolean
                authenticatorAAGUID:
                    type: string
                sourceOS:
                    type: string
                sourceBrowser:
                    type: string
                lastUsed:
                    type: string
                    description: Timestamp of when the passkey was last used in yyyy-MM-dd'T'HH:mm:ss format
                created:
                    description: Timestamp of when the entity was created in yyyy-MM-dd'T'HH:mm:ss format
                    type: string
                status:
                    type: string
                    enum:
                        - "pending"
                        - "active"
                    description: "Status"
                aaguidDetails:
                    $ref: "#/components/schemas/aaguidDetails"
                createdMs:
                    type: integer
                    format: int64
                    description: Unix timestamp of when the passkey was created (in milliseconds)
                lastUsedMs:
                    type: integer
                    format: int64
                    description: Unix timestamp of when the passkey was last used (in milliseconds)
                tags:
                    type: array
                    items:
                        type: string
                    description: "Tags attached to a passkey (e.g. synced or hybrid)"
        connectProcessClearReq:
            type: object
            required:
                - processId
            properties:
                processId:
                    type: string
        connectProcessClearRsp:
            type: object
            required:
                - processId
            properties:
                processId:
                    type: string
        oidcUserInfoRsp:
            type: object
            required:
                - sub
            properties:
                sub:
                    type: string
                email:
                    type: string
                email_verified:
                    type: boolean
        aaguidDetails:
            type: object
            required:
                - name
                - iconLight
                - iconDark
            properties:
                name:
                    type: string
                iconLight:
                    type: string
                iconDark:
                    type: string
        processResponse:
            type: object
            required:
                - blockBody
                - common
            properties:
                blockBody:
                    $ref: "#/components/schemas/blockBody"
                common:
                    $ref: "#/components/schemas/processCommon"
                newProcess:
                    $ref: "#/components/schemas/processStaticInfo"
        eventCreateReq:
            type: object
            required:
                - eventType
            properties:
                eventType:
                    $ref: "#/components/schemas/passkeyEventType"
                challenge:
                    type: string
        processStaticInfo:
            type: object
            required:
                - token
                - expiresAt
            properties:
                token:
                    type: string
                expiresAt:
                    type: integer
        processCommon:
            type: object
            required:
                - appName
                - frontendApiUrl
                - hideBadge
                - environment
            properties:
                appName:
                    type: string
                frontendApiUrl:
                    type: string
                hideBadge:
                    type: boolean
                environment:
                    type: string
        shortSessionCookieConfig:
            type: object
            deprecated: true
            x-deprecated-reason: 'Old code'
            required:
                - domain
                - secure
                - sameSite
                - path
                - lifetimeSeconds
            properties:
                domain:
                    type: string
                secure:
                    type: boolean
                sameSite:
                    type: string
                    enum:
                        - "lax"
                        - "strict"
                        - "none"
                path:
                    type: string
                lifetimeSeconds:
                    type: integer
        sessionTokenCookieConfig:
            type: object
            required:
                - domain
                - secure
                - sameSite
                - path
                - lifetimeSeconds
            properties:
                domain:
                    type: string
                secure:
                    type: boolean
                sameSite:
                    type: string
                    enum:
                        - "lax"
                        - "strict"
                        - "none"
                path:
                    type: string
                lifetimeSeconds:
                    type: integer
        loginIdentifierConfig:
            type: object
            required:
                - type
            properties:
                type:
                    $ref: "#/components/schemas/loginIdentifierType"
        blockBody:
            type: object
            required:
                - block
                - data
                - authType
            properties:
                block:
                    $ref: "#/components/schemas/blockType"
                authType:
                    $ref: "#/components/schemas/authType"
                data:
                    type: object
                    discriminator:
                        propertyName: blockType
                    oneOf:
                        - $ref: "#/components/schemas/generalBlockPasskeyAppend"
                        - $ref: "#/components/schemas/generalBlockPasskeyVerify"
                        - $ref: "#/components/schemas/generalBlockVerifyIdentifier"
                        - $ref: "#/components/schemas/generalBlockPasskeyAppended"
                        - $ref: "#/components/schemas/generalBlockCompleted"
                        - $ref: "#/components/schemas/generalBlockSignupInit"
                        - $ref: "#/components/schemas/generalBlockLoginInit"
                        - $ref: "#/components/schemas/generalBlockPostSignupEmailVerify"
                alternatives:
                    type: array
                    items:
                        $ref: "#/components/schemas/blockBody"
                error:
                    $ref: "#/components/schemas/requestError"
                continueOnOtherDevice:
                    $ref: "#/components/schemas/continueOnOtherDevice"
        loginIdentifier:
            type: object
            required:
                - type
                - identifier
            properties:
                type:
                    $ref: "#/components/schemas/loginIdentifierType"
                identifier:
                    type: string
        loginIdentifierWithError:
            type: object
            required:
                - type
                - identifier
            properties:
                type:
                    $ref: "#/components/schemas/loginIdentifierType"
                identifier:
                    type: string
                error:
                    $ref: "#/components/schemas/requestError"
        fullNameWithError:
            type: object
            required:
                - fullName
            properties:
                fullName:
                    type: string
                error:
                    $ref: "#/components/schemas/requestError"
        loginIdentifierType:
            type: string
            enum:
                - email
                - phone
                - username
        passkeyEventType:
            type: string
            enum:
                - login-explicit-abort
                - login-error
                - login-error-untyped
                - login-error-unexpected
                - login-one-tap-switch
                - login-no-credentials
                - user-append-after-cross-platform-blacklisted
                - user-append-after-login-error-blacklisted
                - append-credential-exists
                - append-explicit-abort
                - append-error
                - append-error-unexpected
                - append-learn-more
                - manage-error-unexpected
                - manage-error
                - manage-learn-more
                - manage-credential-exists
                - manage-delete-explicit-abort
                - local-unlock
        blockType:
            type: string
            enum:
                - signup-init
                - passkey-append
                - phone-verify
                - email-verify
                - passkey-appended
                - completed
                - social-verify
                - login-init
                - passkey-verify
                - conditional-ui-completed
                - post-signup-email-verify
                - passkey-append-after-hybrid
        authType:
            type: string
            enum:
                - signup
                - login
        verificationMethod:
            type: string
            enum:
                - email-link
                - email-otp
                - phone-otp
        passkeyIconSet:
            type: string
            enum:
                - default
                - apple
                - android
                - windows
        generalBlockSignupInit:
            type: object
            required:
                - blockType
                - identifiers
                - socialProviders
            properties:
                blockType:
                    type: string
                identifiers:
                    type: array
                    items:
                        $ref: "#/components/schemas/loginIdentifierWithError"
                fullName:
                    $ref: "#/components/schemas/fullNameWithError"
                socialData:
                    $ref: "#/components/schemas/socialData"
                error:
                    $ref: "#/components/schemas/requestError"
        generalBlockLoginInit:
            type: object
            required:
                - blockType
                - identifierValue
                - isPhone
                - isPhoneAvailable
                - isEmailAvailable
                - isUsernameAvailable
                - socialData
            properties:
                blockType:
                    type: string
                conditionalUIChallenge:
                    type: string
                identifierValue:
                    type: string
                isPhone:
                    type: boolean
                isPhoneAvailable:
                    type: boolean
                isEmailAvailable:
                    type: boolean
                isUsernameAvailable:
                    type: boolean
                socialData:
                    $ref: "#/components/schemas/socialData"
                fieldError:
                    $ref: "#/components/schemas/requestError"
                error:
                    $ref: "#/components/schemas/requestError"
        generalBlockPasskeyAppend:
            type: object
            required:
                - blockType
                - challenge
                - identifierValue
                - identifierType
                - autoSubmit
                - passkeyIconSet
                - variant
            properties:
                blockType:
                    type: string
                challenge:
                    type: string
                identifierValue:
                    type: string
                identifierType:
                    $ref: "#/components/schemas/loginIdentifierType"
                autoSubmit:
                    type: boolean
                passkeyIconSet:
                    $ref: "#/components/schemas/passkeyIconSet"
                variant:
                    type: string
                    enum:
                        - "default"
                        - "after-hybrid"
                        - "after-error"
                        - "after-no-credential"
        generalBlockPasskeyVerify:
            type: object
            required:
                - blockType
                - challenge
                - identifierValue
            properties:
                blockType:
                    type: string
                challenge:
                    type: string
                identifierValue:
                    type: string
                loginHint:
                    type: string
                    enum:
                        - "cda"
        generalBlockPasskeyAppended:
            type: object
            required:
                - blockType
            properties:
                blockType:
                    type: string
        generalBlockCompleted:
            type: object
            required:
                - blockType
                - shortSession
                - sessionToken
            properties:
                blockType:
                    type: string
                longSession:
                    type: string
                    deprecated: true
                    x-deprecated-reason: 'Old code'
                    description: This is only set if the project environment is set to 'dev'. If set the UI components will set the longSession in local storage because the cookie dropping will not work in Safari for example ("third-party cookie").
                refreshToken:
                    type: string
                    description: This is only set if the project environment is set to 'dev'. If set the UI components will set the longSession in local storage because the cookie dropping will not work in Safari for example ("third-party cookie").
                shortSession:
                    type: string
                    deprecated: true
                    x-deprecated-reason: 'Old code'
                sessionToken:
                    type: string
                passkeyOperation:
                    $ref: "#/components/schemas/passkeyOperation"
        generalBlockVerifyIdentifier:
            type: object
            required:
                - verificationMethod
                - identifier
                - alternativeVerificationMethods
                - isPostLoginVerification
                - blockType
            properties:
                blockType:
                    type: string
                verificationMethod:
                    $ref: "#/components/schemas/verificationMethod"
                identifier:
                    type: string
                retryNotBefore:
                    type: integer
                    format: int32
                error:
                    $ref: "#/components/schemas/requestError"
                alternativeVerificationMethods:
                    type: array
                    items:
                        type: object
                        required:
                            - verificationMethod
                            - identifier
                        properties:
                            verificationMethod:
                                $ref: "#/components/schemas/verificationMethod"
                            identifier:
                                type: string
                isPostLoginVerification:
                    type: boolean
        generalBlockPostSignupEmailVerify:
            type: object
            required:
                - blockType
            properties:
                blockType:
                    type: string
                error:
                    $ref: "#/components/schemas/requestError"
        clientInformation:
            type: object
            properties:
                bluetoothAvailable:
                    type: boolean
                clientEnvHandle:
                    type: string
                visitorId:
                    type: string
                canUsePasskeys:
                    type: boolean
                    description: Deprecated, use isUserVerifyingPlatformAuthenticatorAvailable instead
                isUserVerifyingPlatformAuthenticatorAvailable:
                    type: boolean
                isConditionalMediationAvailable:
                    type: boolean
                clientCapabilities:
                    $ref: "#/components/schemas/clientCapabilities"
                javaScriptHighEntropy:
                    $ref: "#/components/schemas/javaScriptHighEntropy"
                isNative:
                    type: boolean
                webdriver:
                    type: boolean
                privateMode:
                    type: boolean
                clientEnvHandleMeta:
                    $ref: "#/components/schemas/clientStateMeta"
                nativeMeta:
                    $ref: "#/components/schemas/nativeMeta"
        clientStateMeta:
            type: object
            required:
                - ts
                - source
            properties:
                ts:
                    type: integer
                    format: int64
                source:
                    type: string
                    enum:
                        - "ls"
                        - "url"
                        - "native"
        nativeMeta:
            type: object
            required:
                - platform
                - platformVersion
                - displayName
            properties:
                platform:
                    type: string
                platformVersion:
                    type: string
                name:
                    type: string
                version:
                    type: string
                displayName:
                    type: string
                build:
                    type: string
                deviceOwnerAuth:
                    type: string
                    enum:
                        - "none"
                        - "code"
                        - "biometrics"
                isBluetoothAvailable:
                    type: boolean
                isBluetoothOn:
                    type: boolean
                isGooglePlayServices:
                    type: boolean
                isDeviceSecure:
                    type: boolean
                androidApiLevel:
                    type: integer
                googlePlayServicesVersion:
                    type: string
                error:
                    type: string
                brand:
                    type: string
                model:
                    type: string
                locale:
                    type: string
                screen:
                    $ref: "#/components/schemas/nativeMetaScreen"
                sdkInitTimeMs:
                    type: integer
                    format: int64
        nativeMetaScreen:
            type: object
            required:
                - widthPoints
                - heightPoints
                - scale
            properties:
                widthPoints:
                    type: number
                    format: float
                heightPoints:
                    type: number
                    format: float
                scale:
                    type: number
                    format: float
        clientCapabilities:
            type: object
            properties:
                conditionalCreate:
                    type: boolean
                conditionalMediation:
                    type: boolean
                conditionalGet:
                    type: boolean
                hybridTransport:
                    type: boolean
                passkeyPlatformAuthenticator:
                    type: boolean
                userVerifyingPlatformAuthenticator:
                    type: boolean
                relatedOrigins:
                    type: boolean
                signalAllAcceptedCredentials:
                    type: boolean
                signalCurrentUserDetails:
                    type: boolean
                signalUnknownCredential:
                    type: boolean
        javaScriptHighEntropy:
            type: object
            required:
                - platform
                - platformVersion
                - mobile
            properties:
                platform:
                    type: string
                platformVersion:
                    type: string
                mobile:
                    type: boolean
        passkeyOperation:
            type: object
            required:
                - operationType
                - identifierValue
                - identifierType
                - ceremonyType
            properties:
                operationType:
                    type: string
                    enum:
                        - "append"
                        - "verify"
                identifierValue:
                    type: string
                identifierType:
                    $ref: "#/components/schemas/loginIdentifierType"
                ceremonyType:
                    type: string
                    enum:
                        - "local"
                        - "cda"
                        - "security-key"
                aaguidDetails:
                    $ref: "#/components/schemas/aaguidDetails"
        continueOnOtherDevice:
            type: object
            required:
                - reason
            properties:
                reason:
                    type: string
                    enum:
                        - "email-link-verified"
                        - "process-already-completed"
        meRsp:
            type: object
            required:
                - id
                - fullName
                - identifiers
                - socialAccounts
            properties:
                id:
                    type: string
                fullName:
                    type: string
                identifiers:
                    type: array
                    items:
                        $ref: "#/components/schemas/identifier"
                socialAccounts:
                    type: array
                    items:
                        $ref: "#/components/schemas/socialAccount"
        meUpdateReq:
            type: object
            required:
                - fullName
            properties:
                fullName:
                    type: string
        identifier:
            type: object
            required:
                - id
                - value
                - type
                - status
            properties:
                id:
                    type: string
                value:
                    type: string
                type:
                    $ref: "#/components/schemas/loginIdentifierType"
                status:
                    type: string
        socialAccount:
            type: object
            required:
                - providerType
                - identifierValue
                - avatarUrl
                - fullName
            properties:
                providerType:
                    type: string
                    description: Type of the social provider.
                    enum:
                        - 'google'
                        - 'microsoft'
                        - 'github'
                identifierValue:
                    type: string
                avatarUrl:
                    type: string
                fullName:
                    type: string
        socialData:
            type: object
            required:
                - providers
                - status
            properties:
                providers:
                    type: array
                    items:
                        type: string
                        description: Type of the social provider.
                        enum:
                            - 'google'
                            - 'microsoft'
                            - 'github'
                status:
                    type: string
                    enum:
                        - "initial"
                        - "started"
                        - "finished"
                oauthUrl:
                    type: string
                error:
                    $ref: "#/components/schemas/requestError"
        requestError:
            type: object
            required:
                - code
                - message
            properties:
                code:
                    type: string
                message:
                    type: string
        fallbackOperationError:
            type: object
            required:
                - initFallback
            properties:
                initFallback:
                    type: boolean
                identifier:
                    type: string
                error:
                    $ref: "#/components/schemas/requestError"
        appendCompletionType:
            type: string
            enum:
                - "auto"
                - "conditional"
                - "manual"
                - "manual-retry"
        assetLinksRsp:
            type: array
            items:
                $ref: '#/components/schemas/assetLink'
        assetLink:
            type: object
            required:
                - relation
                - target
            properties:
                relation:
                    type: array
                    items:
                        type: string
                target:
                    $ref: '#/components/schemas/assetLinkTarget'
        assetLinkTarget:
            type: object
            required:
                - namespace
            properties:
                namespace:
                    type: string
                package_name:
                    type: string
                site:
                    type: string
                sha256_cert_fingerprints:
                    type: array
                    items:
                        type: string
        appleAppSiteAssociationRsp:
            type: object
            required:
                - applinks
                - webcredentials
                - appclips
            properties:
                applinks:
                    type: object
                    required:
                        - details
                    properties:
                        details:
                            type: array
                            items:
                                type: object
                                required:
                                    - appID
                                    - paths
                                properties:
                                    appID:
                                        type: string
                                    paths:
                                        type: array
                                        items:
                                            type: string
                webcredentials:
                    type: object
                    required:
                        - apps
                    properties:
                        apps:
                            type: array
                            items:
                                type: string
                appclips:
                    type: object
                    required:
                        - apps
                    properties:
                        apps:
                            type: array
                            items:
                                type: string
        wellKnownJWKSListRsp:
            type: object
            required:
                - keys
            properties:
                keys:
                    type: array
                    items:
                        $ref: '#/components/schemas/jwk'
        jwk:
            description: JSON Web Key
            type: object
            required:
                - alg
                - kty
                - use
                - 'n'
                - e
                - kid
            properties:
                alg:
                    description: The specific cryptographic algorithm used with the key
                    type: string
                    example: 'RS256'
                kty:
                    description: The family of cryptographic algorithms used with the key
                    type: string
                    example: 'RSA'
                use:
                    description: How the key was meant to be used; sig represents the signature
                    type: string
                'n':
                    description: The modulus for the RSA public key
                    type: string
                e:
                    description: The exponent for the RSA public key
                    type: string
                kid:
                    description: The unique identifier for the key
                    type: string
    responses:
        "200":
            description: Operation succeeded
            content:
                application/json:
                    schema:
                        type: object
                        required:
                            - httpStatusCode
                            - message
                            - requestData
                            - runtime
                        properties:
                            httpStatusCode:
                                description: HTTP status code of operation
                                type: integer
                                format: int32
                            message:
                                type: string
                                example: 'OK'
                            requestData:
                                description: Data about the request itself, can be used for debugging
                                type: object
                                required:
                                    - requestID
                                properties:
                                    requestID:
                                        description: Unique ID of request, you can provide your own while making the request, if not the ID will be randomly generated on server side
                                        type: string
                                        example: 'req-557...663'
                                    link:
                                        description: Link to dashboard with details about request
                                        type: string
                                        example: 'https://my.corbado.com/requests/req-xxxxxxxxxxxxxxxxxxx'
                            runtime:
                                description: Runtime in seconds for this request
                                type: number
                                format: float
                                example: 0.06167686
        error:
            description: Error
            content:
                application/json:
                    schema:
                        allOf:
                            - type: object
                              required:
                                - httpStatusCode
                                - message
                                - requestData
                                - runtime
                              properties:
                                httpStatusCode:
                                    description: HTTP status code of operation
                                    type: integer
                                    format: int32
                                message:
                                    type: string
                                    example: 'OK'
                                requestData:
                                    description: Data about the request itself, can be used for debugging
                                    type: object
                                    required:
                                        - requestID
                                    properties:
                                        requestID:
                                            description: Unique ID of request, you can provide your own while making the request, if not the ID will be randomly generated on server side
                                            type: string
                                            example: 'req-557...663'
                                        link:
                                            description: Link to dashboard with details about request
                                            type: string
                                            example: 'https://my.corbado.com/requests/req-xxxxxxxxxxxxxxxxxxx'
                                runtime:
                                    description: Runtime in seconds for this request
                                    type: number
                                    format: float
                                    example: 0.06167686
                            - type: object
                              required:
                                - error
                              properties:
                                data:
                                    type: object
                                error:
                                    type: object
                                    required:
                                        - type
                                    properties:
                                        type:
                                            description: Type of error
                                            type: string
                                        details:
                                            description: Details of error
                                            type: string
                                        validation:
                                            description: Validation errors per field
                                            type: array
                                            items:
                                                type: object
                                                required:
                                                    - field
                                                    - message
                                                properties:
                                                    field:
                                                        type: string
                                                    message:
                                                        type: string
                                        links:
                                            description: Additional links to help understand the error
                                            type: array
                                            items:
                                                type: string
security:
    - bearerAuth: []
    - projectID: []
