Autowa Logo Docs

Autowa API Reference

Selamat datang di dokumentasi API Autowa. API kami memungkinkan Anda untuk mengintegrasikan layanan WhatsApp Gateway ke dalam aplikasi Anda dengan mudah. Anda dapat mengirim pesan teks, gambar, dokumen, dan menerima webhooks.

Gunakan URL dasar berikut untuk semua endpoint API:

BASE_URL https://app.autowa.co
POST GET

Create Device

Api Docs Creating Device / Whatsapp Account. Endpoint ini digunakan untuk mendaftarkan perangkat atau akun WhatsApp baru.

POST/GET https://app.autowa.co/create-device

Parameters

Parameter Type Description
api_key Yes string User API Key
namakunwa Yes string Device Name / Whatsapp Account Name
sender Yes string Sender ID / WhatsApp Number. Use Country Code
urlwebhook No string Webhook URL for incoming message callbacks
Example Request
{
  "api_key": "1234567890",
  "namakunwa": "Sales Device",
  "sender": "628973134240",
  "urlwebhook": "https://yourdomain.com/webhook"
}
JSON Response 200 OK
{
    "status": true,
    "msg": "Device created successfully!"
}
POST

Generate QR API

Generate and check WhatsApp device QR connection state.

Generate a WhatsApp QR Code for a device or check the latest connection state of the device. The same endpoint can be called again after scanning the QR Code.

POST https://app.autowa.co/generate-qr

Request Body (JSON If POST)

Parameter Type Required Description
device string Yes WhatsApp device number including country code. Example: 628xxxxxxxxxx
api_key string Yes Your AutoWA API Key
force boolean No If true and the device does not exist, AutoWA will try to create the device before generating the QR Code, subject to account and device limits.
Example Request
{
  "device": "628xxxxxxxxxx",
  "api_key": "YOUR_API_KEY",
  "force": true
}
1. Normal Response — QR Ready
// QR Code generated successfully.
// IMPORTANT:
// status:false does NOT mean an error when state is "qrcode".
// It means the device is not connected yet and is waiting to be scanned.

{
    "status": false,
    "state": "qrcode",
    "connected": false,
    "token": "628xxxxxxxxxx",
    "qrcode": "data:image/png;base64,...",
    "message": "Scan this QR code with your WhatsApp",
    "msg": "Scan this QR code with your WhatsApp"
}

// "qrcode" contains a complete data:image/png;base64 URL.
//
// Do NOT determine success only from the "status" field.
// For Generate QR integrations, check "state" and "connected".
//
// state = "qrcode"
// connected = false
// => QR Code is ready and must be scanned.
//
// After the QR Code is scanned, call the SAME endpoint again
// using the same device and API Key to get the latest state.
//
// Direct Socket.IO access is NOT required just to generate
// or display this QR Code.
2. Already Connected Response
3. Failed Response — Invalid API Key
4. Failed Response — Validation Error
POST

Disconnect Device

Api Docs Disconnecting device. Endpoint ini digunakan untuk mengeluarkan (log out) sesi perangkat WhatsApp.

POST https://app.autowa.co/logout-device

Parameters

Parameter Type Description
sender Yes string Device you want log out
api_key Yes string API Key
Example Request
{
    "api_key": "123456789",
    "sender": "6285260xxxxx"
}
JSON Response 200 OK
{
    "status": true,
    "message": "device disconnected "
}
POST

Delete Device

Api Docs Deleteing device. Endpoint ini digunakan untuk menghapus perangkat WhatsApp dari sistem secara permanen.

POST https://app.autowa.co/delete-device

Parameters

Parameter Type Description
sender Yes string Device you want delete
api_key Yes string API Key
Example Request
{
    "api_key": "123456789",
    "sender": "6281222xxxxxx"
}
JSON Response 200 OK
{
    "status": true,
    "message": "Device deleted"
}
POST GET

Device Info

Api Docs Geting Device Information. Endpoint ini digunakan untuk mengambil detail konfigurasi perangkat WhatsApp.

