app

Initial Connection to Whatsapp server





Login with pairing code

GET /app/login-with-code

Query parameters

  • phone string

    Your phone number

Responses

  • 200 application/json

    OK

    Hide response attributes Show response attributes object
    • code string
    • message string
    • results object
      Hide results attribute Show results attribute object
      • pair_code string
  • 500 application/json

    Internal Server Error

    Hide response attributes Show response attributes object
    • code string

      SYSTEM_CODE_ERROR

    • message string

      Detail error message

    • results object

      additional data

GET /app/login-with-code
curl \
 --request GET 'http://localhost:3000/app/login-with-code' \
 --user "username:password"
Response examples (200)
{
  "code": "SUCCESS",
  "message": "Success",
  "results": {
    "pair_code": "ABCD-1234"
  }
}
Response examples (500)
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "you are not loggin",
  "results": {}
}








Get list connected devices

GET /app/devices

Responses

  • 200 application/json

    OK

    Hide response attributes Show response attributes object
    • code string
    • message string
    • results array[object]
      Hide results attributes Show results attributes object
      • name string
      • device string
  • 500 application/json

    Internal Server Error

    Hide response attributes Show response attributes object
    • code string

      SYSTEM_CODE_ERROR

    • message string

      Detail error message

    • results object

      additional data

GET /app/devices
curl \
 --request GET 'http://localhost:3000/app/devices' \
 --user "username:password"
Response examples (200)
{
  "code": "SUCCESS",
  "message": "Fetch device success",
  "results": [
    {
      "name": "Aldino Kemal",
      "device": "628960561XXX.0:64@s.whatsapp.net"
    }
  ]
}
Response examples (500)
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "you are not loggin",
  "results": {}
}

User Info

GET /user/info

Query parameters

  • phone string

    Phone number with country code

Responses

  • 200 application/json

    OK

    Hide response attributes Show response attributes object
    • code string Required
    • message string Required
    • results object Required
      Hide results attributes Show results attributes object
      • verified_name string
      • status string
      • picture_id string
      • devices array[object]
        Hide devices attributes Show devices attributes object
        • User string
        • Agent integer
        • Device string
        • Server string
        • AD boolean
  • 400 application/json

    Bad Request

    Hide response attributes Show response attributes object
    • code string

      HTTP Status Code

    • message string

      Detail error message

    • results object

      additional data

  • 500 application/json

    Internal Server Error

    Hide response attributes Show response attributes object
    • code string

      SYSTEM_CODE_ERROR

    • message string

      Detail error message

    • results object

      additional data

GET /user/info
curl \
 --request GET 'http://localhost:3000/user/info' \
 --user "username:password"
Response examples (200)
{
  "code": "SUCCESS",
  "message": "Success",
  "results": {
    "verified_name": "Aldino Kemal",
    "status": "Hello World",
    "picture_id": 1651459152,
    "devices": [
      {
        "User": 6289685021291,
        "Agent": 0,
        "Device": "UNKNOWN",
        "Server": "s.whatsapp.net",
        "AD": true
      }
    ]
  }
}
Response examples (400)
{
  "code": 400,
  "message": "field cannot be blank",
  "results": {}
}
Response examples (500)
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "you are not loggin",
  "results": {}
}
























Get list of user contacts

GET /user/my/contacts

Responses

  • 200 application/json

    OK

    Hide response attributes Show response attributes object
    • code string
    • message string
    • results object
      Hide results attribute Show results attribute object
      • data array[object]
        Hide data attributes Show data attributes object
        • jid string
        • name string
  • 500 application/json

    Internal Server Error

    Hide response attributes Show response attributes object
    • code string

      SYSTEM_CODE_ERROR

    • message string

      Detail error message

    • results object

      additional data

GET /user/my/contacts
curl \
 --request GET 'http://localhost:3000/user/my/contacts' \
 --user "username:password"
Response examples (200)
{
  "code": "SUCCESS",
  "message": "Success get list contacts",
  "results": {
    "data": [
      {
        "jid": "628123123123123@s.whatsapp.net",
        "name": "Aldino Kemal"
      }
    ]
  }
}
Response examples (500)
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "you are not loggin",
  "results": {}
}




Get Business Profile Information

GET /user/business-profile

