---
title: "Bulk invoice actions"
method: POST
path: "/api/v1/invoices/bulk"
tags: ["invoices"]
---

# Bulk invoice actions

`POST /api/v1/invoices/bulk`

## Request

- Base URL: `https://demo.invoiceninja.com`
- URL: `https://demo.invoiceninja.com/api/v1/invoices/bulk`
- Auth: none declared. Required headers: `X-API-TOKEN`, `X-Requested-With`
- TypeScript: <https://skmtc.dev/invoiceninja/apis/invoice-ninja-api-reference/docs/api/v1/invoices/bulk/post.ts> (a function with typed inputs; its response is checked against the schema)

## POST /api/v1/invoices/bulk

There are multiple actions that are available including:

## Query parameters

- `index` string

## Headers

- `X-API-TOKEN` string, required
- `X-Requested-With` string, required

## Request body

- object
  - `email_type` string: The email type to be sent, when bulk emailing invoices options include: - `invoice` (default) - `quote` - `credit` - `payment` - `payment_partial` - `statement` - `reminder1` - `reminder2` - `reminder3` - `reminder_endless` - `custom1` - `custom2` - `custom3` - `purchase_order` - `email_quote_template_reminder1`
  - `action` string: The action to be performed, options include: - `bulk_download` Bulk download an array of invoice PDFs (These are sent to the admin via email.) - `download` Download a single PDF. (Returns a single PDF object) - `bulk_print` Merges an array of Invoice PDFs for easy one click printing. - `auto_bill` Attempts to automatically bill the invoices with the payment method on file. - `clone_to_invoice` Returns a clone of the invoice. - `clone_to_quote` Returns a quote cloned using the properties of the given invoice. - `mark_paid` Marks an array of invoices as paid. - `mark_sent` Marks an array of invoices as sent. - `restore` Restores an array of invoices - `delete` Deletes an array of invoices - `archive` Archives an array of invoices - `cancel` Cancels an array of invoices - `email` Emails an array of invoices - `send_email` Emails an array of invoices. Requires additional properties to be sent. `email_type`
  - `ids` string[]

## Response `200`

The Bulk Action response

## Other responses

- `401`: Authentication error
- `403`: Authorization error
- `422`: Validation error
- `429`: Rate Limit Exceeded
- `5XX`: Server error
- `default`: Unexpected Error

## Changes

- **2025-05-24** `93bb427f804b`: 1 breaking
  - removed the media type `application/json` for the response with the status `200`
- **2025-05-23** `783f03909c3a`: 1 info
  - added the media type `application/json` for the response with the status `200`
- **2025-04-23** `0d8c4232c1fc`: 16 breaking
  - removed the enum value `credit` of the request property `email_type`
  - removed the enum value `custom1` of the request property `email_type`
  - removed the enum value `custom2` of the request property `email_type`
  - removed the enum value `custom3` of the request property `email_type`
  - …12 more
- **2024-12-16** `d5c45b441b72`: 1 info
  - added the new optional request property `email_type`
- **2024-06-06** `8e82a2bd77e0`: 1 breaking, 2 info
  - the response's body type changed from no type to `object` for status `default`
  - added the optional property `code` to the response with the `default` status
  - added the optional property `message` to the response with the `default` status

[Operation history](https://skmtc.dev/invoiceninja/apis/invoice-ninja-api-reference/changes/api/v1/invoices/bulk/post.md)

---

[API](https://skmtc.dev/invoiceninja/apis/invoice-ninja-api-reference.md) - [All operations](https://skmtc.dev/invoiceninja/apis/invoice-ninja-api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/invoiceninja/apis/invoice-ninja-api-reference/revisions/bcda1f823746?raw)
