Autenticacao

Como autenticar suas requisicoes na API BuildShip — duas formas, mesmas garantias.

API Key

Toda chamada precisa autenticar com sua API key. Formato:

code
bld_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Formas de passar a chave

Opcao 1 — Header X-API-Key (recomendado)

bash
curl https://api.buildship.com.br/api/v1/health \
  -H "X-API-Key: bld_sua_chave_aqui"

Opcao 2 — Authorization Bearer

bash
curl https://api.buildship.com.br/api/v1/health \
  -H "Authorization: Bearer bld_sua_chave_aqui"

Ambos sao equivalentes. Escolha o que se encaixa melhor no seu cliente HTTP.

Permissoes

Cada API key tem permissoes especificas que voce define ao criar:

Permissao O que permite
process POST /process, /process/batch — enviar arquivo + prompt
chat POST /chat, GET /chat/:id, /chat/sessions — chat e historico
templates CRUD de templates + upload
b2bSend POST /b2b/send — endpoint hibrido

Tente chamar um endpoint sem a permissao certa → resposta 403.

Multi-tenancy via endUserId (isolamento por usuario final) e a base de conhecimento (.brain/api/db) sao caracteristicas do projeto, nao permissoes separadas — basta usar o param endUserId em /chat ou /process.

Boas praticas

Guardar a chave com seguranca

  • NAO comite a chave no repositorio
  • Use .env (ignorado no git) ou secrets manager (AWS Secrets, HashiCorp Vault)
  • Em frontend: NUNCA exponha a chave — sempre proxy via backend

Rotacionar periodicamente

Crie chave nova → migre clientes → revogue antiga. Recomendado: rotacao a cada 90 dias.

Monitorar uso

No painel API B2B → Logs voce ve todas as chamadas com:

  • Endpoint
  • Status
  • Tempo de resposta
  • Custo (creditos)
  • IP de origem

Multi-tenancy (End Users)

Se voce vai expor a API pra usuarios finais (B2B2C), use o campo endUserId em todas as chamadas:

json
{
  "message": "Ola",
  "endUserId": "user-456"
}

Isso isola sessoes/conversas por usuario e permite cobranca por uso individual.

Se o projeto tem memoria por usuario ativada (apiMemoryPerUser=true), a IA mantem um perfil .md por endUserId em .brain/api/db/users/ que vira contexto automatico em chamadas futuras do mesmo usuario.

Mais sobre End Users →

Erros de autenticacao

Status Causa Solucao
401 API key invalida ou ausente Confira o header e a chave
403 Permissao negada Adicione a permissao no painel
403 B2B_NOT_VERIFIED Conta B2B nao verificada Aguarde aprovacao (ate 48h)
429 Rate limit excedido Aguarde ou faca upgrade

Quer integrar com ajuda da IA?

Copia esta pagina como .md e cola no ChatGPT/Claude — ela vai te guiar na integracao