Skip to content

    Arabic or English · ↑↓ to move · Enter to open · Esc to close

    العربية
    On this page

    Campaigns (bulk)

    Recipients and button replies

    GET/v2/campaigns/{campaignId}/recipients
    • Scope:campaigns:read
    • Idempotency-Key:not used
    • read only

    Available while running and during the keep window.

    Parameters

    Path

    NameTypeConstraintsDescription
    campaignIdrequiredTypestringConstraints—DescriptionCampaign id.

    Query

    NameTypeConstraintsDescription
    limitoptionalTypestringConstraints—Description1–500 (default 50).
    cursoroptionalTypestringConstraints—DescriptionnextCursor of the previous page.
    statusoptionalTypestringConstraints—DescriptionQUEUED | SENDING | SENT | FAILED | SKIPPED
    replyoptionalTypestringConstraints—DescriptionButton reply filter: an option id, ANY or NONE.

    Headers

    NameTypeConstraintsDescription
    X-Request-IdoptionalTypestringConstraints—DescriptionOptional: your own request id, echoed back (otherwise we generate req_…). Quote it to support.

    Request

    curl -X GET "https://mursilat.com/api/v2/campaigns/cm2camp0001xyz/recipients?status=FAILED" \
      -H "Authorization: Bearer $WASLA_API_KEY"

    Response

    200Example

    200 — application/json
    {
      "data": [
        {
          "phone": "201001234567",
          "status": "sent",
          "errorCode": null,
          "sentAt": "…",
          "deliveredAt": "…",
          "readAt": null,
          "repliedAt": null,
          "optedOut": false,
          "buttonReply": {
            "id": "yes",
            "title": "مهتم",
            "index": 1,
            "at": "…"
          }
        }
      ],
      "nextCursor": null
    }

    Response schema

    Fields of the example answer. Expand objects and arrays.

    • responseobject2 fields
      • dataarray1 items
        • [0]object9 fields
          • phonestring "201001234567"
          • statusstring "sent"
          • errorCodenull null
          • sentAtstring "…"
          • deliveredAtstring "…"
          • readAtnull null
          • repliedAtnull null
          • optedOutboolean false
          • buttonReplyobject4 fields
            • idstring "yes"
            • titlestring "مهتم"
            • indexinteger 1
            • atstring "…"
      • nextCursornull null

    Errors

    Besides the authentication, rate-limit and validation errors every endpoint can return:

    • 410CAMPAIGN_PURGEDRecipients were deleted after the campaign ended (privacy).

    Errors →

    Try it

    Send this request from your browser to the Mursilat API.

    documented example

    Preview — this copy of the docs isn’t on mursilat.com, so the console shows the documented example instead of calling the API.

    Real requests use your real number and plan: they can send WhatsApp messages, spend quota and delete data. (read only)

    Kept only in this tab’s memory: never saved, never put in the URL, sent only to mursilat.com. Reloading the page forgets it.

    Path parameters
    Query parameters

    Send this request for real?

    GET /v2/campaigns/{campaignId}/recipients