Responses & Errors¶
Success envelope¶
Successful responses return success: true and a data payload. List
endpoints return an array; item endpoints return an object. Some endpoints add
a meta object (for example the fields that were updated).
{
"success": true,
"data": {"id": 1000, "name": "example.com"},
"meta": {"updated_fields": ["https", "default_cache_ttl"]}
}
Error envelope¶
Errors return success: false and an error object with a stable,
machine-readable code, a human-readable message, and optionally a
details object with field-level information.
{
"success": false,
"error": {
"code": "unprocessable_entity",
"message": "No fields could be updated.",
"details": {"frobnicate": "Unknown or read-only field."}
}
}
HTTP status codes¶
Status |
Meaning |
|---|---|
OK |
|
Created |
|
Multi-status (some purge patterns succeeded, some failed) |
|
Bad request |
|
Missing or invalid credentials |
|
Authenticated but not permitted |
|
Resource not found |
|
Method not allowed |
|
Conflict (for example, the resource already exists) |
|
Validation failed |
|
Rate limited |
|
Internal error |
|
Upstream failure (for example, the purge service) |
|
Temporarily unavailable (maintenance / EPO) |
Error codes¶
Code |
When it occurs |
|---|---|
|
No API key was supplied. |
|
The key is malformed or the secret does not match. |
|
The key has been revoked. |
|
The key is past its expiry date. |
|
The key has been disabled. |
|
The account’s global API toggle is off. |
|
The account is locked. |
|
The request IP is not in the key’s allowlist. |
|
The account is in read-only mode. |
|
The operation is temporarily disabled (EPO). |
|
The requested resource does not exist. |
|
The resource already exists or conflicts. |
|
The request body failed validation. |
|
The request could not be processed. |
|
An unexpected server error occurred. |