POST/GET https://app.autowa.co/info-devices

Parameters

Parameter Type Description
api_key Yes string API Key
number Yes string any number ex 62888xxxx
Example Request
{
    "api_key": "1234567890",
    "number": "6285260xxxxx"
}
JSON Response 200 OK
{
    "status": true,
    "info": [
        {
            "id": 1,
            "user_id": 1,
            "body": "6285260xxxxx",
            "webhook": null,
            "status": "Disconnect",
            "created_at": "2024-08-16T11:07:27.000000Z",
            "updated_at": "2024-08-16T11:07:27.000000Z",
            "message_sent": 0,
            "chatgpt": null,
            "typebot": 0,
            "reject_call": 0,
            "reject_message": null,
            "can_read_message": 0,
            "reply_when": "Personal",
            "chatgpt_name": null,
            "chatgpt_api": null,
            "gemini_name": null,
            "gemini_api": null,
            "claude_name": null,
            "claude_api": null,
            "webhook_read": 0,
            "webhook_reject_call": 0,
            "webhook_typing": 0,
            "bot_typing": 0
        }
    ]
}
POST GET

User Info

Api Docs Geting User Information. Endpoint ini memberikan informasi detail mengenai akun/tenant Anda, termasuk batas kuota device.

POST/GET https://app.autowa.co/info-user

Parameters

Parameter Type Description
api_key Yes string API Key
username Yes string The username must not contain symbols
Example Request
{
    "api_key": "1234567890",
    "username": "nonfisik"
}
JSON Response 200 OK
{
    "status": true,
    "info": {
        "id": 1,
        "username": "nonfisik",
        "email": "abcd@xx.com",
        "email_verified_at": null,
        "api_key": "ORtg0LwKMZoadhXuwDYg40frCkfaul",
        "chunk_blast": 0,
        "level": "admin",
        "status": "active",
        "limit_device": 10,
        "active_subscription": "active",
        "subscription_expired": "2024-09-14 23:11:31",
        "created_at": "2024-08-15T16:11:31.000000Z",
        "updated_at": "2024-08-15T16:11:31.000000Z"
    }
}
POST GET

Send Text Message

Api Docs Sending Text Messages. Endpoint ini digunakan untuk mengirim pesan teks biasa ke nomor WhatsApp yang dituju.

POST/GET https://app.autowa.co/send-message

Parameters

Parameter Type Description
api_key Yes string API Key
sender Yes string Number of your device
number Yes string Recipient number ex 72888xxxx | 62888xxxx
message Yes string Message to be sent
footer No string Footer under message
msgid No string Quoted message ID to reply to
full No number Show full response from WhatsApp (1 = enabled)
Examples
{
    "api_key": "1234567890",
    "sender": "628973134240",
    "number": "6285260xxxxx",
    "message": "Hello World",
    "footer": "Sent via AutoWA vGateway"
}
JSON Response 200 OK
{
    "status": true,
    "msg": "Message sent successfully!"
}
POST GET

Send Media Message

Api Docs Sending Media Messages. Gunakan endpoint ini untuk mengirim file media berserta caption.

POST/GET https://app.autowa.co/send-media

Parameters

Parameter Type Description
api_key Yes string API Key
sender Yes string Number of your device
number Yes string Recipient number ex 72888xxxx | 62888xxxx
media_type Yes string Allow: image, video, audio, document
caption No string Caption/message
footer No string Footer under message
url Yes string Direct URL of media (not Google Drive, Dropbox, etc.)
msgid No string Quoted message ID to reply to
full No number Show full response from WhatsApp
Examples
{
    "api_key": "1234567890",
    "sender": "628973134240",
    "number": "6285260xxxxx",
    "media_type": "image",
    "caption": "Hello World",
    "footer": "Sent via mpwa",
    "url": "https://example.com/image.jpg"
}
JSON Response 200 OK
{
    "status": true,
    "msg": "Message sent successfully!"
}
POST

Send Product Carousel

Send 2 to 10 swipeable product cards in one WhatsApp message.

POST https://app.autowa.co/send-product

