---
title: "Confirm the emailed code and receive a bearer token."
method: POST
path: "/api/agent/key/confirm"
---

# Confirm the emailed code and receive a bearer token.

`POST /api/agent/key/confirm`

## Request

- Base URL: `https://api.coveragecat.com`
- URL: `https://api.coveragecat.com/api/agent/key/confirm`
- Auth: none required

Exchanges the emailed verification code for an operator-scoped bearer token, creating or updating the operator registration details in the same step.

## Headers

- `Coverage-Cat-API-Version` 'v1'

## Request body

- AgentKeyConfirmRequest
  - `assistant_email` string, email: Optional mailbox to CC on the same customer-facing emails Coverage Cat sends during delegated umbrella checkout. This supplements, but does not replace, polling `status`.
  - `code` string: Legacy alias for `otp`. New integrations should send `otp`.
  - `contact_name` string
  - `email` string, email, required
  - `organization_name` string
  - `otp` string, required: 6-digit confirmation code emailed to the operator.
  - `referral_source_name` string: Customer-facing partner or referral-source name used in delegated-homeowners emails.
  - `use_case_description` string

## Response `200`

Operator key issued or rotated.

- AgentKeyResponse
  - `api_key` string
  - `expires_at` string, date-time
  - `key_prefix` string
  - `message` string
  - `status` string

## Other responses

- `400`: Missing fields or invalid request shape.
- `401`: Invalid or expired code.
- `422`: Registration details failed validation.
- `429`: Too many confirmation attempts.

---

[API](https://skmtc.dev/coveragecat/apis/coverage-cat-delegated-insurance-purchase-apis.md) · [All operations](https://skmtc.dev/coveragecat/apis/coverage-cat-delegated-insurance-purchase-apis/llms.txt) · [OpenAPI document](https://skmtc.dev/coveragecat/apis/coverage-cat-delegated-insurance-purchase-apis/revisions/b80fe29790dc?raw)
