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

# Submit quick link passkey

> The complete HTTP body is limited to 1048576 UTF-8 bytes before JSON parsing. Credential IDs allow at most 1023 decoded bytes; user handles allow 64. Opaque assertion fields share the body budget without independent small caps. Redeems a pending passkey ceremony challenge for the session bound to this QuickLink.



## OpenAPI

````yaml api-reference/features/integrations.json POST /quicklink/{token}/passkey
openapi: 3.0.3
info:
  title: Integrations API methods
  version: 1.0.0
  description: >-
    Task-focused integrations methods across supported Polymorfa connection
    types.
servers: []
security: []
paths:
  /quicklink/{token}/passkey:
    post:
      tags:
        - Quicklink
      summary: Submit quick link passkey
      description: >-
        The complete HTTP body is limited to 1048576 UTF-8 bytes before JSON
        parsing. Credential IDs allow at most 1023 decoded bytes; user handles
        allow 64. Opaque assertion fields share the body budget without
        independent small caps. Redeems a pending passkey ceremony challenge for
        the session bound to this QuickLink.
      operationId: nativeSubmitQuickLinkPasskey
      parameters:
        - schema:
            type: string
            description: Opaque QuickLink token from the hosted URL.
          required: true
          name: token
          in: path
          description: Opaque token required by the target operation.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/native__QuickLinkPasskeySubmitRequest'
      responses:
        '200':
          description: Passkey assertion accepted
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      status:
                        type: string
                        enum:
                          - submitted
                        description: |-
                          Current status of this resource or operation.

                          <!-- polymorfa-input-table -->
                          **Allowed values**
                          | Value | Meaning |
                          | --- | --- |
                          | `submitted` | Submitted. |
                    required:
                      - status
                    description: Structured data carried by this object.
                required:
                  - data
        '400':
          description: QuickLink request failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/native__PublicQuickLinkError'
        '403':
          description: QuickLink request failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/native__PublicQuickLinkError'
        '404':
          description: QuickLink request failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/native__PublicQuickLinkError'
        '409':
          description: An assertion is already being forwarded for this ticket
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/native__PublicQuickLinkError'
        '410':
          description: Passkey ticket expired
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/native__PublicQuickLinkError'
        '413':
          description: >-
            Passkey assertion body exceeds 1048576 UTF-8 bytes before JSON
            parsing.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error details returned when the operation fails.
                  code:
                    type: string
                    enum:
                      - passkey_payload_too_large
                    description: >-
                      Stable machine-readable code for this result.


                      <!-- polymorfa-input-table -->

                      **Allowed values**

                      | Value | Meaning |

                      | --- | --- |

                      | `passkey_payload_too_large` | Passkey payload too large.
                      |
                required:
                  - error
                  - code
        '422':
          description: Assertion validation or ticket binding failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/native__PublicQuickLinkError'
        '429':
          description: QuickLink request failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/native__PublicQuickLinkError'
        '500':
          description: QuickLink request failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/native__PublicQuickLinkError'
        '502':
          description: Session runner rejected the assertion
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/native__PublicQuickLinkError'
        '503':
          description: >-
            Assertion forwarding is temporarily unavailable or its request
            deadline was exhausted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/native__PublicQuickLinkError'
      security: []
      servers:
        - url: https://api.polymorfa.com
