Trips API Surface Map
This reference maps Trips product areas to backend controllers and endpoint families.
Auth Modes
Trips currently uses two main auth patterns:
- Dashboard authenticated requests (
Beareruser auth) - Portal token session requests (
TripPortalTokenGuard)
Use the correct mode for each endpoint family.
Core Trips
Controller: apps/api/src/modules/trips/trips.controller.ts
Primary routes:
POST /tripsGET /tripsGET /trips/copyablePOST /trips/wizardGET /trips/:tripIdPATCH /trips/:tripIdDELETE /trips/:tripIdGET /trips/:tripId/playersPOST /trips/:tripId/playersPOST /trips/:tripId/players/bulkPATCH /trips/:tripId/players/:playerIdDELETE /trips/:tripId/players/:playerIdGET /trips/:tripId/wizard/statusPOST /trips/:tripId/wizard/retryGET /trips/:tripId/copy
Trip Rounds
Controller: apps/api/src/modules/trips/trip-rounds.controller.ts
Primary routes:
POST /trips/:tripId/roundsGET /trips/:tripId/roundsGET /trips/:tripId/rounds/:roundIdPATCH /trips/:tripId/rounds/:roundIdDELETE /trips/:tripId/rounds/:roundIdPATCH /trips/:tripId/rounds/:roundId/readyPOST /trips/:tripId/rounds/:roundId/resetPOST /trips/:tripId/rounds/:roundId/completePOST /trips/:tripId/rounds/:roundId/convert-to-team-scorecards
Trip Expenses And Settlements (Dashboard)
Controller: apps/api/src/modules/trips/trip-expenses.controller.ts
Primary routes:
POST /trips/:tripId/expensesGET /trips/:tripId/expensesGET /trips/:tripId/expenses/:expenseIdPATCH /trips/:tripId/expenses/:expenseIdDELETE /trips/:tripId/expenses/:expenseIdPOST /trips/:tripId/receipts/uploadGET /trips/:tripId/expense-balancesPOST /trips/:tripId/settlements/generateGET /trips/:tripId/settlementsGET /trips/:tripId/settlements/unifiedPOST /trips/:tripId/settlements/unified/persistGET /trips/:tripId/settlements/organizer/:organizerPlayerIdPOST /trips/:tripId/settlements/organizer/:organizerPlayerId/persistPATCH /trips/:tripId/settlements/:settlementId/completePOST /trips/:tripId/wagersGET /trips/:tripId/wagersPATCH /trips/:tripId/wagers/:wagerId/settleDELETE /trips/:tripId/wagers/:wagerIdGET /trips/:tripId/tournament-potPATCH /trips/:tripId/tournament-potPOST /trips/:tripId/tournament-pot/apply
Trip Portal
Controller: apps/api/src/modules/trip-portal/trip-portal.controller.ts
Notable groups:
- Token/session:
/trip-portal/token,/trip-portal/tokens/bulk,/trip-portal/validate - My trips:
/trip-portal/my-trips - Overview/rounds:
/trip-portal/trips/:tripId,/trip-portal/trips/:tripId/rounds - Scoring:
/trip-portal/scorecards/:scorecardId/scores,/scores/bulk - Leaderboards: round, tournament, multi-round, Ryder Cup endpoints
- Side games: skins and Nassau endpoints
- Settlements and unified balances endpoints
- Portal expenses endpoints under
/trip-portal/trips/:tripId/expenses - Point game state/selections endpoints
Trip Travel
Controller: apps/api/src/modules/trip-travel/trip-travel.controller.ts
Primary groups:
- Flights
- Rental cars
- Accommodations
- Ride coordination
- Aggregate travel stats
Trip Activities
Controller: apps/api/src/modules/trip-activities/trip-activities.controller.ts
Primary groups:
- CRUD for activities
- Date-grouped views
- Stats
- Attendee management
Trip Availability
Controller: apps/api/src/modules/trip-availability/trip-availability.controller.ts
Primary groups:
- Per-trip availability
- Per-round availability
- Player-level updates
- Bulk updates
Display Manager
Controller: apps/api/src/modules/trip-display/trip-display.controller.ts
Primary groups:
- Display config
- Display data aggregation
- Public display by trip or access code
Payments For Settlements
Controller: apps/api/src/modules/payments/settlement-payments.controller.ts
Primary groups:
- Payment links
- Mark paid / confirm receipt
- Player payment preference endpoints
Analytics
Controller: apps/api/src/modules/analytics/analytics.controller.ts
Trip-specific groups:
- Trip summary
- Head-to-head and matrix
- MVP and fun stats
- Rivalries
Validation Sources
Use these test suites as contract references:
apps/api/src/modules/trip-portal/__tests__/integration/*apps/api/src/modules/trips/__tests__/integration/trip-expenses-v2.integration.spec.tsapps/api/src/modules/expenses/__tests__/integration/*testing/simulator/src/trip/*