Parameters

Parameter Type Description
api_key Yes string API Key
sender Yes string Connected sender number
number Yes string/array Recipient number(s)
catalog_carousel.body No string Main description displayed above the cards
catalog_carousel.cards Yes array 2 to 10 cards
cards[].image Yes URL Public JPG, PNG, or WebP URL
cards[].description Yes string Card description
cards[].footer No string Optional footer at the bottom of each card
cards[].buttons Yes array 1 or 2 buttons: url, reply, list, call, or copy
buttons[].value string Conditional: Required for URL, Call, Copy. Omit for Reply and List.
buttons[].list object Conditional: Open List displays the available options.
Example Request
{
  "api_key": "YOUR_API_KEY",
  "sender": "628973134240",
  "number": "6285260xxxxx",
  "catalog_carousel": {
    "body": "Choose the product you need",
    "cards": [
      {
        "image": "https://example.com/product-1.jpg",
        "description": "Premium Coffee Beans\nFreshly roasted",
        "footer": "Free delivery today",
        "buttons": [
          {"type":"url", "text":"Shop Now", "value":"https://example.com/products/1"},
          {
            "type":"list",
            "text":"Choose Variant",
            "list": {
              "sections":[{"title":"Sizes","rows":[
                {"title":"250 gram","value":"coffee_250"},
                {"title":"500 gram","value":"coffee_500"}
              ]}]
            }
          }
        ]
      },
      {
        "image": "https://example.com/product-2.jpg",
        "description": "Cold Brew Bundle",
        "footer": "Ready to ship",
        "buttons": [
          {"type":"url", "text":"Shop Now", "value":"https://example.com/products/2"},
          {
            "type":"list",
            "text":"Choose Bundle",
            "list": {
              "sections":[{"title":"Bundles","rows":[
                {"title":"Starter Bundle","value":"brew_starter"},
                {"title":"Family Bundle","value":"brew_family"}
              ]}]
            }
          }
        ]
      }
    ]
  },
  "full": 1
}
POST

Send Button Interactive

Send a WhatsApp Interactive Button message with up to four buttons and an optional image.

POST https://app.autowa.co/send-button

Parameters

Parameter Type Description
api_key Yes string API key.
sender Yes string Connected WhatsApp sender number.
number Yes string Recipient number in international format without +.
message Yes string Message text or image caption.
footer No string Footer text.
image No string Public HTTPS image URL.
button Yes array One to four buttons. Supported types: reply, url, call, copy.
Example Request
{
  "api_key": "YOUR_API_KEY",
  "sender": "628973134240",
  "number": "6285260xxxxx",
  "message": "Choose an action below.",
  "footer": "NonFisik Indonesia",
  "image": "https://example.com/image.jpg",
  "button": [
    {"type":"reply","displayText":"Confirm"},
    {"type":"url","displayText":"Open Website","url":"https://nonfisik.id"},
    {"type":"call","displayText":"Call Us","phoneNumber":"+628973134240"},
    {"type":"copy","displayText":"Copy Code","copyCode":"PROMO2026"}
  ]
}
JSON Response 200 OK
{
  "status": true,
  "msg": "Message sent successfully!"
}
POST

Send Button List Message

Send a WhatsApp list message with sections and selectable rows. Images are not supported for this message type.

POST https://app.autowa.co/send-list

Parameters

Parameter Type Description
api_key Yes string API key.
sender Yes string Connected WhatsApp sender number.
number Yes string Recipient number in international format without +.
name Yes string Internal list name.
title Yes string List title.
message Yes string Main message text.
buttontext Yes string Button label used to open the list.
footer No string Footer text.
sections Yes array One to five sections. Each section contains selectable rows.
sections[].rows[].title Yes string Row title.
sections[].rows[].rowId Yes string Unique row ID returned when the user selects the row.
sections[].rows[].description No string Row description.
Example Request
{
  "api_key": "YOUR_API_KEY",
  "sender": "628973134240",
  "number": "6285260xxxxx",
  "name": "Customer Service Menu",
  "title": "Choose a Service",
  "message": "Hello, choose one of the available services.",
  "buttontext": "Open Menu",
  "footer": "NonFisik Indonesia",
  "sections": [
    {
      "title": "Services",
      "rows": [
        {"rowId":"sales", "title":"Sales", "description":"Product and pricing information"},
        {"rowId":"support", "title":"Technical Support", "description":"Get help with your account"}
      ]
    }
  ]
}
JSON Response 200 OK
{
  "status": true,
  "msg": "Message sent successfully!"
}
POST

