# Monitoramento de API

Source: https://instatus.com/help/pt-br/monitoring/api

Os monitores de API enviam uma requisição HTTP configurável a um endpoint a cada 30 segundos e avisam você quando ele está inacessível, lento ou retorna os dados errados. Você controla o método, os cabeçalhos, o corpo e a autenticação, e faz asserções sobre o código de status, o corpo JSON, os cabeçalhos e o tempo de resposta.

Como nos [outros monitores](https://instatus.com/help/pt-br/monitoring), se um monitor de API detectar um problema, você pode trabalhar com seu time para [resolver o incidente](https://instatus.com/help/pt-br/incident-response) e, se quiser, atualizar sua [página de status](https://instatus.com/help/pt-br/status-page).

| At a glance | Details |
| :-- | :-- |
| [Frequência](https://instatus.com/help/pt-br/monitoring/api#configurações-avançadas) | A cada 30 segundos |
| [Métodos HTTP](https://instatus.com/help/pt-br/monitoring/api#configuração-da-requisição) | GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD |
| [Corpo da requisição](https://instatus.com/help/pt-br/monitoring/api#configuração-da-requisição) | JSON, dados de formulário, GraphQL, texto simples |
| [Autenticação](https://instatus.com/help/pt-br/monitoring/api#configuração-da-requisição) | Basic auth, chave de API, token Bearer |
| [Asserções](https://instatus.com/help/pt-br/monitoring/api#o-monitor-tem-sucesso-se) | Código de status, tempo, corpo, JSON path, cabeçalhos |
| [Locais de verificação](https://instatus.com/help/pt-br/monitoring/api#configurações-avançadas) | Estados Unidos, Canadá, Europa, Ásia |

![Monitor](https://instatus.com/help/monitors/item.png)

## O que um monitor de API verifica?

- Testar seus endpoints de API de vários locais no mundo a cada 30 segundos.
- Validar códigos de status HTTP, corpo JSON, cabeçalhos e tempos de resposta.
- Incluir cabeçalhos personalizados, parâmetros de query ou payloads JSON.
- Receber notificações imediatas se um endpoint estiver fora do ar, lento ou devolvendo resultados inesperados.
- Integrar com Slack, e-mail, SMS, ligação, webhooks e mais.

## Como adiciono um monitor de API?

Vá até seu projeto → Monitores → Adicionar monitor, escolha **API**, informe a URL do endpoint, configure a requisição e defina as asserções que indicam que o endpoint está saudável.

![Adicionar monitor de API](https://instatus.com/help/monitors/API.png)

### Tipo de monitor

Escolha **API** como tipo de monitor.

![Tipo de monitor API](https://instatus.com/help/monitors/type-api.png)

Informe a URL do endpoint que você quer monitorar — por exemplo,  
`https://api.yourservice.com/v1/users`.

### Configuração da requisição

Você pode ajustar totalmente sua requisição de API:

- **Método HTTP:** `GET`, `POST`, `PUT`, `PATCH`, `DELETE`, `OPTIONS` ou `HEAD`
- **Corpo:** envie JSON, dados de formulário, GraphQL ou texto puro na requisição
- **Autenticação:** adicione autenticação básica, chave de API ou autorização por token Bearer
- **Parâmetros de query:** acrescente pares de chave/valor à URL da requisição
- **Cabeçalhos:** adicione os cabeçalhos personalizados que sua requisição de API precisa

### O monitor tem sucesso se

Um monitor de API tem sucesso quando todas as asserções definidas são atendidas.  
Você pode definir uma ou mais das seguintes asserções:

- **Código de status:** por exemplo, a resposta é `200 OK`
- **Tempo de resposta:** por exemplo, abaixo de `1 segundo`
- **O corpo contém:** por exemplo, `"success": true`
- **Caminho JSON:** por exemplo, `data.status` igual a `"active"`
- **O cabeçalho contém:** por exemplo, `Content-Type: application/json`

Se alguma dessas condições não for atendida, o monitor é marcado como **fora do ar** e os alertas são enviados conforme suas [configurações de alerta](https://instatus.com/help/pt-br/monitoring/alerts).

### Configurações avançadas

![Configurações avançadas do monitor](https://instatus.com/help/monitors/advanced-settings.png)

- **Nome amigável:** dê ao monitor um nome descritivo para identificá-lo com facilidade.
- **Rodar verificações a cada:** decida com que frequência testar o endpoint.
- **Rodar de:** escolha os locais dos testes (Estados Unidos, Canadá, Europa, Ásia).
- **Adicionar à página de status:** mostre publicamente a disponibilidade da API e as estatísticas de resposta.
- **Quando um monitor falhar:** abra um incidente, avise os assinantes ou publique na sua página de status.
- **Quando um monitor se recuperar:** resolva os incidentes e atualize sua página de status automaticamente.

Parabéns, você adicionou seu primeiro monitor de API!

- [Monitoramento cron](https://instatus.com/help/pt-br/monitoring/cron): Aprenda a monitorar tarefas agendadas e processos em segundo plano
