---
title: "Add a product to an invoice"
method: PUT
path: "/v1/invoices/{invoice_id}/products"
---

# Add a product to an invoice

`PUT /v1/invoices/{invoice_id}/products`

## Request

- Base URL: `https://api.zenoti.com`
- URL: `https://api.zenoti.com/v1/invoices/{invoice_id}/products`
- Auth: none required
- TypeScript: <https://skmtc.dev/zenoti/apis/zenoti-authentication/docs/v1/invoices/:invoice_id/products/put.ts> (a function with typed inputs; its response is checked against the schema)

Use this API to add a product to an invoice.

## Path parameters

- `invoice_id` string, required

## Query parameters

- `products` string, required
- `products[0].id` string, required
- `products[0].quantity` integer
- `products[0].sale_by_id` string

## Response `200`

200

- object
  - `invoice_id` string

## Other responses

- `400`: 400

---

[API](https://skmtc.dev/zenoti/apis/zenoti-authentication.md) - [All operations](https://skmtc.dev/zenoti/apis/zenoti-authentication/llms.txt) - [OpenAPI document](https://skmtc.dev/zenoti/apis/zenoti-authentication/revisions/e628f892391a?raw)
