# Get a Bulk Action

> Retrieve the details and progress of a bulk action

`GET /v2/workflows/bulkActions/{actionId}`

## OpenAPI

````yaml workflow/openapi.yaml get /v2/workflows/bulkActions/{actionId}
openapi: 3.1.0
info:
  title: Upstash Workflow REST API
  description: >
    Upstash Workflow is a serverless workflow orchestration service built on top
    of Upstash QStash and 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: []
paths:
  /v2/workflows/bulkActions/{actionId}:
    get:
      summary: Get a Bulk Action
      description: Retrieve the details and progress of a bulk action
      tags:
        - Bulk Actions
      parameters:
        - in: path
          name: actionId
          required: true
          schema:
            type: string
          description: The ID of the bulk action, as returned by a filter-based bulk
            cancel with `async=true`.
      responses:
        "200":
          description: Bulk action details
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BulkAction"
        "404":
          description: Bulk action not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
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
  schemas:
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: Error message
    BulkAction:
      type: object
      properties:
        actionId:
          type: string
          description: The ID of the bulk action.
        kind:
          type: string
          enum:
            - cancel
          description: The kind of the bulk action.
        state:
          type: string
          enum:
            - IN_PROGRESS
            - FINISHED
          description: |
            The state of the bulk action.

            |Value	|Description|
            |-------|------------|
            | IN_PROGRESS	|The bulk action is running in the background.|
            | FINISHED	|The bulk action has finished.|
        total:
          type: integer
          format: int64
          description: The number of in-progress workflow runs that matched the filter
            when the bulk action was created.
        processed:
          type: integer
          format: int64
          description: The number of workflow runs processed by the bulk action so far.
        createdAt:
          type: integer
          format: int64
          description: The creation time of the bulk action, in milliseconds (Unix
            timestamp).
        completedAt:
          type: integer
          format: int64
          description: The completion time of the bulk action, in milliseconds (Unix
            timestamp). Only present once the bulk action has finished.
        filter:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: >
            The filter the bulk action was created with. Keys are the filter
            parameter names of the bulk cancel request, such as `workflowUrl`,
            `label` or `fromDate`, and values are the given values.
          example:
            workflowUrl:
              - https://example.com/api/workflow
            label:
              - label_1
              - label_2
````
