Skip to main content
Most WaGo endpoints return JSON. The exact payload differs by endpoint, but the common shape is:
{
  "code": 200,
  "data": {},
  "success": true
}
Errors commonly return:
{
  "code": 500,
  "error": "human readable error",
  "success": false
}
Some newer endpoints return direct JSON objects with fields like details, call, calls, iceServers, sdp, or turn. Treat the HTTP status code and success value as the first signal, then read the endpoint-specific fields.

HTTP status codes

StatusMeaning
200Request was accepted and completed.
400JSON body is invalid or a required field is missing.
401 / 403Token or admin token is missing or invalid.
404The target resource was not found, such as a callID or player session.
500WhatsApp, media, filesystem, call, or internal operation failed.

Required fields

WaGo validates many request bodies manually. Missing required fields usually return a direct message like:
{
  "code": 400,
  "error": "missing CallID in payload",
  "success": false
}
Field names are case-sensitive. Some call endpoints use CallID and AudioFile; WebRTC call endpoints use lowercase JSON names such as callID, sdp, and type.

Async behavior

WhatsApp may accept an action before the remote device displays it. A successful API response means WaGo accepted and sent the operation through its connected client. Delivery, read receipts, call state, and message updates arrive later through webhooks.