# Atualizar oportunidade

> Muda uma oportunidade: o título, a descrição, a etapa, o valor, o estado, a prioridade, os responsáveis e os campos do pipeline.

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

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

Muda uma oportunidade: o título, a descrição, a etapa, o valor, o estado, a prioridade, os responsáveis e os campos do pipeline. Para mudar de etapa, mande o `stage_id` novo; para fechar, o `status` com `won` (ganha) ou `lost` (perdida); para reabrir, `open`. O `title` vai sempre, mesmo quando não muda. Veja [Valor, prioridade, vencimento e responsáveis](https://help.nextags.com.br/tutoriais/pipelines/campos-do-card/).

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/)). |
| `opportunity_id` | integer | sim | O ID da oportunidade (veja [Listar oportunidades](https://docs.nextags.com.br/referencia/pipelines/listar-oportunidades/)). |

## Corpo da requisição (JSON)

| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `title` | string | sim | O nome da oportunidade. Vai sempre: mande o atual quando não for mudar. |
| `description` | string | não | A descrição (a **Descrição da Oportunidade**). |
| `stage_id` | integer | não | O ID da etapa para onde a oportunidade vai. |
| `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
{
  "title": "Plano Pro anual",
  "stage_id": 4103,
  "status": "won",
  "value": 1800,
  "custom_fields": [
    {
      "name": "Origem do lead",
      "value": "Indicação"
    }
  ]
}
```

## Exemplo

```bash
curl -X POST "https://app.nextagsai.com.br/api/pipelines/4001/opportunities/4201" \
  -H "X-ACCESS-TOKEN: $NEXTAGS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Plano Pro anual",
    "stage_id": 4103,
    "status": "won",
    "value": 1800,
    "custom_fields": [
      {
        "name": "Origem do lead",
        "value": "Indicação"
      }
    ]
  }'
```

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 foi atualizada.

| Campo | Tipo | Descrição |
|---|---|---|
| `success` | boolean | `true` quando deu certo. |

```json
{
  "success": true
}
```

### 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."
  }
}
```
