Purchase a plan (synchronous)
Purchase / activate a plan for a SIM. Synchronous — blocks and returns
the finished purchase. For an async variant, use
POST /api/v3/plans/purchase instead (a different request/response
contract, not an alias of this one).
Throttled at 60 requests/60s specific to this route, tighter than the
120 req/60s account-wide default. A 429 can also occur when the
purchase for this exact SIM+plan is momentarily lock-contended by a
concurrent request — same RATE_LIMITED code and status, but with the
message “Too many concurrent purchase requests for this account —
please retry in a moment.” rather than a generic throttle message.
Authorizations
Bearer token obtained from POST /api/v1.1/auth/token.
Headers
Any string unique to this logical request. On a retry with the same key
and the same request body, the original response is replayed verbatim
(with an Idempotency-Replayed: true response header) instead of the
action repeating. Reusing the key with a different body or on a
different route returns 409 IDEMPOTENCY_KEY_REUSED. A replay attempted
while the original call is still in flight returns 409 CONFLICT.
Optional — omit it and the endpoint behaves exactly as it would otherwise.
"a1b2c3d4-idem-key-001"
Body
Response
Purchased.

