List opportunities

Operation ID: listOpportunities

Group: CRM › Opportunities

Open in the interactive reference

GET /crm/opportunities

Read-only: Reads and returns; changes nothing.

Lists opportunities, most recently created first. Only ids, dates and an exact currency filter this endpoint. To filter by opportunityName, opportunityNumber or crmId, or to pass more than one value of a field, use POST crm/opportunities/search. The item schema is the same here, on GET crm/opportunities/:id and on POST crm/opportunities/search.

This endpoint does not follow the standard collection rules in Pagination and querying.

This endpoint ignores any query parameter it does not declare, and returns no error. A request that follows the standard rules therefore gets the first page, unfiltered, every time.

Parameters

Name In Type Required Description
Api-Version header string · 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.
entityId query string no Limits results to opportunities owned by this legal entity. Omit for every entity.
customerId query string no Limits results to opportunities for this customer or prospect, matched against either. Omit for every customer.
currency query string no Limits results to opportunities in this currency. Format ISO 4217, for example 'USD'. Omit for every currency.
createdFrom query string no Limits results to opportunities created at or after this time, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. Inclusive.
createdTo query string no Limits results to opportunities created at or before this time, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. Inclusive.
modifiedFrom query string no Limits results to opportunities changed at or after this time, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. Inclusive.
modifiedTo query string no Limits results to opportunities changed at or before this time, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. Inclusive.
cursor query string no The cursor from the previous response's data.pagination.nextCursor. Omit on the first request.
pageSize query number no The number of opportunities per page. Defaults to 50, and a value above 200 is treated as 200, not rejected.

Response

200 Success

Under data (listOpportunitiesOutput):

Field Type Required Description
items array<object> yes The opportunities on this page, most recently created first. An empty array when nothing matches.
items[].id string yes The unique identifier for the opportunity.
items[].opportunityNumber string no The system-generated opportunity number, for example 'OP-1042'. Absent while none has been assigned.
items[].entityId string yes The legal entity that owns the opportunity.
items[].currency string yes The currency the opportunity is denominated in, and the currency of amount. Format ISO 4217, for example 'USD'.
items[].customerId string no The identifier of the customer or prospect this opportunity is for. customerPath says which kind of record it is. Absent when it points at neither. See id on GET accounting/customers/:id for a customer, or GET crm/prospects/:id for a prospect.
items[].customerPath string no Which kind of record customerId identifies. The value ends in 'Customer.id' when it is a customer and in 'Prospect.id' when it is a prospect. Absent when neither resolves.
items[].endCustomerId string no The identifier of the end customer behind a partner customer. Absent unless one is on record. See id on GET accounting/customers/:id.
items[].priceBookId string yes The identifier of the price book quotes on this opportunity are priced from. See id on GET accounting/price-books/:id.
items[].stageId string yes The identifier of the stage the opportunity currently sits in: one of the stages on GET crm/opportunity-stages/:id, where :id is this opportunity's entityId.
items[].opportunityName string no The free-text display name of the opportunity. Absent when none is set.
items[].closeDate date no The expected close date of the deal. Format YYYY-MM-DD. Absent when none is set.
items[].amount decimal no The expected deal amount, as a decimal in the opportunity's currency. Absent when none is set.
items[].crmId string no The identifier of this opportunity in the external system it was imported from, for example a Salesforce record id. It is free text and not unique. Absent when none is set.
items[].dataSource string no The system the record came from, for example 'Salesforce'. Records created in Lensing have the value 'Everest'. Absent when none is set.
items[].lastModifiedDate date-time no The date and time the opportunity record last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ.
items[].quotes array<object> yes Every quote linked to this opportunity. An empty array when it has none.
items[].quotes[].quoteId string yes The identifier of the linked quote. See id on GET crm/quotes/:id.
items[].quotes[].isPrimary boolean yes Whether this is a primary quote for the opportunity. It is not guaranteed to be true for exactly one quote.
pagination object yes The pagination details for this page.
pagination.nextCursor string no The cursor for the next page. Pass it back as cursor. Absent on the last page.
pagination.hasMore boolean yes Whether another page follows. A full page may still be the last, so branch on this.
{
  "data": {
    "items": [
      {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "opportunityNumber": "<opportunityNumber>",
        "entityId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "currency": "<currency>",
        "customerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "customerPath": "<customerPath>",
        "endCustomerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "priceBookId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "stageId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "opportunityName": "<opportunityName>",
        "closeDate": "2026-01-15",
        "amount": "19.99",
        "crmId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "dataSource": "<dataSource>",
        "lastModifiedDate": "2026-01-15T09:30:00.000Z",
        "quotes": [
          {
            "quoteId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "isPrimary": true
          }
        ]
      }
    ],
    "pagination": {
      "nextCursor": "<nextCursor>",
      "hasMore": true
    }
  },
  "diagnostics": [
    {
      "code": "<code>",
      "message": "<message>",
      "severity": "error",
      "path": [
        "<path>"
      ],
      "details": "<details>"
    }
  ]
}

Statuses