> ## Documentation Index
> Fetch the complete documentation index at: https://docs.corbado.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Finish connect append

> Finishes an initialized [Corbado Connect](https://docs.corbado.com/corbado-connect) passkey append process.



## OpenAPI

````yaml https://frontendapi.cloud.corbado.io/v2/openapi.yaml post /v2/connect/append/finish
openapi: 3.0.3
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.corbado.io
    variables:
      projectId:
        description: Your Corbado project ID
        default: pro-000000
security:
  - bearerAuth: []
  - projectID: []
tags:
  - 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: CorbadoConnect
    description: All API calls that are related to a connect process
  - name: OIDC
    description: All API calls that are related to OpenID Connect
  - name: WellKnown
    description: All API calls that are related to WellKnown assets
paths:
  /v2/connect/append/finish:
    post:
      tags:
        - CorbadoConnect
      summary: Finish connect append
      description: >-
        Finishes an initialized [Corbado
        Connect](https://docs.corbado.com/corbado-connect) passkey append
        process.
      operationId: ConnectAppendFinish
      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'
components:
  schemas:
    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'
    appendCompletionType:
      type: string
      enum:
        - auto
        - conditional
        - manual
        - manual-retry
    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'
    loginIdentifierType:
      type: string
      enum:
        - email
        - phone
        - username
    aaguidDetails:
      type: object
      required:
        - name
        - iconLight
        - iconDark
      properties:
        name:
          type: string
        iconLight:
          type: string
        iconDark:
          type: string
  securitySchemes:
    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>`

````