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 header
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.
Security

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.
Pagination meta
{
  "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.

Validation error example
{
  "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.