---
title: "Send claim verification code"
method: POST
path: "/v1/actions/claim-verification/send"
tags: ["Moderated Actions"]
---

# Send claim verification code

`POST /v1/actions/claim-verification/send`

## Request

- Base URL: `https://loppee.com`
- URL: `https://loppee.com/v1/actions/claim-verification/send`
- Auth: HTTP bearer

Request a one-time contact-verification code. Under trust model v3, SMS goes only to the stored business phone and email goes only to the authenticated active owner's server-derived account email; neither destination is accepted from the request body. Both require a caller-generated request_id UUID and return the challenge_id that must be presented unchanged. The legacy status code_sent means provider acceptance only; provider_status and recipient_delivery_confirmed state that explicitly. Owner email verifies Contact only and never grants claim control, entity, licence, or a class directly. Requires the claim owner's AAL2 bearer token.

## Request body

- ClaimVerificationSendRequest
  - `claim_id` string, required
  - `channel` 'email' | 'sms'
  - `request_id` string, uuid: Caller-generated idempotency UUID. Required for trust model v3 SMS and owner-email sends; optional for the compatible v2 path.

## Response `200`

ClaimVerificationSendResponse

- ClaimVerificationSendResponse
  - `status` 'code_sent' | 'already_verified' | 'no_destination' | 'pending_sms_provider' | 'failed_sms_provider' | 'unknown_sms_provider' | 'pending_email_provider' | 'failed_email_provider' | 'unknown_email_provider', required
  - `channel` 'email' | 'sms', required
  - `provider_status` 'accepted' | 'pending' | 'failed' | 'unknown': V3 provider request state. accepted means only that the provider accepted the request; it does not prove inbox or handset delivery.
  - `recipient_delivery_confirmed` unknown
  - `challenge_id` string, uuid: Opaque v3 SMS or owner-email challenge UUID. Present when a challenge can be verified and must be returned unchanged.
  - `destination_hint` string
  - `expires_in_seconds` number

## Other responses

- `400`: ErrorResponse
- `401`: ErrorResponse
- `403`: ErrorResponse
- `429`: RateLimitError
- `default`: ErrorResponse

---

[API](https://skmtc.dev/loppee/apis/loppee-business-registry-api-for-external-agents.md) · [All operations](https://skmtc.dev/loppee/apis/loppee-business-registry-api-for-external-agents/llms.txt) · [OpenAPI document](https://skmtc.dev/loppee/apis/loppee-business-registry-api-for-external-agents/revisions/37285f7cddcd?raw)
