Referência da API
URL base https://autorev.rohnelt.dev. Autentique com Authorization: Bearer <chave de api>. Toda resposta é JSON.
Início rápido
# 1. crie uma conta (devolve sua chave uma única vez)
curl -X POST https://autorev.rohnelt.dev/v1/signup \
-H 'Content-Type: application/json' \
-d '{"email":"you@company.com"}'
# 2. use a chave
curl -H "Authorization: Bearer $KEY" \
"https://autorev.rohnelt.dev/v1/email/verify?email=john.doe@gmail.com"
POST /v1/signup
Sem autenticação. Corpo: email (obrigatório), name, company, country, plan, referral_code, locale. Envie o cabeçalho Idempotency-Key para tornar as retentativas seguras.
GET|POST /v1/email/verify
| Parâmetro | Tipo | Observações |
|---|---|---|
| string | obrigatório | |
| deep | bool | adiciona consultas SPF/DMARC; cobrado como 2 unidades |
| dns | bool | padrão true; use false para checar só a sintaxe (ainda custa 1 unidade) |
{
"email": "john.doe@gmail.com",
"status": "deliverable", // deliverable | risky | undeliverable | unknown
"sub_status": "verified",
"score": 87, // 0-100
"normalized": "johndoe@gmail.com",
"has_mx": true, "mx_hosts": ["gmail-smtp-in.l.google.com"],
"is_disposable": false, "is_role": false, "is_free_provider": true,
"gibberish_score": 0.17, "did_you_mean": null,
"reasons": ["MX present (5 host(s))", "free consumer provider"],
"meta": {"units_charged": 1, "units_remaining": 249}
}
POST /v1/email/batch
Corpo {"emails": ["a@x.com", "b@y.com"]}. Cobrado uma unidade por linha. Linhas duplicadas dentro de um lote são resolvidas uma vez e reaproveitadas, então remover duplicatas antes de enviar não custa nada a mais. O limite de linhas segue o seu plano.
GET|POST /v1/identity/validate
type = cpf | cnpj | iban | vat | card | isbn | ean13 | ein, mais value. Números de cartão nunca são devolvidos por inteiro nem gravados em log. /v1/identity/autodetect infere o tipo.
GET|POST /v1/phone/validate
phone e, opcionalmente, o código de país em country para formatos nacionais. Devolve E.164, país ISO, tipo de linha e formatação nacional.
Conta
| Endpoint | Finalidade |
|---|---|
| GET /v1/account | plano, uso, fatura projetada |
| POST /v1/account/keys | emitir outra chave |
| DELETE /v1/account/keys/<id> | revogar uma chave |
| GET /v1/account/invoices | histórico de faturas com itens de linha |
| POST /v1/account/plan | upgrade ou downgrade em autoatendimento |
| POST /v1/account/welcome | reenviar o e-mail de boas-vindas |
Endpoints de conta têm limite de requisições, mas nunca consomem cota.
Idioma
O site responde no idioma que o seu navegador pede via Accept-Language; ?lang=en|pt-BR|es força um idioma. As respostas da API continuam em inglês - códigos de erro e nomes de campos são identificadores, não texto de interface. Os e-mails do ciclo de vida saem no idioma capturado no cadastro; envie locale em /v1/signup para defini-lo explicitamente.
Erros
| Status | Código | Significado |
|---|---|---|
| 400 | missing_parameter | requisição inválida |
| 401 | invalid_api_key | chave ausente, incorreta ou revogada |
| 402 | quota_exceeded | cota gratuita esgotada - faça upgrade para continuar |
| 413 | payload_too_large | corpo acima do limite configurado |
| 429 | rate_limited | respeite o cabeçalho Retry-After |
| 500 | internal_error | inclui um request_id |