---
title: "Get all opportunities with filtering options"
---

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

Path: Channel Automation API › Pipeline

`GET /api/pipeline/opportunities`

## Authentication

- `bearerAuth`

## Query parameters

- `workspace_id` (`get/api/pipeline/opportunities.query.workspace_id`; string, optional) — Filter by workspace ID
- `pipeline_id` (`get/api/pipeline/opportunities.query.pipeline_id`; string, optional) — Filter by pipeline ID
  - format `uuid`
- `stage_id` (`get/api/pipeline/opportunities.query.stage_id`; string, optional) — Filter by stage ID
  - format `uuid`
- `contact_id` (`get/api/pipeline/opportunities.query.contact_id`; string, optional) — Filter by contact ID
  - format `uuid`
- `priority` (`get/api/pipeline/opportunities.query.priority`; string, optional) — Filter by priority
  - one of `"low"`, `"medium"`, `"high"`
- `is_closed` (`get/api/pipeline/opportunities.query.is_closed`; boolean, optional) — Filter by closed status
- `page` (`get/api/pipeline/opportunities.query.page`; integer, optional) — Page number for pagination
  - default `1`
- `limit` (`get/api/pipeline/opportunities.query.limit`; integer, optional) — Items per page
  - max 100; default `50`

## Code samples

### cURL

```bash
curl --request GET \
  --url https://api.channelautomation.com/api/pipeline/opportunities
```

### TypeScript

```typescript
const url = 'https://api.channelautomation.com/api/pipeline/opportunities';
const options = {method: 'GET'};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));
```

### Python

```python
import requests

url = "https://api.channelautomation.com/api/pipeline/opportunities"

response = requests.get(url)

print(response.text)
```

## Responses

### 200

List of opportunities

#### Example

```json
{
  "success": true,
  "data": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "title": "string",
      "description": "string",
      "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
      "company_id": "b2e6a1c3-1a5e-44ae-a8fd-81f76fd715cf",
      "workspace_id": "string",
      "stage_id": "f38d2b9c-0a0a-4eea-91a8-e974413bb670",
      "pipeline_id": "ec036e81-7903-4e4d-bbfa-ac8516341cf0",
      "amount": 0,
      "currency": "string",
      "probability": 0,
      "priority": "low",
      "expected_close_date": "2019-08-24T14:15:22Z",
      "tags": [
        "string"
      ],
      "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
      "assigned_to": "b9f52997-ff03-4166-bbff-22fd35e12939",
      "created_at": "2019-08-24T14:15:22Z",
      "updated_at": "2019-08-24T14:15:22Z",
      "is_closed": true,
      "is_won": true
    }
  ],
  "pagination": {
    "page": 0,
    "limit": 0,
    "total": 0,
    "totalPages": 0,
    "hasNext": true,
    "hasPrev": true
  }
}
```

- `success` (`get/api/pipeline/opportunities.response.200.success`; boolean, optional)
- `data` (`get/api/pipeline/opportunities.response.200.data`; array<object>, optional)
  - `id` (`get/api/pipeline/opportunities.response.200.data.id`; string, optional) — Unique opportunity identifier
    - format `uuid`
  - `title` (`get/api/pipeline/opportunities.response.200.data.title`; string, optional) — Title of the opportunity
  - `description` (`get/api/pipeline/opportunities.response.200.data.description`; string, optional) — Description of the opportunity
  - `contact_id` (`get/api/pipeline/opportunities.response.200.data.contact_id`; string, optional) — Associated contact ID
    - format `uuid`
  - `company_id` (`get/api/pipeline/opportunities.response.200.data.company_id`; string, optional) — Associated company ID
    - format `uuid`
  - `workspace_id` (`get/api/pipeline/opportunities.response.200.data.workspace_id`; string, optional) — Workspace ID
  - `stage_id` (`get/api/pipeline/opportunities.response.200.data.stage_id`; string, optional) — Current stage ID
    - format `uuid`
  - `pipeline_id` (`get/api/pipeline/opportunities.response.200.data.pipeline_id`; string, optional) — Pipeline ID
    - format `uuid`
  - `amount` (`get/api/pipeline/opportunities.response.200.data.amount`; number, optional) — Opportunity value amount
  - `currency` (`get/api/pipeline/opportunities.response.200.data.currency`; string, optional) — Currency code
  - `probability` (`get/api/pipeline/opportunities.response.200.data.probability`; integer, optional) — Success probability percentage
  - `priority` (`get/api/pipeline/opportunities.response.200.data.priority`; string, optional) — Priority level
    - one of `"low"`, `"medium"`, `"high"`
  - `expected_close_date` (`get/api/pipeline/opportunities.response.200.data.expected_close_date`; string, optional) — Expected closing date
    - format `date-time`
  - `tags` (`get/api/pipeline/opportunities.response.200.data.tags`; array<string>, optional) — Tags associated with this opportunity
  - `created_by` (`get/api/pipeline/opportunities.response.200.data.created_by`; string, optional) — User ID who created the opportunity
    - format `uuid`
  - `assigned_to` (`get/api/pipeline/opportunities.response.200.data.assigned_to`; string, optional) — User ID the opportunity is assigned to
    - format `uuid`
  - `created_at` (`get/api/pipeline/opportunities.response.200.data.created_at`; string, optional) — Creation timestamp
    - format `date-time`
  - `updated_at` (`get/api/pipeline/opportunities.response.200.data.updated_at`; string, optional) — Last update timestamp
    - format `date-time`
  - `is_closed` (`get/api/pipeline/opportunities.response.200.data.is_closed`; boolean, optional) — Whether the opportunity is closed
  - `is_won` (`get/api/pipeline/opportunities.response.200.data.is_won`; boolean, optional, nullable) — Whether the opportunity was won (null if not closed)
- `pagination` (`get/api/pipeline/opportunities.response.200.pagination`; object, optional)
  - `page` (`get/api/pipeline/opportunities.response.200.pagination.page`; integer, optional)
  - `limit` (`get/api/pipeline/opportunities.response.200.pagination.limit`; integer, optional)
  - `total` (`get/api/pipeline/opportunities.response.200.pagination.total`; integer, optional)
  - `totalPages` (`get/api/pipeline/opportunities.response.200.pagination.totalPages`; integer, optional)
  - `hasNext` (`get/api/pipeline/opportunities.response.200.pagination.hasNext`; boolean, optional)
  - `hasPrev` (`get/api/pipeline/opportunities.response.200.pagination.hasPrev`; boolean, optional)

### 401

Unauthorized

### 500

Internal server error


Source: https://developer.channelautomations.com/api/get-api-pipeline-opportunities/index.md
