Skip to content

Update an incident

PUT
/incidents/{id}
curl --request PUT \
--url https://app.bluelightmaps.com/api/incidents/1 \
--header 'Authorization: Basic <credentials>' \
--header 'Content-Type: application/json' \
--data '{ "id": 1, "originId": "example", "type": "example", "timeOfOrigin": "2026-04-15T12:00:00Z", "timeReceived": "2026-04-15T12:00:00Z", "timeUpdated": "2026-04-15T12:00:00Z", "status": "OPEN", "latitude": 1, "longitude": 1, "priority": 1, "description": "example", "resources": [ "example" ] }'

Update an incident by its database ID. Behaves exactly like PUT /incidents/update (a full replacement; the resources list is diffed and added / removed callsigns get incidentAssigned / incidentDeassigned events and pushes, and one callsign may resolve to several devices, each of which is notified), keyed on the path id instead of originId.

The same status rules apply: CLOSED stamps timeClosed, empties resources and stands every remaining callsign down with incidentStatus: CLOSED on the event; OPEN reopens the incident and clears timeClosed; an unknown status is a 400; and a non-empty resources array on a closed incident is a 409. timeClosed in the body is ignored.

id
required
integer
Media type application/json
object
id
integer format: int64
originId
required

Unique external identifier for the incident

string
type
required

Type of incident

string
timeOfOrigin

Time when the incident occurred

string format: date-time
timeReceived

Time when the incident was received by the system

string format: date-time
timeUpdated

Time when the incident was last updated

string format: date-time
status

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.

string
default: OPEN
Allowed values: OPEN CLOSED
timeClosed

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.

string format: date-time
latitude
required

Latitude of the incident location

number format: double
longitude
required

Longitude of the incident location

number format: double
priority
required

Priority of the incident

integer
description

Description of the incident

string
<= 255 characters
resources

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.

Array<string>

The updated incident

Media type application/json
object
id
integer format: int64
originId
required

Unique external identifier for the incident

string
type
required

Type of incident

string
timeOfOrigin

Time when the incident occurred

string format: date-time
timeReceived

Time when the incident was received by the system

string format: date-time
timeUpdated

Time when the incident was last updated

string format: date-time
status

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.

string
default: OPEN
Allowed values: OPEN CLOSED
timeClosed

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.

string format: date-time
latitude
required

Latitude of the incident location

number format: double
longitude
required

Longitude of the incident location

number format: double
priority
required

Priority of the incident

integer
description

Description of the incident

string
<= 255 characters
resources

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.

Array<string>
Example
{
"status": "OPEN"
}

Incident updated, but at least one callsign was not found or had a device that was not online

Media type application/json
object
incident
object
id
integer format: int64
originId
required

Unique external identifier for the incident

string
type
required

Type of incident

string
timeOfOrigin

Time when the incident occurred

string format: date-time
timeReceived

Time when the incident was received by the system

string format: date-time
timeUpdated

Time when the incident was last updated

string format: date-time
status

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.

string
default: OPEN
Allowed values: OPEN CLOSED
timeClosed

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.

string format: date-time
latitude
required

Latitude of the incident location

number format: double
longitude
required

Longitude of the incident location

number format: double
priority
required

Priority of the incident

integer
description

Description of the incident

string
<= 255 characters
resources

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.

Array<string>
message
string
details
object
deviceStatuses

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
key
additional properties
string
Allowed values: OFFLINE NOT_FOUND
Example
{
"incident": {
"status": "OPEN"
},
"details": {
"deviceStatuses": {
"additionalProperty": "OFFLINE"
}
}
}

Bad Request - Invalid data provided

The integration user has no permission on this incident

Incident not found

The incident is closed (or is being closed) and the body carries a non-empty resources array. Reopen it with status: OPEN first.