Create a new incident
const url = 'https://app.bluelightmaps.com/api/incidents';const options = { method: 'POST', headers: {Authorization: 'Basic <credentials>', 'Content-Type': 'application/json'}, body: '{"originId":"INC-123456","type":"FIRE","timeOfOrigin":"2023-05-10T08:45:00.000Z","latitude":51.5074,"longitude":-0.1278,"priority":1,"description":"Building fire reported","resources":["P221","A14"]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://app.bluelightmaps.com/api/incidents \ --header 'Authorization: Basic <credentials>' \ --header 'Content-Type: application/json' \ --data '{ "originId": "INC-123456", "type": "FIRE", "timeOfOrigin": "2023-05-10T08:45:00.000Z", "latitude": 51.5074, "longitude": -0.1278, "priority": 1, "description": "Building fire reported", "resources": [ "P221", "A14" ] }'Create a new incident in the system. The originId must be unique.
Each entry in resources is a callsign. A callsign is matched against the names of the devices the caller can reach, and a single callsign may map to several devices (a vehicle often carries more than one) - every one of them gets an incidentAssigned event and a push.
A new incident is always created with status: OPEN; status and timeClosed in the body are ignored here.
The 202 response reports one status per callsign: NOT_FOUND when no device carried it, OFFLINE when at least one of its devices was not online (that device’s push is queued for retry).
Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ”object
Unique external identifier for the incident
Type of incident
Time when the incident occurred
Time when the incident was received by the system
Time when the incident was last updated
Lifecycle state. Incidents are created OPEN; status in a create body is ignored. On an update, omit it to keep the stored value, send CLOSED to close (which stands every remaining callsign down and stamps timeClosed) or OPEN to reopen (which clears timeClosed). Any other value is a 400, and assigning resources while closed is a 409.
When the incident was closed; absent (null) while it is open. Server-owned: set when status becomes CLOSED, cleared when it goes back to OPEN, and ignored if sent in a request body.
Latitude of the incident location
Longitude of the incident location
Priority of the incident
Description of the incident
Callsigns assigned to this incident. A callsign is matched against the names of the devices the caller can reach, and one callsign may map to several devices (a vehicle often carries more than one) - each of them receives the assignment / deassignment event and push. Always empty while the incident is closed.
Examples
{ "originId": "INC-123456", "type": "FIRE", "timeOfOrigin": "2023-05-10T08:45:00.000Z", "latitude": 51.5074, "longitude": -0.1278, "priority": 1, "description": "Building fire reported", "resources": [ "P221", "A14" ]}Responses
Section titled “ Responses ”The created incident
object
Unique external identifier for the incident
Type of incident
Time when the incident occurred
Time when the incident was received by the system
Time when the incident was last updated
Lifecycle state. Incidents are created OPEN; status in a create body is ignored. On an update, omit it to keep the stored value, send CLOSED to close (which stands every remaining callsign down and stamps timeClosed) or OPEN to reopen (which clears timeClosed). Any other value is a 400, and assigning resources while closed is a 409.
When the incident was closed; absent (null) while it is open. Server-owned: set when status becomes CLOSED, cleared when it goes back to OPEN, and ignored if sent in a request body.
Latitude of the incident location
Longitude of the incident location
Priority of the incident
Description of the incident
Callsigns assigned to this incident. A callsign is matched against the names of the devices the caller can reach, and one callsign may map to several devices (a vehicle often carries more than one) - each of them receives the assignment / deassignment event and push. Always empty while the incident is closed.
Example
{ "status": "OPEN"}Incident created, but at least one callsign was not found or had a device that was not online
object
object
Unique external identifier for the incident
Type of incident
Time when the incident occurred
Time when the incident was received by the system
Time when the incident was last updated
Lifecycle state. Incidents are created OPEN; status in a create body is ignored. On an update, omit it to keep the stored value, send CLOSED to close (which stands every remaining callsign down and stamps timeClosed) or OPEN to reopen (which clears timeClosed). Any other value is a 400, and assigning resources while closed is a 409.
When the incident was closed; absent (null) while it is open. Server-owned: set when status becomes CLOSED, cleared when it goes back to OPEN, and ignored if sent in a request body.
Latitude of the incident location
Longitude of the incident location
Priority of the incident
Description of the incident
Callsigns assigned to this incident. A callsign is matched against the names of the devices the caller can reach, and one callsign may map to several devices (a vehicle often carries more than one) - each of them receives the assignment / deassignment event and push. Always empty while the incident is closed.
object
Keyed by callsign. NOT_FOUND means no device the caller can reach carries that callsign; OFFLINE means at least one of its devices was not online, and that device’s push has been queued for retry. Callsigns whose devices were all online are omitted.
object
Example
{ "incident": { "status": "OPEN" }, "details": { "deviceStatuses": { "additionalProperty": "OFFLINE" } }}Bad Request - Invalid data provided
The integration user is not allowed to create incidents
An incident with the same originId already exists