Actions that go beyond these methods, such as processing or cancelling a parcel, are
POST requests to a sub-path of the resource, for example POST /parcels/{id}/process.
The API uses HTTP status codes to indicate success or failure. See Error handling.
Versioning
The API version is part of the base URL. The current version isv1.
Within v1, we only make backward-compatible changes, such as new endpoints, new optional parameters, new response fields, or new values for fields like source. Make sure your integration ignores fields and values it doesn’t know.
Breaking changes only come with a new version, such as v2. We announce new versions in advance and keep the previous version available for a transition period.
Headers
The API always responds with JSON, except for document downloads. You don’t need to send an
Accept header.
Query parameters
Boolean query parameters, such asprint or apply_products, only accept true or false. Other values, such as 1 or yes, return 400 Bad Request.
List endpoints share conventions for sorting and filtering. See Pagination, sorting, and filtering.
Request bodies
Requests that create or update resources take a JSON body. The reference of each endpoint, such as Create a parcel, lists the fields it accepts.- The API ignores fields it doesn’t know. Check the field names carefully, because a misspelled field is ignored without an error.
- To remove the value of a field that can be empty, send
null. The reference marks these fields as nullable.
PATCH, the API only changes the top-level fields you send:
- Fields you omit keep their current value.
- Nested objects and arrays, such as
receiveroritems, are replaced as a whole. To change a single receiver field, send the completereceiverobject.
Responses
Responses wrap the requested data in adata object:
data and pagination links in links. Document downloads return PDF files.
Every response also contains an X-Request-ID header. Include it when you contact support about a request. See Contact support.
Data formats
Timestamps
The API only accepts timestamps in exactly this format:2026-10-18T09:41:12Z. Timestamps with fractional seconds or a time zone offset, such as 2026-10-18T11:41:12+02:00, are rejected. Convert local times to UTC before you send them.
Decimal values
Prices, weights, and dimensions are strings, not numbers. This avoids rounding errors with floating-point numbers. Use a dot as the decimal separator. Responses always contain the full number of decimal places. For example, if you send a weight of"1.2", the API returns "1.200".