Retrieve detailed business profile information for a WhatsApp business account

Query parameters

  • phone string Required

    Phone number with country code of the business account

Responses

  • 200 application/json

    OK

    Hide response attributes Show response attributes object
    • code string
    • message string
    • results object
      Hide results attributes Show results attributes object
      • jid string

        Business account JID

      • email string

        Business email address

      • address string

        Business physical address

      • categories array[object]

        Business categories

        Hide categories attributes Show categories attributes object
        • id string
        • name string
      • profile_options object

        Additional profile options

      • business_hours_timezone string

        Business hours timezone

      • business_hours array[object]

        Business operating hours

        Hide business_hours attributes Show business_hours attributes object
        • day_of_week string
        • mode string
        • open_time string
        • close_time string
  • 400 application/json

    Bad Request

    Hide response attributes Show response attributes object
    • code string

      HTTP Status Code

    • message string

      Detail error message

    • results object

      additional data

  • 500 application/json

    Internal Server Error

    Hide response attributes Show response attributes object
    • code string

      SYSTEM_CODE_ERROR

    • message string

      Detail error message

    • results object

      additional data

GET /user/business-profile
curl \
 --request GET 'http://localhost:3000/user/business-profile?phone=6289685028129%40s.whatsapp.net' \
 --user "username:password"
Response examples (200)
{
  "code": "SUCCESS",
  "message": "Success get business profile",
  "results": {
    "jid": "6289685028129@s.whatsapp.net",
    "email": "business@example.com",
    "address": "123 Business Street, City, Country",
    "categories": [
      {
        "id": "retail",
        "name": "Retail Store"
      }
    ],
    "profile_options": {
      "website": "https://example.com",
      "description": "Business description"
    },
    "business_hours_timezone": "Asia/Jakarta",
    "business_hours": [
      {
        "day_of_week": "monday",
        "mode": "open",
        "open_time": "09:00",
        "close_time": "18:00"
      }
    ]
  }
}
Response examples (400)
{
  "code": 400,
  "message": "field cannot be blank",
  "results": {}
}
Response examples (500)
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "you are not loggin",
  "results": {}
}

















Send Video

POST /send/video
multipart/form-data

Body

  • phone string

    Phone number with country code

  • caption string

    Caption to send

  • view_once boolean

    View once

  • video string(binary)

    Video to send

  • video_url string

    Video URL to send

  • compress boolean

    Compress video

  • duration integer

    Disappearing message duration in seconds (optional)

  • is_forwarded boolean

    Whether this is a forwarded message

Responses

  • 200 application/json

    OK

    Hide response attributes Show response attributes object
    • code string
    • message string
    • results object
      Hide results attributes Show results attributes object
      • message_id string
      • status string
  • 400 application/json

    Bad Request

    Hide response attributes Show response attributes object
    • code string

      HTTP Status Code

    • message string

      Detail error message

    • results object

      additional data

  • 500 application/json

    Internal Server Error

    Hide response attributes Show response attributes object
    • code string

      SYSTEM_CODE_ERROR

    • message string

      Detail error message

    • results object

      additional data

POST /send/video
curl \
 --request POST 'http://localhost:3000/send/video' \
 --user "username:password" \
 --header "Content-Type: multipart/form-data" \
 --form "phone=6289685028129@s.whatsapp.net" \
 --form "caption=ini contoh caption video" \
 --form "view_once=false" \
 --form "video=@file" \
 --form "video_url=https://example.com/sample.mp4" \
 --form "compress=false" \
 --form "duration=3600" \
 --form "is_forwarded=false"
Response examples (200)
{
  "code": "SUCCESS",
  "message": "Success",
  "results": {
    "message_id": "3EB0B430B6F8F1D0E053AC120E0A9E5C",
    "status": "<feature> success ...."
  }
}
Response examples (400)
{
  "code": 400,
  "message": "field cannot be blank",
  "results": {}
}
Response examples (500)
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "you are not loggin",
  "results": {}
}

Send Contact

POST /send/contact
application/json

Body

  • phone string

    Phone number with country code

  • contact_name string

    Contact name

  • contact_phone string

    Contact phone number

  • is_forwarded boolean

    Whether this is a forwarded message

  • duration integer

    Disappearing message duration in seconds (optional)

