---
title: "Check Verification"
method: POST
path: "/v1/verify/check"
tags: ["verification"]
---

# Check Verification

`POST /v1/verify/check`

Check a verification code against a pending verification.

Possible results:
- `ok` — code is correct, phone number verified
- `incorrect` — wrong code, try again (up to 3 attempts)
- `exhausted` — too many failed attempts, send a new code
- `expired` — verification expired (10 min), send a new code
- `already_verified` — this verification was already completed

**Billing.** An `ok` or `already_verified` result costs a $0.05
verification fee. Other results are free.

## Request body

- CheckVerificationRequest
  - `verification_id` string, required — Verification ID returned from /v1/verify/send
  - `code` string, required — 6-digit verification code

## Response `200`

Successful Response

- CheckVerificationResponse
  - `result` string, required — One of `ok`, `incorrect`, `exhausted`, `expired`, or `already_verified`.
  - `attempts_remaining` integer, nullable — Checks left before the verification is exhausted. 0 once it reaches a final state.

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/agentphone/apis/agentphone-api.md) · [All operations](https://skmtc.net/agentphone/apis/agentphone-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/agentphone/agentphone-api/versions/3f3aa65dcd20/schema)
