Response format

Every endpoint returns the same JSON envelope, so your integration can handle success and failure the same way everywhere.

Success

A successful response sets success: true and puts the result in data.

json
{
  "success": true,
  "data": { "uuid": "msg-uuid", "status": "queued" }
}

Paginated lists

List endpoints return an array in data and a meta object with the total count and current page. Pass page and page_size as query parameters.

json
{
  "success": true,
  "data": [ /* ...items... */ ],
  "meta": { "total": 142, "page": 1, "page_size": 20 }
}

Errors

A failed response sets success: false and a human-readable error message. The HTTP status code signals the class of error.

json
{
  "success": false,
  "error": "insufficient SMS unit balance"
}

Always check success first

Read success before touching data. On failure, data is absent and error tells you what went wrong.