Responses

  • 200 application/json

    OK

    Hide response attributes Show response attributes object
    • code string
    • message string
    • results object
      Hide results attributes Show results attributes object
      • message_id string
      • status string
  • 400 application/json

    Bad Request

    Hide response attributes Show response attributes object
    • code string

      HTTP Status Code

    • message string

      Detail error message

    • results object

      additional data

  • 500 application/json

    Internal Server Error

    Hide response attributes Show response attributes object
    • code string

      SYSTEM_CODE_ERROR

    • message string

      Detail error message

    • results object

      additional data

POST /send/contact
curl \
 --request POST 'http://localhost:3000/send/contact' \
 --user "username:password" \
 --header "Content-Type: application/json" \
 --data '{"phone":"6289685024051@s.whatsapp.net","contact_name":"Aldino Kemal","contact_phone":"6289685024992","is_forwarded":false,"duration":3600}'
Request examples
{
  "phone": "6289685024051@s.whatsapp.net",
  "contact_name": "Aldino Kemal",
  "contact_phone": "6289685024992",
  "is_forwarded": false,
  "duration": 3600
}
Response examples (200)
{
  "code": "SUCCESS",
  "message": "Success",
  "results": {
    "message_id": "3EB0B430B6F8F1D0E053AC120E0A9E5C",
    "status": "<feature> success ...."
  }
}
Response examples (400)
{
  "code": 400,
  "message": "field cannot be blank",
  "results": {}
}
Response examples (500)
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "you are not loggin",
  "results": {}
}

Send Link

POST /send/link
application/json
POST /send/link
curl \
 --request POST 'http://localhost:3000/send/link' \
 --user "username:password" \
 --header "Content-Type: application/json" \
 --data '{"phone":"6289685024051@s.whatsapp.net","link":"https://google.com","caption":"Halo ini contoh caption","is_forwarded":false,"duration":3600}'
Request examples
{
  "phone": "6289685024051@s.whatsapp.net",
  "link": "https://google.com",
  "caption": "Halo ini contoh caption",
  "is_forwarded": false,
  "duration": 3600
}
Response examples (200)
{
  "code": "SUCCESS",
  "message": "Success",
  "results": {
    "message_id": "3EB0B430B6F8F1D0E053AC120E0A9E5C",
    "status": "<feature> success ...."
  }
}
Response examples (400)
{
  "code": 400,
  "message": "field cannot be blank",
  "results": {}
}
Response examples (500)
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "you are not loggin",
  "results": {}
}












Send chat presence (typing indicator)

POST /send/chat-presence

Send typing indicator to start or stop showing that you are composing a message

application/json

Body Required

  • phone string Required

    Phone number with country code

  • action string Required

    Action to perform - "start" to begin typing indicator, "stop" to end typing indicator

    Values are start or stop.

Responses

  • 200 application/json

    OK

    Hide response attributes Show response attributes object
    • code string
    • message string
    • results object
      Hide results attributes Show results attributes object
      • message_id string
      • status string
  • 400 application/json

    Bad Request

    Hide response attributes Show response attributes object
    • code string

      HTTP Status Code

    • message string

      Detail error message

    • results object

      additional data

  • 500 application/json

    Internal Server Error

    Hide response attributes Show response attributes object
    • code string

      SYSTEM_CODE_ERROR

    • message string

      Detail error message

    • results object

      additional data

POST /send/chat-presence
curl \
 --request POST 'http://localhost:3000/send/chat-presence' \
 --user "username:password" \
 --header "Content-Type: application/json" \
 --data '{"phone":"6289685024051@s.whatsapp.net","action":"start"}'
Request examples
{
  "phone": "6289685024051@s.whatsapp.net",
  "action": "start"
}
Response examples (200)
{
  "code": "SUCCESS",
  "message": "Success",
  "results": {
    "message_id": "3EB0B430B6F8F1D0E053AC120E0A9E5C",
    "status": "<feature> success ...."
  }
}
Response examples (400)
{
  "code": 400,
  "message": "field cannot be blank",
  "results": {}
}
Response examples (500)
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "you are not loggin",
  "results": {}
}

message

Message manipulation (revoke/react/update).

Revoke Message

POST /message/{message_id}/revoke

Path parameters

  • message_id string Required

    Message ID

application/json

