# Revenue Contracts

`GET /accounting/revenue-contracts`

Group: Accounting › Revenue Contracts · Operation ID: `revenueContracts`

Returns a list of revenue contracts. Each entry has header fields only. For the revenue lines and revenue plans, or to filter by customer, legal entity or sales order, use GET accounting/revenue-contracts/:id or POST accounting/revenue-contracts/search.

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

## 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
- `approvalStatus` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between, like
- `generalStatus` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between, like
- `revenueStatus` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between, like
- `isContractClosed` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between, like
- `isContractCombined` — 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
- `migrationDate` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between, like
- `revenueStartDate` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between, like
- `revenueEndDate` — 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, approvalStatus, generalStatus, revenueStatus, isContractClosed, isContractCombined, currency, migrationDate, revenueStartDate, revenueEndDate, totalContractValue, deferredRevenue, revenueRecognized, revenueRemaining, lastModifiedDate
- Selectable: id, revenueContractNumber, approvalStatus, generalStatus, revenueStatus, isContractClosed, isContractCombined, isLongTermContract, currency, functionalCurrency, exchangeRate, entityName, customerName, migrationDate, revenueStartDate, revenueEndDate, totalContractValue, deferredRevenue, revenueRecognized, revenueRemaining, lastModifiedDate

## Response

`200` Success

Under `data`, an array of revenueContractsRow:

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string | no | The unique identifier for the revenue contract. |
| `revenueContractNumber` | string or null | no | The revenue contract number, unique within the tenant. |
| `approvalStatus` | string | no | The approval status of the contract. Possible values: 'draft', 'pendingApproval', 'revise', 'approved', 'rejected'. |
| `generalStatus` | string or null | no | The overall status of the contract, combining approval and any active revenue hold. Possible values: 'approved', 'approvedOnHold', 'pendingApproval', 'pendingApprovalOnHold'. |
| `revenueStatus` | string or null | no | The revenue-recognition progress across the contract's lines. Possible values: 'notStarted', 'notStartedOnHold', 'inProgress', 'inProgressOnHold', 'complete', 'completeModified'. |
| `isContractClosed` | boolean | no | Whether the contract has been closed, with its open revenue moved to a new combined revenue contract. |
| `isContractCombined` | boolean | no | Whether the contract is the combination target that absorbed a closed contract's open revenue. |
| `isLongTermContract` | boolean or null | no | Whether the recognition window from revenueStartDate to revenueEndDate exceeds 366 days. |
| `currency` | string | no | The currency the contract is denominated in. Every amount on the contract is in this currency. Format ISO 4217, for example 'USD'. |
| `functionalCurrency` | string or null | no | The owning entity's functional currency. Present only when it differs from the contract currency. Format ISO 4217, for example 'USD'. |
| `exchangeRate` | string (decimal) | no | The rate used to convert the contract currency to the entity's functional currency. A ratio, not an amount, with no currency of its own. |
| `entityName` | string or null | no | The name of the legal entity that owns this contract. |
| `customerName` | string or null | no | The display name of the customer this contract is with. |
| `migrationDate` | string (date) or null | no | The date this contract's opening balances were migrated from a prior system. Format YYYY-MM-DD. Absent on a contract created natively. |
| `revenueStartDate` | string (date) or null | no | The earliest revenue-recognition start date across the contract's lines. Format YYYY-MM-DD. |
| `revenueEndDate` | string (date) or null | no | The latest revenue-recognition end date across the contract's lines. Format YYYY-MM-DD. |
| `totalContractValue` | string (decimal) or null | no | The total contract value, in the contract currency. It is the total price of the sales order this contract was created from, less the contract's cost-of-contract-value. |
| `deferredRevenue` | string (decimal) or null | no | The deferred revenue not yet recognized, in the contract currency. Zero once the contract is closed. |
| `revenueRecognized` | string (decimal) or null | no | The cumulative revenue recognized to date, in the contract currency. |
| `revenueRemaining` | string (decimal) or null | no | The revenue remaining to be recognized, in the contract currency. |
| `lastModifiedDate` | string (date-time) | no | The date and time the revenue contract last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. |

## 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
