DocumentationAPI v1 · 1.3.0

Guides

Balance and Sender IDs

Read the SMS credit balance and the account's approved Sender IDs.

Credit balance#

GET /balance returns available credits (balance) and credits held by running campaigns (held). To be warned automatically, subscribe to the balance.low webhook (threshold set in the client area).

Over HTTP

curl "https://api.labyrinthe-rdc.com/api/public/v1/balance" \
  -H "Authorization: Bearer lsk_test_xxxxxxxxxxxxxxxx"

With the packages

<?php
use Labyrinthe\Connect\Client;

$client = new Client('lsk_test_xxxxxxxxxxxxxxxx'); // or Client::fromEnv() (LABYRINTHE_API_KEY)

$balance = $client->balance->get();

echo $balance->balance, ' credits available, ', $balance->held, ' held';
200 response
{
  "data": {
    "balance": 1250,
    "held": 0
  }
}

Approved Sender IDs#

GET /sender-ids lists the sender names with approved status, usable in the sender field of POST /sms. Without sender, the platform default sender is used. Sender ID requests are made in the client area (Sender IDs).

FieldDescription
valueName shown on the phone (11 characters max).
statuspending, pending_provider, approved, rejected, suspended
is_defaultDefault sender of the account.
purpose, rejection_reasonDeclared use, rejection reason.

Over HTTP

curl "https://api.labyrinthe-rdc.com/api/public/v1/sender-ids" \
  -H "Authorization: Bearer lsk_test_xxxxxxxxxxxxxxxx"

With the packages

<?php
use Labyrinthe\Connect\Client;

$client = new Client('lsk_test_xxxxxxxxxxxxxxxx'); // or Client::fromEnv() (LABYRINTHE_API_KEY)

foreach ($client->senderIds->list() as $senderId) {
    echo $senderId->value, $senderId->isDefault ? ' (default)' : '', PHP_EOL;
}
200 response
{
  "data": [
    {
      "id": "5b1e2c7a-0d4f-4a9b-8e3c-1f6a2d9b7c40",
      "value": "MABOUTIQUE",
      "status": "approved",
      "purpose": "Notifications de commande",
      "rejection_reason": null,
      "is_default": true,
      "created_at": "2026-11-06T09:39:11+00:00"
    }
  ]
}