Body

  • phone string

    Phone number with country code

Responses

  • 200 application/json

    OK

    Hide response attributes Show response attributes object
    • code string
    • message string
    • results object
      Hide results attributes Show results attributes object
      • message_id string
      • status string
  • 400 application/json

    Bad Request

    Hide response attributes Show response attributes object
    • code string

      HTTP Status Code

    • message string

      Detail error message

    • results object

      additional data

  • 500 application/json

    Internal Server Error

    Hide response attributes Show response attributes object
    • code string

      SYSTEM_CODE_ERROR

    • message string

      Detail error message

    • results object

      additional data

POST /message/{message_id}/revoke
curl \
 --request POST 'http://localhost:3000/message/{message_id}/revoke' \
 --user "username:password" \
 --header "Content-Type: application/json" \
 --data '{"phone":"6289685024051@s.whatsapp.net"}'
Request examples
{
  "phone": "6289685024051@s.whatsapp.net"
}
Response examples (200)
{
  "code": "SUCCESS",
  "message": "Success",
  "results": {
    "message_id": "3EB0B430B6F8F1D0E053AC120E0A9E5C",
    "status": "<feature> success ...."
  }
}
Response examples (400)
{
  "code": 400,
  "message": "field cannot be blank",
  "results": {}
}
Response examples (500)
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "you are not loggin",
  "results": {}
}




Send reaction to message

POST /message/{message_id}/reaction

Path parameters

  • message_id string Required

    Message ID

application/json

Body

  • phone string

    Phone number with country code

  • emoji string

    Emoji to react

Responses

  • 200 application/json

    OK

    Hide response attributes Show response attributes object
    • code string
    • message string
    • results object
      Hide results attributes Show results attributes object
      • message_id string
      • status string
  • 400 application/json

    Bad Request

    Hide response attributes Show response attributes object
    • code string

      HTTP Status Code

    • message string

      Detail error message

    • results object

      additional data

  • 500 application/json

    Internal Server Error

    Hide response attributes Show response attributes object
    • code string

      SYSTEM_CODE_ERROR

    • message string

      Detail error message

    • results object

      additional data

POST /message/{message_id}/reaction
curl \
 --request POST 'http://localhost:3000/message/{message_id}/reaction' \
 --user "username:password" \
 --header "Content-Type: application/json" \
 --data '{"phone":"6289685024051@s.whatsapp.net","emoji":"🙏"}'
Request examples
{
  "phone": "6289685024051@s.whatsapp.net",
  "emoji": "🙏"
}
Response examples (200)
{
  "code": "SUCCESS",
  "message": "Success",
  "results": {
    "message_id": "3EB0B430B6F8F1D0E053AC120E0A9E5C",
    "status": "<feature> success ...."
  }
}
Response examples (400)
{
  "code": 400,
  "message": "field cannot be blank",
  "results": {}
}
Response examples (500)
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "you are not loggin",
  "results": {}
}

Edit message by message ID before 15 minutes

POST /message/{message_id}/update

Path parameters

  • message_id string Required

    Message ID

application/json

Body

  • phone string Required

    Phone number with country code

  • message string Required

    New message to send

Responses

  • 200 application/json

    OK

    Hide response attributes Show response attributes object
    • code string
    • message string
    • results object
      Hide results attributes Show results attributes object
      • message_id string
      • status string
  • 400 application/json

    Bad Request

    Hide response attributes Show response attributes object
    • code string

      HTTP Status Code

    • message string

      Detail error message

    • results object

      additional data

  • 500 application/json

    Internal Server Error

    Hide response attributes Show response attributes object
    • code string

      SYSTEM_CODE_ERROR

    • message string

      Detail error message

    • results object

      additional data

POST /message/{message_id}/update
curl \
 --request POST 'http://localhost:3000/message/{message_id}/update' \
 --user "username:password" \
 --header "Content-Type: application/json" \
 --data '{"phone":"62819273192397132@s.whatsapp.net","message":"Hello World"}'
Request examples
{
  "phone": "62819273192397132@s.whatsapp.net",
  "message": "Hello World"
}
Response examples (200)
{
  "code": "SUCCESS",
  "message": "Success",
  "results": {
    "message_id": "3EB0B430B6F8F1D0E053AC120E0A9E5C",
    "status": "<feature> success ...."
  }
}
Response examples (400)
{
  "code": 400,
  "message": "field cannot be blank",
  "results": {}
}
Response examples (500)
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "you are not loggin",
  "results": {}
}

