Changelog
What changed
Changes to the ParcelHub API and the AI assistant connector, newest first.
31 October 2026
Rates from one carrier only
POST /v1/rates and POST /v1/rates/quick take an optional carriers list, e.g. "carriers": ["canada_post"]. Only those carriers are quoted and returned, so the call is faster too. The AI
assistant's get_rates tool takes the same option. Labels guide
GLS carrier guide
GLS Canada's ground service now has its own carrier guide.
A complete public API reference and guides
The API reference now covers 145 endpoints in 17 groups, with request and response fields, and is the source for upcoming SDKs. New guides: labels & tracking, cross-border, pickups, wallet & billing, stores and errors & retries.
API paths no longer start with /v1/my Action needed
Every customer endpoint is now https://api.parcelhub.ca/v1/<resource>. Drop /my from
your paths; request and response bodies are unchanged.
| Before | Now |
|---|---|
/v1/my/rates | /v1/rates |
/v1/my/shipments | /v1/shipments |
/v1/my/shipments/{id}/label | /v1/shipments/{id}/label |
/v1/my/pickups | /v1/pickups |
/v1/my/wallet | /v1/wallet |
/v1/my/rates/quick | /v1/rates/quick (with your token) |
Calls to an old path return 404 with error.code = "endpoint_moved", the new path in error.moved_to and an x-ph-moved-to header, so a script or AI agent can correct itself.
Shared paths are unchanged: /v1/api-clients/token, /v1/auth/…, /v1/public/….
AI assistants can now do everything the dashboard does
The connector at https://mcp.parcelhub.ca/mcp grew from 13 to 98 tools: drafts and batches, return labels,
pickup booking, address book and saved boxes, wallet top-ups from a saved card, card management, invoices and receipts,
store orders, ReturnHub, support tickets, notifications, the print shop and more. Connect your assistant.
Saved cards over the API
Full-access keys can now set the default card, remove a card and request a wallet refund (refunds only ever go back to the card that paid). Adding a card is still done on Stripe's form in the dashboard — card numbers never go through the API or an AI chat.
Complete spec for your key
GET /v1/openapi.json (with your token) now lists every customer endpoint, with x-caller-allowed on each operation.