Backend online

Flyby AI Backend

The API behind Flyby AI — authentication, trips, expenses, conversations, travel policy and search. Built on Flask and SQLite, serving the React app on port 8080 from port 8659.

9
Accounts
1
Trips
0
Expenses
3
Workspaces
0
Conversations
8
Active sessions

API surface

Everything the frontend calls, grouped by what it does.

🔐 Authentication

Sign-up, sign-in, token refresh and password recovery. One account works in both the app and this console.

  • POST /auth/v1/signup
  • POST /auth/v1/token password & refresh grants
  • GET  /auth/v1/user
  • POST /auth/v1/recover

🗄️ Data

One query layer over every table. Each request is scoped to the signed-in user server-side.

  • POST /rest/v1/<table>/select
  • POST /rest/v1/<table>/insert
  • POST /rest/v1/<table>/update
  • POST /rest/v1/rpc/<name>

✈️ Features

Trips, expenses, conversations, notifications, itineraries and traveler preferences.

  • GET|PUT /api/trips
  • GET|PUT /api/expenses
  • GET|PUT /api/chats
  • GET|PUT /api/preferences

⚙️ Services

Two-step verification, travel inventory search, and voice transcription.

  • GET  /functions/v1/search-travel
  • POST /functions/v1/twofa-send-sms
  • POST /functions/v1/twofa-verify-sms
  • POST /functions/v1/transcribe

📎 Storage

Avatars and receipts. Uploads land in the uploader's own folder, enforced from the session.

  • POST  /storage/v1/object/<bucket>/<key>
  • GET   /storage/v1/object/public/…
  • DELETE /storage/v1/object/<bucket>

🩺 Operations

Health checks and the account console for administrators.

  • GET /health service + database
  • GET /api/health
  • GET /users/table admin only
Local development. Start the backend with python main.py and the frontend with make from the flyby folder, then open http://localhost:8080. The seeded accounts are admin@flyby.ai and demo@flyby.ai — the password comes from DEFAULT_PASSWORD in the backend .env.