Skip to main content

Errors

Every error has the same shape:

{ "error": { "code": "allowance_exhausted", "message": "This month's 2,000 visits have been used. Upgrade your plan to continue.", "details": { "upgradeUrl": "/admin/usage" } } }

Branch on code; message is for people and may change. details appears where there's more to say. For validation_failed, it lists each problem field.

StatusCodeWhen
400validation_failedThe body or query doesn't match the schema; see details.
400duplicate_visitA visit appears in two dispatch lanes.
401unauthorisedMissing, unknown or revoked API key.
402allowance_exhaustedThis month's visits are used up.
402operative_limitThe plan's active operatives are full.
402feature_not_in_planFor example, route history without visit history.
402address_lookup_limitThis month's typed-address lookups are used up (postcodes and UPRNs still work).
403email_unverified, not_eligibleThe organisation can't create visits yet.
403user_requiredOnly a signed-in person can do this, for example manage API keys.
404not_foundIt doesn't exist, or belongs to another organisation.
409invalid_stateThe visit isn't in a state that allows this, such as positions after arrival.
413 / 415photo_too_large / photo_typeOperative photos: under 1 MB, JPEG, PNG or WebP.
422unknown_operativeoperativeId isn't one of your operatives.
422uprn_not_foundThe UPRN isn't in OS Open UPRN.
422address_search_offTyped addresses can't be searched; use a postcode or UPRN.
429lockedToo many failed sign-ins; try again later.