/sales/invoices/:id/invoice_lines
Path: /sales/invoices/:id/invoice_lines
Namespace: sales
Parent Resource: invoices
Overview
Invoice lines represent line items on an invoice. Each line item contains product information, quantity, pricing, tax, and accounting details.
JSON fields: Use seller_item_id and optionally buyer_item_id (not item_id). Send unit_price as a decimal string or number; amount totals in responses typically use _*_cents fields (e.g. total_amount_cents). Mirror the GET response keys for PATCH bodies.
Available Operations
List Invoice Lines (GET)
Endpoint: GET /sales/invoices/:id/invoice_lines.json
Description: Retrieve all invoice lines for a specific invoice.
Request Example:
GET /sales/invoices/123/invoice_lines.jsonResponse (200 OK):
{
"invoice_lines": [
{
"id": 1,
"invoice_id": 123,
"seller_item_id": 45,
"quantity": 2,
"unit_price": "50.00",
"total_amount_cents": 10000,
"tax_rate": 20.0,
"description": "Product description"
}
]
}Show Invoice Line (GET /:id)
Endpoint: GET /sales/invoices/:id/invoice_lines/:id.json
Description: Retrieve a specific invoice line.
Request Example:
GET /sales/invoices/123/invoice_lines/1.jsonResponse (200 OK):
{
"invoice_line": {
"id": 1,
"invoice_id": 123,
"seller_item_id": 45,
"quantity": 2,
"unit_price": "50.00",
"total_amount_cents": 10000
}
}Create Invoice Line (POST)
Endpoint: POST /sales/invoices/:id/invoice_lines.json
Description: Create a new invoice line for an invoice.
Request Example:
POST /sales/invoices/123/invoice_lines.json
Content-Type: application/json
{
"invoice_line": {
"seller_item_id": 45,
"quantity": 2,
"unit_price": "50.00",
"description": "Product description"
}
}Response (201 Created):
{
"invoice_line": {
"id": 1,
"invoice_id": 123,
"seller_item_id": 45,
"quantity": 2
}
}Update Invoice Line (PATCH /:id)
Endpoint: PATCH /sales/invoices/:id/invoice_lines/:id.json
Description: Update an existing invoice line.
Request Example:
PATCH /sales/invoices/123/invoice_lines/1.json
Content-Type: application/json
{
"invoice_line": {
"quantity": 3,
"unit_price": "60.00"
}
}Response (200 OK):
{
"invoice_line": {
"id": 1,
"quantity": 3,
"unit_price": "60.00",
"total_amount_cents": 18000
}
}Delete Invoice Line (DELETE /:id)
Endpoint: DELETE /sales/invoices/:id/invoice_lines/:id.json
Description: Delete an invoice line.
Request Example:
DELETE /sales/invoices/123/invoice_lines/1.jsonResponse (204 No Content)
Batch Actions (POST /batch_action)
Endpoint: POST /sales/invoices/:id/invoice_lines/batch_action.json
Description: Perform batch operations on selected invoice lines.
Request Example:
POST /sales/invoices/123/invoice_lines/batch_action.json
Content-Type: application/json
{
"batch_action": "update",
"collection_selection": [1, 2, 3],
"batch_action_inputs": {
"tax_rate": 20.0
}
}Response (200 OK):
{
"message": "Batch action completed",
"affected_count": 3
}Related Documentation
- Invoice Resource - Parent invoice resource
- Item Resource - Items that can be added to invoice lines