# Create document

> Create a regulatory document record after uploading the file. Use the upload-url endpoint first to get an upload URL.

`POST https://api.zavu.dev/v1/documents`

Create a regulatory document record after uploading the file. Use the upload-url endpoint first to get an upload URL.

## Body

- `name` (string, required)
- `documentType` (string, required) One of: `passport`, `national_id`, `drivers_license`, `utility_bill`, `tax_id`, `business_registration`, `proof_of_address`, `other`.
- `storageId` (string, required): Storage ID from the upload-url endpoint.
- `mimeType` (string, required)
- `fileSize` (integer, required)

## Responses

### 201

Document created and submitted for review.

- `document` (object, required): A regulatory document for phone number requirements.
  - `id` (string, required)
  - `name` (string, required)
  - `documentType` (string, required) One of: `passport`, `national_id`, `drivers_license`, `utility_bill`, `tax_id`, `business_registration`, `proof_of_address`, `other`.
  - `mimeType` (string)
  - `fileSize` (integer)
  - `status` (string, required) One of: `pending`, `uploaded`, `verified`, `rejected`.
  - `rejectionReason` (string, nullable)
  - `createdAt` (string<date-time>, required)
  - `updatedAt` (string<date-time>)

### 400

Invalid request or upload failed.

- `code` (string, required)
- `message` (string, required)
- `details` (object)

### 401

Unauthorized.

- `code` (string, required)
- `message` (string, required)
- `details` (object)

## Example

```bash
curl -X POST "https://api.zavu.dev/v1/documents" \
  -H "Authorization: Bearer $ZAVUDEV_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Passport Scan",
  "documentType": "passport",
  "storageId": "kg2abc123...",
  "mimeType": "image/jpeg",
  "fileSize": 102400
}'
```

```typescript
import Zavudev from "@zavudev/sdk";

const zavu = new Zavudev({ apiKey: process.env.ZAVUDEV_API_KEY });

const result = await zavu.regulatoryDocuments.create({
  name: "Passport Scan",
  documentType: "passport",
  storageId: "kg2abc123...",
  mimeType: "image/jpeg",
  fileSize: 102400,
});

console.log(result);
```
