Base URL
/api/v1.
Authentication
Authenticate with an API key using theX-API-Key header:
| Scope | Access |
|---|---|
full | Read and write access to all endpoints |
read_only | Read-only access — mutations return 403 Forbidden |
moss key create.
Response Envelope
All responses use a consistent JSON envelope.Single resource
List
Deletion
Error Responses
Errors return an appropriate HTTP status code with a structured error body:| HTTP Status | Error Code | Description |
|---|---|---|
400 | VALIDATION_ERROR | Invalid request body or parameters |
401 | UNAUTHORIZED | Missing or invalid authentication |
403 | FORBIDDEN | Insufficient permissions or scope |
404 | NOT_FOUND | Resource not found |
409 | CONFLICT | Duplicate or conflicting operation |
429 | RATE_LIMITED | Too many requests |
500 | INTERNAL_ERROR | Server error |
Pagination
List endpoints accept these query parameters:| Parameter | Type | Default | Max | Description |
|---|---|---|---|---|
page | integer | 1 | — | Page number (1-indexed) |
per_page | integer | 25 | 250 | Items per page |
sort | string | varies | — | Field to sort by |
order | string | desc | — | Sort order: asc or desc |
meta object of list responses.
Idempotency
For mutation endpoints (POST, PATCH, DELETE), include theIdempotency-Key header to prevent duplicate operations:
Request Tracing
Include theX-Request-Id header to attach a trace ID to your request. This ID appears in audit logs and can help with debugging.