Shipping rates API
Quote shipping for a basket of variants bound for a destination address. Rates are advisory — the final charge is locked in when the order is created.
Base URL: https://developer.allthe.com/api/v1
Required scope: shipping:read
Status: request shape stable; live pricing wiring coming soon (501 not_implemented today).
Not implemented yet. Every call returns
501 not_implemented. The request and response shapes below are settled and will not change, but nothing is wired behind them. To get real shipping figures today, callPOST /orders/estimate— it prices a full basket, charges nothing, and returns the same numbers the order would be charged.
Endpoint
POST /shipping/rates
Content-Type: application/json
Request body
{
"destination": {
"country": "GB",
"postcode": "EC1V 2NX",
"state": null,
"city": "London"
},
"items": [
{ "variant_id": "ckv1...", "qty": 2 },
{ "variant_id": "ckv2...", "qty": 1 }
],
"currency": "GBP"
}
| Field | Type | Notes |
| ------------------- | ------ | --------------------------------------------------- |
| destination.country | string | ISO 3166-1 alpha-2 (GB, US, DE, …). |
| destination.postcode | string | Full postcode. Required for all countries. |
| destination.state | string | Two-letter state/region for US, CA, AU. |
| destination.city | string | Optional, improves carrier matching. |
| items[].variant_id | string | Base product variant id from the Catalog API. |
| items[].qty | int | 1–10 000. |
| currency | string | ISO 4217 currency code. Defaults to GBP. |
Response (planned shape)
{
"data": [
{
"id": "rate_standard_uk",
"service": "Standard",
"carrier": "Royal Mail 48",
"amount": 3.99,
"currency": "GBP",
"eta_days": { "min": 2, "max": 4 }
}
]
}
Errors
422 validation_failed— field missing or malformed.501 not_implemented— live pricing wiring is not yet available; the request is accepted and validated.