Create a domestic Canadian shipment and generate a label using the Canada Post Developer Program Non-Contract Shipping web service
domain: canadapost-postescanada.ca · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Register for the Canada Post Developer Program and obtain separate development and production API keys
Build the XML request payload for Create Shipment against the sandbox (development) environment first
POST the shipment request over REST-style HTTP with the required XML content type headers
Retrieve the returned shipment ID and links to the generated label image
Retest the full flow against the production endpoint and keys only once sandbox validation passes
Use the Non-Contract path for general business/VentureOne accounts, or switch to the Contract Shipping service if the account has a volume-based agreement
Known gotchas
The API uses XML payloads over REST-style endpoints rather than JSON, which is easy to miss if you assume a modern JSON REST API
Sandbox and production use entirely separate API keys and endpoints — testing against the wrong pair either fails silently or, worse, generates a billable production shipment
Contract versus Non-Contract shipping are separate web services with different endpoints and eligibility; using the wrong one for the account type will be rejected
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?