Getting Started
Error Handling
When a request to the Plate API fails—due to invalid input, missing resources, or other issues—a structured error response is returned. These responses follow a consistent format and always include an appropriate HTTP status code.
Error Response Format
Errors are returned as an array in the errors
field of the JSON response.
Example
Request:
GET {base_url}/partners/1 (for a non-existent partner)
Response:
{
"errors": [
{
"id": 1,
"resource_type": "partner",
"status": "404",
"code": "not-found",
"title": "Partner not found",
"detail": "A partner with id=1 could not be found"
}
]
}
Error Object Fields
Field | Description |
---|---|
id | ID of the requested resource (if applicable). |
resource_type | The type of resource that caused the error (e.g. "partner" , "site" ). |
status | HTTP status code as a string (e.g. "404" ). |
code | Short error identifier (e.g. "not-found" ). |
title | Brief description of the error. |
detail | More detailed explanation of what went wrong. |
messages (optional) | An array of specific validation or business rule failures. |
Common Error Codes
HTTP Status | Code | Description | Solution |
---|---|---|---|
400 | bad-request | The request is malformed. Check parameters and structure. | Check endpoint documentation for required syntax and fields. |
401 | unauthorized | Authentication failed. Verify your integration credentials. | Ensure you’re using a valid integration key with the correct HMAC signature. |
403 | forbidden | You are not allowed to perform this action. | Check the access level of your integration in the Plate dashboard. |
404 | not-found | The requested resource does not exist. | Double-check resource IDs and that they exist. |
422 | unprocessable | The request is valid, but the data does not meet requirements. | Review error messages for detailed issues, like invalid content field input. |
429 | rate-limit | Too many requests – slow down. | |
500 | server-error | Internal server error. Try again later or contact support. | Wait and retry. If the issue persists, contact: info@platecms.com |
Too Many Requests
Rate limit exceeded. Plate uses a sliding log rate-limiting algorithm allowing:
- 50 requests per 5,000 milliseconds (5 seconds)
Example: Exceeds Limit
Time (t) | Requests Sent | Total in Last 5 Seconds |
---|---|---|
0s | 10 | 10 |
1s | 10 | 20 |
2s | 10 | 30 |
3s | 10 | 40 |
4s | 11 | 51 → Limit Exceeded |
Example: Allowed
Time (t) | Requests Sent | Total in Last 5 Seconds |
---|---|---|
0s | 9 | 9 |
1s | 19 | 28 |
4s | 10 | 48 |
5s | 20 | 49 |
6s | 19 | 49 |