Send Event Message

Send WhatsApp Event Messages with built-in RSVP responses.

POST https://app.autowa.co/send-event

Parameters

Parameter Type Description
api_key Yes string Your API key.
sender Yes string Connected WhatsApp sender number owned by the API user.
number str/arr Cond One receiver or multiple receivers separated by |, comma, or a new line.
chatId string Cond WhatsApp chat ID (ex 628xxx@c.us). Use this instead of number when needed.
event.name Yes string Event title.
event.description No string Event details. New lines and WhatsApp formatting are supported.
event.startTime Yes integer Unix timestamp in seconds.
event.endTime No int/null Unix timestamp in seconds or null.
event.location.name No string Location name.
event.extraGuestsAllowed No boolean Allow recipients to add an extra guest count.
full No boolean Return per-recipient delivery results.
Example Request
{
  "api_key": "YOUR_API_KEY",
  "sender": "6281234567890",
  "number": "6289876543210|6281111111111",
  "event": {
    "name": "Customer Appointment",
    "description": "Appointment reminder\n\n*Location:* Main Office",
    "startTime": 1783234800,
    "endTime": null,
    "location": {
      "name": "Main Office"
    },
    "extraGuestsAllowed": false
  },
  "full": true
}
JSON Response 200 OK
{
  "status": true,
  "message": "Event Message sent successfully.",
  "success": 2,
  "failed": 0,
  "data": [
    {
      "number": "6289876543210",
      "status": true,
      "message_id": "3EB0..."
    }
  ]
}
POST GET

Send VCard

Api Docs Sending VCard Messages.

POST/GET https://app.autowa.co/send-vcard

Parameters

Parameter Type Description
api_key Yes string API Key
sender Yes string Number of your device
number Yes string Recipient number ex 72888xxxx | 62888xxxx
name Yes string Contact name ex Magd Almuntaser
phone Yes string Contact phone number ex 6281222xxxxxx
msgid No string Quoted message ID to reply to
full No number Show full response from WhatsApp
Examples
{
    "api_key": "1234567890",
    "sender": "628973134240",
    "number": "6285260xxxxx",
    "name": "Support NonFisik",
    "phone": "628993134xxxx"
}
JSON Response 200 OK
{
    "status": true,
    "msg": "Message sent successfully!"
}
POST GET

Send Location

Api Docs Sending Location Messages.

POST/GET https://app.autowa.co/send-location

Parameters

Parameter Type Description
api_key Yes string API Key
sender Yes string Number of your device
number Yes string Recipient number ex 72888xxxx | 62888xxxx
latitude Yes string Latitude ex 24.121231
longitude Yes string Longitude ex 55.1121221
msgid No string Quoted message ID to reply to
full No number Show full response from WhatsApp
Examples
{
    "api_key": "1234567890",
    "sender": "628973134240",
    "number": "6285260xxxxx",
    "latitude": "24.121231",
    "longitude": "55.1121221"
}
JSON Response 200 OK
{
    "status": true,
    "msg": "Message sent successfully!"
}
POST GET

Send Sticker

Api Docs Sending Sticker Messages.

Note: Make sure the url is a direct link, not a shared link from Google Drive or other cloud storage.

POST/GET https://app.autowa.co/send-sticker

Parameters

