# Referência da API

> A API REST do Emailit em resumo. URL base, autenticação, requisições e respostas JSON, IDs de objeto, versionamento e todos os recursos que você pode gerenciar.

A API do Emailit é uma API REST servida por HTTPS. Você envia JSON, recebe JSON de volta e autentica cada requisição com um bearer token. Use-a para enviar e-mails e gerenciar todo o resto de um workspace: domínios de envio, chaves de API, contatos, listas de contatos, campanhas, templates, webhooks e mais.

## URL base

Toda requisição vai para a URL base da versão 2:

```text
https://api.emailit.com/v2
```

Os caminhos desta referência são relativos a ela. Por exemplo, `POST /emails` significa `POST https://api.emailit.com/v2/emails`.

## Fazer a primeira requisição

Esta requisição envia um e-mail. Substitua o remetente por um endereço de um [domínio de envio verificado](/pt/docs/domains/verification/) e defina `EMAILIT_API_KEY` como uma das suas [chaves de API](/pt/docs/developers/api-keys/).

**cURL**

```bash
curl https://api.emailit.com/v2/emails \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "Acme <hello@acme.com>",
    "to": "ada@example.com",
    "subject": "Welcome to Acme",
    "html": "<p>Thanks for signing up.</p>"
  }'
```

**Node.js**

```javascript
import { Emailit } from '@emailit/node';

const emailit = new Emailit(process.env.EMAILIT_API_KEY);

const email = await emailit.emails.send({
  from: 'Acme <hello@acme.com>',
  to: 'ada@example.com',
  subject: 'Welcome to Acme',
  html: '<p>Thanks for signing up.</p>',
});
```

**Python**

```python
import os
from emailit import EmailitClient

client = EmailitClient(os.environ["EMAILIT_API_KEY"])

email = client.emails.send({
    "from": "Acme <hello@acme.com>",
    "to": "ada@example.com",
    "subject": "Welcome to Acme",
    "html": "<p>Thanks for signing up.</p>",
})
```

A resposta é o novo objeto de e-mail, com o ID dele (`em_…`) e o status `accepted`. Consulte [Enviar um e-mail](/pt/docs/api-reference/emails/send/) para ver todas as opções.

## Autenticação

Passe uma chave de API ou um token de acesso OAuth no cabeçalho `Authorization`:

```http
Authorization: Bearer secret_••••••••••••••••••••••••••••••••
```

As chaves de API começam com `secret_` e pertencem a um workspace. Uma chave tem o escopo `full` (todos os endpoints) ou o escopo `sending` (apenas os endpoints de envio), e uma chave de envio pode ser restrita a um domínio de envio. Requisições sem uma chave válida falham com `401`. Consulte [Autenticação](/pt/docs/api-reference/authentication/).

## Requisições e respostas

- **JSON na entrada, JSON na saída.** Envie o corpo das requisições como JSON, com `Content-Type: application/json`. Um corpo que não é um JSON válido retorna `400` com a mensagem `Invalid JSON in request body`. O tamanho máximo do corpo da requisição é 50 MB.
- **Métodos.** `GET` lê, `POST` cria e atualiza, e `DELETE` exclui. A API não usa `PUT` nem `PATCH`.
- **Objetos.** Todo objeto tem um campo `object` que indica o tipo dele (`email`, `domain`, `api_key`, `audience`, `subscriber`, `contact`, …) e um `id`.
- **Timestamps.** As datas são strings ISO 8601 em UTC com precisão de microssegundos, por exemplo `2026-10-01T09:30:12.482913Z`. Campos sem valor são `null`.
- **Listas.** Os endpoints de listagem são paginados, e a maioria aceita filtros e ordenação. Consulte [Paginação](/pt/docs/api-reference/pagination/) e [Filtragem](/pt/docs/api-reference/filtering/).
- **Erros.** Requisições com falha retornam um código de status `4xx` ou `5xx` e um corpo JSON que explica o problema. Consulte [Erros](/pt/docs/api-reference/errors/).

## IDs de objeto

Os IDs são strings formadas por um prefixo de tipo e 27 letras e dígitos, por exemplo `em_4KYof1ZzXndZE2VPi0DgULiekG8`. Os IDs diferenciam maiúsculas de minúsculas e seguem aproximadamente a ordem de criação.

| Prefixo | Objeto | Prefixo | Objeto |
| --- | --- | --- | --- |
| `em_` | E-mail | `aud_` | Lista de contatos |
| `dom_` | Domínio de envio | `sub_` | Inscrito |
| `key_` | Chave de API | `con_` | Contato |
| `tem_` | Template | `cmp_` | Campanha |
| `sup_` | Supressão | `frm_` | Formulário |
| `wh_` | Webhook | `fsub_` | Resposta de formulário |
| `whr_` | Requisição de webhook | `aut_` | Automação |
| `evt_` | Evento | `aur_` | Execução de automação |
| `dmr_` | Relatório DMARC | `ev_` | Verificação de e-mail |
| `evl_` | Lista de verificação | | |

Alguns recursos também aceitam um identificador legível no caminho. Domínios, chaves de API, listas de contatos, campanhas e webhooks aceitam o nome (`GET /domains/acme.com`). Contatos e supressões aceitam um endereço de e-mail, e inscritos aceitam o endereço de e-mail do contato. Codifique para URL os nomes e endereços que contêm caracteres especiais. Domínios criados antes da mudança para IDs `dom_` mantêm o ID `sd_` ou `sed_`, e esses IDs continuam funcionando.

