> ## Documentation Index
> Fetch the complete documentation index at: https://handbook.nyotaimara.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Submit Your Identity Documents for KYC Verification

> Upload a government ID (front and back) and passport photo to start KYC verification. Documents are stored privately; kycStatus moves to pending.

Submit your identity documents for KYC verification. Send the request as `multipart/form-data` with your ID number, front and back images of your national ID, and a passport-style photo. Documents are stored securely and are never publicly accessible. After a successful submission your `kycStatus` moves to `pending` and a compliance review is initiated.

<Note>
  This endpoint expects `multipart/form-data`, not JSON. Use `-F` flags in curl or a multipart form library in your client.
</Note>

## Endpoint

```
POST https://api.nyotaimara.com/v1/kyc/submit
```

## Headers

<ParamField header="Authorization" type="string" required>
  Bearer token issued after sign-in. Format: `Bearer <token>`.
</ParamField>

## Body

<ParamField body="idNumber" type="string" required>
  Government-issued ID number (national ID or passport number).
</ParamField>

<ParamField body="idFront" type="file" required>
  Front image of the identity document (JPEG or PNG).
</ParamField>

<ParamField body="idBack" type="file" required>
  Back image of the identity document (JPEG or PNG).
</ParamField>

<ParamField body="passportPhoto" type="file" required>
  Passport-style photo of the applicant (JPEG or PNG).
</ParamField>

## Response

<ResponseField name="success" type="boolean">
  `true` on a successful submission.
</ResponseField>

<ResponseField name="message" type="string">
  Human-readable confirmation. Value: `"KYC submitted successfully"`.
</ResponseField>

```json theme={null}
{
  "success": true,
  "message": "KYC submitted successfully"
}
```

## Errors

| Status | Error message                                   | Cause                                          |
| ------ | ----------------------------------------------- | ---------------------------------------------- |
| `400`  | `"KYC is already pending"`                      | A pending review already exists for this user. |
| `400`  | `"KYC is already verified"`                     | The user has already been verified.            |
| `400`  | `"Missing required KYC documents or ID number"` | One or more required fields were omitted.      |
| `500`  | `"Failed to process KYC documents"`             | Server-side upload or database error.          |

## Example

```bash theme={null}
curl -X POST https://api.nyotaimara.com/v1/kyc/submit \
  -H "Authorization: Bearer <token>" \
  -F "idNumber=12345678" \
  -F "idFront=@/path/to/id_front.jpg" \
  -F "idBack=@/path/to/id_back.jpg" \
  -F "passportPhoto=@/path/to/photo.jpg"
```
