Skip to content

Errors

The Kendis APIs use standard HTTP status codes. Client errors carry an errorMessages field; server errors carry an error field.

Error body shapes

Class Shape
Client errors (4xx) { "errorMessages": "..." }
Server errors (5xx) { "error": "..." }

Note

Some legacy PI Board endpoints return a bare { "error": "..." } for certain conditions (e.g. {"error": "Invalid API Key"} on a 401, {"error": "No Session Board found"} on a 500). Always branch on the HTTP status code first, then read whichever message field is present.

Status codes

Code Meaning What to do
200 Success
401 Unauthorized — missing/invalid/revoked API key, or password sent instead of key Re-check your Authentication header
404 Resource not found, or no data for the given parameter Verify the ID/key; confirm the resource exists and is visible to your user
500 Internal server error — e.g. boardId missing, invalid, or not accessible ("No Session Board found") Re-fetch the boardId via List Boards; confirm your user can access that board
504 Gateway timeout — typically transient on very large boards Retry with backoff; for large pulls, split by board and parallelise across boards

Tenant / prefix specific (legacy method)

On the legacy path-prefix method, a wrong company prefix surfaces as:

Code Meaning Fix
404 Invalid company prefix in URL, or the prefix doesn't match your API key's tenant Confirm <companyPrefix> with your Kendis administrator

Handling timeouts on large data

A sporadic 504 almost always means a gateway timeout on a large board — not a permanent failure. Recommended client behaviour:

  1. Retry with exponential backoff (e.g. 1s, 2s, 4s).
  2. For very large pulls, fetch board-by-board and parallelise across boards rather than requesting everything in one call.
  3. Keep pageLimit / pageSize at the documented maximum to minimise the number of round trips.