---
title: "Get a verification"
method: GET
path: "/v1/verify/verifications/{verificationId}"
tags: ["Verify"]
---

# Get a verification

`GET /v1/verify/verifications/{verificationId}`

Current state of a verification. `status` is effective (a pending code
past its expiry reads as `expired`). Verification records are deleted
24 hours after creation, after which this returns 404.

## Path parameters

- `verificationId` string, required

## Response `200`

The verification.

- Verification — A managed OTP verification. The code itself is never returned or stored (hash only).
  - `id` string
  - `status` 'pending' | 'approved' | 'expired' | 'max_attempts_reached' | 'canceled' | 'delivery_failed'
  - `channel` 'sms'
  - `to` string
  - `expiresAt` string, date-time
  - `attempts` integer
  - `maxAttempts` integer
  - `sendCount` integer — Accepted deliveries (initial send + resends); each bills one verification fee.
  - `lastSentAt` string, date-time, nullable
  - `createdAt` string, date-time
  - `resend` boolean — Present on create responses: true when an active verification was resent instead of created.

## Other responses

- `400` — Invalid request
- `401` — Unauthorized
- `404` — Verification not found (or already reaped).

---

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