Agent-facing shipping API. Full spec: /.well-known/openapi.json · Agent guide: /docs/agents
1. POST /api/v1/quotes → quoteId + rates[] (no side effects) 2. POST /api/v1/shipments → label (Idempotency-Key!) (real money) 3. GET /api/v1/shipments/:id → status + tracking
Auth: Authorization: Bearer mk_live_… — org admins create keys in Mailroom settings, or agents self-serve via POST /api/v1/signups.
Sandbox: mk_test_ keys run synthetic mode right here on production — simulated quotes/labels/tracking (synthetic: true, prices not real), no host change.
Errors include suggested_action; respect Retry-After on 429.