Skip to content

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

    العربية
    On this page

    Campaigns (bulk)

    Cancel

    POST/v2/campaigns/{campaignId}/cancel
    • Scope:campaigns:write
    • Idempotency-Key:optional
    • deletes

    Queued recipients are skipped.

    Parameters

    Path

    NameTypeConstraintsDescription
    campaignIdrequiredTypestringConstraints—DescriptionCampaign id.

    Headers

    NameTypeConstraintsDescription
    Idempotency-KeyoptionalTypestringConstraints≤ 191 charsDescriptionYour unique id for this operation (≤ 191 visible ASCII). A retry with the same key and body returns the first answer with Idempotent-Replayed: true — it never runs twice. Kept 24 h.
    X-Request-IdoptionalTypestringConstraints—DescriptionOptional: your own request id, echoed back (otherwise we generate req_…). Quote it to support.

    Request

    curl -X POST "https://mursilat.com/api/v2/campaigns/cm2camp0001xyz/cancel" \
      -H "Authorization: Bearer $WASLA_API_KEY" \
      -H "Idempotency-Key: order-1042-confirm"

    Response

    200Example

    200 — application/json
    {
      "id": "cm2camp0001xyz",
      "numberId": "cm1abcd2345efgh6789ijkl",
      "name": "عرض الجمعة",
      "status": "cancelled",
      "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"
    }

    Response schema

    Fields of the example answer. Expand objects and arrays.

    • responseobject19 fields
      • idstring "cm2camp0001xyz"
      • numberIdstring "cm1abcd2345efgh6789ijkl"
      • namestring "عرض الجمعة"
      • statusstring "cancelled"
      • 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"

    Errors

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

    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. (deletes)

    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

    Send this request for real?

    This deletes or unlinks something. It can’t be undone.

    POST /v2/campaigns/{campaignId}/cancel