Endpoints Reference#
Complete listing of all API endpoints organized by router.
For interactive exploration, visit http://localhost:8000/docs (Swagger UI).
UI-Focused Endpoints#
Transfer Router (/api/transfer)#
Read endpoints (anonymous overview, JWT for the rest):
GET /overview- Transfer statistics (uniform funnel + per-kind counts)GET /raw-packages- List packages (paginated)GET /transfer-packages- List transfer packagesWS /ws/overview- Real-time updatesGET /failure-history/{operation_type}/{operation_id}- Durable failure trail for an operation
Uniform reset (admin only) — keyed by the OperationKind model, operating on
the Operation row (status→PENDING, retry_count++, history preserved):
POST /operation/{kind}/{id}/reset- Reset one operation of a kind ({kind}is anOperationKindvalue:transfer,unpack,long_term_archive,staging,raw_data_package,data_transfer_package; an unknown kind yields 422)POST /operation/{kind}/reset-all-failed- Reset every FAILED operation of a kind
Reconcile (admin only) — recompute a RawDataPackage’s lifecycle state from its
operation chain, draining the inconsistent set (ADR-0004):
POST /raw-data-package/{id}/reconcile- Recompute one package’s statePOST /raw-data-package/reconcile-inconsistent- Reconcile every package in the inconsistent set
Legacy reset shims (admin only) — the per-id paths are retained as #95-safe shims for callers not yet migrated to the operation-keyed endpoints. They resolve the Operation row(s) behind the legacy row by FK and reset those, never touching the soon-dropped status/counter columns:
POST /data-transfer/{id}/reset- Reset failed transfer (legacy shim)POST /long-term-archive/{id}/reset- Reset failed archive transfer (legacy shim)POST /data-transfer/reset-all-failed- Reset all failed transfers (legacy shim)POST /long-term-archive/reset-all-failed- Reset all failed archive transfers (legacy shim)
Authentication: JWT (GitHub OAuth); reset/reconcile actions are admin-gated (ADR-0002)
Observing Program Router (/observing_program)#
GET /- List programsPOST /- Create programGET /{id}- Get programPUT /{id}- Update programDELETE /{id}- Delete program
Sources Router (/sources)#
GET /- List/search sourcesGET /{id}/chip- Card viewGET /{id}/details- Detailed viewPOST /resolve- Name resolution
Visibility Router (/visibility)#
GET /{source_id}- Source visibilityGET /heatmap- Visibility heatmapPOST /precalculate- Trigger precalculation (admin)
Operations Endpoints#
Executed Obs Units (/executed_obs_units)#
POST /start- Start observation (buffered)PUT /{id}/finish- Finish observation (buffered)GET /{obs_unit_id}- Query observations (smart query)
Authentication: API Token
Buffering: Enabled (@critical_operation)
Raw Data Files (/raw_data_files)#
POST /- Register file (buffered)POST /bulk- Register multiple files (buffered)GET /{id}- Get file metadata
Raw Data Package (/raw_data_package)#
POST /- Create package (buffered)GET /{id}- Get packagePUT /{id}/finalize- Mark complete