Skip to main content

Errors

Every endpoint follows standard HTTP status semantics. This page explains what each status means for a Sovereign Solutions API call and what to check first.

Endpoint-specific error catalogue

A full, per-endpoint error-code reference (application-level codes and messages, beyond the HTTP status) is not yet published on this site. If you've hit an error response whose shape isn't covered by the general guidance below, reach support with the endpoint, request body, and the full response - we'll get you an answer and add it here.


HTTP status codes​

StatusMeaningCheck first
200 OKRequest succeeded-
400 Bad RequestRequest body or parameters are malformedValidate required fields and types against the API Reference for that endpoint
401 UnauthorizedMissing or invalid api-key, or - on tenant APIs - a missing or expired bearer tokenCheck the api-key query parameter; on tenant APIs re-issue a token via Authentication - tokens expire (expires_in in the token response)
403 ForbiddenValid token, but not permitted for this resourceConfirm your api-key matches the tenant you're calling, and that the endpoint doesn't require a tenant you haven't been provisioned
404 Not FoundResource doesn't exist, or the path is wrongCheck the endpoint path and any path parameters (e.g. a record ID)
429 Too Many RequestsRate limit exceededSee Rate Limits; back off and retry
5xxServer-side errorRetry with backoff; if it persists, contact support with a request ID or timestamp

Required credentials​

A missing or malformed credential is the most common cause of a 401. What a call needs depends on the API - every operation states it in its Auth line:

APICredentials
API key only (location, map and route APIs, and the token call)?api-key=<apiKey>
Requires Intelomatic tenant (employees, customers, plans, visits, tracking, events, data layers)Authorization: Bearer <access_token> and ?api-key=<apiKey>

See Authentication for how to obtain a token.

Search and pagination responses​

Search endpoints wrap results in a consistent envelope - if you're getting an empty data array instead of an error, check skip/take in your request body rather than assuming a failure:

{
"data": [],
"total": 0
}

Still stuck?​

Contact support with the endpoint, your request body (redact credentials), and the full response body and status code.