Gowabox — WhatsApp API

Send WhatsApp messages, manage templates & media, and read delivery reports over a simple REST API. Every send endpoint also accepts the Meta Cloud API request shape, so existing Meta code works with just a base-URL + token change.

Base URL: https://gowabox.com/api · Auth header: Authorization: Bearer <key> · Get an API key →. Your key is stored only in this browser for the “Try it” console.

Authentication

All endpoints are authenticated with an API key sent as a Bearer token. Create a key in the Developer console. Every request is scoped to that key's account.

WABA / Numbers

Your connected WhatsApp Business numbers.

List numbers

GET https://gowabox.com/api/v1/numbers

Returns the WhatsApp numbers connected to your account (phone number id, WABA id, quality rating, messaging limit).

curl --request GET \
     --url 'https://gowabox.com/api/v1/numbers' \
     --header 'Authorization: YOUR_API_KEY' \
     --header 'accept: application/json'
RESPONSE
{
    "data": [
        {
            "id": 12,
            "name": "Acme Support",
            "phone_number": "+15551234567",
            "waba_id": "1029384756",
            "quality_rating": "GREEN",
            "messaging_limit": "TIER_1K",
            "status": "connected"
        }
    ]
}

Send session message

Free-form messages inside the 24-hour customer service window. Send text, media, location, reactions, contacts or interactive messages. Accepts both the simple shape and the Meta Cloud API shape.

Send text

POST https://gowabox.com/api/v1/messages

Send a plain text message. Use the Meta-compatible path /api/{version}/{phone_number_id}/messages to target a specific number, or pass account_id.

{
    "to": "15551234567",
    "type": "text",
    "text": "Hello from the API 👋"
}
RESPONSE
{
    "messaging_product": "whatsapp",
    "contacts": [
        {
            "input": "15551234567",
            "wa_id": "15551234567"
        }
    ],
    "messages": [
        {
            "id": "wamid.HBg…",
            "message_status": "accepted"
        }
    ],
    "id": 8842,
    "conversation_id": 301
}

Send text (Meta format) Meta Cloud API

POST https://gowabox.com/api/v24.0/PHONE_NUMBER_ID/messages

Send a plain text message. Use the Meta-compatible path /api/{version}/{phone_number_id}/messages to target a specific number, or pass account_id. Same call in the Meta Cloud API shape — point existing Meta code here by swapping the base URL + token.

{
    "messaging_product": "whatsapp",
    "to": "15551234567",
    "type": "text",
    "text": {
        "body": "Hello from the API 👋"
    }
}
RESPONSE
{
    "messaging_product": "whatsapp",
    "contacts": [
        {
            "input": "15551234567",
            "wa_id": "15551234567"
        }
    ],
    "messages": [
        {
            "id": "wamid.HBg…",
            "message_status": "accepted"
        }
    ],
    "id": 8842,
    "conversation_id": 301
}

Send media (image / video / document / audio / sticker)

POST https://gowabox.com/api/v1/messages

Send media by a library media_id, a Meta media id, or a public link.

{
    "to": "15551234567",
    "type": "image",
    "media_id": 45,
    "caption": "Our new catalogue"
}
RESPONSE
{
    "messaging_product": "whatsapp",
    "messages": [
        {
            "id": "wamid.HBg…"
        }
    ],
    "id": 8843
}

Send media (image / video / document / audio / sticker) (Meta format) Meta Cloud API

POST https://gowabox.com/api/v24.0/PHONE_NUMBER_ID/messages

Send media by a library media_id, a Meta media id, or a public link. Same call in the Meta Cloud API shape — point existing Meta code here by swapping the base URL + token.

{
    "messaging_product": "whatsapp",
    "to": "15551234567",
    "type": "image",
    "image": {
        "link": "https://example.com/pic.jpg",
        "caption": "Our new catalogue"
    }
}
RESPONSE
{
    "messaging_product": "whatsapp",
    "messages": [
        {
            "id": "wamid.HBg…"
        }
    ],
    "id": 8843
}

