Upload Incident Files
Upload incident files and create an upload session for validation. Accepts JSON or CSV content as base64-encoded strings.Request Body
Array of file objects to upload
Response
Whether the upload was successful
Unique identifier for this upload session (UUID)
Current status of the session (e.g., “pending_validation”)
Number of incidents detected in the uploaded files
Metadata about uploaded files (filenames, sizes, record counts)
First 10 records from the uploaded data for preview
Example Request
Example Response
Validate Upload Session
Run schema validation on an upload session to identify missing required fields and data quality issues.Path Parameters
Upload session ID returned from the upload endpoint
Response
Whether validation completed successfully
Upload session identifier
Validation status: “valid”, “invalid”, or “needs_mapping”
Total number of records in the upload
Number of records that passed validation
Number of validation errors found
Detailed validation errors
Preview of validated records
Detected fields in each uploaded file (used for field mapping)
Example Request
Example Response
Apply Field Mapping
Apply field mappings to transform source field names to the expected schema and re-validate the data.Path Parameters
Upload session ID
Request Body
Map of source field names to target schema fieldsExample:
{"inc_id": "incident_id", "summary": "title"}Response
Returns a validation report (same structure as validate endpoint) with the field mappings applied.Example Request
Example Response
Confirm and Ingest
Confirm a validated upload session and begin asynchronous ingestion into the vector database. Returns a Server-Sent Events (SSE) stream with real-time progress updates.Request Body
Validated upload session ID
Optional notes about this ingestion (stored in version metadata)
Response (Server-Sent Events)
The endpoint returns an SSE stream with the following event types:Event: progress
Current batch number being processed
Total number of batches to process
Array of incident IDs processed in this batch
Human-readable progress message
Event: complete
Always true on successful completion
UUID of the newly created dataset version
Incremental version number
Qdrant collection name where data was ingested
Total number of incidents ingested
Event: error
Always false on error
User-friendly error message
Example Request
Example SSE Stream
Required Schema
All incidents must include the following required fields:incident_id(string): Unique identifier for the incidenttitle(string): Short title or summarydescription(string): Detailed incident description
action_taken(string): Resolution or mitigation stepsopened_at(string): Timestamp when incident was openedupdated_at(string): Timestamp when incident was last updatedimpacted_application(string): Affected application or serviceroot_cause(string): Root cause analysismitigation(string): Mitigation strategyaccountable_party(string): Team or person responsiblesource_system(string): Source system (defaults to “ServiceNow”)repeat_incident(string): Whether this is a repeat incident