Skip to content

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

    العربية
    On this page

    Campaigns (bulk)

    List campaigns

    GET/v2/campaigns
    • Scope:campaigns:read
    • Idempotency-Key:not used
    • read only

    Newest first; progress counts only.

    Parameters

    Query

    NameTypeConstraintsDescription
    limitoptionalTypeintegerConstraints—Description1–100, default 25.
    cursoroptionalTypestringConstraints—DescriptionnextCursor of the previous page.
    numberIdoptionalTypestringConstraints—DescriptionOnly this number.
    statusoptionalTypestringConstraints—DescriptionFilter: running, paused, completed, cancelled, …

    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" \
      -H "Authorization: Bearer $WASLA_API_KEY"

    Response

    200Example

    200 — application/json
    {
      "data": [
        {
          "id": "cm2camp0001xyz",
          "numberId": "cm1abcd2345efgh6789ijkl",
          "name": "عرض الجمعة",
          "status": "running",
          "contentType": "cta_url",
          "createdVia": "api",
          "speed": "SAFE",
          "scheduledAt": null,
          "startedAt": "2026-10-13T09:00:00.000Z",
          "pausedAt": null,
          "completedAt": null,
          "pause": null,
          "progress": {
            "total": 500,
            "queued": 380,
            "sent": 120,
            "delivered": 115,
            "read": 70,
            "replied": 9,
            "failed": 0,
            "skipped": 3,
            "optOuts": 1,
            "percent": 24
          },
          "replies": null,
          "eta": {
            "remaining": 380,
            "perDayCap": 200,
            "remainingToday": 80,
            "estimatedMinutesToday": 34,
            "extraDays": 2,
            "note": "Estimate from the number warm-up caps and pacing."
          },
          "purged": false,
          "purgedAt": null,
          "createdAt": "2026-10-13T08:55:00.000Z",
          "updatedAt": "2026-10-13T09:30:00.000Z"
        }
      ],
      "nextCursor": null
    }

    Response schema

    Fields of the example answer. Expand objects and arrays.

    • responseobject2 fields
      • dataarray1 items
        • [0]object19 fields
          • idstring "cm2camp0001xyz"
          • numberIdstring "cm1abcd2345efgh6789ijkl"
          • namestring "عرض الجمعة"
          • statusstring "running"
          • contentTypestring "cta_url"
          • createdViastring "api"
          • speedstring "SAFE"
          • scheduledAtnull null
          • startedAtstring "2026-10-13T09:00:00.000Z"
          • pausedAtnull null
          • completedAtnull null
          • pausenull null
          • progressobject10 fields
            • totalinteger 500
            • queuedinteger 380
            • sentinteger 120
            • deliveredinteger 115
            • readinteger 70
            • repliedinteger 9
            • failedinteger 0
            • skippedinteger 3
            • optOutsinteger 1
            • percentinteger 24
          • repliesnull null
          • etaobject6 fields
            • remaininginteger 380
            • perDayCapinteger 200
            • remainingTodayinteger 80
            • estimatedMinutesTodayinteger 34
            • extraDaysinteger 2
            • notestring "Estimate from the number warm-up caps and pacing."
          • purgedboolean false
          • purgedAtnull null
          • createdAtstring "2026-10-13T08:55:00.000Z"
          • updatedAtstring "2026-10-13T09:30:00.000Z"
      • nextCursornull null

    Errors

    Only the common authentication, rate-limit and validation errors.

    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.

    Query parameters
    The same request with curl
    curl -X GET 'https://mursilat.com/api/v2/campaigns' \
      -H "Authorization: Bearer $WASLA_API_KEY" \
      -H 'Accept: application/json'

    Send this request for real?

    GET https://mursilat.com/api/v2/campaigns