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 Tokens → Novo:
- Nome (ex: "Zapier integration")
- Escopo:
readouread_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.