eSMS AfricaeSMS Africa
API Reference

API Keys API

Full reference for API key management endpoints.

POST /api/api-keys

Create a new API key.

Auth: Required (session)

Request body

{
  "name": "Production server",
  "environment": "live",
  "scopes": "send,query"
}
FieldTypeRequiredDescription
namestringHuman-readable label
environmentstringlive or test
scopesstringComma-separated: send, query, webhooks

Response 200

{
  "id": 12,
  "key": "esms_live_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
  "name": "Production server",
  "prefix": "esms_live_****o5p6",
  "environment": "live",
  "scopes": ["send", "query"],
  "created_at": "2026-05-02T10:00:00Z"
}

The key field is only present on creation. It is never returned again.


GET /api/api-keys

List your API keys (keys are masked).

Auth: Required (session)

Response 200

[
  {
    "id": 12,
    "name": "Production server",
    "prefix": "esms_live_****o5p6",
    "environment": "live",
    "scopes": ["send", "query"],
    "is_active": true,
    "last_used_at": "2026-05-02T11:30:00Z",
    "created_at": "2026-05-02T10:00:00Z"
  }
]

DELETE /api/api-keys/:key_id

Revoke an API key immediately.

Auth: Required (session)

Returns 204 No Content. The key stops working immediately after this call.

On this page