DealSleek API · Comms

Preview

Cancel Message

Cancel a drafted or scheduled message before delivery.

POST/api/v1/comms/dispatch

Authorization

Minimum role
Sales repThe caller must hold this role or a higher one.
Action
CANCEL_MESSAGE

Headers

  • AuthorizationstringRequired

    Access token of the signed-in user, as a Bearer token. It identifies the user, their role and the workspace.

  • X-CQRS-ActionstringRequired

    Names the command to run. Must be CANCEL_MESSAGE for this endpoint.

  • Content-TypestringRequired

    Always application/json.

  • X-Idempotency-KeystringOptional

    A key you choose that is unique to this attempt. A command repeated with the same key is not applied a second time.

  • X-Correlation-IdstringOptional

    Your own identifier for the request. Returned in the x-correlation-id response header; generated when you leave it out.

Request body

  • message_iduuidRequired

    No description yet.

  • current_statusenum or nullOptional

    No description yet.

    Allowed values
    • DRAFT
    • PENDING_APPROVAL
    • APPROVED
    • SENT
    • FAILED
    • QUEUED
    • SCHEDULED
    • SENDING
    • BOUNCED
    • SUPPRESSED
    • CANCELLED
    QUEUED
    Approved + accepted by the outbox; waiting for the dispatcher.
    SCHEDULED
    Has a scheduled_for timestamp; dispatcher will pick it up at that time.
    SENDING
    In flight to the provider (Sendgrid/Twilio/…).
    BOUNCED
    Provider returned a hard bounce or unrecoverable error.
    SUPPRESSED
    Suppressed at send time (consent gate, suppression list, or preferences).
    CANCELLED
    Operator cancelled before send.
  • expected_versioninteger or nullOptional

    CORE invariant: mutations carry the version they read. Absent preserves legacy callers.

Response

Status 202. The command was applied. The body is the record as it stands after the command: a JSON object whose fields depend on the record.

Errors

Every error carries an HTTP status. Where it also carries a code, branch on the code, not on the message.

  • 400X-CQRS-Action is missing or names a command this route does not accept. Send CANCEL_MESSAGE.
  • 400DOMAIN_ROUTINGThe body is not a valid command. Check the required fields and their types.
  • 401The access token is missing, expired or not valid.
  • 401L1_AUTHThe caller's role is below rep or the caller has no access to this record.
  • 403L1_POLICYA business rule refused the command. The message names the rule.
  • 409L1_VERSIONexpected_version is not the record's current version. Read the record again, then retry.
  • 409L1_IDEMPOTENCYA command with this idempotency key was already applied.
  • 409CONFLICTThe command would duplicate a record that must be unique.
  • 500L3_COMMITThe command was valid but could not be saved.
Generated from the API contract · revision 8e2cb7de599b526a