DocuNinja API
DocuNinja is a document signing and management platform. This API lets you programmatically create, manage, send, and sign documents.
Authentication
All authenticated endpoints require a Bearer token in the Authorization header:
Authorization: Bearer {your-api-token}
Obtain a token by calling POST /login — the token is returned inside the
nested companies[].token field of the User response. You can also retrieve
your token from Company Settings → API in the web app.
Base URL
All endpoints are relative to your instance base URL:
https://api.docuninja.co
Pagination
List endpoints return paginated results wrapped in a data array:
{
"data": [ ... ],
"links": {
"first": "https://api.docuninja.co/documents?page=1",
"last": "https://api.docuninja.co/documents?page=5",
"prev": null,
"next": "https://api.docuninja.co/documents?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 5,
"per_page": 20,
"to": 20,
"total": 95
}
}
Control page size with the per_page query parameter (1–1000, default 20).
Sorting
List endpoints accept a sort parameter in field|direction format:
GET /api/documents?sort=created_at|desc
Filtering
Most list endpoints support:
| Parameter | Description |
|---|---|
search | Full-text search across relevant fields |
status | Comma-separated status filter (active, archived, deleted, or entity-specific values) |
with_trashed | Include archived records (true / false) |
Individual resources may have additional filters — see each endpoint for details.
Errors
Validation errors (422) return:
{
"message": "The given data was invalid.",
"errors": {
"field_name": ["Error message."]
}
}
Authentication errors (401) return:
{
"message": "Unauthenticated."
}
Archived Records
Most resources support archiving. Archived resources are excluded from
list responses by default. Pass with_trashed=true to include them.
Rate Limiting
Certain endpoints are rate-limited:
| Endpoint | Limit |
|---|---|
POST /email/reverify | 6 requests per minute |
Exceeding the limit returns a 429 Too Many Requests response. |
IDs
All resource identifiers exposed by the API are UUIDs (ULID format). Sequential database IDs are never exposed.
Authentication
- HTTP: Bearer Auth
Laravel API token (auth:api)
Security Scheme Type: | http |
|---|---|
HTTP Authorization Scheme: | bearer |
Bearer format: | JWT |
Contact
DocuNinja Support [email protected]: