CONNEX API
Build CONNEX shipping into your own platform: quote international shipping rates, read the fulfilment status of your orders, and be told the moment a parcel moves — the same data the CONNEX sale pages use.
The API is organised around REST. Requests and responses are JSON over HTTPS. Sign in to CONNEX and generate an API key — a client id and secret — and exchange it for an access token that authenticates every call. A key belongs to your CONNEX account, so tracking reads your own orders — you never pass an account id.
- Authentication — generate an API key in CONNEX, then get a token with it.
- Rates — live carrier quotes for a parcel to a destination country.
- Tracking — the order status and every parcel's tracking for up to 50 orders per call.
- Orders — feed your orders into CONNEX fulfilment, like a Sale Page sale.
- Webhooks — a
tracking.updatedpush whenever an order or parcel changes.
https://api.connexglobal.coPostman & Bruno
Every request on this page, ready to import. Both collections hold the same requests, with your credentials as variables and scripts that save tokens and webhook secrets for you as you go.
- Postman: Import → drop the file. Variables live on the collection. Bruno: Import Collection → Bruno Collection, then select the Production environment.
- Fill in
clientIdandclientSecretfrom your API key — CONNEX → Tools → API keys. - Run Authentication → Get access token.
accessTokenis saved, and every other request uses it. Run it again when the hour is up.
Webhooks → Simulate tracking.updated sends your own endpoint exactly what CONNEX will send — use it to test your receiver before going live.
baseUrl https://api.connexglobal.co
clientId cnx_client_… ← your API key
clientSecret cnx_sk_… ← your API key
accessToken saved by "Get access token"
webhookUrl https://your-app.com/webhooks/connex
webhookSecret saved by "Register webhook endpoint"Errors
CONNEX uses conventional HTTP status codes. A 2xx succeeded, a 4xx is a problem with the request, and a 5xx is a problem on our side or with a carrier. Error bodies carry a single error string — safe to log, not meant to be shown to shoppers. OAuth endpoints use the standard error / error_description pair instead.
200 / 201 | OK — the request worked. |
400 | Bad request — a parameter is missing or invalid. |
401 | The access token is missing, expired, or revoked by rotating the secret or deleting the key. |
403 | The token was requested without the scope this endpoint needs. |
404 | The resource does not exist for this store. |
413 | The request body is too large. |
429 | Too many requests — back off and retry. |
502 / 503 | A carrier or CONNEX service is unreachable. Retry with backoff. |
HTTP/1.1 401 Unauthorized
Content-Type: application/json
{
"error": "A valid access token is required"
}