---
title: "Bulk action on project milestones"
method: POST
path: "/project_milestones/bulk_action"
tags: ["Project milestones"]
---

# Bulk action on project milestones

`POST /project_milestones/bulk_action`

## Request

- Base URL: `https://api.pipelinecrm.com/api/v3`
- URL: `https://api.pipelinecrm.com/api/v3/project_milestones/bulk_action`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer and API key in header `app-key`
  - API key in query parameter `api_key` and API key in query parameter `app_key`

Perform a bulk action on multiple project milestones at once. The action may run in the background for large selections.

## Request body

- object
  - `bulk_action` 'delete', required: The bulk action to perform
  - `checked_ids` integer[], required: IDs of the milestones to apply the action to
  - `args` object: Optional. Free-form arguments for actions that need parameters beyond the IDs (e.g. assigning a status). When omitted, the contents of the `project_milestone` body key are used as the args instead.
  - `project_milestone` object: Optional. Acts as a fallback for `args` — the controller uses `params[:args] || params[:project_milestone]` so clients may supply action arguments under either key.
  - `calendar_task` object: Optional. Used by actions that create or attach a calendar task to the targeted milestones (e.g. bulk-add-task). Pass the task attributes here as a hash.

## Response `200`

Successful Response

- object
  - `background` boolean: Whether the bulk action is running in the background

---

[API](https://skmtc.dev/pipelinecrm/apis/pipeline-crm-api.md) · [All operations](https://skmtc.dev/pipelinecrm/apis/pipeline-crm-api/llms.txt) · [OpenAPI document](https://skmtc.dev/pipelinecrm/apis/pipeline-crm-api/revisions/53ebfcc83597?raw)
