Skip to content

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

    العربية
    On this page

    Messages

    Message status timeline

    GET/v2/messages/{messageId}
    • Scope:messages:read
    • Idempotency-Key:not used
    • number key ok— Also accepts the legacy per-number x-api-key, for its own number.
    • read only

    queued → sent → delivered → read, or failed with the error code.

    Parameters

    Path

    NameTypeConstraintsDescription
    messageIdrequiredTypestringConstraints—DescriptionMessage id returned by POST /v2/messages.

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

    Response

    200Example

    200 — application/json
    {
      "id": "3EB0A1B2C3D4E5F60718",
      "numberId": "cm1abcd2345efgh6789ijkl",
      "type": "text",
      "reference": "order-1042",
      "to": "2010****4567",
      "status": "read",
      "scheduledAt": null,
      "error": null,
      "interactionId": null,
      "timeline": [
        {
          "status": "queued",
          "at": "2026-10-13T08:00:00.000Z"
        },
        {
          "status": "sent",
          "at": "2026-10-13T08:00:01.200Z"
        },
        {
          "status": "delivered",
          "at": "2026-10-13T08:00:02.900Z"
        },
        {
          "status": "read",
          "at": "2026-10-13T08:03:10.000Z"
        }
      ],
      "createdAt": "2026-10-13T08:00:00.000Z",
      "updatedAt": "2026-10-13T08:03:10.000Z"
    }

    Response schema

    Fields of the example answer. Expand objects and arrays.

    • responseobject12 fields
      • idstring "3EB0A1B2C3D4E5F60718"
      • numberIdstring "cm1abcd2345efgh6789ijkl"
      • typestring "text"
      • referencestring "order-1042"
      • tostring "2010****4567"
      • statusstring "read"
      • scheduledAtnull null
      • errornull null
      • interactionIdnull null
      • timelinearray4 items
        • [0]object2 fields
          • statusstring "queued"
          • atstring "2026-10-13T08:00:00.000Z"
      • createdAtstring "2026-10-13T08:00:00.000Z"
      • updatedAtstring "2026-10-13T08:03:10.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. (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

    Send this request for real?

    GET /v2/messages/{messageId}