## Versionamento

A versão atual é a `v2`, e ela faz parte da URL base. Novos campos e endpoints são adicionados à `v2` sem mudança de versão, então escreva clientes que ignorem os campos que não reconhecem. Consulte [Versionamento](/pt/docs/api-reference/versioning/).

## Recursos

  - [E-mails](/pt/docs/api-reference/emails/): Envie e-mails, consulte as mensagens e o conteúdo delas, e agende, cancele, tente de novo ou encaminhe envios.
  - [Domínios](/pt/docs/api-reference/domains/): Adicione domínios de envio, consulte os registros DNS deles e verifique-os.
  - [Relatórios DMARC](/pt/docs/api-reference/dmarc/): Consulte os relatórios DMARC agregados e forenses de um domínio ou envie os seus próprios.
  - [Chaves de API](/pt/docs/api-reference/api-keys/): Crie, renomeie, regenere e exclua as chaves de API de um workspace.
  - [Listas de contatos](/pt/docs/api-reference/audiences/): Gerencie as listas de inscritos usadas por campanhas e formulários de inscrição.
  - [Inscritos](/pt/docs/api-reference/audiences/subscribers/): Adicione, atualize e remova os inscritos de uma lista de contatos.
  - [Contatos](/pt/docs/api-reference/contacts/): Gerencie perfis de contato e campos personalizados, um por vez ou em massa.
  - [Campanhas](/pt/docs/api-reference/campaigns/): Crie campanhas, escolha as listas de contatos delas e envie ou agende o envio.
  - [Automações](/pt/docs/api-reference/automations/): Monte fluxos com gatilhos e etapas, execute-os e inspecione as execuções.
  - [Formulários](/pt/docs/api-reference/forms/): Crie formulários de inscrição, publique-os e faça a rotação do token público.
  - [Templates](/pt/docs/api-reference/templates/): Crie versões de templates, publique uma por alias e use-a ao enviar.
  - [Supressões](/pt/docs/api-reference/suppressions/): Consulte e gerencie os endereços para os quais o Emailit não envia e-mails.
  - [Webhooks](/pt/docs/api-reference/webhooks/): Registre endpoints que recebem notificações de eventos assinadas.
  - [Eventos](/pt/docs/api-reference/events/): Consulte o fluxo de eventos por trás dos webhooks: entregas, bounces, aberturas e mais.
  - [Verificação de e-mails](/pt/docs/api-reference/email-verifications/): Verifique um único endereço em tempo real.
  - [Listas de verificação](/pt/docs/api-reference/email-verifications/lists/): Verifique até 10.000 endereços de uma vez e exporte os resultados.

Para ver em uma única tabela todos os endpoints e o escopo que cada um exige, consulte [Todos os endpoints](/pt/docs/api-reference/endpoints/).

## SDKs

Bibliotecas oficiais encapsulam a API nas linguagens mais comuns. Elas têm código aberto no [GitHub](https://github.com/emailit).

| Linguagem | Pacote | Guia |
| --- | --- | --- |
| Node.js | `@emailit/node` | [Node.js](/pt/docs/frameworks/nodejs/) |
| Python | `emailit` | [Python](/pt/docs/frameworks/python/) |
| PHP | `emailit/emailit-php` | [PHP](/pt/docs/frameworks/php/) |
| Laravel | `emailit/emailit-laravel` | [Laravel](/pt/docs/frameworks/laravel/) |
| Ruby | `emailit` | [Ruby on Rails](/pt/docs/frameworks/rails/) |
| Go | `github.com/emailit/emailit-go/v2` | [Go](/pt/docs/frameworks/go/) |
| Java | `com.emailit` | [Java](/pt/docs/frameworks/java/) |
| .NET | `Emailit` | [.NET](/pt/docs/frameworks/dotnet/) |
| Rust | `emailit` | [SDKs](/pt/docs/sdks/) |

## Webhooks e eventos

Em vez de consultar periodicamente as mudanças de status, registre um [webhook](/pt/docs/webhooks/), e o Emailit envia lotes assinados de eventos para o seu endpoint à medida que eles acontecem: entregas, bounces, aberturas, cliques, novos contatos e mais. Os mesmos eventos estão disponíveis em [Listar eventos](/pt/docs/api-reference/events/list/). Consulte [Tipos de evento](/pt/docs/webhooks/event-types/) para ver a lista completa.

## Servidor MCP

O servidor MCP hospedado em `https://api.emailit.com/mcp` permite que assistentes de IA como ChatGPT, Claude, Cursor, Codex e Grok chamem esta API por você: 109 ferramentas cobrem todos os recursos desta página. Os assistentes fazem login com OAuth ou usam uma chave de API, com os mesmos escopos. Consulte [Servidor MCP](/pt/docs/mcp/) e a [referência de ferramentas](/pt/docs/mcp/tools/).

## Veja também

  - [Autenticação](/pt/docs/api-reference/authentication/): Chaves de API, escopos, restrições de domínio e tokens OAuth.
  - [Limites de requisições](/pt/docs/api-reference/rate-limits/): Limites de envio, cabeçalhos de resposta e como aplicar backoff.
  - [Erros](/pt/docs/api-reference/errors/): Formatos de erro, códigos de status e soluções comuns.
  - [Enviar o seu primeiro e-mail](/pt/docs/quickstart/api/): Um guia rápido passo a passo, da chave de API à caixa de entrada.

---
Fonte: https://emailit.com/pt/docs/api-reference/
