API Reference
API basics
Authentication, rate limits, pagination, and error handling for the public NiceData API.
Authentication
Every public API request requires an API key in the
Authorization header. The bearer
scheme is case-insensitive. API keys are scoped to a single organization and
can be managed in Settings > API.
Authorization: Bearer nd_live_your_api_key_here
| Status | Meaning |
|---|---|
401 |
Missing, invalid, or revoked API key. |
402 |
Subscription expired. The response includes a reason value. |
Store keys in a secret manager or encrypted environment variable, create separate keys per integration, and revoke keys immediately when rotating credentials.
Rate limits
Rate limits protect both authenticated and unauthenticated API traffic. When
a limit is exceeded, the API returns
429 Too Many Requests with a
Retry-After header.
| Scope | Limit | Window |
|---|---|---|
| Authenticated API key | 120 requests | Per minute |
| Document uploads | 30 uploads | Per hour, per API key |
| IP address | 20 requests | Per minute |
Pagination
Project and document list endpoints are paginated. Webhook list responses are not currently paginated.
| Parameter | Default | Maximum | Description |
|---|---|---|---|
page |
1 | Page number. | |
per_page |
25 | 100 | Results per page. |
{
"page": 1,
"per_page": 25,
"total": 1,
"total_pages": 1
}
Errors
Errors are returned as JSON. Validation failures can include an
errors object keyed by field name.
{
"error": "Failed to create project",
"errors": {
"name": [
"can't be blank"
]
}
}
| Code | Meaning |
|---|---|
200 |
Success. |
201 |
Resource created. |
204 |
Resource deleted. |
400 |
Missing or invalid request parameters. |
401 |
Authentication failed. |
402 |
Subscription expired. |
403 |
Usage limit exceeded. |
404 |
Resource not found or not available to the authenticated organization. |
422 |
Validation failed, unsupported file type, unsupported content type, URL download failure, or file limit exceeded. |
429 |
Rate limit exceeded. |