Advanced Scouting Backend

Scouting ingest and data APIs.

This app serves the ingest pipeline, scouting data APIs, and hosts a Flutter dashboard build.

Core routes

Health, hosted schedules, and TBA lookups are open. Ingest uploads use the tablet x-ingest-key header.

GET
/api/health

Basic health probe for deployments and local smoke checks.

POST | PUT
/api/ingest

Accepts scouting JSON or ZIP uploads with the x-ingest-key header.

GET
/api/v1/schedule/latest

Returns the most recently uploaded match schedule for hosted web builds.

GET
/api/tba/:path*

Proxies The Blue Alliance API with the server-side TBA key.

Session-gated routes

These endpoints require an active dashboard session. Visit /login first.

GET
/api/v1/matches?event=:eventKey

Lists match scouting rows for one event.

GET
/api/v1/matches/:matchKey

Returns scouting rows for one match.

GET
/api/v1/teams/:teamNumber?event=:eventKey

Lists scouting rows for one team, optionally filtered by event.

GET
/api/v1/drawpad?event=:eventKey

Lists drawpad path rows for one event.

GET
/api/v1/drawpad/:matchId

Returns one drawpad path entry.

GET
/api/v1/finals?event=:eventKey

Lists playoff pick rows for one event.

GET
/api/v1/interest?event=:eventKey

Lists interest export rows for one event.

GET
/api/v1/dimensions?event=:eventKey

Lists robot dimension rows for one event.

GET
/api/v1/schedule/:eventKey

Returns one uploaded match schedule.

GET
/api/v1/stats/:eventKey

Returns per-team aggregate scouting stats for a single event.