Cancel a bundle of mailboxes
Billing for the bundle stops now, without a refund. The mailboxes keep working until the paid period ends, then they are deleted. Their domains stop renewing too unless keep_domains is true. A reason is required. Only the workspace owner can cancel.
| Cost | What it does | Key scopes |
|---|---|---|
| Free | Writes | argorant:manage_lists |
Authorization
BearerAuth Your API key from app.argorant.com/profile, sent as Authorization: Bearer <key>. A connector sign-in token (ag_mcp_...) works the same way.
In: header
Path Parameters
The order id.
uuidFrom billing.bundles of the order.
Header Parameters
Any unique text up to 128 characters. A retry with the same key and the same body within 24 hours returns the first answer (with the header Idempotent-Replayed: true) instead of doing the work twice. The same key with another body answers 409 idempotency_conflict.
length <= 128Your own id for this request, 8 to 64 letters, digits, dot, dash or underscore. Returned as X-Request-Id; one is made for you when you send none.
^[A-Za-z0-9._-]{8,64}$Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://app.argorant.com/api/v1/inboxes/orders/b345aa96-059d-47e7-b733-c1899f843a00/bundles/c1f0a3e2-7d4b-4a9e-8f21-6b3d5e7a9c10/cancel" \ -H "Idempotency-Key: 6f1c2e7a-run-42" \ -H "Content-Type: application/json" \ -d '{ "reason": "too_expensive", "keep_domains": false }'{ "bundle_id": "c1f0a3e2-7d4b-4a9e-8f21-6b3d5e7a9c10", "mailboxes": 100, "ends_at": "2026-10-27T10:13:00+00:00", "status": "requested", "existing": false, "message": "Billing for these mailboxes stopped. They keep working until ends_at, then they are deleted; their domains do not renew."}