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

# Atualizar contato

> Atualiza campos de um contato existente.

## Endpoint

```
PATCH /v1/contacts/:id
```

**Escopo necessário:** `write:contacts`

Envie apenas os campos que deseja alterar. Campos não incluídos no corpo permanecem inalterados.

## Parâmetros de path

| Parâmetro | Tipo   | Descrição     |
| --------- | ------ | ------------- |
| `id`      | string | ID do contato |

## Corpo da requisição

| Campo                | Tipo         | Descrição                                          |
| -------------------- | ------------ | -------------------------------------------------- |
| `name`               | string       | Nome completo                                      |
| `email`              | string\|null | Email (envie `null` para limpar)                   |
| `phone`              | string\|null | Telefone (envie `null` para limpar)                |
| `instagram_username` | string\|null | Username do Instagram                              |
| `messenger_psid`     | string\|null | PSID do Messenger                                  |
| `company_id`         | string\|null | ID da empresa (envie `null` para desvincular)      |
| `assigned_to`        | string\|null | ID do membro responsável (`null` para desatribuir) |
| `tags`               | string\[]    | Substitui completamente a lista de tags            |
| `custom_fields`      | object       | Substitui completamente os campos personalizados   |
| `funnel_stage`       | string\|null | Etapa no funil de contatos                         |

## Exemplo de requisição

```bash theme={null}
curl -X PATCH https://api.socialsell.ai/v1/contacts/664f1a2b3c4d5e6f78901234 \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "email": "novo@email.com.br",
    "tags": ["cliente", "vip", "enterprise"],
    "assigned_to": "664a1b2c3d4e5f6789012345"
  }'
```

## Exemplo de resposta

```json theme={null}
{
  "data": {
    "id": "664f1a2b3c4d5e6f78901234",
    "name": "João Silva",
    "email": "novo@email.com.br",
    "tags": ["cliente", "vip", "enterprise"],
    "assigned_to": {
      "id": "664a1b2c3d4e5f6789012345",
      "name": "Maria Santos"
    },
    "updated_at": "2026-06-10T16:00:00.000Z"
  },
  "meta": {
    "request_id": "req_01jx8kz3m4n5p6q7r8s9t0u1v"
  }
}
```

A atualização dispara o evento `contact.updated` em webhooks configurados.

<Warning>
  Os campos `tags` e `custom_fields` **substituem** os valores anteriores por completo. Para adicionar uma tag sem perder as existentes, use o endpoint dedicado [Adicionar tag](/api-reference/contacts/tags).
</Warning>

## Erros

| Código       | Status | Descrição               |
| ------------ | ------ | ----------------------- |
| `INVALID_ID` | `400`  | ID com formato inválido |
| `NOT_FOUND`  | `404`  | Contato não encontrado  |
