Skip to main content
1

Get your API credentials

You can authenticate using either JWT Bearer tokens or API keys.Option A: JWT Authentication
curl -X POST https://api-message.nativehub.live/api/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "username": "your_username",
    "password": "your_password"
  }'
Response:
{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
Option B: API KeyAlternatively, you can use an API key from your dashboard settings.
2

Send an SMS

Use the /messages endpoint to send your first SMS.
curl -X POST https://api-message.nativehub.live/api/v1/messages \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+8801712345678",
    "from": "BRAND",
    "body": "Hello from NativeMessage!"
  }'
Response:
{
  "id": "msg_1a2b3c4d5e6f",
  "from": "BRAND",
  "to": "+8801712345678",
  "body": "Hello from NativeMessage!",
  "status": "queued",
  "part_count": 1,
  "created_at": "2026-02-14T10:30:00Z"
}
Using an API key instead? Replace Authorization: Bearer YOUR_ACCESS_TOKEN with X-API-Key: YOUR_API_KEY.
3

Check delivery status

Track your message delivery using the message ID.
curl -X GET https://api-message.nativehub.live/api/v1/messages/msg_1a2b3c4d5e6f \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Response:
{
  "id": "msg_1a2b3c4d5e6f",
  "from": "BRAND",
  "to": "+8801712345678",
  "body": "Hello from NativeMessage!",
  "status": "delivered",
  "part_count": 1,
  "created_at": "2026-02-14T10:30:00Z",
  "delivered_at": "2026-02-14T10:30:15Z"
}
Message statuses follow this lifecycle: pendingqueuedsubmitteddelivered / failed / expired

Next Steps