---
name: invoices-routes
description: Handle 18 OpenAPI operation(s) under /v1/invoices for the invoices route group.
---

# invoices API Routes

Handle 18 OpenAPI operation(s) under /v1/invoices for the invoices route group.

Use the generated operation tools to make real API calls. Do not invent API responses.
If a tool reports missing setup, return the exact setup field name to the caller.
For write, update, or delete operations, state the intended action before calling the tool.

## Operations

### get_invoices

- Operation ID: `get_invoices`
- Route: `GET /v1/invoices`
- Mode: READ
- Summary: List all invoices
- Parameters:
  - `collection_method` in `query`
  - `created` in `query`
  - `customer` in `query`
  - `customer_account` in `query`
  - `due_date` in `query`
  - `ending_before` in `query`
  - `expand` in `query`
  - `limit` in `query`
  - `starting_after` in `query`
  - `status` in `query`
  - `subscription` in `query`
- Body: JSON request body accepted.

### post_invoices

- Operation ID: `post_invoices`
- Route: `POST /v1/invoices`
- Mode: WRITE
- Summary: Create an invoice
- Body: JSON request body accepted.

### post_invoices_create_preview

- Operation ID: `post_invoices_create_preview`
- Route: `POST /v1/invoices/create_preview`
- Mode: WRITE
- Summary: Create a preview invoice
- Body: JSON request body accepted.

### get_invoices_search

- Operation ID: `get_invoices_search`
- Route: `GET /v1/invoices/search`
- Mode: READ
- Summary: Search invoices
- Parameters:
  - `expand` in `query`
  - `limit` in `query`
  - `page` in `query`
  - `query` in `query` required
- Body: JSON request body accepted.

### delete_invoices_invoice

- Operation ID: `delete_invoices_invoice`
- Route: `DELETE /v1/invoices/{invoice}`
- Mode: WRITE
- Summary: Delete a draft invoice
- Parameters:
  - `invoice` in `path` required
- Body: JSON request body accepted.

### get_invoices_invoice

- Operation ID: `get_invoices_invoice`
- Route: `GET /v1/invoices/{invoice}`
- Mode: READ
- Summary: Retrieve an invoice
- Parameters:
  - `expand` in `query`
  - `invoice` in `path` required
- Body: JSON request body accepted.

### post_invoices_invoice

- Operation ID: `post_invoices_invoice`
- Route: `POST /v1/invoices/{invoice}`
- Mode: WRITE
- Summary: Update an invoice
- Parameters:
  - `invoice` in `path` required
- Body: JSON request body accepted.

### post_invoices_invoice_add_lines

- Operation ID: `post_invoices_invoice_add_lines`
- Route: `POST /v1/invoices/{invoice}/add_lines`
- Mode: WRITE
- Summary: Bulk add invoice line items
- Parameters:
  - `invoice` in `path` required
- Body: JSON request body accepted.

### post_invoices_invoice_attach_payment

- Operation ID: `post_invoices_invoice_attach_payment`
- Route: `POST /v1/invoices/{invoice}/attach_payment`
- Mode: WRITE
- Summary: Attach a payment to an Invoice
- Parameters:
  - `invoice` in `path` required
- Body: JSON request body accepted.

### post_invoices_invoice_finalize

- Operation ID: `post_invoices_invoice_finalize`
- Route: `POST /v1/invoices/{invoice}/finalize`
- Mode: WRITE
- Summary: Finalize an invoice
- Parameters:
  - `invoice` in `path` required
- Body: JSON request body accepted.

### get_invoices_invoice_lines

- Operation ID: `get_invoices_invoice_lines`
- Route: `GET /v1/invoices/{invoice}/lines`
- Mode: READ
- Summary: Retrieve an invoice's line items
- Parameters:
  - `ending_before` in `query`
  - `expand` in `query`
  - `invoice` in `path` required
  - `limit` in `query`
  - `starting_after` in `query`
- Body: JSON request body accepted.

### post_invoices_invoice_lines_line_item_id

- Operation ID: `post_invoices_invoice_lines_line_item_id`
- Route: `POST /v1/invoices/{invoice}/lines/{line_item_id}`
- Mode: WRITE
- Summary: Update an invoice's line item
- Parameters:
  - `invoice` in `path` required
  - `line_item_id` in `path` required
- Body: JSON request body accepted.

### post_invoices_invoice_mark_uncollectible

- Operation ID: `post_invoices_invoice_mark_uncollectible`
- Route: `POST /v1/invoices/{invoice}/mark_uncollectible`
- Mode: WRITE
- Summary: Mark an invoice as uncollectible
- Parameters:
  - `invoice` in `path` required
- Body: JSON request body accepted.

### post_invoices_invoice_pay

- Operation ID: `post_invoices_invoice_pay`
- Route: `POST /v1/invoices/{invoice}/pay`
- Mode: WRITE
- Summary: Pay an invoice
- Parameters:
  - `invoice` in `path` required
- Body: JSON request body accepted.

### post_invoices_invoice_remove_lines

- Operation ID: `post_invoices_invoice_remove_lines`
- Route: `POST /v1/invoices/{invoice}/remove_lines`
- Mode: WRITE
- Summary: Bulk remove invoice line items
- Parameters:
  - `invoice` in `path` required
- Body: JSON request body accepted.

### post_invoices_invoice_send

- Operation ID: `post_invoices_invoice_send`
- Route: `POST /v1/invoices/{invoice}/send`
- Mode: WRITE
- Summary: Send an invoice for manual payment
- Parameters:
  - `invoice` in `path` required
- Body: JSON request body accepted.

### post_invoices_invoice_update_lines

- Operation ID: `post_invoices_invoice_update_lines`
- Route: `POST /v1/invoices/{invoice}/update_lines`
- Mode: WRITE
- Summary: Bulk update invoice line items
- Parameters:
  - `invoice` in `path` required
- Body: JSON request body accepted.

### post_invoices_invoice_void

- Operation ID: `post_invoices_invoice_void`
- Route: `POST /v1/invoices/{invoice}/void`
- Mode: WRITE
- Summary: Void an invoice
- Parameters:
  - `invoice` in `path` required
- Body: JSON request body accepted.
