API Errors
All errors return a JSON body with astatusCode, message, and error field.
Error Response Format
HTTP Status Codes
| Code | Meaning | Common cause |
|---|---|---|
400 | Bad Request | Invalid or missing request fields |
401 | Unauthorized | Missing, expired, or invalid API key / JWT |
403 | Forbidden | Insufficient permissions or plan limit reached |
404 | Not Found | Resource does not exist |
409 | Conflict | Duplicate resource (e.g. short code already in use) |
500 | Internal Server Error | Something went wrong on our end |
Auth Errors
A401 is returned when:
- The
Authorizationheader is missing - The API key is expired or revoked
- A JWT token is invalid or expired
- An API key is used with an
x-workspace-idthat doesn’t match the key’s workspace
403 is returned when:
- The authenticated user doesn’t have the required role (e.g. viewer trying to create a link)
- The workspace has reached its plan limit for the resource being created