{
  "info": {
    "name": "BulkSMS API",
    "_postman_id": "bulksms-2026-01-25",
    "description": "Multi-tenant SMS gateway. Set `base` and `token` collection variables to use.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [ { "key": "token", "value": "{{token}}", "type": "string" } ]
  },
  "variable": [
    { "key": "base",  "value": "https://smsapi.test" },
    { "key": "token", "value": "" }
  ],
  "item": [
    {
      "name": "Auth — Login",
      "request": {
        "method": "POST",
        "auth": { "type": "noauth" },
        "header": [{ "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }],
        "url": "{{base}}/api/auth",
        "body": { "mode": "raw", "raw": "{\n  \"email\": \"admin@bulksms.local\",\n  \"password\": \"REPLACE_ME\"\n}" }
      }
    },
    {
      "name": "Send SMS",
      "request": {
        "method": "POST",
        "header": [
          { "key": "Content-Type", "value": "application/json" },
          { "key": "Accept", "value": "application/json" },
          { "key": "Idempotency-Key", "value": "{{$guid}}" }
        ],
        "url": "{{base}}/api/sms",
        "body": { "mode": "raw", "raw": "{\n  \"to\": \"+255712345678\",\n  \"sender\": \"ACME\",\n  \"message\": \"Your verification code is {code}\",\n  \"params\": { \"code\": \"123456\" }\n}" }
      }
    },
    {
      "name": "Get balance",
      "request": { "method": "GET", "url": "{{base}}/api/balance", "header": [{ "key": "Accept", "value": "application/json" }] }
    },
    {
      "name": "List messages",
      "request": { "method": "GET", "url": "{{base}}/api/logs?type=sms&page=1&limit=50", "header": [{ "key": "Accept", "value": "application/json" }] }
    },
    {
      "name": "List sender IDs",
      "request": { "method": "GET", "url": "{{base}}/api/sender-ids", "header": [{ "key": "Accept", "value": "application/json" }] }
    },
    {
      "name": "Request sender ID",
      "request": {
        "method": "POST",
        "header": [{ "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" }],
        "url": "{{base}}/api/sender-ids",
        "body": { "mode": "raw", "raw": "{\n  \"sender\": \"ACME\",\n  \"country\": \"TZ\",\n  \"use_case\": \"OTP for our login flow\"\n}" }
      }
    },
    {
      "name": "Public — Plans",
      "request": { "method": "GET", "auth": { "type": "noauth" }, "url": "{{base}}/api/plans", "header": [{ "key": "Accept", "value": "application/json" }] }
    },
    {
      "name": "Public — Credit packs",
      "request": { "method": "GET", "auth": { "type": "noauth" }, "url": "{{base}}/api/credit-packs", "header": [{ "key": "Accept", "value": "application/json" }] }
    },
    {
      "name": "Webhooks — list",
      "request": { "method": "GET", "url": "{{base}}/api/webhooks", "header": [{ "key": "Accept", "value": "application/json" }] }
    },
    {
      "name": "CSV export messages",
      "request": { "method": "GET", "url": "{{base}}/api/csv?action=export-messages", "header": [{ "key": "Accept", "value": "text/csv" }] }
    }
  ]
}
