Base URL
How versioning works
The current, canonical surface lives under/api/v1.1 — nearly every endpoint in the API Reference is on this path. There is no Prefer-header async negotiation and no separate /api/v1 (non-.1) surface; that design was proposed at one point but was never built, so don’t look for it. The one /api/v1 path in the API Reference — SIP gateway configuration — is a standalone exception, described below.
A small number of operations instead live on /api/v3 — these are the asynchronous variant of an operation that also has a synchronous v1.1 counterpart with a different request/response contract:
eSIM provisioning (
POST /api/v1.1/esim) is a partial exception: it’s the current canonical path, but it’s always asynchronous (202 + transactionId) regardless of path — there’s no synchronous eSIM provisioning endpoint. See Core Concepts → Async operations for the full transactionId/polling model.
Documented exceptions
Two resources don’t follow the standard contract.Port-in submission
POST /api/v3/port-in (submitting a port-in) doesn’t follow the standard contract at all:
- It requires an account role (
Admin,Super Admin, orStandard Admin) rather than just a valid bearer token. - Its response is a flat
{ success, transactionId, statusEndpoint, message, timestamp }— nodatawrapper. - A synchronous validation error’s
errorfield is a plain string, not{ code, message }.
SIP gateway configuration
GET, POST and DELETE /api/v1/customer/register-sip sit outside the standard contract too:
- They need an Admin-tier API key. A token from a read-only or read-write key gets
401Access to this endpoint is forbidden. - Responses are flat —
{ message, sipConfig, isSIPEnabled }and similar — with nosuccess/datawrapper. - Errors are not
{ success: false, error }. A field-validation failure is400{ statusCode, message: [...], error }, and a refused SIP destination is currently500{ message }.
Backward compatibility
The response envelope ({ success, data, meta } / { success: false, error }), pagination shape, and field-naming conventions are consistent by design across every standard endpoint — see Core Concepts. No formal backward-compatibility guarantee (for example, “fields are never removed within a version”) is published for field-level payload changes — check the API Reference against your integration periodically rather than only at initial build time.
Next steps
- Core Concepts for the envelope, pagination, and async pattern that stay constant across endpoints.
- API Reference (sidebar) for the current, canonical set of endpoints.

