Validar Credenciais
Valida um par e-mail + Chave API. Use antes de salvar a integração.
POST
https://declara-web.vercel.app/api/v1/auth/validate
Verifica se uma chave API é válida e pertence ao e-mail informado. Retorna os dados da empresa vinculada.
Esta rota é pública — não requer autenticação prévia.
Body
emailstringobrigatório
E-mail cadastrado no Declara Web.
apiKeystringobrigatório
Chave API gerada no Declara Web (começa com
sk_declara_).Resposta
validboolean
true quando as credenciais são válidas.empresa.idstringUUID da empresa
empresa.razao_socialstringRazão social
empresa.cnpjstringCNPJ formatado
empresa.emailstringE-mail cadastrado
empresa.statusstringStatus da conta (
ativo, suspenso, etc.)chave.idstringUUID da chave
chave.nomestringNome atribuído à chave
chave.created_atstringData de criação (ISO 8601)
Exemplos
curl -X POST "https://declara-web.vercel.app/api/v1/auth/validate" \
-H "Content-Type: application/json" \
-d '{
"email": "empresa@email.com",
"apiKey": "sk_declara_a1b2c3d4..."
}'const res = await fetch('https://declara-web.vercel.app/api/v1/auth/validate', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
email: 'empresa@email.com',
apiKey: 'sk_declara_a1b2c3d4...',
}),
});
const data = await res.json();
// data.valid === true → credenciais OKimport requests
r = requests.post(
'https://declara-web.vercel.app/api/v1/auth/validate',
json={'email': 'empresa@email.com', 'apiKey': 'sk_declara_a1b2c3d4...'}
)
data = r.json()Resposta de Sucesso (200)
JSON
{
"valid": true,
"empresa": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"razao_social": "EMPRESA EXEMPLO LTDA",
"cnpj": "00.000.000/0001-00",
"email": "empresa@email.com",
"status": "ativo"
},
"chave": {
"id": "c56a4180-65aa-42ec-a945-5fd21dec0538",
"nome": "HS Financeiro",
"created_at": "2026-07-02T10:00:00.000Z"
}
}Credenciais Inválidas (401)
JSON
{ "valid": false, "error": "Chave inválida ou inativa." }
{ "valid": false, "error": "E-mail não corresponde à chave informada." }