Quotes

List the lines of a quote

Returns what was quoted, line by line, with its quantity and its price.

GET
/api/v1/quotes/{quoteId}/lines

Request examples

curl https://app.filmo.io/api/v1/quotes/quot_8f2a1c/lines \
  --header "Authorization: Bearer $FILMO_API_KEY"
{
  "data": [
    {
      "id": "document_line_9f3a2b",
      "resourceType": "item",
      "transactionType": "rental",
      "position": 1,
      "itemId": "item_9f3a2b",
      "itemName": "Example item name",
      "variantId": "variant_9f3a2b",
      "variantName": "Example variant name",
      "quantity": 1,
      "orderId": "order_9f3a2b",
      "orderNumber": "2026-0001",
      "startDate": "2026-09-01T08:00:00.000Z",
      "endDate": "2026-09-01T08:00:00.000Z",
      "rentalDays": 1,
      "unitPrice": "120.00",
      "linePrice": "120.00",
      "free": true,
      "notes": "Example text."
    }
  ],
  "pagination": {
    "nextCursor": "eyJvIjoyMH0",
    "hasMore": true,
    "total": 1
  }
}

Generated from the schema

They belong to the ACTIVE VERSION of the quote, like the rest of the resource. Lines come in document order.

Authorizations

Bearer API key with the scope below. quotes:read

Path parameters

quoteIdstringRequired

Quote identifier.

Limits: min length 1

Query parameters

limitintegerdefault:50

Page size (1-500). Defaults to 50.

Limits: min 1, max 500

cursorstring

Opaque cursor of the page to return. Pass the value of pagination.nextCursor from the previous response; treat it as opaque.

Limits: max length 200

sortstring

Sort order: up to 3 comma-separated fields, each with a leading "-" for descending (e.g. "-updatedAt,name"). Sortable fields: position, itemName, quantity, startDate, endDate, rentalDays, unitPrice, linePrice, resourceType, transactionType. Defaults to "position". Ties are broken by id, so the order is stable across pages, and a cursor is bound to the sort it was issued with.

Limits: max length 200

includeTotalbooleandefault:false

Set it to true to include pagination.total, the number of results that match the filters across all pages. Off by default.

Response

application/json

Successful response.

Response schema: DocumentLineDto

Envelope: DocumentLineList. meta.warnings is present only when the operation is deprecated.

Headers: X-Request-Id · RateLimit-Limit · RateLimit-Remaining · RateLimit-Reset

dataobject[]

Show child attributes
data.idstring

Unique identifier of the line within the document.

data.resourceTypestring

Resource type of the line. Lines of type section and type_group are presentation groupings with no associated resource.

Available options: item, kit, space, vehicle, personnel, service, custom, section, type_group

data.transactionTypestring

Nature of the line: rental or sale.

Available options: rental, sale

data.positioninteger

Display position of the line within the document, starting at 0.

data.itemIdstring | null

Catalog item identifier; null if the line is not of type item.

data.itemNamestring | null

Item name as it was WHEN THE DOCUMENT WAS ISSUED. It may differ from the current item name in the catalog: the document is a snapshot.

data.variantIdstring | null

Variant identifier; null if not applicable.

data.variantNamestring | null

Variant name frozen in the snapshot; null if not applicable.

data.quantitynumber

Units invoiced or quoted on the line.

data.orderIdstring | null

Order the line comes from; null if it was added directly to the document.

data.orderNumberstring | null

Number of that order; null if the line does not come from one.

data.startDatestring<date-time> | null

Start of the invoiced period in ISO 8601 UTC; null if the line has no period.

data.endDatestring<date-time> | null

End of the invoiced period in ISO 8601 UTC; null if the line has no period.

data.rentalDaysnumber | null

Invoiced rental days; null if not applicable.

data.unitPricestring | null

Net unit price as a decimal string "1234.50"; null if the line has no price of its own.

Limits: pattern ^-?\d+\.\d{2}$

data.linePricestring | null

Net amount of the line as a decimal string "1234.50"; null if not calculated.

Limits: pattern ^-?\d+\.\d{2}$

data.freeboolean

true if the line is explicitly billed at zero.

data.notesstring | null

Line notes; null if none.

paginationobject

Opaque-cursor pagination metadata.

Show child attributes
pagination.nextCursorstring | null

Opaque cursor of the next page; null when there are no more results. Pass it as cursor in the next request.

pagination.hasMoreboolean

Whether more results exist beyond this page.

pagination.totalinteger

Number of results matching the filters across all pages. Present only when the request sets includeTotal=true.

Limits: min 0

metaobject

Additional information about the response.

Show child attributes
meta.warningsobject[]

Lifecycle warnings; present only when the operation is deprecated.

Show child attributes
meta.warnings.codestring

Stable warning code.

Available options: deprecated

meta.warnings.messagestring

For people: what is deprecated, until when, and what to use.

meta.warnings.sunsetstring

Day (YYYY-MM-DD) the operation stops being served.

meta.warnings.replacementstring | null

operationId of the operation to use instead, or null if there is none.

Errors

StatusCodesMeaning
400validation_errorMalformed query or body. errors[] lists every offending field with its stable code.
404not_foundIt does not exist or is outside the scope of the API key.

401, 403, 429, 500 can be returned by any operation. Errors

Deprecation

This operation is not deprecated. Deprecations are announced with a Deprecation header and a sunset date. Versioning policy

  • Finance

    Document line

    Sales document line: what was invoiced, how much and at what price.