Skip to content

Every endpoint, pre-configured — generated from the same OpenAPI spec as this documentation, so it never drifts.

Download Postman collection ↓

  1. Import. In Postman: File → Import and drop the downloaded 23telecom-sms-api.postman_collection.json.

  2. Set variables. Open the collection → Variables tab:

    Variable Value
    baseUrl Preset to https://restlink23telecom.com/api/v1; change only for a self-hosted proxy.
    apiKey Empty; enter your key from Settings → API Keys.
    idempotencyKey Empty; enter a fresh value per logical send.
    cioIdempotencyKey Empty; Customer.io sets the corresponding header automatically.
  3. Set idempotency before a send. Set idempotencyKey to a fresh value for each logical request. For Send SMS, enable the Idempotency-Key header. Send individual (personalized bulk) and Send one SMS from an integration (self-service live sending) have this header enabled already. Reuse a key only for an exact retry. The X-CIO-Idempotency-Key header stays disabled.

    The optional X-Timestamp and X-Signature headers ship disabled. Enable them only for a key configured to require request signing. The Authenticate user request needs no API key: it establishes the portal’s HttpOnly session cookies and cannot run from the cross-site docs playground.

    Integration sending is self-service: an eligible live key bound to your workspace with sms.send sends immediately once integration sending is enabled for the account, support has not blocked the workspace, and workspace credentials can be verified. An sk_test_ key simulates the request. See production sending. Refusals do not send or charge:

    • 403 INTEGRATION_KEY_NOT_ELIGIBLE — the key lacks sms.send or is not eligible for the workspace.
    • 403 INTEGRATION_NOT_ENABLED — integration sending is not enabled for the account.
    • 403 INTEGRATION_DISABLED_BY_SUPPORT — support blocked the workspace or a managed activation is inactive.
    • 503 INTEGRATION_GATE_UNAVAILABLE — the gate, workspace credentials or integration rate limit could not be verified; retry later.

    Filters are off by default. Optional GET query filters such as period, from, to, status, country, sender, phone, page and limit are unchecked in Params; tick and set only those you need.

  4. Send. Open SMS → Send SMS, replace the recipient with your own number in the example body, and hit Send.

The collection contains:

  • SMS: Send SMS; Send individual (personalized bulk); Get message status.
  • Integrations: Send one SMS from an integration (self-service live sending).
  • Statistics: Get statistics; Get daily statistics; Get country statistics.
  • Messages: List messages; List unified messages; Export messages (CSV).
  • Account: Get balance; Get pricing; Get pricing (legacy POST); Get pricing account currency (compatibility route); Get payment history.
  • Webhook settings: Get webhook settings; Update webhook settings; Send test webhook; Get webhook delivery logs.

Every API request inherits collection-level X-API-Key: {{apiKey}} authentication. The portal login request explicitly uses no auth and sets session cookies.

  • API playground — try requests right in the browser, nothing to install.
  • OpenAPI spec — import the raw spec into Insomnia, Bruno, Hoppscotch or your own tooling.