Skip to main content

Response envelope

EnvironmentBase URL
Productionhttps://api.saveonexpress.ca/integrations/public-api/v1
Developmenthttps://api.dev.saveonexpress.ca/integrations/public-api/v1

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 sections).

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.).