---
title: "Verify the phone code"
method: POST
path: "/api/v2/wallet/phone/verify"
tags: ["Wallet funding"]
---

# Verify the phone code

`POST /api/v2/wallet/phone/verify`

Checks the code the user read back. On success the verification stays fresh for 60 days and funding sessions can be created.

## Request body

- object
  - `user_id` string, required
  - `code` string, required
  - `phone_number` string — Required only when the code was sent to a number you provided.

## Response `200`

Verified.

- PhoneVerification
  - `object` 'phone_verification'
  - `status` 'sent' | 'already_verified' | 'verified'
  - `channel` 'sms' | 'email' — Where the code was sent (status `sent` only).
  - `phone` string — The masked destination number (status `sent` only).
  - `expires_in_seconds` integer — How long the code stays valid (status `sent` only).

## Other responses

- `400` — `invalid_request` — missing fields.
- `401` — `unauthorized` — the platform access token is missing or expired. Exchange your client credentials for a fresh one.
- `404` — `connection_not_found` — no connection exists for that user under your client.
- `422` — `invalid_code` (with `reason`) or `phone_number_required`.

---

[API](https://skmtc.dev/agentcard/apis/agentcard-api.md) · [All operations](https://skmtc.dev/agentcard/apis/agentcard-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/agentcard/agentcard-api/revisions/638d12c8303f/schema)
