Search orders and fulfillments
GET/search
Finds orders by id, by the identifier your fulfillment provider assigned, or by customer email, and fulfillments by id or tracking number. Each list holds at most 5 results, and a list is empty when the credentials used may not read that kind of record. A query matching too many records is refused; make it longer or more specific.
Request
Responses
- 200
- 202
- 400
- 401
- 403
- 429
- 500
- 503
- 504
The merchant is entitled but its OMS environment is not provisioned yet. Provisioning has been kicked off (exactly once) and is in progress; retry the request — it succeeds once the environment is ready. Returned only for identity-token (dashboard) requests bound to an active-entitled merchant, not for secret-key API calls; any such endpoint can return it while provisioning is underway.
The request was rejected. type is invalid_request_error; when the failure is a validation failure code is validation_failed and errors lists every problem found, with field-attributable entries prefixed by the field’s path.
No credentials were supplied, or the identity token / secret key is not valid for the target merchant. type is authentication_error.
The credentials are valid but lack the permission this operation requires. type is permission_error.
Too many requests. The rate limit is applied per client across all operations. type is rate_limit_error.
The request could not be completed because of an unexpected error. type is api_error.
A dependency needed to serve the request is temporarily unavailable — for every operation the auth service that verifies credentials and resolves entitlement, and on the provisioning routes also the ODUS API the OMS reconciles against. type is api_error. Unlike a plain 500 the condition is transient rather than a fault in the request, so it is worth retrying with backoff.
The request exceeded the processing time limit and was abandoned. type is api_error and code is timeout — unlike a plain 500 the request may still have taken effect.