---
title: "Retrieve Bulk Action"
method: GET
path: "/bulk_actions/{id}"
tags: ["Bulk Actions"]
---

# Retrieve Bulk Action

`GET /bulk_actions/{id}`

Retrieve the status of a bulk action

## Path parameters

- `id` string, required

## Response `200`

OK

- BulkAction — A bulk action represents, well, a bulk action. It is used to perform actions on a large number of objects at once. For example, you can use it to delete a large number of emails, or to unsubscribe a large number of subscribers. The actions within a bulk action are processed serially by Buttondown; this should be considered an ergonomic way to batch API calls across the network rather than a net-new piece of functionality in of itself.
  - `id` string, required — A unique TypeID associated with the object.
  - `creation_date` string, date-time, required — The date and time at which the object was first created.
  - `type` 'add_notes' | 'apply_tags' | 'apply_metadata' | 'rename_metadata' | 'ban_subscribers' | 'delete_subscribers' | 'gift_subscribers' | 'ungift_subscribers' | 'reactivate_subscribers' | 'mark_subscribers_as_not_spammy' | 'resubscribe_subscribers' | 'send_emails' | 'unban_subscribers' | 'send_reminders' | 'unsubscribe_subscribers' | 'delete_attachments' | 'delete_emails' | 'delete_images' | 'update_email_types' | 'update_archival_modes' | 'update_commenting_modes' | 'mark_inbox_items_read' | 'delete_inbox_items' | 'change_tags_colors' | 'delete_comments' | 'delete_surveys' | 'delete_survey_responses' | 'delete_tags' | 'mark_comments_as_active' | 'mark_comments_as_spammy' | 'replay_events' | 'update_survey_statuses' | 'cancel_stripe_subscriptions' | 'modify_stripe_subscriptions' | 'pause_stripe_subscriptions', required — Represents the action being performed on a bulk of objects. (Not to be coy, but these names should be self-explanatory.)
  - `metadata` object, required — Parameters for the bulk action. The exact shape depends on `type` — typically an `ids` list of object IDs to act on.
  - `status` 'not_started' | 'in_progress' | 'processed' | 'failed', required — Represents the status of a bulk action. No action is required to move from one state or another; Buttondown internally handles the transitions, and exposing the status is for observability purposes only.
  - `completion_date` string, date-time, nullable — The date and time at which the bulk action was completed.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `409` — Conflict
- `429` — Too Many Requests

---

[API](https://skmtc.net/buttondown/apis/buttondown-api.md) · [All operations](https://skmtc.net/buttondown/apis/buttondown-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/buttondown/buttondown-api/versions/3a702c095d22/schema)
