Schema Structure

Welcome to the Schema Structure page for the Incident Detection API. This section provides an in-depth overview of the data schema used to define and organize incident information. Here, you’ll find detailed descriptions of the data fields, their types, and the relationships between different elements within the incident reports.

Understanding the schema structure is crucial for effectively parsing, interpreting, and integrating the incident data into your systems. This page serves as a comprehensive guide to ensure that you can work with the API’s data models with confidence and precision.

Incident details

Field name
Type
Mandatory
Description

id

String

Yes

The unique identifier of the incident

String

Yes

The Type of the Incident

String

No

The Sub-Type of the Incident

Object

No

The description of the traffic incident event in English

location

Point

Yes

The location of the incident (point – long and lat)

state

String

No

The state which the incident located at

county

String

No

The county which the incident located at

city

String

No

The city which the incident located at

String

No

Type of road the incident occurred on

corridor

String

No

The road/part of the road name

String

No

The road direction of the incident

String

No

The location of the incident along the corridor, relative to the crossroad

crossroad

String

No

The nearest intersection

mileMarker

String

No

Road mile marker lined to the specific corridor

startTime

String

Yes

The UTC start time and date of the incident

confirmedTime

String

No

The UTC time and date when the operator verified the incident

updateTime

String

No

The UTC time and date of the incident update

endTime

String

No

The UTC time and date the incident was completed

affectedLanes

List<Lane>

Yes

List of the affected lanes

isFullClosure

Boolean

Yes

Indication if all lanes are closed or not

String

No

The severity of the incident

estimatedEndTime

String

No

The estimated end time of the incident

estimatedDurationMin

Int

No

Calculation of the interval between starting time and end time of the incident

Object

No

Details of the Incident impact on the roadways

Object

Yes

Enumeration string specifying the Incident Confidence Score

atmsId

String

No

The unique identifier of the ATMS

createdBy

String

No

The ID of the creator of the incident

reportedBy

String

Yes

The source of the report

confirmedBy

String

No

The source of confirmation of the incident

updatedBy

String

No

The source of update

clearedBy

String

No

The ID of the clearer of the incident

clearedReason

String

No

The resolution reasons

injuries

Int

No

Number of injuries reported

fatalities

Int

No

Number of fatalities reported

involvedVehicles

List<InvolvedVehicle>

Yes

Number of reported vehicles involved in the incident

notes

List<FeedNote>

Yes

Additional information about the incident

unitResponse

List<UnitResponse>

Yes

The status of the associated unit

involvedVehiclesCount

Int

No

The number of involved vehicles in the incident

Incident types

The Incident Detection API provides comprehensive support for a diverse array of incident types, ensuring a robust and flexible framework for incident reporting and monitoring.

Type
Sub-Type

CRASH

PRIMARY_SUB_TYPE
SECONDARY_CRASH

DEBRIS

OIL_SPILL
DEBRIS_ON_LANE
CARGO_DISPERSAL
DEAD_ANIMAL
VEGETATION
NOT_IMPACTING_TRAFFIC
IMPACTING_TRAFFIC

OVERHEATED
FLAT_TIRE
TOW_WAITING
ASSISTANCE_WAITING
OUT_OF_GAS
MECHANICAL_ISSUE
ON_PHONE
LOST_MOTORIST
RANDOM_STOP
CARGO_LOADING
ELECTRICAL
SICK_MOTORIST
MOTORIST_REFUSED_ASSISTANCE
WELLNESS_CHECK
MOTORIST_WAITING_FOR_OTHER

HAZARD

PEDESTRIAN_ON_ROAD
CYCLIST_ON_ROAD
WATER_LEAK
ANIMAL_ON_ROAD
OVERWEIGHT_LOAD
HAZMAT
FIRE
SUICIDE
FLOODING_ON_ROAD
TREE_FALL
HAZARD_ON_ROAD

POLICE_ACTIVITY

FELONY
PROTESTS
ROAD_BLOCK
BOMB_THREAT
SUSPICIOUS_PERSON
HOMELAND_SECURITY_INCIDENT
EXPLOSION
STREET_VIOLENCE
DOMESTIC_VIOLENCE

TRAFFIC_STOP

MOTORIST_ASSIST
TRAFFIC_CONTROL

DAMAGE

GRAFFITI
DAMAGED_SIGNS
STOLEN_EQUIPMENT
POTHOLE_DAMAGE
BARRIER_DAMAGE
BRIDGE_DAMAGE
DRAIN
FENCING
EQUIPMENT_FAILURE
GUARD_CABLE
GUIDE_RAIL
DAMAGED_LIGHT_POLE
DOWNED_POWER_LINES
SIGN_DOWN
TRAFFIC_LIGHTS_NOT_WORKING
GAS_LEAK
INFRASTRUCTURE_DAMAGE
DRAINAGE_OR_MANHOLE_COVER
STREET_LIGHT_NOT_WORKING
ENERGY_ABSORBING_BARRIER

ABANDONED_VEHICLE

TAGGED
HP_TAGGED

LEFT_ON_ARRIVAL