Mark as read message

POST /message/{message_id}/read

Path parameters

  • message_id string Required

    Message ID

application/json

Body

  • phone string Required

    Phone number with country code

Responses

  • 200 application/json

    OK

    Hide response attributes Show response attributes object
    • code string
    • message string
    • results object
      Hide results attributes Show results attributes object
      • message_id string
      • status string
  • 400 application/json

    Bad Request

    Hide response attributes Show response attributes object
    • code string

      HTTP Status Code

    • message string

      Detail error message

    • results object

      additional data

  • 500 application/json

    Internal Server Error

    Hide response attributes Show response attributes object
    • code string

      SYSTEM_CODE_ERROR

    • message string

      Detail error message

    • results object

      additional data

POST /message/{message_id}/read
curl \
 --request POST 'http://localhost:3000/message/{message_id}/read' \
 --user "username:password" \
 --header "Content-Type: application/json" \
 --data '{"phone":"62819273192397132@s.whatsapp.net"}'
Request examples
{
  "phone": "62819273192397132@s.whatsapp.net"
}
Response examples (200)
{
  "code": "SUCCESS",
  "message": "Success",
  "results": {
    "message_id": "3EB0B430B6F8F1D0E053AC120E0A9E5C",
    "status": "<feature> success ...."
  }
}
Response examples (400)
{
  "code": 400,
  "message": "field cannot be blank",
  "results": {}
}
Response examples (500)
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "you are not loggin",
  "results": {}
}

Star message

POST /message/{message_id}/star

Path parameters

  • message_id string Required

    Message ID

application/json

Body

  • phone string Required

    Phone number with country code

Responses

  • 200 application/json

    OK

    Hide response attributes Show response attributes object
    • code string
    • message string
    • results string
  • 400 application/json

    Bad Request

    Hide response attributes Show response attributes object
    • code string

      HTTP Status Code

    • message string

      Detail error message

    • results object

      additional data

  • 500 application/json

    Internal Server Error

    Hide response attributes Show response attributes object
    • code string

      SYSTEM_CODE_ERROR

    • message string

      Detail error message

    • results object

      additional data

POST /message/{message_id}/star
curl \
 --request POST 'http://localhost:3000/message/{message_id}/star' \
 --user "username:password" \
 --header "Content-Type: application/json" \
 --data '{"phone":"62819273192397132@s.whatsapp.net"}'
Request examples
{
  "phone": "62819273192397132@s.whatsapp.net"
}
Response examples (200)
{
  "code": "SUCCESS",
  "message": "Success",
  "results": "string"
}
Response examples (400)
{
  "code": 400,
  "message": "field cannot be blank",
  "results": {}
}
Response examples (500)
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "you are not loggin",
  "results": {}
}

Unstar message

POST /message/{message_id}/unstar

Path parameters

  • message_id string Required

    Message ID

application/json

Body

  • phone string Required

    Phone number with country code

Responses

  • 200 application/json

    OK

    Hide response attributes Show response attributes object
    • code string
    • message string
    • results string
  • 400 application/json

    Bad Request

    Hide response attributes Show response attributes object
    • code string

      HTTP Status Code

    • message string

      Detail error message

    • results object

      additional data

  • 500 application/json

    Internal Server Error

    Hide response attributes Show response attributes object
    • code string

      SYSTEM_CODE_ERROR

    • message string

      Detail error message

    • results object

      additional data

POST /message/{message_id}/unstar
curl \
 --request POST 'http://localhost:3000/message/{message_id}/unstar' \
 --user "username:password" \
 --header "Content-Type: application/json" \
 --data '{"phone":"62819273192397132@s.whatsapp.net"}'
Request examples
{
  "phone": "62819273192397132@s.whatsapp.net"
}
Response examples (200)
{
  "code": "SUCCESS",
  "message": "Success",
  "results": "string"
}
Response examples (400)
{
  "code": 400,
  "message": "field cannot be blank",
  "results": {}
}
Response examples (500)
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "you are not loggin",
  "results": {}
}

chat

Chat conversations and messaging