Skip to main content
Every Experro API call returns JSON. This page covers the response shapes you can expect, the error format, and how to report a failing call.

Responses

Most endpoints wrap their result in a consistent envelope:
The Discovery APIs are the exception — they return their payload at the top level, with no envelope:

Errors

Failures use a single error shape:
Validation failures may include an additional Details field alongside Error, describing which field failed and why.
The two 400 variants are worth telling apart: ValidationError points at the request body, QueryParseError at the query string.

Common Causes of ValidationError

A 400 Invalid Input almost always means the request body could not be read, rather than a bad field value. Check for:
  • A missing Content-Type header, or one that is not application/json.
  • A body sent as form data instead of raw JSON.
  • An empty body. Endpoints that take a body require one — send {} if you have no fields to set.
  • An optional field sent blank rather than omitted, such as "sort_order": "" or "filters": [{}]. Omit the field, or send null or [].
  • A numeric field sent as a string, such as "limit": "24" instead of "limit": 24.