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

# Requests API

> List requests or create a request with file and typed checklist items.

## List requests

`GET https://neudocs.app/api/v1/requests`

```bash theme={null}
curl https://neudocs.app/api/v1/requests \
  -H "Authorization: Bearer $NEUDOCS_API_KEY"
```

The response is `{"data": [...]}` and contains requests for the authenticated firm.

## Create a request

`POST https://neudocs.app/api/v1/requests`

```bash theme={null}
curl https://neudocs.app/api/v1/requests \
  -X POST \
  -H "Authorization: Bearer $NEUDOCS_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
    "clientId": "7f2dbf8e-6d51-4e28-b155-125332f202be",
    "title": "2025 records",
    "dueDate": "2026-08-15T17:00:00.000Z",
    "aiVerify": false,
    "items": [
      {
        "name": "Bank statement",
        "description": "All pages for June 2026",
        "required": true,
        "type": "file",
        "expectation": "A bank statement for June 2026",
        "correctnessMode": "advisory",
        "captureFields": ["Account holder name", "Statement ending date"]
      },
      {
        "name": "Anything else to add?",
        "required": false,
        "type": "text"
      }
    ]
  }'
```

### Request fields

| Field        | Required | Notes                                       |
| ------------ | -------- | ------------------------------------------- |
| `clientId`   | Yes      | UUID of a client in the authenticated firm. |
| `title`      | Yes      | Non-empty request title.                    |
| `templateId` | No       | UUID of an existing template.               |
| `dueDate`    | No       | ISO 8601 date-time.                         |
| `aiVerify`   | No       | Defaults to false.                          |
| `items`      | Yes      | At least one item.                          |

Item `type` is `file`, `text`, `date`, `number`, or `boolean`. Correctness mode is `off`, `advisory`, `soft`, or `hard`.

### Success

```json theme={null}
{
  "data": {
    "requestId": "31cb742e-55a8-4215-9559-d460543d28b8"
  }
}
```

A successful create returns `201 Created` and enforces the same plan limits as the dashboard.


## Related topics

- [API authentication](/integrations/api-authentication.md)
- [Clients API](/integrations/api-clients.md)
- [Integrations overview](/integrations/overview.md)
- [Webhooks](/integrations/webhooks.md)
- [Dropbox export](/integrations/dropbox.md)
