> ## Documentation Index
> Fetch the complete documentation index at: https://upstash-dx-2913.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Bulk Cancel Messages

> Delete all pending messages



## OpenAPI

````yaml /qstash/openapi.yaml delete /v2/messages
openapi: 3.1.0
info:
  title: QStash REST API
  description: |
    QStash is a message queue and scheduler built on top of Upstash Redis.
  version: 2.0.0
  contact:
    name: Upstash
    url: https://upstash.com
servers:
  - url: https://qstash-{region}.upstash.io
    description: Regional
    variables:
      region:
        default: eu-central-1
        enum:
          - us-east-1
          - eu-central-1
security:
  - bearerAuth: []
  - bearerAuthQuery: []
tags:
  - name: Messages
    description: Publish and manage messages
  - name: Queues
    description: Manage message queues
  - name: Schedules
    description: Create and manage scheduled messages
  - name: URL Groups
    description: Manage URL groups and endpoints
  - name: DLQ
    description: Dead Letter Queue operations
  - name: Logs
    description: Log operations
  - name: Signing Keys
    description: Manage signing keys
  - name: Flow Control
    description: Monitor flow control keys
paths:
  /v2/messages:
    delete:
      tags:
        - Messages
      summary: Bulk Cancel Messages
      description: Delete all pending messages
      parameters:
        - name: messageIds
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
          description: >-
            A list of message IDs to delete. If provided, other filters are
            ignored.
        - name: topicName
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
          description: Filter messages by URL Group name. Supports multiple values.
        - name: queueName
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
          description: Filter messages by Queue name. Supports multiple values.
        - name: url
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
          description: Filter messages by destination URL. Supports multiple values.
        - name: host
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
          description: >-
            Filter messages by the host of the destination URL. Supports
            multiple values.
        - name: path
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
          description: >-
            Filter messages by the path of the destination URL. Supports
            multiple values.
        - name: label
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
          description: >
            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`
        - name: flowControlKey
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
          description: Filter messages by Flow Control Key. Supports multiple values.
        - name: fromDate
          in: query
          required: false
          schema:
            type: integer
          description: >-
            Filter messages created after this timestamp (Unix milli,
            inclusive).
        - name: toDate
          in: query
          required: false
          schema:
            type: integer
          description: >-
            Filter messages created before this timestamp (Unix milli,
            inclusive).
        - name: scheduleId
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
          description: Filter messages by Schedule ID. Supports multiple values.
        - name: callerIp
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
          description: >-
            Filter messages by the IP address of the publisher. Supports
            multiple values.
        - name: callerIP
          in: query
          required: false
          deprecated: true
          schema:
            type: array
            items:
              type: string
          description: Deprecated. Use `callerIp` instead.
        - name: count
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 500
          description: >-
            Maximum number of messages to delete, between 1 and 500. If not
            provided, all messages matching the filters will be deleted.
      responses:
        '200':
          description: All messages deleted successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  cancelled:
                    type: integer
                    description: Number of messages cancelled
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: QStash authentication token
    bearerAuthQuery:
      type: apiKey
      in: query
      name: qstash_token
      description: QStash authentication token passed as a query parameter

````