API Reference
Documentação completa da API REST do BBrain — para integrações com WhatsApp, Make, Zapier e automações personalizadas.
Autenticação
O BBrain usa autenticação via Bearer Token. Primeiro faça login para obter o token, depois envie-o em todas as requisições protegidas.
Corpo da requisição:
{
"username": "seu_usuario",
"password": "sua_senha"
}
Resposta de sucesso (200):
{
"token": "a3f8b2c1d4e5...",
"username": "seu_usuario"
}
Authorization: Bearer <token>. O token expira à meia-noite (UTC).
Endpoints
Retorna todas as ideias do usuário, ordenadas por data de criação (mais recentes primeiro).
curl -X GET https://bbrainapp.you/api/ideas \ -H "Authorization: Bearer SEU_TOKEN"
const res = await fetch('/api/ideas', { headers: { 'Authorization': `Bearer ${token}` } }); const ideas = await res.json();
import requests res = requests.get( 'https://bbrainapp.you/api/ideas', headers={'Authorization': f'Bearer {token}'} ) ideas = res.json()
Corpo da requisição:
{
"text": "Adicionar integração com WhatsApp",
"source": "api"
}
curl -X POST https://bbrainapp.you/api/ideas \ -H "Authorization: Bearer SEU_TOKEN" \ -H "Content-Type: application/json" \ -d '{"text":"Minha ideia","source":"api"}'
const res = await fetch('/api/ideas', { method: 'POST', headers: { 'Authorization': `Bearer ${token}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ text: 'Minha ideia', source: 'api' }) });
res = requests.post( 'https://bbrainapp.you/api/ideas', headers={'Authorization': f'Bearer {token}'}, json={'text': 'Minha ideia', 'source': 'api'} )
Retorna todas as sessões de trabalho registradas, ordenadas por data.
curl -X GET https://bbrainapp.you/api/sessions \ -H "Authorization: Bearer SEU_TOKEN"
Corpo da requisição:
{
"location": "Casa",
"initial_thoughts": "Hoje vou focar no onboarding"
}
curl -X POST https://bbrainapp.you/api/sessions \ -H "Authorization: Bearer SEU_TOKEN" \ -H "Content-Type: application/json" \ -d '{"location":"Casa","initial_thoughts":"Foco no produto"}'
Atualiza campos de uma ideia. Campos permitidos: status, tags, evaluation, roadmap_phase, connections.
curl -X PATCH https://bbrainapp.you/api/ideas/20260320-ABC12 \ -H "Authorization: Bearer SEU_TOKEN" \ -H "Content-Type: application/json" \ -d '{"status":"no_roadmap","roadmap_phase":"backlog"}'
Remove a ideia permanentemente do banco de dados.
curl -X DELETE https://bbrainapp.you/api/ideas/20260320-ABC12 \ -H "Authorization: Bearer SEU_TOKEN"
Retorna as configurações salvas: plano, frequência de lembretes, horário e canais.
curl https://bbrainapp.you/api/settings \ -H "Authorization: Bearer SEU_TOKEN" # Resposta { "settings": { "plan": "free", "reminder_frequency": "monthly", "reminder_time": "08:00", "reminder_channels": "email" } }
Salva configurações de lembretes e plano. Persiste na aba Config do Google Sheets.
curl -X POST https://bbrainapp.you/api/settings \ -H "Authorization: Bearer SEU_TOKEN" \ -H "Content-Type: application/json" \ -d '{"reminder_frequency":"every2days","reminder_time":"09:00","reminder_channels":"email,whatsapp"}'
Retorna dados agregados do mês especificado. Parâmetro: ?month=YYYY-MM (padrão: mês atual).
curl "https://bbrainapp.you/api/report/monthly?month=2026-03" \ -H "Authorization: Bearer SEU_TOKEN" # Resposta { "month": "2026-03", "ideas_count": 24, "sessions_count": 8, "roadmap_count": 5, "total_duration": 640, "best_day": { "date": "2026-03-14", "count": 7 }, "ideas": [...], "sessions": [...] }
Troca a senha do usuário autenticado. Exigido quando force_password_change: true no login. Salva o novo hash na aba Config do Sheets.
curl -X POST https://bbrainapp.you/api/auth/change-password \ -H "Authorization: Bearer SEU_TOKEN" \ -H "Content-Type: application/json" \ -d '{"password":"nova_senha_segura"}'
Sem autenticação necessária. Use para verificar se o servidor está rodando.
curl https://bbrainapp.you/api/version # Resposta { "version": "1.0.0", "updated_at": "2026-03-20" }
Rate limits
| Limite atual | Sem limite definido (uso pessoal) |
| Limite futuro | 60 requisições/minuto para planos pagos |
| Header de resposta | X-RateLimit-Remaining (implementado futuramente) |
Integrações sugeridas
A API foi projetada para uso pessoal e automações. Casos de uso comuns:
# WhatsApp Bot (via Make/Zapier) # Mensagem no WhatsApp → POST /api/ideas # Atalho iOS Shortcuts # Siri + atalho → captura por voz → POST /api/ideas # Make / Zapier # Formulário → nova ideia no BBrain → notificação # Script diário # GET /api/sessions → relatório semanal em PDF