# Pricing

`GET /accounting/pricing`

Group: Accounting › Products › Product Lines · Operation ID: `pricing`

List pricing headers with structured filters. GET data-set exposing filter[field][op]= (eq/ne/gt/gte/lt/lte/in/notIn/between/like), sort=-validFrom,priceBookName, sparse fields=, and page[size]/page[cursor] cursor pagination. Filter by product line with filter[productLineId][eq]=<uuid>, by product with filter[productId][eq]=<uuid>, by price book with filter[priceBookId][eq]=<uuid>. Returns the header of each record; entries, rate cards and external identifiers come from GET accounting/pricing/:id or POST accounting/pricing/search. Every request must carry the Api-Version header.

[Open in the interactive reference](https://docs.api.lensing.ai/?op=pricing)

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `Api-Version` | header | `"v1"` | yes | The API version this request targets, named by its public identifier. Required on every request; omitting it, or naming a version this company does not have, is answered with 400. This document describes version `v1`. |

## Query surface

- `id` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between, like
- `productLineId` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between, like
- `productId` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between, like
- `priceBookId` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between, like
- `currency` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between, like
- `validFrom` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between, like
- `validTo` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between, like
- `dataSource` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between, like
- `hasBeenUsed` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between, like
- `createdDate` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between, like
- `lastModifiedDate` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between, like
- Orderable: id, productLineId, productLineName, productId, productName, priceBookId, priceBookName, currency, dataSource, hasBeenUsed, validFrom, validTo, createdDate, lastModifiedDate
- Selectable: id, headerNumber, productLineId, productLineName, productLineNumber, productId, productName, priceBookId, priceBookName, currency, validFrom, validTo, dataSource, hasBeenUsed, createdDate, lastModifiedDate

## Response

`200` Success

Under `data`, an array of pricingRow:

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string | no | Stable, platform-assigned id (a UUID) of the pricing header — the public identifier used by GET accounting/pricing/:id. Filter e.g. filter[id][in]=<id1>,<id2>. |
| `headerNumber` | string or null | no | System-generated pricing header number. Returned only — neither filterable nor orderable; look a header up by number through POST accounting/pricing/search. |
| `productLineId` | string | no | Id of the product line this header prices (a UUID). Filter target: filter[productLineId][eq]=<uuid>. |
| `productLineName` | string or null | no | Display name of that product line. Orderable only. |
| `productLineNumber` | string or null | no | System-generated number of that product line. Returned only. |
| `productId` | string or null | no | Id of the product the line belongs to (a UUID). Filter target: filter[productId][eq]=<uuid>. |
| `productName` | string or null | no | Display name of that product. Orderable only. |
| `priceBookId` | string | no | Id of the price book this header belongs to (a UUID). Filter target: filter[priceBookId][eq]=<uuid>. |
| `priceBookName` | string or null | no | Name of that price book. Orderable only. |
| `currency` | string | no | ISO 4217 currency code governing every amount in this header. Filter target: filter[currency][eq]=USD. |
| `validFrom` | string (date) | no | First date the header's prices are effective. Filter target: filter[validFrom][lte]=2026-12-31. |
| `validTo` | string (date) or null | no | Last effective date. Absent when open-ended. Filter target: filter[validTo][gte]=2026-01-01. |
| `dataSource` | string or null | no | Upstream system or import job that produced this header, e.g. 'Everest', 'Salesforce'. Filter target: filter[dataSource][eq]=Salesforce. |
| `hasBeenUsed` | boolean or null | no | True once the header has priced at least one sales order line. Computed; never settable. Filter target: filter[hasBeenUsed][eq]=false. |
| `createdDate` | string (date-time) or null | no | Instant the record was created, as ISO 8601 UTC (YYYY-MM-DDTHH:mm:ss.sssZ). Filter target: filter[createdDate][gte]=2026-01-01T00:00:00.000Z. |
| `lastModifiedDate` | string (date-time) | no | Instant the record last changed, as ISO 8601 UTC (YYYY-MM-DDTHH:mm:ss.sssZ). Filter target: filter[lastModifiedDate][gte]=2026-08-01T00:00:00.000Z, with sort=lastModifiedDate, is a complete incremental-sync cursor. |

## Statuses

- `400` — Invalid request or business failure
- `401` — Missing or invalid access token
- `403` — Not authorized
- `404` — Not found
- `429` — Too many requests
- `500` — Internal server error
