Avançado

API REST do app (bearer tokens)

API REST pública por app

Cada app pode expor uma API REST com autenticação bearer token. Útil pra:

  • Integrações externas (Zapier, n8n, scripts)
  • Mobile apps consumindo dados
  • Compartilhar dados com sistemas legados

Gerar token

App → Configurações → API TokensNovo:

  • Nome (ex: "Zapier integration")
  • Escopo: read ou read_write
  • Token gerado uma vez (anota — não dá pra ver de novo)

Endpoints

GET  /api/v1/apps/<slug>/db
POST /api/v1/apps/<slug>/db

Headers:

Authorization: Bearer <seu-token>
Content-Type: application/json

Read

curl -X POST https://v2.beadev.ai/api/v1/apps/clientes-x7m2/db \
  -H "Authorization: Bearer btk_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "query",
    "sql": "SELECT * FROM app_clientes_x7m2 WHERE created_at > NOW() - INTERVAL '"'"'1 day'"'"'"
  }'

Write (token com read_write)

curl -X POST https://v2.beadev.ai/api/v1/apps/clientes-x7m2/db \
  -H "Authorization: Bearer btk_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "execute",
    "sql": "INSERT INTO app_clientes_x7m2 (nome, telefone) VALUES ($1, $2)",
    "params": ["Maria", "11987654321"]
  }'

Limites

  • Apenas tabelas do próprio app (não cross-app)
  • Rate limit: 240 requests/min
  • Query timeout 10s

Revogar token

Se vazou ou não usa mais → Token list → 🗑️.

Audit

Toda chamada via token fica em logs com userId=null e metadata.tokenId. Pra rastrear uso suspeito.