# Autenticação

Envie a chave completa em cada chamada, exceto `GET /openapi.json`.

```
Authorization: Bearer at_live_...
```

Só o prefixo não é uma chave. Uma chave ausente, desconhecida, expirada ou revogada responde `401`. Uma chave válida sem o escopo, ou chamada de um IP fora da lista, responde `403`.

## Criar uma chave

1. Abra o app da Atomicat e vá em **Configurações → Chaves de API**.
2. Escolha um nome, os escopos que a integração precisa, uma validade opcional e uma lista opcional de IPs.
3. Confirme o código do e-mail. A chave completa aparece uma única vez. Guarde em um cofre de segredos.

Deixe a lista de IPs vazia para permitir qualquer endereço. Se definir, use endereços IPv4 exatos ou blocos CIDR IPv4 dos servidores que vão chamar a API.

Revogue uma chave na mesma tela. A revogação vale na próxima solicitação.

## Escopos

| Escopo | Permite |
| --- | --- |
| `account:read` | `GET /me` |
| `projects:read` | Listar e ler projetos |
| `projects:write` | Criar, atualizar e excluir projetos |
| `sites:read` | Listar e ler sites |
| `sites:write` | Criar sites |
| `pages:read` | Listar e ler páginas, modelos, quizzes e o mapa de conteúdo |
| `pages:write` | Criar, editar e excluir páginas e quizzes |
| `pages:publish` | Publicar uma página. `pages:write` também permite |
| `builder:read` | Ler o construtor. `pages:read` também permite |
| `builder:write` | Editar nós e o atraso. `pages:write` também permite |
| `funnels:read` | Listar e ler funis |
| `funnels:write` | Criar e atualizar funis |
| `videos:read` | Listar e ler vídeos |
| `videos:write` | Atualizar o player |
| `products:read` | Listar e ler produtos |
| `products:write` | Criar, atualizar e excluir produtos |
| `leads:read` | Buscar leads |
| `analytics:read` | Ler as contagens da conta |

Assinaturas de webhook aceitam qualquer um de `leads:read`, `pages:read`, `products:read`, `funnels:read`, `sites:read` ou `projects:read`.

## Testar uma requisição

As páginas de referência incluem um playground. Cole a sua chave ali. Este site não guarda uma chave compartilhada.

```bash
export ATOMICAT_API_KEY="at_live_..."
curl "https://automation.atomicat-api.com/api/automation/v1/projects?limit=10" \
  -H "Authorization: Bearer $ATOMICAT_API_KEY"
```
