Replace Project Line Items

Replace all line items for a project. Send an object with `lineItems`, `sections`, or both: - **`lineItems`** `{ lineItems: [...] }` — ungrouped line items. - **`sections`** `{ sections: [{ name?, lineItems: [...] }] }` — line items grouped into named sections. - The two may be combined (ungrouped items + named sections). A `catalogItemId` may appear at most once across the flattened set. > **Deprecated:** the previous request shape is still accepted for backwards compatibility but is deprecated and will not be supported in a future version.

Authentication

x-api-keystring
API Key authentication via header

Path parameters

projectIdintegerRequired
Project identifier

Request

This endpoint expects an object.
lineItemslist of objectsOptional

Ungrouped line items. May be combined with sections (a catalogItemId may appear only once across both).

sectionslist of objectsOptional

Line items grouped into named sections. May be combined with lineItems (ungrouped items).

Response

Updated list of line items
idinteger
Line item identifier
quantityinteger
Quantity of items
descriptionstring
Line item description
unitCostdouble
Cost per unit
totalCostdouble

Total cost (unitCost * quantity)

totalPricedouble

Total price (unitPrice * quantity)

unitPricedouble
Price per unit
createdAtstringformat: "date-time"
Creation timestamp
catalogItemobject
sectionNamestring or null

Section name; null when the item is ungrouped

Errors

400
Bad Request Error
401
Unauthorized Error
404
Not Found Error