Incidents API
Endpoints for reporting and managing operational incidents
Overview
The Incidents API provides programmatic access to the incident reporting system. It supports creating new incidents, adding comments, changing statuses, and escalating high-priority issues.
Endpoints
Report Incident
POST /api/incidents
Request Body
locationId: string (UUID, required)type: "Injury" | "Near Miss" | "Spill / Slip Hazard" | "Complaint" | "Maintenance" | "Stockout" (required)severity: "low" | "medium" | "high" | "critical" (required)notes: string (incident description, required, max 5000 characters)mediaUrls: array of string (optional, Vercel Blob URLs)contactMode: "none" | "existing" | "new" (optional)contactId: string (optional, UUID of existing contact)contactName: string (optional, name for new contact)contactPhone: string (optional, phone number for new contact)contactEmail: string (optional, email address for new contact)contactNotes: string (optional, notes for new contact)
Add Comment
POST /api/incidents/:id/comments
Request Body
content: string
Update Status
PATCH /api/incidents/:id
Request Body
status: "reported" | "investigating" | "deferred" | "resolved"