Skip to main content
DELETE
/
v2
/
messages
Bulk Cancel Messages
curl --request DELETE \
  --url https://qstash-{region}.upstash.io/v2/messages \
  --header 'Authorization: Bearer <token>'
{
  "cancelled": 123
}
Cancelling a message will remove it from QStash and stop it from being delivered in the future. If a message is in flight to your API, it might be too late to cancel.
If you provide a set of message IDs in the request, only those messages will be cancelled.If you include filter parameters in the request, only the messages that match the filters will be canceled.If no filter or messageIds are sent, QStash will cancel all of your messages. We highly recommend at least providing count parameter and cancel in batches.
This operation scans all your messages and attempts to cancel them. If an individual message cannot be cancelled, it will not continue and will return an error message. Therefore, some messages may not be cancelled at the end. In such cases, you can run the bulk cancel operation multiple times. For multi-value filters, a message matches if its value equals any of the given values (OR logic), and multiple filters are combined with AND logic. Multiple values can be passed either by repeating the query parameter (label=label_1&label=label_2) or as a single comma-separated value (label=label_1,label_2).

Authorizations

Authorization
string
header
required

QStash authentication token

Query Parameters

messageIds
string[]

A list of message IDs to delete. If provided, other filters are ignored.

topicName
string[]

Filter messages by URL Group name. Supports multiple values.

queueName
string[]

Filter messages by Queue name. Supports multiple values.

url
string[]

Filter messages by destination URL. Supports multiple values.

host
string[]

Filter messages by the host of the destination URL. Supports multiple values.

path
string[]

Filter messages by the path of the destination URL. Supports multiple values.

label
string[]

Filter messages by label. Supports multiple values. You can pass multiple values to match messages with any of the given labels (OR logic).

Examples:

  • label=my_label
  • label=label_1&label=label_2
  • label=label_1,label_2
flowControlKey
string[]

Filter messages by Flow Control Key. Supports multiple values.

fromDate
integer

Filter messages created after this timestamp (Unix milli, inclusive).

toDate
integer

Filter messages created before this timestamp (Unix milli, inclusive).

scheduleId
string[]

Filter messages by Schedule ID. Supports multiple values.

callerIp
string[]

Filter messages by the IP address of the publisher. Supports multiple values.

callerIP
string[]

Deprecated. Use callerIp instead.

count
integer

Maximum number of messages to delete, between 1 and 500. If not provided, all messages matching the filters will be deleted.

Required range: 1 <= x <= 500

Response

200 - application/json

All messages deleted successfully

cancelled
integer

Number of messages cancelled