WhatsApp API

Documentation • January 2026

Simple, reliable, local-first WhatsApp messaging API

GET /api/health
Response
successboolean
statusstring → always "running"
uptimenumber → seconds
timestampstring → ISO 8601
GET /api/control/status
Response Fields
successboolean
clientStatestring"authenticated" | "connecting" | "inactive"
phonestring | null
pushnamestring | null
statsobject
sent number
received number
isCreatingboolean
GET /api/login
Response
successboolean
loggedInboolean
phonestring | null
qrstring | null (base64 when needed)
messagestring (when QR not ready)
POST /api/send
Request Body
toREQUIREDstring | string[]
Examples: "923001234567"["92300...","9234..."]
textstring optional
filePathstring optional (absolute server path)
Note: You must provide at least one of text or filePath
Success Response
successtrue
messageIdstring
resolvedTostring (final chat id)
namestring
POST /api/get-messages
Request Body
identifierREQUIREDstring
phone / name / chatId
identifierTypestring optional
"name" | "phone" | "chatId" • default: "name"
limitnumber optional • default 50 • max ~500
Success Response
successtrue
chatIdstring
namestring
messagesarray<object>
{
  "messageId":    "true_92300..._BAE5...",
  "from":         "92300...",
  "author":       null | "group participant",
  "fromMe":       boolean,
  "body":         string,
  "timestamp":    "2026-01-10T13:45:22.000Z",
  "type":         "chat" | "image" | "video" | "document" | ...,
  "hasMedia":     boolean,
  "hasQuotedMsg": boolean,
  "quotedMsgId":  string | null
}
GET /api/get-contacts
POST /api/control/clear-session
POST /api/logout
Happy building! May your sessions always stay connected 🔥
(and never get banned pls)