WaConnect|API Documentation Dashboard Swagger UI

Message Status

Track the delivery lifecycle of your outbound messages. WaConnect automatically updates message statuses via WhatsApp webhooks.

Status Lifecycle

Every outbound message progresses through the following statuses:

pending sent delivered read

or

failed
StatusMeaning
pendingMessage accepted by WaConnect, awaiting Meta API response
sentMessage accepted by WhatsApp servers
deliveredMessage delivered to the recipient's device
readRecipient opened and read the message
failedMessage could not be delivered (see error details)

Get Message Status

GET /api/status/message/:messageId

Retrieve the complete tracking history for a specific message.

GET /api/status/message/wamid.HBgLMTU1NTEyMzQ1NjcVAgASGCA0 HTTP/1.1
Host: app.waconnect.me
X-API-Key: wba_YOUR_API_KEY_HEREHTTP

Response

{
  "success": true,
  "data": {
    "waMessageId": "wamid.HBgLMTU1NTEyMzQ1NjcVAgASGCA0",
    "to": "15551234567",
    "status": "read",
    "timestamp": "2026-04-11T10:35:00.000Z",
    "conversation": {
      "id": "123456789012345",
      "origin": {
        "type": "business_initiated"
      }
    },
    "pricing": {
      "billable": true,
      "pricingModel": "CBP",
      "category": "business_initiated"
    },
    "statusHistory": [
      { "status": "sent", "timestamp": "2026-04-11T10:30:00.000Z" },
      { "status": "delivered", "timestamp": "2026-04-11T10:30:05.000Z" },
      { "status": "read", "timestamp": "2026-04-11T10:35:00.000Z" }
    ]
  }
}JSON

List All Tracked Messages

GET /api/status
ParameterTypeDefaultDescription
limitnumber50Maximum records to return
offsetnumber0Number of records to skip
statusstringFilter by status (sent, delivered, read, failed)
typestringFilter by message type (text, image, etc.)

Get Tracking Statistics

GET /api/status/statistics

Returns aggregate counts of messages grouped by status and type.

Get Conversation Analytics New

GET /api/status/analytics/conversations

Returns conversation metrics including total conversations, billable conversations, and breakdown by category (marketing, utility, authentication, service).

ParameterTypeDefaultDescription
startstring30 days agoStart date (YYYY-MM-DD)
endstringtodayEnd date (YYYY-MM-DD)
granularitystringDAILYGrouping granularity (DAILY or MONTHLY)

C# Example

// Check status of a specific message
var msgId = "wamid.HBgLMTU1NTEyMzQ1NjcVAgASGCA0";
var response = await client.GetAsync(
    $"https://app.waconnect.me/api/status/message/{msgId}");
var json = await response.Content.ReadAsStringAsync();

var doc = JsonDocument.Parse(json);
var status = doc.RootElement
    .GetProperty("data")
    .GetProperty("status").GetString();

Console.WriteLine($"Message status: {status}");
// Output: "Message status: read"C#