# Listar oportunidades

> Lista as oportunidades de um pipeline, em páginas (offset e limit).

Endereço: https://docs.nextags.com.br/referencia/pipelines/listar-oportunidades/
Tipo: Endpoint

```http
GET https://app.nextagsai.com.br/api/pipelines/{pipeline_id}/opportunities
X-ACCESS-TOKEN: <sua chave de API>
```

Lista as oportunidades de um pipeline, em páginas (`offset` e `limit`). Com `contact_id`, traz só as de um contato: o jeito de saber se o cliente já tem uma oportunidade aberta antes de criar outra.

Autenticação: Mande a chave de API da conta no cabeçalho `X-ACCESS-TOKEN` de cada chamada. Veja [Autenticação com a chave de API](https://docs.nextags.com.br/comecar/autenticacao/).

## Parâmetros de caminho

| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `pipeline_id` | integer | sim | O ID do pipeline (veja [Listar pipelines](https://docs.nextags.com.br/referencia/pipelines/listar-pipelines/)). |

## Parâmetros de consulta

| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `contact_id` | number | não | O ID de um contato: traz só as oportunidades dele. |
| `offset` | integer | não | Quantos registros pular antes do primeiro da página. Comece em 0 e some o `limit` a cada página. Padrão: `0`. |
| `limit` | integer | não | Quantos registros trazer por página. Padrão: `100`. |

## Exemplo

```bash
curl "https://app.nextagsai.com.br/api/pipelines/4001/opportunities?contact_id=123456789" \
  -H "X-ACCESS-TOKEN: $NEXTAGS_API_KEY"
```

Os exemplos em JavaScript, Python e PHP estão na página e no contrato (`x-codeSamples` em https://docs.nextags.com.br/openapi.json).

## Respostas

### 200 Sucesso

As oportunidades, em `data`.

| Campo | Tipo | Descrição |
|---|---|---|
| `data` | array de objeto Oportunidade | A lista de oportunidades. |
| `data[].id` | integer | O ID da oportunidade. |
| `data[].contact_id` | integer | O ID do contato. |
| `data[].title` | string | O nome da oportunidade. |
| `data[].description` | string | A descrição. |
| `data[].value` | number | O valor, na moeda da conta. Não é em centavos: `1500` = R$ 1.500,00. |
| `data[].status` | string | O estado: `open` (Aberto), `won` (Ganho; Resolvido nos pipelines de suporte e nos personalizados) ou `lost` (Perdido; Não Resolvido). Valores: `open`, `won`, `lost`. |
| `data[].priority` | string | A prioridade: `low` (Baixa), `medium` (Média) ou `high` (Alta). Valores: `low`, `medium`, `high`. |
| `data[].stage` | object | A etapa onde a oportunidade está. |
| `data[].stage.id` | integer | O ID da etapa. |
| `data[].stage.name` | string | O nome da etapa. |
| `data[].assigned_admins` | array de integer | Os IDs dos administradores atribuídos. |
| `data[].created_at` | string | Quando a oportunidade foi criada, em UTC. |
| `data[].created_by` | integer | O ID do administrador que criou. |
| `data[].updated_at` | string | A última mudança, em UTC. |
| `data[].updated_by` | integer | O ID do administrador que fez a última mudança. |

```json
{
  "data": [
    {
      "id": 4201,
      "contact_id": 123456789,
      "title": "Plano Pro anual",
      "description": "Quer começar em novembro, com 3 atendentes.",
      "value": 1500,
      "status": "open",
      "priority": "high",
      "stage": {
        "id": 4101,
        "name": "Novo lead"
      },
      "assigned_admins": [
        10001
      ],
      "created_at": "2026-10-20 14:30:00",
      "created_by": 10001,
      "updated_at": "2026-10-22 18:05:00",
      "updated_by": 10001
    }
  ]
}
```

### 401 Chave inválida

A chave de API não veio no cabeçalho ou não vale (foi excluída ou está incompleta). Veja [Autenticação](https://docs.nextags.com.br/comecar/autenticacao/).

```json
{
  "error": {
    "code": 401,
    "message": "No valid API key provided."
  }
}
```
