---
title: "Start passkey bridge sign in"
method: POST
path: "/auth/passkey-bridge"
tags: ["Auth"]
---

# Start passkey bridge sign in

`POST /auth/passkey-bridge`

Start a sign in or two-factor ceremony for a passkey that belongs to the paired first-party origin. Only available on the official instance from the new origin.

## Request body

- PasskeyBridgeLoginStartRequest
  - `purpose` 'login' | 'login_mfa', required — Whether the passkey signs in or completes two-factor sign in
  - `runner` 'page' | 'native', required — Where the passkey ceremony runs: a page on the paired origin or the native desktop client
  - `ticket` string — The MFA ticket from the login response, for login_mfa
  - `nonce_hash` string, required — Lowercase hex SHA-256 digest of the nonce the starting page keeps

## Response `200`

Success

- PasskeyBridgeStartResponse
  - `ceremony_id` string, required — Identifier of the passkey ceremony
  - `bridge_url` string, nullable, required — Page that runs the ceremony, or null for the native runner

## Other responses

- `400` — Bad Request - The request was malformed or contained invalid data
- `429` — Too Many Requests - You are being rate limited
- `500` — Internal Server Error - An unexpected error occurred

## Changes

> 21 revisions in range; 2 not diffed.

- **2026-09-26** `3d3fd6ec1785` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/fluxer/apis/fluxer-api/changes/auth/passkey-bridge/post.md)

---

[API](https://skmtc.dev/fluxer/apis/fluxer-api.md) · [All operations](https://skmtc.dev/fluxer/apis/fluxer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/fluxer/apis/fluxer-api/revisions/3d3fd6ec1785?raw)