Send location

POST https://gowabox.com/api/v1/messages

Share a map location.

{
    "to": "15551234567",
    "type": "location",
    "latitude": 19.076,
    "longitude": 72.8777,
    "name": "Our store",
    "address": "Mumbai"
}
RESPONSE
{
    "messaging_product": "whatsapp",
    "messages": [
        {
            "id": "wamid.HBg…"
        }
    ]
}

Send location (Meta format) Meta Cloud API

POST https://gowabox.com/api/v24.0/PHONE_NUMBER_ID/messages

Share a map location. Same call in the Meta Cloud API shape — point existing Meta code here by swapping the base URL + token.

{
    "messaging_product": "whatsapp",
    "to": "15551234567",
    "type": "location",
    "location": {
        "latitude": 19.076,
        "longitude": 72.8777,
        "name": "Our store",
        "address": "Mumbai"
    }
}
RESPONSE
{
    "messaging_product": "whatsapp",
    "messages": [
        {
            "id": "wamid.HBg…"
        }
    ]
}

Send interactive (buttons / list) (Meta format) Meta Cloud API

POST https://gowabox.com/api/v24.0/PHONE_NUMBER_ID/messages

Reply buttons or a list message. Same call in the Meta Cloud API shape — point existing Meta code here by swapping the base URL + token.

{
    "messaging_product": "whatsapp",
    "to": "15551234567",
    "type": "interactive",
    "interactive": {
        "type": "button",
        "body": {
            "text": "Pick an option"
        },
        "action": {
            "buttons": [
                {
                    "type": "reply",
                    "reply": {
                        "id": "b1",
                        "title": "Track order"
                    }
                },
                {
                    "type": "reply",
                    "reply": {
                        "id": "b2",
                        "title": "Talk to agent"
                    }
                }
            ]
        }
    }
}
RESPONSE
{
    "messaging_product": "whatsapp",
    "messages": [
        {
            "id": "wamid.HBg…"
        }
    ]
}

Send reaction (Meta format) Meta Cloud API

POST https://gowabox.com/api/v24.0/PHONE_NUMBER_ID/messages

React to a message you received (by its wamid). Same call in the Meta Cloud API shape — point existing Meta code here by swapping the base URL + token.

{
    "messaging_product": "whatsapp",
    "to": "15551234567",
    "type": "reaction",
    "reaction": {
        "message_id": "wamid.HBg…",
        "emoji": "👍"
    }
}
RESPONSE
{
    "messaging_product": "whatsapp",
    "messages": [
        {
            "id": "wamid.HBg…"
        }
    ]
}

Send template message

Start conversations outside the 24-hour window with an approved template. Pass body variables (and a header media, if the template has one).

Send template

POST https://gowabox.com/api/v1/messages

Send an approved template. Simple: template name + variables[]. Meta: template.{name,language,components}.

{
    "to": "15551234567",
    "type": "template",
    "template": "order_update",
    "variables": [
        "Rahul",
        "#4821",
        "shipped"
    ]
}
RESPONSE
{
    "messaging_product": "whatsapp",
    "messages": [
        {
            "id": "wamid.HBg…"
        }
    ],
    "id": 8844,
    "cost": "₹0.78"
}

Send template (Meta format) Meta Cloud API

POST https://gowabox.com/api/v24.0/PHONE_NUMBER_ID/messages

Send an approved template. Simple: template name + variables[]. Meta: template.{name,language,components}. Same call in the Meta Cloud API shape — point existing Meta code here by swapping the base URL + token.

{
    "messaging_product": "whatsapp",
    "to": "15551234567",
    "type": "template",
    "template": {
        "name": "order_update",
        "language": {
            "code": "en_US"
        },
        "components": [
            {
                "type": "body",
                "parameters": [
                    {
                        "type": "text",
                        "text": "Rahul"
                    },
                    {
                        "type": "text",
                        "text": "#4821"
                    },
                    {
                        "type": "text",
                        "text": "shipped"
                    }
                ]
            }
        ]
    }
}
RESPONSE
{
    "messaging_product": "whatsapp",
    "messages": [
        {
            "id": "wamid.HBg…"
        }
    ],
    "id": 8844,
    "cost": "₹0.78"
}

