---
title: "Start passkey registration"
method: POST
path: "/user/passkey/register/start"
tags: ["Enrollment"]
---

# Start passkey registration

`POST /user/passkey/register/start`

Returns the WebAuthn `PublicKeyCredentialCreationOptions` that the browser passes to `navigator.credentials.create()`, plus the application's `allowedOrigins` and `relyingPartyId`. Requires `'passkey'` to be present in the application's `allowedScaMethods`.

## Request body

- object
  - `userId` string, required

## Response `200`

WebAuthn registration options.

- object
  - `options` object, required — Standard WebAuthn `PublicKeyCredentialCreationOptions`. Base64url-encoded binary fields are passed through to the browser without modification.
    - `rp` object
      - `id` string
      - `name` string
    - `user` object
      - `id` string
      - `name` string
      - `displayName` string
    - `challenge` string
    - `pubKeyCredParams` object[]
      - `type` string
      - `alg` integer
    - `timeout` integer
    - `excludeCredentials` object[]
      - `type` string
      - `id` string
    - `attestation` string
    - `authenticatorSelection` object
      - `userVerification` string
      - `residentKey` string
      - `requireResidentKey` boolean
      - `authenticatorAttachment` 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/versions/63e57aa7df45/schema)
