---
title: "Complete the verification submission"
method: POST
path: "/client/kyb/complete"
tags: ["verification"]
---

# Complete the verification submission

`POST /client/kyb/complete`

## Request

- The document declares no server URL.
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/hevn-inc/apis/hevn-api/docs/client/kyb/complete/post.ts> (a function with typed inputs; its response is checked against the schema)

Close the editable submission and send its immutable snapshot for compliance review. This is the only operation that starts review. It is refused with `kyb_incomplete` and the same `missing` paths returned by GET when applicant information or documents are outstanding. An identical retry replays the existing application instead of creating a second review.

## Headers

- `X-Hevn-Account` string, required: The selected client account, as a `cl_…` id.
- `Idempotency-Key` string, nullable: Your own key for this write, `^[A-Za-z0-9._:-]{1,128}$`. A retry with the same key replays the first answer; the same key with a different request is refused.

## Response `201`

Successful Response

- PlatformKybSubmitResponse
  - `applicationId` string, required: Immutable verification application identifier.
  - `status` 'notStarted' | 'pending' | 'approved' | 'rfi' | 'rejected', required
  - `attemptNo` integer, required: One-based submission attempt number for this account.
  - `pollUrl` string, required: Relative API URL to poll for the latest review state.

## Other responses

- `422`: Request validation failed

## Changes

- **2026-11-12** `299a3aa6f521`: 1 warning, 2 info
  - added the new `verification_not_applicable` enum value to the `error/code` response property for the response status `422`
  - removed the `phone_required` enum value from the `error/code` response property for the response status `422`
  - removed the `rail_requirements_unmet` enum value from the `error/code` response property for the response status `422`
- **2026-10-23** `a02795de2d2b`: 9 warning, 5 info
  - deleted the `header` request parameter `x-api-key`
  - added the new `client_already_linked` enum value to the `error/code` response property for the response status `422`
  - added the new `kyb_documents_processing` enum value to the `error/code` response property for the response status `422`
  - added the new `link_code_expired` enum value to the `error/code` response property for the response status `422`
  - …10 more
- **2026-10-20** `19eb00e9f258`: 1 info
  - removed the `phone_in_use` enum value from the `error/code` response property for the response status `422`
- **2026-10-20** `bd6c9d69540e`: 1 warning
  - added the new `phone_in_use` enum value to the `error/code` response property for the response status `422`
- **2026-10-20** `19eb00e9f258`: 1 info
  - removed the `document_fields_missing` enum value from the `error/code` response property for the response status `422`

[Operation history](https://skmtc.dev/hevn-inc/apis/hevn-api/changes/client/kyb/complete/post.md)

---

[API](https://skmtc.dev/hevn-inc/apis/hevn-api.md) - [All operations](https://skmtc.dev/hevn-inc/apis/hevn-api/llms.txt) - [OpenAPI document](https://skmtc.dev/hevn-inc/apis/hevn-api/revisions/299a3aa6f521?raw)
