Response envelope
All JSON responses use the Public API base URL. Successful responses return:
HTTP/1.1 200
Content-Type: application/json
{
"data": {}
}
Errors return:
HTTP/1.1 {4xx|5xx}
Content-Type: application/json
{
"error": "Human-readable or serialized error message"
}
Ship and Cancel may return HTTP 200 with data.status: "error" for carrier or business failures (see Ship and Cancel).
Label download (GET /labels/{orderId}/{labelType}) may return HTTP 302 with a Location header pointing at a signed S3 URL (not the JSON envelope above).
CORS headers are included on responses (Access-Control-Allow-Origin: *, etc.).