---
title: "Start passkey approval ceremony for a pending transaction"
method: POST
path: "/wallets/passkey/approval/start"
tags: ["SCA Transactions"]
---

# Start passkey approval ceremony for a pending transaction

`POST /wallets/passkey/approval/start`

Issues a WebAuthn assertion challenge bound to an existing transaction `challengeId` (returned by an initiate endpoint). Required only when the partner picked `verificationMethod: passkey` on the initiate call — run this before submitting the signed credential to `/wallets/transaction/confirm`.

## Request body

- object
  - `userId` string, required
  - `challengeId` string, required — Transaction challenge id returned by an initiate endpoint.

## Response `200`

WebAuthn assertion options bound to the transaction challenge.

- object
  - `challengeId` string, required
  - `dateExpires` string
  - `verificationMethod` 'passkey', required
  - `options` object, required — Standard WebAuthn `PublicKeyCredentialRequestOptions`. Base64url-encoded binary fields are passed through to the browser without modification.
    - `challenge` string
    - `timeout` integer
    - `rpId` string
    - `allowCredentials` object[]
      - `type` string
      - `id` string
    - `userVerification` string
  - `allowedOrigins` string[], required
  - `relyingPartyId` string, required

## Other responses

- `400` — Request was rejected. The `errorCode` field disambiguates.
- `401` — Invalid API key or HMAC signature.

---

[API](https://skmtc.net/striga/apis/striga-v1.md) · [All operations](https://skmtc.net/striga/apis/striga-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/striga/striga-v1/revisions/63e57aa7df45/schema)
