Error Response Format
All errors follow this structure:| Field | Description |
|---|---|
error | Machine-readable error code (e.g., unauthorized, bad_request) |
message | Human-readable explanation |
status | HTTP status code |
Error Codes
400 Bad Request
401 Unauthorized
Authorization header is missing, malformed, or contains an invalid key.
Fix: Ensure your request includes Authorization: Bearer dtk_live_... with a valid, active API key.
403 Forbidden
Note: A 403 can also occur when using a project-scoped API key to access a different project’s resources.
404 Not Found
429 Too Many Requests
X-RateLimit-Reset timestamp (in the response headers) before retrying. See Rate Limits for details.
500 Internal Server Error
Troubleshooting Tips
- Getting 401 on every request? Check that you’re using the
Bearerprefix:Authorization: Bearer dtk_live_... - Getting 403 with a valid key? The project ID in the URL must match the project the key was created for.
- Getting 400 on date parameters? Dates must be in
YYYY-MM-DDformat (e.g.,2026-01-15). - Getting 429 unexpectedly? Rate limits are per-minute. If you’re making many requests in a loop, add a short delay between calls.
Related Documentation
- Authentication - API key setup
- Rate Limits - Limits by plan tier