API reference
Orders
Generic imported-order resources exclude marketplace tokens and raw data. The sandbox contains a synthetic Shopify order. Link one order with order_id during creation; duplicate links return a conflict.
Set PX_BASE_URL to http://127.0.0.1:4010/v1. Intended live host: https://api.parcelxpert.com/v1. Live requests are not released. Set PX_IDEMPOTENCY_KEY to one stored unique value per write; replace all example quote and shipment IDs with returned IDs.
List imported orders
Local sandbox seeds a synthetic Shopify order; no marketplace OAuth or credentials. The unreleased current-domain read adapter returns tenant-owned marketplace order fields only; test credentials cannot read live orders. Hosted access remains disabled. OAuth integration setup is separate from REST V1.
Required scope: orders:read
Parameters
| Name | Location | Meaning |
|---|---|---|
| limit optional | query | Page size. Default 20; maximum 100. |
| cursor optional | query | Opaque signed next_cursor. Preserve filters between pages. |
| status optional | query | Exact normalized status. |
| created_from optional | query | Inclusive creation timestamp. |
| created_to optional | query | Inclusive creation timestamp. |
Response schema
| Field | Type | Description |
|---|---|---|
datarequired | array | |
data[].idrequired | string | PX imported order ID. |
data[].merchant_referencerequired | string | Merchant order reference. |
data[].platformrequired | string | Values: shopify, ebay, woocommerce, square, big_cartel |
data[].statusrequired | string | Normalized fulfilment state. |
data[].shipment_idrequired | string | null | |
data[].created_atrequired | string | ISO 8601 timestamp with timezone. Responses use UTC Z. |
paginationrequired | object | |
pagination.limitrequired | integer | Minimum: 1 |
pagination.next_cursorrequired | string | null | |
pagination.has_morerequired | boolean |
HTTP responses and errors
| 200 | Success. |
| 400 | Malformed JSON, cursor or idempotency header. |
| 401 | Missing, invalid, expired or revoked key. |
| 403 | Required scope not granted. |
| 404 | Resource unavailable in this account and environment, or label format unavailable. |
| 405 | Method not supported. |
| 409 | Idempotency conflict, request in progress, expired/mismatched quote or cancellation unavailable. |
| 413 | Body exceeds 256 KiB. |
| 422 | Schema or capability validation failure. |
| 429 | Enforced sandbox rate limit reached. |
| 500 | Unexpected PX failure. |
| 502 | Provider operation not confirmed. No blind booking retry. |
| 503 | Provider unavailable or live API not released. |
Request example
curl --request GET \
--url "$PX_BASE_URL/orders" \
--header "Authorization: Bearer $PX_API_KEY"Response example
{
"data": [
{
"id": "ord_test_1",
"merchant_reference": "ORDER-1001",
"platform": "shopify",
"status": "unfulfilled",
"shipment_id": null,
"created_at": "2026-10-04T10:25:00Z"
}
],
"pagination": {
"limit": 20,
"next_cursor": null,
"has_more": false
}
}Retrieve imported order
Local sandbox supports order_id linkage during shipment creation. The unreleased domain adapter reads tenant-owned imported orders but rejects imported-order booking until fulfilment/linkage authority is certified. OAuth integration setup is separate. Production and hosted test access remain disabled.
Required scope: orders:read
Parameters
| Name | Location | Meaning |
|---|---|---|
| id required | path | PX resource ID, scoped to account and environment. |
Response schema
| Field | Type | Description |
|---|---|---|
idrequired | string | PX imported order ID. |
merchant_referencerequired | string | Merchant order reference. |
platformrequired | string | Values: shopify, ebay, woocommerce, square, big_cartel |
statusrequired | string | Normalized fulfilment state. |
shipment_idrequired | string | null | |
created_atrequired | string | ISO 8601 timestamp with timezone. Responses use UTC Z. |
HTTP responses and errors
| 200 | Success. |
| 400 | Malformed JSON, cursor or idempotency header. |
| 401 | Missing, invalid, expired or revoked key. |
| 403 | Required scope not granted. |
| 404 | Resource unavailable in this account and environment, or label format unavailable. |
| 405 | Method not supported. |
| 409 | Idempotency conflict, request in progress, expired/mismatched quote or cancellation unavailable. |
| 413 | Body exceeds 256 KiB. |
| 422 | Schema or capability validation failure. |
| 429 | Enforced sandbox rate limit reached. |
| 500 | Unexpected PX failure. |
| 502 | Provider operation not confirmed. No blind booking retry. |
| 503 | Provider unavailable or live API not released. |
Request example
curl --request GET \
--url "$PX_BASE_URL/orders/$PX_SHIPMENT_ID" \
--header "Authorization: Bearer $PX_API_KEY"Response example
{
"id": "ord_test_1",
"merchant_reference": "ORDER-1001",
"platform": "shopify",
"status": "unfulfilled",
"shipment_id": null,
"created_at": "2026-10-04T10:25:00Z"
}