<!-- ZenPays documentation · https://docs.zenpayz.com/docs/reference/objects/kyc-document -->

# The KycDocument object

Represents an uploaded KYC document. Contains information about the document and its verification status.

## Fields

<ParamTable
  label="Field"
  rows={[
    { name: "id", type: "string", required: true, desc: "Unique identifier for the document" },
    { name: "merchantId", type: "string", required: true, desc: "ID of the merchant who uploaded the document" },
    { name: "type", type: "KycDocumentType", required: true, desc: "Type of document [KycDocumentType](/docs/reference/enums/compliance)" },
    { name: "fileName", type: "string", required: true, desc: "Original filename" },
    { name: "fileSize", type: "number", required: true, desc: "File size in bytes" },
    { name: "mimeType", type: "string", required: true, desc: "MIME type of the file" },
    { name: "status", type: "'pending' | 'approved' | 'rejected'", required: true, desc: "Verification status" },
    { name: "rejectionReason", type: "string", required: false, desc: "Reason for rejection (if rejected)" },
    { name: "uploadedAt", type: "string", required: true, desc: "ISO 8601 timestamp when the document was uploaded" },
    { name: "reviewedAt", type: "string", required: false, desc: "ISO 8601 timestamp when the document was reviewed" },
  ]}
/>

## Example

```json
{
  "id": "obj_1a2b3c",
  "merchantId": "merchant_1a2b3c",
  "type": "id_card",
  "fileName": "string",
  "fileSize": 1,
  "mimeType": "string",
  "status": "pending",
  "rejectionReason": "string",
  "uploadedAt": "2026-01-15T09:30:00Z"
}
```