Template management

List the approved, sendable templates on a number.

List templates

GET https://gowabox.com/api/v1/templates

Approved + enabled templates you can send on the selected number.

account_idTarget a specific number (optional).
curl --request GET \
     --url 'https://gowabox.com/api/v1/templates?account_id=' \
     --header 'Authorization: YOUR_API_KEY' \
     --header 'accept: application/json'
RESPONSE
{
    "data": [
        {
            "id": 5,
            "name": "order_update",
            "category": "utility",
            "language": "en_US",
            "status": "approved"
        }
    ]
}

Media management

Upload media to get a media_id you can send, and resolve a media id to a temporary download URL (e.g. media received in a webhook).

Upload media

POST https://gowabox.com/api/v1/media

multipart/form-data with a "file" field. Returns a library id + Meta media_id usable in sends.

file=@/path/to/file.jpg  (multipart/form-data)
RESPONSE
{
    "id": 45,
    "media_id": "3820…",
    "kind": "image"
}

Upload media (Meta format) Meta Cloud API

POST https://gowabox.com/api/v24.0/PHONE_NUMBER_ID/media

multipart/form-data with a "file" field. Returns a library id + Meta media_id usable in sends. Same call in the Meta Cloud API shape — point existing Meta code here by swapping the base URL + token.

file=@/path/to/file.jpg  (multipart/form-data)
RESPONSE
{
    "id": 45,
    "media_id": "3820…",
    "kind": "image"
}

Get media URL from media id

GET https://gowabox.com/api/v1/media/{id}

{id} is a library id or a Meta media id (as received in a webhook). Returns a short-lived CDN URL.

curl --request GET \
     --url 'https://gowabox.com/api/v1/media/{id}' \
     --header 'Authorization: YOUR_API_KEY' \
     --header 'accept: application/json'
RESPONSE
{
    "media_id": "3820…",
    "url": "https://lookaside.fbsbx.com/…",
    "mime_type": "image/jpeg",
    "file_size": 84213
}

Contacts

Read and create contacts on a number.

List contacts

GET https://gowabox.com/api/v1/contacts

Saved contacts on the selected number.

limit1–200, default 50.
offsetPagination offset.
account_idTarget number (optional).
curl --request GET \
     --url 'https://gowabox.com/api/v1/contacts?limit=&offset=&account_id=' \
     --header 'Authorization: YOUR_API_KEY' \
     --header 'accept: application/json'
RESPONSE
{
    "data": [
        {
            "id": 900,
            "wa_id": "15551234567",
            "name": "Rahul",
            "is_blocked": 0,
            "last_message_at": "2026-07-10 09:12:00"
        }
    ]
}

Create contact

POST https://gowabox.com/api/v1/contacts

Create (or fetch) a contact by number.

{
    "number": "15551234567",
    "name": "Rahul Sharma"
}
RESPONSE
{
    "id": 901,
    "wa_id": "15551234567",
    "name": "Rahul Sharma"
}

Delivery reports

Check the delivery status of a message you sent. Real-time statuses are also pushed to your webhook.

Get message status

GET https://gowabox.com/api/v1/messages/{id}

{id} is the numeric message id returned when you sent it.

curl --request GET \
     --url 'https://gowabox.com/api/v1/messages/{id}' \
     --header 'Authorization: YOUR_API_KEY' \
     --header 'accept: application/json'
RESPONSE
{
    "id": 8844,
    "direction": "out",
    "type": "template",
    "status": "delivered",
    "wa_message_id": "wamid.HBg…",
    "error": null,
    "created_at": "2026-07-10 09:10:00"
}

© 2026 Gowabox · Built on the official WhatsApp Business Platform.