Production Readiness
Outcome
Use this overview to separate what the current API documents from operational policies your application must own. It links to detailed guidance instead of defining a second API reference.
Contract versus client responsibility
Mailhub public contract
The API documents 12 public operations, their request and response schemas,
declared status codes, and operation-specific X-SubAccount-Id behavior. The
API Reference is complete.
Client-owned policy
Your application owns retry budgets, timeouts, alerting, secure storage, internal request identifiers, and operator review after an ambiguous outcome.
Reliability boundaries
- Standard Order creation creates an Order without rating. Create an Order with
Rates creates one Order per request with the required wrapped
orderbody; it is not batch creation. - A create-and-rate no-Rate
422may occur after the Order has been created. The public contract defines no idempotency or reconciliation operation for that case. - After a Label-purchase
timeout or lost response, reissue only the same effective purchase request, or
read the Order for the outcome; that operation replays rather than buying a
second Label. A request that is not the same purchase is refused with
409, and two bounded conditions still apply: a Label cancelled before its result reached you is not replaced, and an unresolved carrier outcome refuses a new purchase until it settles. - Label cancellation has no equivalent replay contract. After a cancellation timeout or lost response, provider, local-state, and financial effects may be ambiguous; do not blindly repeat the cancellation.
- A Label download
200is binary. A202means pending/still generating; no polling interval or eventual-success promise is public.
Use the detailed guidance
Keep Account/Sub-account selection explicit per operation using Work with Sub-accounts. The header is not authorization by itself and does not have universal behavior.