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âmetroTipo Observações
emailstringobrigatório
deepbooladiciona consultas SPF/DMARC; cobrado como 2 unidades
dnsboolpadrã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

EndpointFinalidade
GET /v1/accountplano, uso, fatura projetada
POST /v1/account/keysemitir outra chave
DELETE /v1/account/keys/<id>revogar uma chave
GET /v1/account/invoiceshistórico de faturas com itens de linha
POST /v1/account/planupgrade ou downgrade em autoatendimento
POST /v1/account/welcomereenviar 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

StatusCódigo Significado
400missing_parameterrequisição inválida
401invalid_api_keychave ausente, incorreta ou revogada
402quota_exceededcota gratuita esgotada - faça upgrade para continuar
413payload_too_largecorpo acima do limite configurado
429rate_limitedrespeite o cabeçalho Retry-After
500internal_errorinclui um request_id

Documento OpenAPI