---
title: "Enroll Webauthn Begin"
method: POST
path: "/auth/mfa/enroll/webauthn/begin"
tags: ["Auth"]
---

# Enroll Webauthn Begin

`POST /auth/mfa/enroll/webauthn/begin`

## Request

- Base URL: `http://localhost:8000`
- URL: `http://localhost:8000/auth/mfa/enroll/webauthn/begin`
- Auth: HTTP bearer

Generate WebAuthn registration options and create a pending row.

Mirrors :func:`enroll_totp` — pending row stays inactive until the
matching ``/complete`` call verifies the attestation.

## Headers

- `API-Version` '1'

## Request body

- WebAuthnEnrolBeginRequest: POST body for /auth/mfa/enroll/webauthn/begin.
  - `label` string, required

## Response `200`

Successful Response

- WebAuthnEnrolBeginResponse: Body returned by /auth/mfa/enroll/webauthn/begin. ``options`` is the JSON form of ``PublicKeyCredentialCreationOptions`` — fed straight to ``@simplewebauthn/browser``'s ``startRegistration``.
  - `method_id` integer, required
  - `options` object, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/totalparks/apis/total-parks-public-api.md) · [All operations](https://skmtc.dev/totalparks/apis/total-parks-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/totalparks/apis/total-parks-public-api/revisions/dcb4c822e2c6?raw)
