Skip to main content

Report Status API

Overview

This endpoint returns ingestion-side processing status for a report. It is different from the gateway-facing Report Info API, which returns lighter review metadata.

Direct ingestion path:

  • GET /sdac/reports/{report_id}

Widget same-origin path:

  • GET /api/ingestion/sdac/reports/{report_id}

Authentication and Access Model

This ingestion route does not enforce APIM bearer-token or subscription-key validation itself.

  • Browser clients should use the widget same-origin proxy at /api/ingestion/sdac/reports/{report_id}.
  • Direct /sdac/reports/{report_id} access should stay behind private deployment controls or reverse-proxy authentication.
  • Do not expose the ingestion route directly to untrusted browser clients.

Request

AttributeValue
EndpointGET /sdac/reports/{report_id}
ResponseJSON

Path Parameters

ParameterTypeRequiredDescription
report_idstringYesIngestion-side report identifier to look up
warning
The current ingestion implementation returns HTTP 200 for success, missing-report, and backend-error bodies on this route. Inspect the response body status field rather than relying on the HTTP code alone.

Success Response

{
"report_id": "8201EDC2-2EDE-4CA1-AF44-D0F5AA185CDB",
"district": "Maplewood Richmond Heights",
"quarter": "Q3",
"year": 2025,
"status": "success",
"processed_at": "2026-03-29T18:42:11.000Z",
"main_roster_count": 18,
"replacement_count": 3,
"total_personnel_count": 21
}
FieldDescription
report_idReport identifier
districtDistrict label stored by ingestion
quarterQuarter stored for the report
yearYear stored for the report
statusProcessing status for the report
processed_atProcessing completion timestamp when available
main_roster_countCount of main-roster rows
replacement_countCount of replacement rows
total_personnel_countTotal personnel rows

Not Found Response

{
"report_id": "8201EDC2-2EDE-4CA1-AF44-D0F5AA185CDB",
"status": "not_found",
"message": "No records found for this report ID"
}

Error Response

{
"report_id": "8201EDC2-2EDE-4CA1-AF44-D0F5AA185CDB",
"status": "error",
"message": "Unable to fetch report status right now."
}

HTTP Status Behavior

HTTP StatusMeaning
200Returned for successful lookups and for body-level status: "not_found" or status: "error" responses
500Reserved for framework-level failures before the handler can return a body