Watsy
Verification & messagesList messages

Verification & messages

List messages

The project's most recent channel attempts, newest first.

GEThttps://watsy.me/v1/messages
curl "https://watsy.me/v1/messages?limit=20" \
  -H "Authorization: Bearer $WATSY_KEY"
{
  "object": "list",
  "data": [
    {
      "id": "7e1d2c3b-4a59-4687-9a0b-c1d2e3f4a5b6",
      "object": "message",
      "verification_id": "5d3c1f0e-7a1b-4c55-9a7e-2f1d6b0c9e11",
      "channel": "telegram",
      "provider": "telegram_gateway",
      "status": "sent",
      "error_code": null,
      "price_milli": 18000,
      "created_at": "2026-10-28T10:00:01.000Z",
      "updated_at": "2026-10-28T10:00:02.000Z",
      "phone": "+9647701234567"
    },
    {
      "id": "0b6f6a3e-1c2d-4e5f-8a9b-1c2d3e4f5a6b",
      "object": "message",
      "verification_id": "5d3c1f0e-7a1b-4c55-9a7e-2f1d6b0c9e11",
      "channel": "whatsapp",
      "provider": "meta_cloud",
      "status": "failed",
      "error_code": "whatsapp_131026",
      "price_milli": 0,
      "created_at": "2026-10-28T10:00:00.000Z",
      "updated_at": "2026-10-28T10:00:01.000Z",
      "phone": "+9647701234567"
    }
  ]
}

Authorization

  • Authorizationstring (header)required

    Bearer followed by your project key: wsy_live_… or wsy_test_….

Headers

  • X-Request-Idstring

    Optional, 8 to 64 characters. Echoed back; generated when missing.

Query parameters

  • limitintegerdefault: 20

    Number of results, 1 to 100.

Response (200)

application/json
  • objectstringrequired

    Always list.

  • datamessage[]required

    One entry per channel attempt, with the recipient phone.

    Show child fields
    • idstring

      Id of this channel attempt.

    • objectstring

      Always message.

    • verification_idstring

      The verification this attempt belongs to.

    • channelstring

      Channel.

      Values:whatsapptelegramsms

    • providerstring

      Who carried the attempt: meta_cloud (Watsy's WhatsApp number), whatsapp_own (your own number), telegram_gateway, or test in test mode.

    • statusstring

      delivered appears once the provider reports delivery (WhatsApp today).

      Values:pendingsentdeliveredfailed

    • error_codestring | null

      Provider failure reason, e.g. whatsapp_131026, telegram_PHONE_NUMBER_INVALID or timeout.

    • price_milliinteger

      Net charge of this attempt in milli-IQD. A refunded attempt shows 0.

    • created_atstring

      Creation time (ISO 8601, UTC).

    • updated_atstring

      Last update.

    • phonestring

      Recipient in E.164.

A test key only sees test messages and a live key only live ones. There is no pagination yet: you get the most recent entries only.