---
title: "Complete Document Verification"
method: POST
path: "/api/v1/users/:userId/kyc/document-verification/complete"
tags: ["Banking"]
---

# Complete Document Verification

`POST /api/v1/users/:userId/kyc/document-verification/complete`

## Request

- Base URL: `https://merchant-api.accruesavings.com`
- URL: `https://merchant-api.accruesavings.com/api/v1/users/:userId/kyc/document-verification/complete`
- Auth: none declared. Required headers: `Client-ID`, `Authorization`
- TypeScript: <https://skmtc.dev/byaccrue/apis/accrue-merchant-api/docs/api/v1/users/:userId/kyc/document-verification/complete/post.ts> (a function with typed inputs; its response is checked against the schema)

Marks the document verification process as complete and retrieves the updated KYC status. Call this endpoint after the user has finished uploading documents through the portal. The response will contain the updated verification status, which may be Approved, ManualReview, or Denied based on the document review.

## Path parameters

- `userId` string, uuid, required: The unique identifier for the user

## Headers

- `Client-ID` string, uuid, required: The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions.
- `Authorization` string, uuid, required: Secure secret to access privileged endpoints.

## Response `200`

Document verification marked as complete. The response includes the updated KYC status based on the document review.

- CompleteDocumentVerificationResponse, nullable
  - `data` Kyc, required: KYC verification status for a user
    - `id` string, uuid, required: Unique identifier for the object.
    - `type` 'Kyc', required
    - `attributes` object, required
      - `status` 'Approved' | 'AwaitingDocuments' | 'Denied' | 'ManualReview' | 'NotStarted' | 'Pending' | 'Unknown', required: The current status of the user's KYC verification
      - `updatedAt` string, date-time, required
      - `createdAt` string, date-time, required

## Other responses

- `400`: Bad Request
- `500`: Internal Server Error

---

[API](https://skmtc.dev/byaccrue/apis/accrue-merchant-api.md) - [All operations](https://skmtc.dev/byaccrue/apis/accrue-merchant-api/llms.txt) - [OpenAPI document](https://skmtc.dev/byaccrue/apis/accrue-merchant-api/revisions/3e2d97ef2e6e?raw)