VEHICLE_ON_FIRE

EMS

WRONG_WAY

UNIDENTIFIED

OTHER

Description

AI-enhanced incident descriptions built on industry information-sharing best practices, available in two streamlined formats:​

  • Short Description: Concise/Mobile-optimized​

  • Description: Expanded/Full details

Road type

FREEWAY
HIGHWAY
STREET
RAMP
ON_RAMP
OFF_RAMP
PRIMARY
SECONDARY
TRAIL
OTHER
BRIDGE
INTERSECTION
UNKNOWN_ROAD_TYPE
ROADWAY
CD_ROAD
TRANSITION_RAMP

Direction

SB
NB
EB
WB

Orientation

AT
BEFORE
AFTER
UNDER
OVER
TO
FROM
EXIT
EAST_OF
WEST_OF
NORTH_OF
SOUTH_OF

Severity

MINOR_SEVERITY
INTERMEDIATE_SEVERITY
MAJOR_SEVERITY
CRITICAL_SEVERITY

Irregular Traffic and Slowdown Detection

Irregular Traffic and Slowdown (Other Event Type) are triggered by real-time Connected Vehicle data, which monitors traffic patterns to quickly detect traffic anomalies, such as abrupt slowdowns, often signaling potential incidents like crashes.

Impact Level

Traffic impact level refers to the severity of disruption caused by an incident, ranging from "No Impact" to "High Impact," indicating the extent to which normal traffic flow is affected.

  • No Impact

  • Negligible Impact - Least impactful

  • Low Impact

  • Medium Impact

  • High Impact - Most impactful

Incident Confidence Score

The Incident Confidence Score is an AI-driven insight that provides a quantifiable reliability metric for each detected incident. Generated by Rekor’s proprietary fusion algorithms, it provides a transparent and dynamic assessment of each event’s validity. The score evolves in real-time as new data is processed, ensuring timely and accurate insights for operational decision-making.

  • 1 - IDENTIFIED

  • 2 - POSSIBLE

  • 3 - PROBABLE

  • 4 - VERIFIED

Customizations

The following filters can be used to customize Incident information:

  • Area - Specify the preferred Polygons

  • State - Specify the preferred States

  • County - Specify the preferred county

  • Incident Type - Supported Incident Types

  • Incident Sub-Type - Supported Incident Sub-Types

  • Incident Confidence Score - Specify the preferred Incident Confidence Score level

Event Restoration

Restoration of an event allows an event that was previously removed from the feed to be reinstated within 24 hours of its completion. The restored event retains its original ID, ensuring data continuity and avoiding disruptions in integrated systems.

  • Restoration Types: Operator intervention or algorithmic decisions.

  • Time Limit: Restoration is available only within 24 hours of event completion.

  • Consistency: Restored events maintain their original ID for seamless integration.

Incident JSON Schema

The JSON Schema below is the foundation for receiving and consuming comprehensive incident data. This JSON schema provides a structured format for incident information, allowing users to efficiently retrieve and integrate data into their systems.

The schema encompasses a range of essential parameters, including incident identification, type, and sub-type, along with critical details about the incident's location, timing, and affected lanes. Additionally, it captures pertinent information about involved vehicles, injuries, fatalities, unit responses, and mitigation efforts. The well-defined structure ensures clarity and consistency, facilitating a smooth and seamless process for users to parse and utilize incident data effectively.

[
    {
        "id": String,
        "incidentType": String,
        "incidentSubType": String,
        "atmsId": String,
        "createdBy": String,
        "reportedBy": String,
        "confirmedBy": String,
        "updatedBy": String,
        "clearedBy": String,
        "clearedReason": String,
        "location": {
            "long": Double,
            "lat": Double
        },
        "state": String,
        "county": String,
        "city": String,
        "roadType": String,
        "corridor": String,
        "direction": String,
        "orientation": String,
        "crossroad": String,
        "mileMarker": String,
        "startTime": String,
        "confirmedTime": String,
        "updateTime": String,
        "endTime": String,
        "affectedLanes": [
            {
                "laneNumber": Int,
                "laneType": String,
                "isClosed": Boolean,
                "updatedTime": String
            }
        ],
        "isFullClosure": Boolean,
        "injuries": Int,
        "fatalities": Int,
        "estimatedEndTime": String,
        "estimatedDurationMin": Int,
        "involvedVehicles": [
            {
                "id": String,
                "state": String,
                "color": String,
                "make": String,
                "model": String,
                "type": String,
                "licensePlate": String
            }
        ],
        "notes": [
            {
                "note": String,
                "updateTime": String,
                "updateBy": String
            }
        ],
        "unitResponse": [
            {
                "respondedBy": String,
                 "unitType": String,
                 "unitId": String,
                 "status": String,
                 "updateTime": String,
                 "mitigationStartTime": String,
                 "mitigationEndTime": String,
                 "mitigationReasons": [String]
            }
        ],
        "involvedVehiclesCount": Int,
        "severity": String,
        "description": Object,
        "impact": Object,
        "confidence": Object
    }
]

Last updated

Was this helpful?