components:
  schemas:
    native__QuickLinkPasskeySubmitRequest:
      type: object
      properties:
        ticketId:
          type: string
          minLength: 1
          description: |-
            Identifier for the ticket.

            <!-- polymorfa-input-table -->
            **Value constraints**
            | Constraint | Accepted input |
            | --- | --- |
            | String length | At least `1` characters |
        browserContext:
          type: string
          pattern: ^[A-Za-z0-9_-]{43}$
          description: >-
            32 cryptographically random bytes, encoded as unpadded base64url.
            Create once per browser attempt and keep only in memory; reuse for
            retries, private polling and confirmation.


            <!-- polymorfa-input-table -->

            **Value constraints**

            | Constraint | Accepted input |

            | --- | --- |

            | Pattern | `^[A-Za-z0-9_-]{43}$` |
        assertion:
          allOf:
            - $ref: '#/components/schemas/native__QuickLinkPasskeyAssertion'
          description: >-
            Specifies assertion for this native quick link passkey submit
            request.
      required:
        - ticketId
        - browserContext
        - assertion
    native__PublicQuickLinkError:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              description: Stable machine-readable code for this result.
            message:
              type: string
              description: Human-readable message associated with this result.
          required:
            - code
            - message
          description: Error details returned when the operation fails.
        data:
          type: object
          properties:
            candidates:
              type: array
              items:
                type: object
                properties:
                  phone:
                    type: string
                    description: Phone number in international format.
                  whatsappPhone:
                    type: string
                    description: Specifies whatsapp phone for this candidate.
                  registered:
                    type: boolean
                    nullable: true
                    description: >-
                      Whether WhatsApp registration was confirmed. Null means
                      the result is unknown.


                      <!-- polymorfa-input-table -->

                      **Accepted alternatives**

                      | Alternative | Accepted input |

                      | --- | --- |

                      | Alternative 1 | Type: `boolean` |

                      | Alternative 2 | `null` |
                  pushName:
                    type: string
                    nullable: true
                    description: |-
                      WhatsApp display name reported by the sender's client.

                      <!-- polymorfa-input-table -->
                      **Accepted alternatives**
                      | Alternative | Accepted input |
                      | --- | --- |
                      | Alternative 1 | Type: `string` |
                      | Alternative 2 | `null` |
                  pictureUrl:
                    type: string
                    nullable: true
                    description: |-
                      URL for the picture.

                      <!-- polymorfa-input-table -->
                      **Accepted alternatives**
                      | Alternative | Accepted input |
                      | --- | --- |
                      | Alternative 1 | Type: `string` |
                      | Alternative 2 | `null` |
                  accountType:
                    type: string
                    enum:
                      - whatsapp
                      - business_app
                      - cloud_api
                      - coexistence
                      - unknown
                      - unregistered
                    description: |-
                      Category assigned to account.

                      <!-- polymorfa-input-table -->
                      **Allowed values**
                      | Value | Meaning |
                      | --- | --- |
                      | `whatsapp` | Whatsapp. |
                      | `business_app` | Business app. |
                      | `cloud_api` | Cloud api. |
                      | `coexistence` | Coexistence. |
                      | `unknown` | Unknown. |
                      | `unregistered` | Unregistered. |
                required:
                  - phone
                  - registered
                  - pushName
                  - pictureUrl
              description: Candidates associated with this data.
          required:
            - candidates
          description: Structured data carried by this object.
      required:
        - error
    native__QuickLinkPasskeyAssertion:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          maxLength: 1364
          description: |-
            Identifier for this resource.

            <!-- polymorfa-input-table -->
            **Value constraints**
            | Constraint | Accepted input |
            | --- | --- |
            | String length | `1` through `1364` characters |
        rawIdB64Url:
          type: string
          minLength: 1
          maxLength: 1364
          description: |-
            URL for the raw id b64.

            <!-- polymorfa-input-table -->
            **Value constraints**
            | Constraint | Accepted input |
            | --- | --- |
            | String length | `1` through `1364` characters |
        response:
          type: object
          properties:
            authenticatorDataB64:
              type: string
              minLength: 1
              description: |-
                Specifies authenticator data b64 for this response.

                <!-- polymorfa-input-table -->
                **Value constraints**
                | Constraint | Accepted input |
                | --- | --- |
                | String length | At least `1` characters |
            clientDataJSONB64:
              type: string
              minLength: 1
              description: |-
                Specifies client data jsonb64 for this response.

                <!-- polymorfa-input-table -->
                **Value constraints**
                | Constraint | Accepted input |
                | --- | --- |
                | String length | At least `1` characters |
            signatureB64:
              type: string
              minLength: 1
              description: |-
                Specifies signature b64 for this response.

                <!-- polymorfa-input-table -->
                **Value constraints**
                | Constraint | Accepted input |
                | --- | --- |
                | String length | At least `1` characters |
            userHandleB64:
              type: string
              maxLength: 86
              description: |-
                Specifies user handle b64 for this response.

                <!-- polymorfa-input-table -->
                **Value constraints**
                | Constraint | Accepted input |
                | --- | --- |
                | String length | At most `86` characters |
          required:
            - authenticatorDataB64
            - clientDataJSONB64
            - signatureB64
          description: >-
            Structured response values for this native quick link passkey
            assertion.
      required:
        - id
        - rawIdB64Url
        - response

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.