Skip to main content

SDAC API

Overview

SDAC exposes a small external API surface for validation, report metadata, streaming chat, and response feedback. Embedded widget clients call same-origin proxy routes under /api/ingestion/sdac/* and /api/mastra/sdac/*; direct gateway integrations use APIM-published runtime routes when those paths are enabled for the environment.

The source-backed runtime routes are documented in the generated OpenAPI files under docs/openapi/. APIM may add an /ai prefix in testing, but browser widget code should not call APIM directly.

If you are embedding the SDAC widget rather than calling the gateway directly, see Widget Integration for the browser-to-widget and widget-to-ingestion flow.

Authentication

Direct APIM callers authenticate through APIM with:

  • Authorization: Bearer {access_token}
  • Ocp-Apim-Subscription-Key: {subscription_key}

Widget browser clients do not send those headers to /api/ingestion/... or /api/mastra/...; they use the same-origin widget proxy instead. See Authentication for the full gateway and widget access model.

Foundation Pages

Use these pages before integrating a specific endpoint:

Documentation Boundary

This external documentation set covers the supported gateway APIs, the widget-facing same-origin proxy routes, and the tool IDs that can surface in chat progress events.

Raw /sdac/tools/* and /sdac/registry/* proxy routes are not documented here as public integration endpoints. They are implementation surfaces behind the customer-facing chat, validation, and workflow experiences.

Available Endpoints

EndpointMethodDescription
/api/ingestion/sdac/chatPOSTWidget-safe streaming chat for report review, session continuation, and agent selection
/api/ingestion/sdac/validatePOSTWidget-safe issue list and summary for a report
/api/ingestion/sdac/report/{reportId}GETWidget-safe lightweight report header metadata
/api/ingestion/sdac/feedbackPOSTWidget-safe rating submission for a persisted assistant response
/sdac/feedback/stats/{agentId}GETRuntime feedback metrics for an agent; use through APIM only when the environment publishes it

Core Integration Flow

  1. Upload a workbook with the Upload API, or start from district context in chat if your integration already knows the district and quarter.
  2. Use the Report Info API to populate header metadata and the Validation API to generate a baseline issue list.
  3. Use the Chat API for targeted questions, position-level review, or full-review coordination.
  4. Persist the conversationId from the chat metadata event and the conversationSk plus assistant turnNumber from the chat done event.
  5. Submit user ratings with the Feedback API.

Standard Error Responses

Exact status codes vary by endpoint, but these are the standard cases:

StatusDescription
400Bad Request: missing fields, invalid identifiers, or unsupported request format
401Unauthorized: missing or expired bearer token
403Forbidden: invalid subscription key or insufficient API scope
404Not Found: report or route does not exist
500Internal Server Error: unexpected processing failure

Next Steps