---
title: "Update invoice line item"
method: PUT
path: "/invoices/{invoice_id}/line-items/{id}/"
tags: ["Invoice Line Items"]
---

# Update invoice line item

`PUT /invoices/{invoice_id}/line-items/{id}/`

## Request

- Base URL: `https://api.wafeq.com/v1`
- URL: `https://api.wafeq.com/v1/invoices/{invoice_id}/line-items/{id}/`
- Auth: API key in header `Authorization`

Endpoint for updating an existing invoice line item.

## Path parameters

- `invoice_id` string, required
- `id` string, required

## Query parameters

- `expand` string

## Headers

- `X-Wafeq-Idempotency-Key` string

## Request body

- ApiV1InvoiceLineItem: A line item of an invoice.
  - `account` string, required: The account associated with this line item.
  - `cost_center` string: The cost center associated with this line item.
  - `created_ts` string, date-time, required: The timestamp in UTC when the line item was created.
  - `custom_fields` object: A mapping of custom field IDs to their values.
  - `description` string, required: The detailed description of the line item.
  - `discount` number, double, nullable: The discount as the percentage.
  - `id` string, required: The unique identifier of the line item.
  - `item` string: The item associated with this line item.
  - `item_unit_of_measure` string, nullable: The item unit of measure for this line item.
  - `legacy_id` string, required: [Deprecated] The legacy identifier of the line item.
  - `line_amount` number, double, required: The total amount for this line item (quantity * unit_amount).
  - `modified_ts` string, date-time, required: The timestamp in UTC when the line item was last modified.
  - `order` integer: The position of the line item within the document.
  - `quantity` number, double, required: The quantity of the item or service.
  - `revenue_recognition` ApiV1RevenueRecognitionInput: The payload to create a revenue recognition schedule for an invoice line item.
    - `account` string, required: The revenue account used for revenue recognition.
    - `amount` number, double, required: The total amount to recognize.
    - `description` string, required: The description of the revenue recognition.
    - `duration` '3_MONTHS' | '4_MONTHS' | '6_MONTHS' | '12_MONTHS' | '24_MONTHS' | 'CUSTOM', required: Duration over which an amount is recognized or amortized. [View the enum reference](durationenum)
    - `end_date` string, date, required: The end date of the revenue recognition schedule.
    - `recognition_type` 'DAILY' | 'MONTHLY', required: Schedule used to recognize deferred amounts. [View the enum reference](recognitiontypeenum)
    - `start_date` string, date, required: The start date of the revenue recognition schedule.
    - `use_entity_date` boolean, required: Whether the revenue recognition start date follows the invoice date.
  - `revenue_recognition_id` string, nullable, required: The unique identifier of the revenue recognition linked to this line item, if any.
  - `tax_amount` number, double, required: The total tax amount for this line item.
  - `tax_rate` string: The tax rate applied to this line item.
  - `unit_amount` number, double, required: The price per unit of the item or service.

## Response `200`

- ApiV1InvoiceLineItem: A line item of an invoice.
  - `account` string, required: The account associated with this line item.
  - `cost_center` string: The cost center associated with this line item.
  - `created_ts` string, date-time, required: The timestamp in UTC when the line item was created.
  - `custom_fields` object: A mapping of custom field IDs to their values.
  - `description` string, required: The detailed description of the line item.
  - `discount` number, double, nullable: The discount as the percentage.
  - `id` string, required: The unique identifier of the line item.
  - `item` string: The item associated with this line item.
  - `item_unit_of_measure` string, nullable: The item unit of measure for this line item.
  - `legacy_id` string, required: [Deprecated] The legacy identifier of the line item.
  - `line_amount` number, double, required: The total amount for this line item (quantity * unit_amount).
  - `modified_ts` string, date-time, required: The timestamp in UTC when the line item was last modified.
  - `order` integer: The position of the line item within the document.
  - `quantity` number, double, required: The quantity of the item or service.
  - `revenue_recognition` ApiV1RevenueRecognitionInput: The payload to create a revenue recognition schedule for an invoice line item.
    - `account` string, required: The revenue account used for revenue recognition.
    - `amount` number, double, required: The total amount to recognize.
    - `description` string, required: The description of the revenue recognition.
    - `duration` '3_MONTHS' | '4_MONTHS' | '6_MONTHS' | '12_MONTHS' | '24_MONTHS' | 'CUSTOM', required: Duration over which an amount is recognized or amortized. [View the enum reference](durationenum)
    - `end_date` string, date, required: The end date of the revenue recognition schedule.
    - `recognition_type` 'DAILY' | 'MONTHLY', required: Schedule used to recognize deferred amounts. [View the enum reference](recognitiontypeenum)
    - `start_date` string, date, required: The start date of the revenue recognition schedule.
    - `use_entity_date` boolean, required: Whether the revenue recognition start date follows the invoice date.
  - `revenue_recognition_id` string, nullable, required: The unique identifier of the revenue recognition linked to this line item, if any.
  - `tax_amount` number, double, required: The total tax amount for this line item.
  - `tax_rate` string: The tax rate applied to this line item.
  - `unit_amount` number, double, required: The price per unit of the item or service.

## Changes

- **2026-11-03** `b8f5e10134b4`: 4 breaking, 5 info
  - removed `#/components/schemas/RevenueRecognitionInput` from the `revenue_recognition` request property `oneOf` list (media type: application/json)
  - removed `#/components/schemas/RevenueRecognitionInput` from the `revenue_recognition` request property `oneOf` list (media type: application/x-www-form-urlencoded)
  - removed `#/components/schemas/RevenueRecognitionInput` from the `revenue_recognition` request property `oneOf` list (media type: multipart/form-data)
  - added `#/components/schemas/api-v1-revenue-recognition-input` to the `revenue_recognition` response property `oneOf` list for the response status `200`
  - …5 more

[Operation history](https://skmtc.dev/wafeq/apis/wafeq-public-api/changes/invoices/:invoice_id/line-items/:id/put.md)

---

[API](https://skmtc.dev/wafeq/apis/wafeq-public-api.md) - [All operations](https://skmtc.dev/wafeq/apis/wafeq-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/wafeq/apis/wafeq-public-api/revisions/b8f5e10134b4?raw)
