---
title: "Complete optional passkey setup"
method: POST
path: "/identity/sign_in/passkey_registrations/{challenge}/confirmation"
tags: ["identity", "customer-session", "customer-session-public"]
---

# Complete optional passkey setup

`POST /identity/sign_in/passkey_registrations/{challenge}/confirmation`

## Request

- Base URL: `https://api.stablesea.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.stablesea.com/identity/sign_in/passkey_registrations/{challenge}/confirmation`
- Auth: none declared

Verify a UV-required registration bound to the same password-proven session. Saves the first passkey and returns the normal business-selection session. No cookie is installed here.

## Path parameters

- `challenge` string, required

## Request body

- IdentitySetupPasskeyConfirmationInput
  - `browser_error` 'invalid_state' | 'not_allowed'
  - `credential_response` unknown
  - `session_token` string, required

## Response `200`

OK

- IdentitySignInStep2Output
  - `groups` IdentitySignInStep2GroupOutput[], nullable
    - `business_eligible` boolean
    - `group_id` string
    - `individual` IdentitySignInStep2IndividualOutput
      - `email` string
      - `first_name` string
      - `id` string
      - `last_name` string
      - `status` string
    - `relationship` string
  - `migration_expires_ts` string, date-time, nullable
  - `migration_required` boolean
  - `migration_token` string
  - `session_token` string
  - `success` boolean

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `429`: Too Many Requests
- `default`: Error response.

## Changes

- **2026-11-04** `fb17fc318db3`: 3 info
  - added the optional property `migration_expires_ts` to the response with the `200` status
  - added the optional property `migration_required` to the response with the `200` status
  - added the optional property `migration_token` to the response with the `200` status
- **2026-11-03** `d2b235883e5f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/stablesea/apis/stable-sea-backend/changes/identity/sign_in/passkey_registrations/:challenge/confirmation/post.md)

---

[API](https://skmtc.dev/stablesea/apis/stable-sea-backend.md) - [All operations](https://skmtc.dev/stablesea/apis/stable-sea-backend/llms.txt) - [OpenAPI document](https://skmtc.dev/stablesea/apis/stable-sea-backend/revisions/fb17fc318db3?raw)
