# Criar oportunidade

> Cria uma oportunidade (ou um ticket, nos pipelines de suporte) para um contato.

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

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

Cria uma oportunidade (ou um ticket, nos pipelines de suporte) para um contato. Sem `stage_id`, ela entra na primeira etapa do pipeline. Os IDs vêm de [Listar etapas do pipeline](https://docs.nextags.com.br/referencia/pipelines/listar-etapas-do-pipeline/), [Listar administradores](https://docs.nextags.com.br/referencia/conta/listar-administradores/) e [Listar campos do pipeline](https://docs.nextags.com.br/referencia/pipelines/listar-campos-do-pipeline/). Veja o guia [Criar e mover oportunidades no pipeline](https://docs.nextags.com.br/guias/oportunidades-no-pipeline/).

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/)). |

## Corpo da requisição (JSON)

| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `contact_id` | integer | sim | O ID do contato dono da oportunidade. |
| `title` | string | sim | O nome da oportunidade (o **Nome da Oportunidade** da tela), como "Plano Pro anual". |
| `description` | string | não | A descrição (a **Descrição da Oportunidade**). |
| `stage_id` | integer | não | O ID da etapa onde a oportunidade entra. Sem ele, a primeira etapa do pipeline. |
| `value` | number | não | O **Valor da Oportunidade**, na moeda da conta. Não é em centavos: `1500` = R$ 1.500,00. Padrão: `0`. |
| `status` | string | não | O **Estado**: `open` (Aberto), `won` (Ganho) ou `lost` (Perdido). Nos pipelines de suporte e nos personalizados, `won` aparece como **Resolvido** e `lost` como **Não Resolvido**. Valores: `open`, `won`, `lost`. Padrão: `open`. |
| `priority` | string | não | A **Prioridade**: `low` (Baixa), `medium` (Média) ou `high` (Alta). Valores: `low`, `medium`, `high`. Padrão: `medium`. |
| `assigned_admins` | array de integer | não | Os **Administradores atribuídos**: uma lista de IDs de administradores (veja [Listar administradores](https://docs.nextags.com.br/referencia/conta/listar-administradores/)). Padrão: `[]`. |
| `custom_fields` | array de object | não | Os valores dos campos do pipeline (veja [Listar campos do pipeline](https://docs.nextags.com.br/referencia/pipelines/listar-campos-do-pipeline/)). Cada item leva o `id` ou o `name` do campo e o `value`. |
| `custom_fields[].id` | integer | não | O ID do campo do pipeline. |
| `custom_fields[].name` | string | não | O nome do campo do pipeline, no lugar do `id`. |
| `custom_fields[].value` | string ou number | não | O valor do campo: texto ou número, conforme o tipo. |

```json
{
  "contact_id": 123456789,
  "title": "Plano Pro anual",
  "description": "Quer começar em novembro, com 3 atendentes.",
  "stage_id": 4101,
  "value": 1500,
  "status": "open",
  "priority": "high",
  "assigned_admins": [
    10001
  ],
  "custom_fields": [
    {
      "id": 3201,
      "value": "Anúncio no Instagram"
    }
  ]
}
```

## Exemplo

```bash
curl -X POST "https://app.nextagsai.com.br/api/pipelines/4001/opportunities" \
  -H "X-ACCESS-TOKEN: $NEXTAGS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contact_id": 123456789,
    "title": "Plano Pro anual",
    "description": "Quer começar em novembro, com 3 atendentes.",
    "stage_id": 4101,
    "value": 1500,
    "status": "open",
    "priority": "high",
    "assigned_admins": [
      10001
    ],
    "custom_fields": [
      {
        "id": 3201,
        "value": "Anúncio no Instagram"
      }
    ]
  }'
```

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

A oportunidade criada, em `data`.

| Campo | Tipo | Descrição |
|---|---|---|
| `data` | array de objeto Oportunidade | Uma lista com a oportunidade criada. |
| `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."
  }
}
```
