DocumentationAPI v1 · 1.3.0

Reliability

Versions and compatibility

API v1 versioning policy, compatible changes, date format and specification changelog.

Every /api/public/v1 response carries the X-Api-Version: 1 header. The OpenAPI specification is at version 1.3.0 (SemVer); the official packages at 1.2.0.

Compatible additions#

They arrive without notice in v1: response field, header, optional parameter, error code, webhook event. An integration must ignore what it does not know.

Breaking changes#

Any breaking change (field removed or renamed, type or meaning changed, parameter made required, HTTP code changed) goes to a new /api/public/v2 version. v1 stays served during an announced deprecation period.

Dates#

ISO 8601 with offset, to the second: 2026-11-06T09:39:11+00:00. Webhooks also carry a Unix timestamp (seconds).

What's new in 1.3.0#

  • New 503 FEATURE_DISABLED code on every operation (feature turned off by the platform): details = { feature, blocked_by, message, until }, Retry-After header when a reactivation is scheduled.
  • 503 OTP_SERVICE_DISABLED now carries the same details and Retry-After.

What's new in 1.2.0#

  • X-Request-Id and X-Api-Version: 1 headers; error.details always an object.
  • Numbers: without +, 11 digits or more not starting with 0 = already international.
  • Idempotency on POST /otp/send; fingerprint after normalization; new 409 IDEMPOTENCY_REQUEST_IN_PROGRESS.
  • POST /otp/send: code_length, code_type, resend_after_seconds, web_otp_domain, strip_accents. POST /otp/verify: attempts_remaining.
  • strip_accents on POST /sms and /sms/estimate; richer message.status_changed webhook; new otp.verified and otp.failed webhooks.