Skip to main content

Base URL

All API requests use the following base URL:
https://api-message.nativehub.live/api/v1

Versioning

The API is currently at v1, which is the only available version. Version information is included in the URL path.

Content Type

All API requests and responses use application/json format. Include the following header in all requests:
Content-Type: application/json

Authentication

NativeMessage API supports two authentication methods:
  • JWT Bearer Token: Include Authorization: Bearer <token> header
  • API Key: Include X-API-Key: <your-api-key> header
See the Authentication guide for detailed setup instructions.

Pagination

List endpoints support pagination using query parameters:
ParameterDescriptionDefaultMax
pagePage number to retrieve1-
per_pageNumber of items per page20100
Example Request:
GET /api/v1/messages?page=2&per_page=50
Pagination Response Format:
{
  "data": [...],
  "total": 247,
  "page": 2,
  "per_page": 50
}

Response Format

Success Response (Single Resource)

{
  "id": "msg_abc123",
  "status": "delivered",
  "created_at": "2026-02-14T10:30:00Z"
}

Success Response (List)

{
  "data": [
    { "id": "msg_1", "status": "delivered" },
    { "id": "msg_2", "status": "pending" }
  ],
  "total": 247,
  "page": 1,
  "per_page": 20
}

Error Response

{
  "error": "Invalid phone number format"
}

HTTP Status Codes

CodeDescription
200OK - Request succeeded
201Created - Resource successfully created
400Bad Request - Invalid request parameters
401Unauthorized - Missing or invalid authentication
403Forbidden - Insufficient permissions
404Not Found - Resource does not exist
429Too Many Requests - Rate limit exceeded
500Internal Server Error - Server-side error

Rate Limiting

API requests are limited to 200 requests per minute per tenant. When exceeded, the API returns a 429 status code.
See the Rate Limits guide for best practices and optimization strategies.

Next Steps