OpenTrip Docs
BackendHTTP API

Platform endpoints

Platform endpoints

Unless noted, success body is { "data": … } and the tables describe the payload inside data.

GET /api/health

  • Auth: public
  • Response: { status: "ok" }

GET /api/uploads/*

  • Auth: public
  • Path: managed storage key after /api/uploads/ (e.g. avatars/…, trips/…). Invalid / non-managed path → 400 invalid_path.
  • Response: raw bytes (not JSON). Headers include Content-Type, Cache-Control: public, max-age=31536000, immutable, X-Content-Type-Options: nosniff. Missing file → 404.

GET /api/weather

  • Auth: session
  • Query:
ParamRequiredMeaning
latyesLatitude number
lonyesLongitude number
datefor useful dataYYYY-MM-DD; invalid/missing date yields null payload
timenoHH:MM for hourly preference within horizon
langnoDefault en
  • Response: WeatherData or null
  • Errors: 400 invalid_coordinates; 503 weather_not_configured; 502 provider failures. Details: weather.md.

GET /api/fx/rates

  • Auth: session
  • Query:
ParamRequiredMeaning
baseyesISO 4217 (3 letters)
quotesnoComma-separated quote currencies
datenoYYYY-MM-DD historical; omit for latest
  • Response: FxRatesData
  • Errors: 400 invalid_currency / invalid_date; 502 provider. Details: fx.md.

GET /api/agent/status

  • Auth: session
  • Response: { enabled: boolean }true when AI env is configured.

Related: weather.md · fx.md


← API index · Route index · DTOs

On this page