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

FieldDescription
idID of the requested resource (if applicable).
resource_typeThe type of resource that caused the error (e.g. "partner", "site").
statusHTTP status code as a string (e.g. "404").
codeShort error identifier (e.g. "not-found").
titleBrief description of the error.
detailMore detailed explanation of what went wrong.
messages (optional)An array of specific validation or business rule failures.

Common Error Codes

HTTP StatusCodeDescriptionSolution
400bad-requestThe request is malformed. Check parameters and structure.Check endpoint documentation for required syntax and fields.
401unauthorizedAuthentication failed. Verify your integration credentials.Ensure you’re using a valid integration key with the correct HMAC signature.
403forbiddenYou are not allowed to perform this action.Check the access level of your integration in the Plate dashboard.
404not-foundThe requested resource does not exist.Double-check resource IDs and that they exist.
422unprocessableThe request is valid, but the data does not meet requirements.Review error messages for detailed issues, like invalid content field input.
429rate-limitToo many requests – slow down.
500server-errorInternal 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 SentTotal in Last 5 Seconds
0s1010
1s1020
2s1030
3s1040
4s1151 → Limit Exceeded

Example: Allowed

Time (t)Requests SentTotal in Last 5 Seconds
0s99
1s1928
4s1048
5s2049
6s1949

Copyright © 2025