---
title: "Verify contact passkey registration"
method: POST
path: "/agent/v1/contact/passkey/register/verify"
tags: ["Agent"]
---

# Verify contact passkey registration

`POST /agent/v1/contact/passkey/register/verify`

## Request

- Base URL: `https://api.run402.com`
- URL: `https://api.run402.com/agent/v1/contact/passkey/register/verify`
- Auth: none declared

Browser endpoint used by the emailed enrollment link. Verifies a WebAuthn registration response with required user verification, expected challenge, expected origin, and expected RP ID.

## Request body

- object
  - `token` string, required
  - `challenge_id` string, uuid, required
  - `response` object, required
  - `label` string

## Response `201`

Contact passkey metadata

- object
  - `id` string, uuid
  - `rp_id` string
  - `created_origin` string
  - `transports` string[]
  - `label` string, nullable
  - `credential_device_type` string, nullable
  - `credential_backed_up` boolean, nullable
  - `created_at` string, date-time
  - `last_used_at` string, date-time, nullable

## Other responses

- `400`: Invalid request or origin mismatch
- `401`: Invalid token, challenge, or WebAuthn response
- `409`: Operator contact email changed or is no longer verified

---

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