Parameter Type Description
api_key Yes string API Key
sender Yes string Number of your device
number Yes string Recipient number ex 72888xxxx | 62888xxxx
url Yes string Direct URL of sticker (image/gif → converted to webp)
msgid No string Quoted message ID to reply to
full No number Show full response from WhatsApp
Examples
{
    "api_key": "1234567890",
    "sender": "628973134240",
    "number": "6285260xxxxx",
    "url": "https://example.com/image.jpg"
}
JSON Response 200 OK
{
    "status": true,
    "msg": "Message sent successfully!"
}
POST GET

Send Polling

Api Docs Sending Poll Messages.

POST/GET https://app.autowa.co/send-poll

Parameters

Parameter Type Description
api_key Yes string API Key
sender Yes string Number of your device
number Yes string Recipient number ex 72888xxxx | 62888xxxx
name Yes string Name or poll question
option Yes array Values of poll message
msgid No string Quoted message ID to reply to
countable Yes string 1 = allow one option only, 0 = allow multiple
full No number Show full response from WhatsApp
Examples
{
    "sender": "628973134240",
    "api_key": "1234567890",
    "number": "6285260xxxxx",
    "countable": "1",
    "name": "what color do you like?",
    "option": ["red", "blue", "yellow"]
}
JSON Response 200 OK
{
    "status": true,
    "msg": "Message sent successfully!"
}
POST GET

Send Text To Channel API

Api Docs Sending Text Messages To Channel

POST/GET https://app.autowa.co/send-text-channel

Request Body (JSON If POST)

Parameter Type Description
api_key Yes string API Key
sender Yes string Number of your device
url Yes string Channel URL ex https://whatsapp.com/channel/ABCDEF123456
message Yes string Message to be sent
footer No string Footer under message
full No number Show full response from WhatsApp
Examples
{
    "api_key": "1234567890",
    "sender": "628973134240",
    "url": "https://whatsapp.com/channel/ABCDEF123456",
    "message": "Hello World",
    "footer": "Sent via AutoWA vGateway"
}
JSON Response 200 OK
{
    "status": true,
    "msg": "Message sent successfully!"
}
POST GET

Send Media To Channel API

Api Docs Sending Media Messages To WhatsApp Channel (Image, Video, Audio)

POST/GET https://app.autowa.co/send-media-channel

Request Body (JSON If POST)

Parameter Type Description
api_key Yes string API Key
sender Yes string Number of your device
url Yes string Channel URL ex https://whatsapp.com/channel/ABCDEF123456
media_url Yes string URL of the media file
media_type Yes string Type of media: image, video, audio
caption No string Caption for the media (not supported with audio)
full No number Show full response from WhatsApp (1 = enabled)
Example Request
{
    "api_key": "1234567890",
    "sender": "6281222xxxxxx",
    "url": "https://whatsapp.com/channel/ABCDEF123456",
    "media_url": "https://example.com/photo.jpg",
    "media_type": "image",
    "caption": "Hello Channel!"
}
JSON Response 200 OK
{
    "status": true,
    "msg": "Message sent successfully!"
}
POST GET

Send Poll To Channel API

Api Docs Sending Poll Messages To WhatsApp Channel

POST/GET https://app.autowa.co/send-poll-channel

Request Body (JSON If POST)

Parameter Type Description
api_key Yes string API Key
sender Yes string Number of your device
url Yes string Channel URL ex https://whatsapp.com/channel/ABCDEF123456
name Yes string Poll question
options Yes array Poll options (min 2). JSON array: ["Option 1","Option 2"]
countable No string Allow multiple answers: true / false (default: true)
full No number Show full response from WhatsApp (1 = enabled)
Example Request
{
    "api_key": "1234567890",
    "sender": "6281222xxxxxx",
    "url": "https://whatsapp.com/channel/ABCDEF123456",
    "name": "What is your favorite color?",
    "options": ["Red", "Blue", "Green"],
    "countable": "true"
}
JSON Response 200 OK
{
    "status": true,
    "msg": "Message sent successfully!"
}
POST GET

Send Quiz To Channel API

Api Docs Sending Quiz Messages To WhatsApp Channel

POST/GET https://app.autowa.co/send-quiz-channel

Request Body (JSON If POST)

