> ## Documentation Index
> Fetch the complete documentation index at: https://learn.nexudus.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get multiple CrmOpportunities

> Retrieve multiple CrmOpportunity records by their Ids in a single request.

Fetch several CrmOpportunity records in a single request by passing their Ids as a comma-separated list enclosed in square brackets.

## Authentication

<Note>
  This endpoint requires OAuth2 authentication. Include a valid bearer token in the `Authorization` header.
  The authenticated user must be a full unrestricted administrator or have the **`CrmOpportunity-Read`** role.
</Note>

## Query Parameters

<ParamField query="id" type="integer[]" required>
  A comma-separated list of CrmOpportunity Ids enclosed in square brackets, e.g. `[123,456,789]`.
</ParamField>

## Code Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET \
    "https://spaces.nexudus.com/api/crm/crmopportunities/?id=[87654321,87654322,87654323]" \
    -H "Authorization: Bearer YOUR_TOKEN"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://spaces.nexudus.com/api/crm/crmopportunities/?id=[87654321,87654322,87654323]',
    {
      headers: {
        'Authorization': 'Bearer YOUR_TOKEN'
      }
    }
  );

  const records = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'https://spaces.nexudus.com/api/crm/crmopportunities/',
      params={
          'id': '[87654321,87654322,87654323]'
      },
      headers={
          'Authorization': 'Bearer YOUR_TOKEN'
      }
  )

  records = response.json()
  ```
</CodeGroup>

## Response

### 200

Returns an array of CrmOpportunity records. Each record has the same structure as the response from the [Get one CrmOpportunity](/rest-api/crm/get-crmopportunities-by-id) endpoint.

<Warning>
  **Partial records** — This endpoint returns a summary representation of each CrmOpportunity. The following fields are **not populated** in the response: `TeamId`, `Notes`, `Value`, `Reminded`, `LeadSource`, `LossReason`, `Position`, `UtmSource`, `UtmMedium`, `UtmCampaign`, `UtmContent`, `UtmTerm`.

  To get all fields, fetch the full record using the [Get one CrmOpportunity](/rest-api/crm/get-crmopportunities-by-id) endpoint.

  **Important for updates:** When updating a record via `PUT`, always retrieve the full record with a `GET` request first, apply your changes to that complete data, and then send the updated record. Do not use data from this endpoint as the base for a `PUT` request, as missing fields may be unintentionally cleared.
</Warning>

```json Example Response theme={null}
[
  {
    "Name": null,
    "CrmBoardColumnId": 0,
    "CrmBoardColumnName": null,
    "CrmBoardColumnCrmBoardId": null,
    "CrmBoardColumnCrmBoardName": null,
    "CrmBoardColumnCrmBoardBusinessId": null,
    "CrmBoardColumnCrmBoardBusinessName": null,
    "CrmBoardColumnCrmBoardBusinessCurrencyId": null,
    "CrmBoardColumnCrmBoardBusinessCurrencyCode": null,
    "CoworkerId": null,
    "CoworkerFullName": null,
    "CoworkerCoworkerType": null,
    "CoworkerCompanyName": null,
    "CoworkerEmail": null,
    "TeamName": null,
    "TeamDescription": null,
    "TeamProfileWebsite": null,
    "OpportunityTypeId": null,
    "OpportunityTypeName": null,
    "ResponsibleId": null,
    "ResponsibleFullName": null,
    "ReferrerId": null,
    "AgentId": null,
    "Completed": false,
    "DueDate": null,
    "Status": 0,
    "WonOn": null,
    "LostOn": null,
    "CrmUpdatedOn": null,
    "Id": 87654321,
    "UpdatedOn": "2025-01-15T10:30:00Z",
    "CreatedOn": "2025-01-10T08:00:00Z",
    "UniqueId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "UpdatedBy": "admin@example.com",
    "IsNew": false,
    "SystemId": null,
    "ToStringText": "CrmOpportunity Example",
    "LocalizationDetails": null,
    "CustomFields": null
  }
]
```
