---
title: "List opportunities"
method: GET
path: "/entities/Opportunities"
tags: ["Lead & Opportunity"]
---

# List opportunities

`GET /entities/Opportunities`

## Request

- Base URL: `https://us-east.api.coevera.com/api/v100/rest/spaces/your_space_id`
- URL: `https://us-east.api.coevera.com/api/v100/rest/spaces/your_space_id/entities/Opportunities`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/coevera/apis/coevera-crm-api/docs/entities/Opportunities/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns the opportunities the API application can read, one page at a time.

## Query parameters

- `include-deleted` boolean
- `first` integer
- `last` integer
- `before` string
- `after` string
- `expand` string
- `order-by` string
- `filter` object
- `filter-op` object
- `load-only` string

## Response `200`

Page of Opportunity records.

- object
  - `success` boolean: True when the request succeeded; false on error.
  - `data` Opportunity[]
    - `is_delete_protected` boolean, required: True when the record is protected against deletion because it must always exist in the space. Deleting a record that is not protected can still fail on other checks. Read-only.
    - `id` string, uuid, required: Unique identifier of entity.
    - `is_deleted` boolean: Specifies if the entity is considered deleted.
    - `modified` string, date-time: Last modification time.
    - `created` string, date-time: Creation time.
    - `active_quote` string, uri: Quote currently used to drive the opportunity (e.g. for synchronisation of monetary fields). Empty when no quote is active. Related Quote record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'Quote' for its fields.
    - `currency_exchange_rates_list` string, uri: Currency exchange rate list used to convert monetary fields linked to this opportunity. Empty to inherit the team space default. Related CurrencyExchangeRatesList record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'CurrencyExchangeRatesList' for its fields.
    - `lead_source` string, uri: How the opportunity originated (e.g. Website, Referral, Trade Show). Configurable per team space. Related Data record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'Data' for its fields.
    - `oppty_type` string, uri, required: Opportunity type that classifies this opportunity. Each type maps to one pipeline and drives which form, fields and stages apply. Related OpportunityType record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'OpportunityType' for its fields.
    - `owner` string, uri, required: Sales user who owns this opportunity. Related Client record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'Client' for its fields.
    - `product_currency` string, uri, required: Currency used for product line-item prices on this opportunity. Related Currency record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'Currency' for its fields.
    - `product_price_list` string, uri: Product price list used to populate prices for product line items added to this opportunity. Empty to use catalog defaults. Related ProductPriceList record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'ProductPriceList' for its fields.
    - `reason_of_close` string, uri: Configurable reason recorded when the opportunity is archived (lost). Required when the lost form mandates it. Related Data record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'Data' for its fields.
    - `step` string, uri, required: Pipeline step the opportunity is currently sitting in. Reaching the last step in the pipeline marks the opportunity as won; archiving sets it to lost. Related Step record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'Step' for its fields.
    - `unit` string, uri, required: Sales unit this opportunity is assigned to. Determines which team members can see the record under unit-based sharing. Related SalesUnit record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'SalesUnit' for its fields.
    - `active_quote_id` string, uuid: Id of the quote currently synchronized with this opportunity, or empty when no quote is active. A quote can be active on only one opportunity at a time.
    - `closing_date` string, date, required: Expected or actual closing date of the opportunity.
    - `currency_exchange_rates_list_id` string, uuid: Id of the currency exchange rate list applied to this opportunity.
    - `description` string: Free-form description of the opportunity.
    - `is_archived` boolean: True when the opportunity has been archived (lost). Archived opportunities remain readable but are hidden from active lists and cannot be edited until reactivated.
    - `is_value_auto_calculate` boolean: True when value is auto-calculated from the opportunity product line items. False when the user enters value directly.
    - `label_flag` string: User-set colored flag used to highlight the opportunity in lists and reports.
    - `last_ai_buying_center_applied` string, date-time: Time when an AI-suggested buying center was last applied to this opportunity.
    - `lead_source_id` string, uuid: Id of the lead source the opportunity originated from.
    - `name` string, required: Name of the entity and its default text representation.
    - `oppty_type_id` string, uuid: Id of the opportunity type.
    - `owner_id` string, uuid, required: Id of the opportunity owner.
    - `product_currency_id` string, uuid: Id of the currency used for product line-item prices on this opportunity.
    - `product_price_list_id` string, uuid: Id of the price list that supplies prices for product line items added to this opportunity, or empty to use catalog defaults.
    - `product_sections` object: Product sections grouping the record's line items, as a JSON array of {"id": <UUID>, "name": <string>} objects. Validated on write. Full structure: https://developers.coevera.com/reference/graphql/types/p/#ProductSection This payload conforms to the `ProductSection` JSON Schema (see the linked schema).
    - `quick_account_email` string: Free-text company email captured at opportunity creation when no Account record has been linked yet.
    - `quick_account_name` string: Free-text company name captured at opportunity creation when no Account record has been linked yet.
    - `quick_account_phone` string: Free-text company phone captured at opportunity creation when no Account record has been linked yet.
    - `quick_contact_name` string: Free-text contact name captured at opportunity creation when no Contact record has been linked yet.
    - `quick_email` string: Free-text contact email captured at opportunity creation when no Contact record has been linked yet.
    - `quick_phone` string: Free-text contact phone captured at opportunity creation when no Contact record has been linked yet.
    - `ranking` integer: Qualitative ranking score (1-10) the user assigns to indicate the strength of the opportunity.
    - `reason_of_close_description` string: Free-form note explaining why the opportunity was archived (lost).
    - `reason_of_close_id` string, uuid: Id of the reason of close option selected when the opportunity was archived (lost).
    - `share_mode` 0 | 1 | 2 | 3: Sharing model applied on top of the owner/unit visibility (e.g. shared with selected sales units or selected users). The matching sharing_units / sharing_clients lists control who is granted access. Integer enum value: 0 - Standard, 1 - Private, 2 - AllView, 3 - AllEdit
    - `step_id` string, uuid, required: Id of the pipeline step.
    - `table_name` string, required: Discriminator identifying the concrete record type — always "opportunity" for Opportunity records. Read-only; useful when consuming polymorphic LeadOppty results.
    - `unit_id` string, uuid: Id of the sales unit.
    - `was_qualified` boolean: True when the opportunity has gone through the qualification step at least once.
    - `revision` integer: Revision when entity was lastly changed.
    - `value` object, required: Monetary value of the opportunity; on create, send `currency_id` and `base_value`, and `value_foreign` is computed.
      - `base_value` number, double, required: Value in the base currency of the space. If empty, it is calculated from value_foreign at the current exchange rate.
      - `currency_id` string, uuid, required: Id of the currency of value_foreign.
      - `value_foreign` number, double, required: Value in the currency set by currency_id. If empty, it is calculated from base_value at the current exchange rate.
    - `oppty_recurrence` string, uri: Recurrence schedule generating periodic copies of this opportunity, or empty when no recurrence is set up. Related OpptyRecurrence record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'OpptyRecurrence' for its fields.
    - `revenue_schedule` string, uri: Revenue schedule splitting the opportunity value across periods, or empty when revenue scheduling is not enabled for this opportunity. Related OpptyRevenueSchedule record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'OpptyRevenueSchedule' for its fields.
    - `product_relations` string[]: Product line items on this opportunity. Each entry holds the product, quantity, price and discount that contribute to the opportunity value when is_value_auto_calculate is true.
    - `primary_contact` string, uri: Primary contact of this opportunity. Set automatically from the contact relation marked as primary. Related Contact record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'Contact' for its fields.
    - `primary_account` string, uri: Primary account of this opportunity. Set automatically from the account relation marked as primary. Related Account record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'Account' for its fields.
    - `contact_relations` string[]: Contacts linked to this opportunity, including their roles and org-chart positions.
    - `account_relations` string[]: Accounts linked to this opportunity; required on create, with one relation marked `is_primary: true`, the primary account.
    - `documents` string[]: Documents linked to this opportunity.
    - `quote_relations` string[]: Quotes prepared for this opportunity.
    - `status` 1 | 2 | 3, required: Status of the opportunity: 1 Open, 2 Lost, 3 Won. Read-only; derived from the current pipeline step and the archived flag. Integer enum value: 1 - Open, 2 - Lost, 3 - Won
    - `qualify_date` string, date-time: Timestamp of when the opportunity was qualified, taken from the matching KPI event. Empty for opportunities that have not been qualified. Read-only.
    - `won_date` string, date-time: Timestamp of when the opportunity was won. Setting it adjusts the underlying win event; empty for opportunities that have not been won.
    - `lost_date` string, date-time: Timestamp of when the opportunity was archived (lost). Setting it adjusts the underlying loss event; empty for opportunities that have not been archived.
    - `days_in_step` integer, required: Number of days the opportunity has been sitting in its current pipeline step. Read-only; computed by Coevera from the most recent move event and per-step timeframe history.
    - `is_favorite` boolean, required: True when the current authenticated user has marked this opportunity as favorite. Per-user.
    - `sharing_units` string[]: Sales units that have been granted shared access to this opportunity. Editable only when share_mode allows unit sharing.
    - `sharing_clients` string[]: Users that have been granted shared access to this opportunity. Editable only when share_mode allows user sharing.
    - `tags` string[]: Tag labels applied to this opportunity.
    - `static_profiles` string[]: Saved view profiles this opportunity currently matches.
    - `formatted_name` string, required: Display version of the opportunity name, used in lists and references.
    - `modified_by_user` string, date-time: Timestamp of the most recent modification made by an end user (excluding system changes). Read-only; computed by Coevera.
  - `page_info` object: Pagination of the result; not returned when the legacy limit and offset parameters are used.
    - `start_cursor` string: Cursor of the first record of the page.
    - `end_cursor` string: Cursor of the last record of the page.
    - `has_previous_page` boolean: Whether records exist before this page; pass start_cursor as before to load them.
    - `has_next_page` boolean: Whether records exist after this page; pass end_cursor as after to load them.
  - `total` integer: Number of records that match the request, across all pages.

## Other responses

- `400`: Bad request: a bad or unknown parameter (codes 117, 118), a missing permission (code 50), conflicting data (code 2002) or any other API error. The REST API answers 400 where others answer 403 or 409; check `code`.
- `401`: Not authenticated: missing or wrong credentials, a credential of another space, or an expired token (code 401, ERROR_UNAUTHORIZED).
- `429`: Too many requests (code 182). Wait for the seconds in Retry-After, then retry.
- `500`: Unexpected server error (code 1000, ERROR_UNKNOWN).

---

[API](https://skmtc.dev/coevera/apis/coevera-crm-api.md) - [All operations](https://skmtc.dev/coevera/apis/coevera-crm-api/llms.txt) - [OpenAPI document](https://skmtc.dev/coevera/apis/coevera-crm-api/revisions/40ebbc83f179?raw)
