Errors
Handle CreatorsJet Public API V1 problem responses and stable error codes.
Errors use application/problem+json.
{
"type": "https://api.creatorsjet.com/problems/validation-failed",
"title": "Invalid request",
"status": 400,
"code": "VALIDATION_FAILED",
"detail": "One or more fields are invalid",
"request_id": "50c20a47-bf9a-4dfa-98ae-54fd89a172e1",
"errors": [
{
"field": "socials",
"message": "Array must contain at least 1 element(s)"
}
]
}| Field | Meaning |
|---|---|
type | Stable problem-type URL |
title | Short category suitable for display |
status | HTTP status code |
code | Stable machine-readable error code |
detail | Safe explanation of this failure |
request_id | Identifier to retain for logs and support |
errors | Optional field or row-level details |
Common error codes
| HTTP | Code | Meaning | Action |
|---|---|---|---|
| 400 | VALIDATION_FAILED | A body, query, or field is invalid | Correct the fields listed in errors |
| 400 | CSV_FILE_REQUIRED | The multipart file field is missing | Attach one CSV file |
| 400 | IDEMPOTENCY_KEY_REQUIRED | A protected write has no valid key | Add a non-empty key of at most 128 characters |
| 401 | AUTHENTICATION_REQUIRED | The Bearer credential is missing | Send a Public API key |
| 401 | INVALID_API_KEY | The key is malformed, incorrect, expired, or revoked | Replace or recreate the key |
| 403 | PUBLIC_API_PLAN_REQUIRED | The subject no longer has an eligible plan | Restore an eligible plan |
| 403 | SCOPE_REQUIRED | The key lacks the operation's scope | Use or create a least-privilege key with that scope |
| 403 | SUBJECT_FORBIDDEN | The account type cannot use this endpoint | Use an agency or creator endpoint appropriate to the subject |
| 403 | LIMIT_EXCEEDED | A current product-plan allowance has been reached | Review usage or change the plan before retrying |
| 404 | NOT_FOUND | The resource is absent or belongs to another tenant | Verify the opaque ID and authenticated subject |
| 409 | CONFLICT | The request conflicts with identity, capacity, or current state | Inspect the detail and do not retry unchanged |
| 409 | IDEMPOTENCY_KEY_REUSED | The same key was used with a different payload | Use a new idempotency key |
| 409 | IDEMPOTENCY_IN_PROGRESS | An identical request is still running | Wait, then retry with the same key |
| 413 | REQUEST_TOO_LARGE | A JSON body or CSV exceeds its size limit | Reduce the payload |
| 415 | UNSUPPORTED_MEDIA_TYPE | An import is not a CSV file | Submit text/csv multipart data |
| 429 | RATE_LIMITED | The active quota was exceeded | Wait for Retry-After |
| 503 | PUBLIC_API_DISABLED | Public API routing is not enabled in the environment | Do not retry continuously |
| 503 | RATE_LIMIT_UNAVAILABLE | Limits cannot be safely enforced | Retry later with backoff |
| 500 | INTERNAL_ERROR | An unexpected server error occurred | Retry safe reads; contact support if persistent |
Tenant-safe not found responses
CreatorsJet returns 404 for resources that are absent or not owned by the authenticated subject, including creators, imports, media kits, decks, and campaigns. Do not use response differences to probe for resources owned by another account.
Retry guidance
- Retry
429afterRetry-After. - Retry temporary
503and500responses with bounded exponential backoff. - Preserve the same idempotency key when retrying the same protected write.
- Do not retry validation, authentication, scope, not-found, or conflict errors without changing the request or account state.
- Log the error
code, HTTP status, andrequest_id; never log the API key, CSV rows, or sensitive creator payloads.