Parameter Type Description
api_key Yes string API Key
sender Yes string Number of your device
url Yes string Channel URL ex https://whatsapp.com/channel/ABCDEF123456
question Yes string Quiz question
options Yes array Quiz options (min 2). JSON array: ["Paris","London","Berlin"]
correct_index No number Index of the correct answer (0-based, default: 0)
full No number Show full response from WhatsApp (1 = enabled)
Example Request
{
    "api_key": "1234567890",
    "sender": "6281222xxxxxx",
    "url": "https://whatsapp.com/channel/ABCDEF123456",
    "question": "What is the capital of France?",
    "options": ["Paris", "London", "Berlin"],
    "correct_index": 0
}
JSON Response 200 OK
{
    "status": true,
    "msg": "Message sent successfully!"
}
POST GET

Send Sticker To Channel API

Api Docs Sending Sticker Messages To WhatsApp Channel

POST/GET https://app.autowa.co/send-sticker-channel

Request Body (JSON If POST)

Parameter Type Description
api_key Yes string API Key
sender Yes string Number of your device
url Yes string Channel URL ex https://whatsapp.com/channel/ABCDEF123456
sticker_url Yes string URL of the sticker file (webp, png, jpg)
full No number Show full response from WhatsApp (1 = enabled)
Example Request
{
    "api_key": "1234567890",
    "sender": "6281222xxxxxx",
    "url": "https://whatsapp.com/channel/ABCDEF123456",
    "sticker_url": "https://example.com/sticker.webp"
}
JSON Response 200 OK
{
    "status": true,
    "msg": "Message sent successfully!"
}
POST GET

Check Number

Api Docs Checking Number. Gunakan endpoint ini untuk memverifikasi apakah suatu nomor terdaftar di WhatsApp.

POST/GET https://app.autowa.co/check-number

Parameters

Parameter Type Description
api_key Yes string API Key
sender Yes string your number ex 62888xxxx
number Yes string any number ex 62888xxxx
Example Request
{
    "api_key": "1234567890",
    "sender": "628973134240",
    "number": "6285260xxxxx"
}
JSON Response 200 OK
{
    "status": true,
    "msg": {
        "exists": true,
        "jid": "6285260xxxxx@s.whatsapp.net"
    }
}
POST GET

Fetch WhatsApp Contacts

Export contacts from the selected connected WhatsApp sender.

POST/GET https://app.autowa.co/api/smart-phonebook/export-contacts

Parameters

Parameter Type Description
api_key Yes string API key from the dashboard.
sender Yes string Connected WhatsApp sender, for example 628973134240.
search No string Optional filter by contact name or number.
limit No number Number of contacts returned. Default 1000, maximum 50000.
refresh No bool/num Refresh contact data before returning the response. Use 1 to refresh or 0 to use available data.
Example Request
{
    "api_key": "YOUR_API_KEY",
    "sender": "628973134240",
    "limit": 1000,
    "refresh": 1
}
JSON Response 200 OK
{
    "status": true,
    "msg": "Contacts exported successfully.",
    "sender": "628973134240",
    "count": 1,
    "data": [
        {
            "number": "6285260xxxxx",
            "name": "Budi Client"
        }
    ]
}
WEBHOOK POST

Webhook Example

Make Webhook Like AutoResponder

Webhook is a feature that allows you to receive a callback from our server when a message is incoming to your device. You can use this feature for made a dinamic chatbot or whatever you want.

We will send a POST request to your webhook url with a JSON body. Here is an example of the JSON body we will send:

For example webhook you can see in Here .

Webhook JSON Body POST
{
    "device" : "your sender/device"
    "message" : "message",
    "from" : "the number of the whatsapp sender",
    "name" : "the name of the sender",
    "participant" : "sender number if group",
    "ppUrl" : "url profile picture sender",
    "media" : [
        "caption" : "caption, equal to message",
        "fileName" : "xxxx.xx",
        "stream" : [
            "type" : "Buffer",
            "data" : "xxxx"
        ]
    ],
    "mimetype" : "image\/jpeg" // depends to media type, could be image,document,audio etc
}