ATMS API
The ATMS API is exposed to trusted partner systems. Each partner is provided with a unique API key that must be used in the header for each request. The specific header to include the key in is called “token”. In addition, each request should Accept application/json. A sample curl command would be as follows: curl -X GET --header 'Accept: application/json' --header 'token: {API Token}' '{Host}/api/PlannedEvents'
API Definition
The API is organized into method sets, based on the type of data to be requested / supplied. Methods can be enabled or disabled by ATMS deployment – to see which methods are enabled for a specific ATMS API endpoint, please access its Swagger UI.
- Area Events
- Bluetooth Detectors
- CCTV
- Construction and Maintenance Events
- Diversion Plan
- Floodgates
- IQD Detections
- Mapping
- Planned Events
- Restrictions
- RWIS Stations
- Signs
- Solar Controllers
- Travel Time Routes
- Unplanned Events
- Waze
- WZDx Work Zone Feed
The returned data types are described in the following sections. Common data types are described at the end of the document.
Common Data Types
Location
Name | Description | Type | Additional Information |
---|---|---|---|
RoadwayName | The name of the roadway this location is part of | string | None |
Direction | Roadway direction of travel | string | N, S, E, W |
Longitude | Longitude of the location | decimal | None |
Latitude | Latitude of the location | decimal | None |
County | The County the coordinate is located in | string | None |
Chainage | Chainage or mile/kilometer marker of the location | decimal | None |
UpstreamLocation | Reference location upstream (before) the location | string | None |
UpstreamLocationDistanceMeters | Distance in meters to the upstream location | integer | None |
DownstreamLocation | Reference location downstream (after) the location | string | None |
DownstreamLocationDistanceMeters | Distance in meters to the downstream location | integer | None |
Area Events
Area events represent events that impact one or more geographic areas. The inventory of Areas and the polygons they represent can be accessed through the Mapping/MapAreas API method.
Methods
Resource | Url | Data Payload | Description | Returns |
---|---|---|---|---|
GET AreaEvents | /api/AreaEvents | None | Returns all active or future Area events contained in ATMS that have been published by an ATMS user for inclusion in the API | areaEvent[] |
Data Formats
Name | Description | Type | Additional Information |
---|---|---|---|
Id | Unique identifier of the event | int | None |
Description | Description of the event | string | None |
Areas | The polygon areas this event impacts. If NULL, the alert applies to the full geography managed by the ATMS instance | MapAreaDefinition[] | Area object consists of: - AreaType (string) - Name (string) The inventory of polygon areas can be retrieved using the Mapping/MapAreas method. The area Name is only unique by area type, so lookups should be based on both AreaType and Name. |
Type | The type of event | string | - Weather - Weather Warning - Missing Person Alert - General Alert |
Cause | The more detailed cause of the event. | string | Causes are mapped to event Types and are configured/configurable for each ATMS implementation. |
Schedule | An optional Schedule for the event | AreaEventSchedule | The Schedule object includes: - IsActive (boolean): indicates if the event is currently active - ScheduleStart: Start of the scheduled occurrence - ScheduleEnd: End of the scheduled occurrence Schedule Start and End are in format: yyyy-mm-ddThh:mm:ss.mmmZ.The schedule can be NULL. If the schedule is NULL, this represents an unplanned event and it should be assumed to be active. |
IsFloodgate | Indication of whether information about this event should be published as a Floodgate or banner message | boolean | None |
LastUpdated | The date the event's details were last updated. | string | Format: yyyy-mm-ddThh:mm:ss.mmmZ. |
Bluetooth Detectors
Methods
Resource | Url | Data Payload | Description | Returns |
---|---|---|---|---|
GET BTReaderInventory | /api/BTReader | None | Returns all Bluetooth Detectors managed by the ATMS | bluetoothDetectorInventory[] |
GET BTReaderInventory | /api/BTReader/{id} | None | Returns details for the specified Bluetooth Detector. | bluetoothDetectorInventory |
GET Bluetooth DetectorStatus | /api/BTReader/Statuses | None | Returns the last known status of all Bluetooth Detectors managed by the ATMS | bluetoothDetectorStatus[] |
GET BluetoothDetectorStatus | /api/BTReader/{id}/Status | None | Returns the last known status for the specified Bluetooth Detector. | bluetoothDetectorStatus |
Data Formats
Bluetooth Detector Inventory
Name | Description | Type | Additional Information |
---|---|---|---|
ID | Identifier of the device | int | None |
Name | Name of the device | string | None |
Description | Description of the device | string | None |
Location | Location of the device | Location | Location Chainage may be null |
LastModifiedDate | The date the inventory record for the device was last modified | string | Format: yyyy-mm-ddThh:mm:ss.mmmZ |
Bluetooth Detector Status
Name | Description | Type | Additional Information |
---|---|---|---|
ID | Identifier of the device | int | None |
Status | The last reported status of the device | string | - Ok - Not Communicating - Device Error - Unknown - Not in Service |
StatusDetails | Provides additional information about the status of the device. | Object | Object containing{ "ReportedErrors":string[]}ReportedErrors contains an array of strings listing all errors reported by the device in its most recent communication(s). |
OperationalIssues | Identifies possible device issues detected by the ATMS based on reported data or behaviour. A device may be communicating normally and reporting no hardware errors, but still have Operational Issues. | Object | Object contains a set of properties, where the property name represents the issue type, and its string value indicates whether it is present. Possible values for each property are: - True - False - Unknown The list of reported issue types may differ by deployment. Connect to the sign statuses API method for details. |
LastUpdated | The date and time this status was reported | string | Format: yyyy-mm-ddThh:mm:ss.mmmZ. |
CCTV
Methods
Resource | Url | Data Payload | Description | Returns |
---|---|---|---|---|
GET CCTVInventory | /api/CCTV | None | Returns all CCTV managed by the ATMS | cctvInventory[] |
GET CCTVInventory | /api/CCTV/{id} | None | Returns details for the specified CCTV. | cctvInventory |
Data Formats
Name | Description | Type | Additional Information |
---|---|---|---|
ID | Identifier of the device | int | None |
Description | Description of the device | string | None |
Location | Location of the device | Location | Location Chainage may be null |
ImageUrl | The URL from which images captured from the camera can be retrieved | string | None |
BlockDisplay | Indicates whether the camera or camera image should be hidden from view | boolean | None |
Construction and Maintenance Events
This section of the API provides details about Construction and Maintenance activities entered and managed through the ATMS companion Progressive Web Application.
Methods
Resource | Url | Data Payload | Description | Returns |
---|---|---|---|---|
GET ConstructionAndMaintenanceEvents | /api/GetAllConstructionAndMaintenanceEvents | None | Returns all active or future Construction and Maintenance events included in ATMS | constructionandMaintenanceEvent[] |
GET DeactivatedConstructionAndMaintenanceEvents | /api/DeactivatedConstructionAndMaintenanceEvents/{date} | None | Returns all planned ATMS events that were deactivated in a 24 hour period starting from the provided date. Input date is expected to be in UTC. For example, 2021-02-10T05:00:00.000Z would return all events deactivated on February 10th, 2021 in the Eastern time zone | completedEvent[] |
GET ConstructionProjectSchedules | /api/DeactivatedConstructionAndMaintenanceEvents?startDateTime={startDateTime}&endDateTime={endDateTime | None | Returns Construction Project Schedules that overlap the specified start and end date. StartDateTime and EndDateTime are expected to be in UTC. | constructionProjectSchedule[] |
Data Formats
Construction and Maintenance Event
Name | Description | Type | Additional Information |
---|---|---|---|
Id | Unique identifier of the event | int | None |
Description | Description of the event. | string | This will be NULL for events that have not yet been published for inclusion in the ATMS Planned Events API method. |
HeadLocation | The downstream location of the event | Location | Location includes Chainage in miles of the location, accurate to 10th of a mile |
TailLocation | The upstream location of the event. This is the point where a driver will first encounter the event | Location | Location includes Chainage in miles of the location, accurate to 10th of a mile |
Type | The type of event | string | - Construction - Maintenance |
Cause | The more detailed cause of the event. | string | Causes are mapped to event Types and are configured/configurable for each ATMS implementation. |
Severity | A description of the severity of the incident | string | Configured per deployment. Typically 1-5, with 5 being most severe. This value may be null. |
LanePattern | Describes the lane pattern at the event's location | string | Read left to right, this will contain a number of characters matching the number of lanes at the event's location. Characters indicate the type of lane at that position:S: ShoulderT: TravelA location with a left shoulder, two travel lanes and right shoulder would be presented as: S:TT:S |
LaneStatus | Describes which (if any) lanes are blocked due to the event | string | Read left to right, this will indicate the status of each lane described in the LanePattern:X: blockedO: OpenA location with the left shoulder and left lane blocked but the right lane and right shoulder open would be presented as: X:XO:O. |
IsActive | Indicates whether the planned event has been flagged as active in ATMS. | boolean | None |
ScheduleStart | The start datetime of the planned event. For recurring events, the start of the current (if active) or next (if future) recurrence. | string | Format: yyyy-mm-ddThh:mm:ss.mmmZ |
ScheduleEnd | The end datetime of the planned event. For recurring events, the end of the current/next recurrence. | string | Format: yyyy-mm-ddThh:mm:ss.mmmZ |
DiversionPlanId | ID of the Diversion Plan to be activated for this event if the event represents a Diversion event (full road closure with signed detour route) | string | Null if this is not a Diversion event. Provided ID can be used along with the api/DiversionPlan method to get details of the plan and associated detour route. |
LastUpdated | The date the event's details were last updated. | string | Format: yyyy-mm-ddThh:mm:ss.mmmZ. |
Deactivated Construction and Maintenance Activities
Name | Description | Type | Additional Information |
---|---|---|---|
EventId | Unique identifier of the event | int | None |
HeadLocation | The downstream location of the event | Location | None |
TailLocation | The upstream location of the event. This is the point where a driver will first encounter the event | Location | None |
Type | The type of event | string | Planned |
Cause | The more detailed cause of the event. | string | Causes are mapped to event Types and are configured/configurable for each ATMS implementation. |
Severity | A description of the severity of the incident | string | Configured per deployment. Typically 1-5, with 5 being most severe. |
LanePattern | Describes the lane pattern at the event's location | string | Read left to right, this will contain a number of characters matching the number of lanes at the event's location. Characters indicate the type of lane at that position:S: ShoulderT: TravelA location with a left shoulder, two travel lanes and right shoulder would be presented as: S:TT:S |
LaneStatus | Describes which (if any) lanes are blocked due to the event | string | Read left to right, this will indicate the status of each lane described in the LanePattern:X: blockedO: OpenA location with the left shoulder and left lane blocked but the right lane and right shoulder open would be presented as: X:XO:O. |
StartDate | The date and time the event was activated in ATMS. | string | Format: yyyy-mm-ddThh:mm:ss.mmmZ |
EndDate | The date and time the event was deactivated in ATMS. | string | Format: yyyy-mm-ddThh:mm:ss.mmmZ |
DiversionPlanId | ID of the Diversion Plan to be activated for this event if the event represents a Diversion event (full road closure with signed detour route) | string | Null if this is not a Diversion event. Provided ID can be used along with the api/DiversionPlan method to get details of the plan and associated detour route. |
LastUpdated | The date the event's details were last updated. | string | Format: yyyy-mm-ddThh:mm:ss.mmmZ. |
Construction Project Schedules
Name | Description | Type | Additional Information |
---|---|---|---|
Contract Number | The project/contract number of the construction project this schedule applies to | string | None |
Title | The title for this scheduled activity | string | None |
Note | Additional notes about the scheduled activity | string | None |
MinimumLaneWidthFeet | The minimum lane width in the impacted area | decimal | None |
Start Location | The location the activity starts at (the point drivers will first encounter it) | Location | Location Chainage may be null |
End Location | The location the activity ends at | Location | Location Chainage may be null |
Start Date | The scheduled start date of the time window in which the activity is expected to take place | string | Format: yyyy-mm-ddThh:mm:ss.mmmZ. |
End Date | The scheduled end date of the time window in which the activity is expected to take place | string | Format: yyyy-mm-ddThh:mm:ss.mmmZ. |
AllowableHoursText | Text used to indicate the days and times during the scheduled period when lanes could be closed | string | None |
Diversion Plan
Methods
Resource | Url | Data Payload | Description | Returns |
---|---|---|---|---|
GET DiversionPlan | /api/DiversionPlan | None | Returns the inventory of pre-configured diversion plans in the ATMS | diversionPlans[] |
Data Formats
Floodgates
Methods
Resource | Url | Data Payload | Description | Returns |
---|---|---|---|---|
GET Floodgates | /api/Floodgates | None | Returns information for ATMS events that have been flagged as a floodgate and published by user | floodgates[] |
Data Formats
Name | Description | Type | Additional Information |
---|---|---|---|
EventId | ATMS event ID | int | References an event from one of the PlannedEvents, UnplannedEvents or AreaEvents methods |
Title | Title of floodgate | string | None |
Message | Description of floodgate | string | None |
StartDate | Start time of floodgate | string | None |
Enddate | End time of floodgate | string | None |
IsOpenEnded | Indicates whether or not there is a planned end time for the floodgate | boolean | None |
Id | Floodgate ID | int | None |
IQD Detections
Methods
Resource | Url | Data Payload | Description | Returns |
---|---|---|---|---|
GET IQDDetections | /api/IQDDetections | None | Returns congestion events identified by comparing the normal and current travel conditions exceeding configured ATMS thresholds for speed and/or delay experienced | iqdDetections[] |
Data Formats
Name | Description | Type | Additional Information |
---|---|---|---|
Roadname | The name of the roadway this location is part of | string | None |
StartLat | Latitude of the start location | decimal | None |
StartLng | Longitude of the start location | decimal | None |
EndLat | Latitude of the end location | decimal | None |
EndLng | Longitude of the end location | decimal | None |
LengthMiles | Length of the congestion event | decimal | None |
CurrentTravelTimeSeconds | Current travel time through the event in seconds | int | None |
NormalTravelTimeSeconds | Normal travel time through the event in seconds | int | None |
CurrentAvgSpeedMilesPerHour | Current average speed through the event in MPH | int | None |
NormalAvgSpeedMilesPerHour | Normal average speed through the event in MPH | int | None |
CurrentDelaySeconds | Seconds of delay compared to normal for travel through the event | int | None |
Id | Unique identifier of the event | int | None |
Mapping
This section of the API provides access to geospatial data used by the ATMS for event management.
Methods
Resource | Url | Data Payload | Description | Returns |
---|---|---|---|---|
GET Roadways | /api/Roadway | None | Returns roadways configured for event management in ATMS | roadway[] |
GET Chainage | /api/Chainage | None | Returns chainage points in miles by roadway. The distance between points is configured by ATMS deployment. For example, this may be set to return points representing each 10th of a mile interval. | roadwayChainage[] |
GET Diversion Plans | /api/DiversionPlan | None | Returns all Diversion Plans configured in ATMS. A diversion plan defines the start and end location of a road closure and the signed detour route for traffic to follow when the plan is activated. | diversionPlan [] |
GET Map Areas | /api/MapAreas | None | Returns the set of polygons configured in ATMS for use in management of Area Events | mapArea[] |
Data Formats
Roadways
Name | Description | Type | Additional Information |
---|---|---|---|
Id | Numeric ID of the roadway | int | None |
Roadname | The name of the roadway | string | None |
Direction | The direction of travel of the roadway | string | N, S, E, W Can be null or empty for ramps |
Geometry | The geometry of the roadway | GeoJSON object | GeoJSON linestring in WGS84 |
UpdateTimeUtc | The date and time this roadway was last updated. | string | Format: yyyy-mm-ddThh:mm:ss.mmmZ. |
Chainage
Name | Description | Type | Additional Information |
---|---|---|---|
ID | Roadway Chainage record ID | int | None |
RoadwayId | Numeric ID of the roadway the chainage points are defined for | int | None |
Roadname | Name of the roadway the chainage points are defined for | string | None |
Direction | The direction of travel of the roadway the chainage points are defined for | string | N, S, E, W Can be null or empty for ramps |
Chainage Markers | The collection of chainage points for the roadway. The target distance between points (ex. point per 1/10th mile, point per mile) is configured by ATMS deployment | Object[] | Collection of objects defining a location and the chainage in miles at that location. Each marker is defined using: - Latitude (decimal) - Longitude (decimal) - Chainage (decimal) |
UpdateTimeUtc | The date and time this roadway was last updated. | string | Format: yyyy-mm-ddThh:mm:ss.mmmZ. |
Diversion Plans
Name | Description | Type | Additional Information |
---|---|---|---|
ID | Diversion Plan ID | int | None |
Name | Name of the plan | string | None |
Description | Description of the Diversion Plan – may contain turn by turn instructions for the detour route | string | None |
ClosureStart Roadname | The name of the roadway that the road closure starts on (the road the closure impacts) | string | None |
ClosureStartRefloc | The name of the cross street, exit or interchange where the road closure starts | string | None |
ClosureStartLatitude | The latitude of the closure start point | decimal | None |
ClosureStartLongitude | The longitude of the closure start point | decimal | None |
ClosureStartChainage | The chainage of the closure start point along the roadway. | decimal | In miles, accurate to 10th of a mile |
ClosureEnd Roadname | The name of the roadway the road closure ends on (the road the closure impacts) | string | None |
ClosureEndRefloc | The name of the cross street, exit or interchange where the road closure ends | string | None |
ClosureEndLatitude | The latitude of the closure end point | decimal | None |
ClosureEndLongitude | The longitude of the closure end point | decimal | None |
ClosureEndChainage | The chainage of the closure end point along the roadway. | decimal | In miles, accurate to 10th of a mile |
DiversionRoute | The signed detour route associated with the Diversion Plan | GeoJSON object | GeoJSON Linestring in WGS84 |
LastUpdated | The date the diversion plan was last updated | string | Format: yyyy-mm-ddThh:mm:ss.mmmZ. |
Map Areas
Name | Description | Type | Additional Information |
---|---|---|---|
Name | The name of the area | string | None |
AreaType | The type of area represented by the polygon | string | - Region - District - County - Weather Individual ATMS deployments may only include a subset of the Area Types |
Geometry | The polygon geometry of the area | GeoJSON object | GeoJSON Polygon in WGS84 |
Planned Events
Methods
Resource | Url | Data Payload | Description | Returns |
---|---|---|---|---|
GET PlannedEvents | /api/PlannedEvents | None | Returns active or future planned events contained in ATMS that have been published by an ATMS user for inclusion in the API | plannedEvent[] |
GET PlannedEvents | /api/PlannedEvents/{id} | None | Returns details for a single planned event that has been published to the API by an ATMS user, as specified by the id included in the request. | plannedEvent |
Data Format
Name | Description | Type | Additional Information |
---|---|---|---|
Id | Unique identifier of the event | int | None |
Description | Description of the event | string | None |
HeadLocation | The downstream location of the event | Location | None |
TailLocation | The upstream location of the event. This is the point where a driver will first encounter the event | Location | None |
Type | The type of event | string | - Planned - Diversion - Road Conditions |
Cause | The more detailed cause of the event. | string | Causes are mapped to event Types and are configured / configurable for each ATMS implementation. |
TMDDEventType | TMDD event type applicable for this event | string | None |
Severity | A description of the severity of the incident | string | Configured per deployment. Typically 1-5, with 5 being most severe. |
LanePattern | Describes the lane pattern at the event's location | string | Read left to right, this will contain a number of characters matching the number of lanes at the event's location. Characters indicate the type of lane at that position:S: ShoulderT: Travel |
LaneStatus | Describes which (if any) lanes are blocked due to the event | string | Read left to right, this will indicate the status of each lane described in the LanePattern:X: blockedO: Open |
IsActive | Indicates whether the planned event has been flagged as active in ATMS. | boolean | None |
ScheduleStart | The start datetime of the planned event. For recurring events, the start of the current (if active) or next (if future) recurrence. | string | Format: yyyy-mm-ddThh:mm:ss.mmmZ |
ScheduleEnd | The end datetime of the planned event. For recurring events, this is the date the event recurs until. | string | Format: yyyy-mm-ddThh:mm:ss.mmmZ |
Repeating | Indication of the event recurrence pattern. | string | - No Repeat - Sunday - Monday - Tuesday - Wednesday - Thursday - Friday - Saturday - Weekday - Weekend - Weekend&Holiday - Holiday - Everyday |
OccurrenceEnd | The end datetime of the current scheduled occurrence (if event active), or next scheduled occurrence (if not active). Null if event is not repeating. | string | Format: yyyy-mm-ddThh:mm:ss.mmmZ or null |
DetourRouteId | ID of the detour route that has been used for this event. | string | Null if this is not a full closure of the roadway with an associated detour event |
DetourRoute | Geometry of the detour route associated with a closure event | encoded polyline | Null if this is not a planned full closure of the roadway with an associated detour |
SourceEventId | The ID of this event from the source system if it was provided by an external system | string | Null if the event originated in ATMS |
IsFloodgate | Indication of whether information about this event should be published as a Floodgate or banner message | boolean | None |
LastUpdated | The date the event's details were last updated. | string | Format: yyyy-mm-ddThh:mm:ss.mmmZ. |
Restrictions
Methods
Resource | Url | Data Payload | Description | Returns |
---|---|---|---|---|
GET Restrictions | /api/Restrictions | None | Returns any restriction information for applicable ATMS events | restrictions[] |
Data Formats
Name | Description | Type | Additional Information |
---|---|---|---|
Id | Restriction ID | int | None |
TailLocation | The upstream location of the restriction. This is the point where a driver will first encounter the restriction | Location | Location Chainage may be null |
HeadLocation | The downstream location of the restriction | Location | Location Chainage may be null |
SpeedRestrictionUnit | Speed unit of any speed restrictions | string | Mph or km/h |
SpeedRestriction | Speed restriction | int | null if speeds are not restricted in this area |
CommercialVehiclesRightLaneOnly | Indicates whether commercial vehicles are restricted to right lane only | boolean | None |
VehicleRestrictions | List of vehicle types that are not permitted to travel through the restricted area | string[] | None |
EventDetailsURL | URL that can be used to retrieve details of the event (Planned or Unplanned) that the restrictions are caused by | string | None |
RWIS Stations
Methods
Resource | Url | Data Payload | Description | Returns |
---|---|---|---|---|
GET RWISInventory (All stations) | /api/RWIS | None | Returns all RWIS stations managed by the ATMS | RWISInventory[] |
GET RWISInventory (Details for Specific ID) | /api/RWIS/{id} | None | Returns details for the specified RWIS station | RWISInventory |
GET RWISStatus (All Signs) | /api/RWIS/Statuses | None | Returns the last known status of all RWIS stations managed by the ATMS | RWISStatus[] |
GET RWISStatus (Details for Specific ID) | /api/RWIS/{id}/Status | None | Returns the last known status for the specified RWIS station. | RWISStatus |
Data Formats
RWIS Station Inventory
Name | Description | Type | Additional Information |
---|---|---|---|
ID | Identifier of the device | int | None |
Description | Description of the device | string | None |
Latitude | Latitude of station location | decimal | None |
Longitude | Longitude of station location | decimal | None |
County | County the station is located in | string | None |
Measurements | The measurements the station reports | SupportedMeasurement[] | Supported Measurement object consists of:Name (string)Unit of measure (string)Supported Names: - Visibility - GripFactor - AirTemp - SurfaceTemp - WindSpeed - WindGust - RelativeHumidity - SubsurfaceTemperature - DewPointTemperature - AtmosphericPressure - PrecipitationScenario - PrecipitationRate - WindDirection - PavementCondition Supported units: - DistanceInFeet - DistanceInMeters - SpeedInKph - SpeedInMph - TimeInMs - TimeInSec - TimeInMn - TemperatureCelcius - TemperatureFarenheit - Degrees (angle from zero) - Factor - Percentage - Unitless |
CameraImageURL | The image URL of the camera associated with the RWIS station | string | None |
RWIS Station Statuses
Name | Description | Type | Additional Information |
---|---|---|---|
ID | Identifier of the device | int | None |
Status | The last reported status of the device | string | - Ok - Not Communicating - Error - Unknown - Not in Service |
CurrentMeasurements | The measurements recorded for the current interval | string | Current Measurement object consists of:Name (string)Value (decimal) |
LastUpdated | The date and time this status was reported | string | Format: yyyy-mm-ddThh:mm:ss.mmmZ. |
Signs
Methods
Resource | Url | Data Payload | Description | Returns |
---|---|---|---|---|
GET SignInventory | /api/Signs | None | Returns all dynamic/variable message signs managed by the ATMS | signInventory[] |
GET SignInventory | /api/Signs/{id} | None | Returns details for the specified dynamic/variable message sign. | signInventory |
GET SignStatus | /api/Signs/Statuses | None | Returns the last known status of all dynamic/variable message signs managed by the ATMS | signStatus[] |
GET SignStatus | /api/Signs/{id}/Status | None | Returns the last known status for the specified dynamic/variable message sign. | signStatus |
Data Formats
Sign Inventory
Name | Description | Type | Additional Information |
---|---|---|---|
ID | Identifier of the device | int | None |
Name | Name of the device | string | None |
Description | Description of the device | string | None |
Type | The type of sign | string | - DMS - PCMS - Travel Time - Congestion Warning - Variable Speed Limit |
Location | Location of the device | Location | Location Chainage may be null |
LastModifiedDate | Date the device was last modified | string | Format: yyyy-mm-ddThh:mm:ss.mmmZ. |
Sign Status
Name | Description | Type | Additional Information |
---|---|---|---|
ID | Identifier of the device | int | None |
Status | The last reported status of the device | string | - Ok - Not Communicating - Device Error - Unknown - Not in Service |
StatusDetails | Provides access to error details provided by the device | Object | Object containing{ "ShortStatus":string[], "MessagePosting": string[]}ShortStatus contains an array of strings indicating which error flags from the NTCIP ShortErrorStatus have been reported by the device. MessagePosting contains an array of strings indicating any reported errors related to message posting. |
OperationalIssues | Identifies possible device issues detected by the ATMS based on reported data or behaviour. A device may be communicating normally and reporting no hardware errors, but still have Operational Issues. | Object | Object contains a set of properties, where the property name represents the issue type, and its string value indicates whether it is present. Possible values for each property are: - True - False - Unknown The list of reported issue types may differ by deployment. Connect to the sign statuses API method for details. |
Message | The NTCIP formatted message that was last known to be displayed by the sign | string | None |
PhaseTime | The time each phase of the last know message is to be displayed | int | Time in milliseconds |
IsBitmap | Indicates if the posted message contains graphics | boolean | None |
BitmapBase64Strings | Base64 encoded bitmaps of each phase of the message. | string[] | Only present if the message includes graphics |
LastUpdated | The date and time this status was reported | string | Format: yyyy-mm-ddThh:mm:ss.mmmZ. |
Solar Controllers
Methods
Resource | Url | Data Payload | Description | Returns |
---|---|---|---|---|
GET SolarControllerInventory | /api/SolarController | None | Returns all Solar Controllers managed by the ATMS | solarControllerInventory[] |
GET SolarControllerInventory | /api/SolarController/{id} | None | Returns details for the specified Solar Controller. | solarControllerInventory |
GET SolarControllerStatus | /api/SolarController/Statuses | None | Returns the last known status of all Solar Controllers managed by the ATMS | solarControllerStatus[] |
GET SolarControllerStatus | /api/SolarController/{id}/Status | None | Returns the last known status for the specified Solar Controller. | solarControllerStatus |
Data Formats
Solar Controller Inventory
Name | Description | Type | Additional Information |
---|---|---|---|
ID | Identifier of the device | int | None |
Name | Name of the device | string | None |
Description | Description of the device | string | None |
Location | Location of the device | Location | Location Chainage may be null |
LastModifiedDate | The date the inventory record for the device was last modified | string | Format: yyyy-mm-ddThh:mm:ss.mmmZ |
Solar Controller Status
Name | Description | Type | Additional Information |
---|---|---|---|
ID | Identifier of the device | int | None |
Status | The last reported status of the device | string | - Ok - Not Communicating - Device Error - Unknown - Not in Service |
StatusDetails | Provides additional information about the status of the device. | Object | Object containing{ "ReportedErrors":string[]}ReportedErrors contains an array of strings listing all errors reported by the device in its most recent status poll. |
OperationalIssues | Identifies possible device issues detected by the ATMS based on reported data or behaviour. A device may be communicating normally and reporting no hardware errors, but still have Operational Issues. | Object | Object contains a set of properties, where the property name represents the issue type, and its string value indicates whether it is present. Possible values for each property are: - True - False - Unknown The list of reported issue types may differ by deployment. Connect to the sign statuses API method for details. |
LastUpdated | The date and time this status was reported | string | Format: yyyy-mm-ddThh:mm:ss.mmmZ. |
Travel Time Routes
The inventory of configured routes for which travel times are calculated by the ATMS, and the last reported traffic data for each roadway segment.
Methods
Resource | Url | Data Payload | Description | Returns |
---|---|---|---|---|
GET RouteInventory | /api/Routes | None | Returns routes for which the ATMS calculates travel times | route[] |
GET RouteInventory | /api/Routes/{id} | None | Returns details for the specified route | route |
GET RouteStatus | /api/Routes/Statuses | None | Returns the last collected traffic data for each segment monitored by the ATMS | routeStatus[] |
GET RouteStatus | /api/Routes/{id}/Status | None | Returns the last collected traffic data for a specified segment. | routeStatus |
Data Formats
Route Inventory
Name | Description | Type | Additional Information |
---|---|---|---|
ID | Identifier of the route | int | None |
Name | Name of the route | string | None |
Description | Description of the route | string | None |
FreeFlowTravelTime | The travel time in seconds based on posted speeds for the route | int | None |
StartLocation | Start location of the segment | Location | Location Chainage may be null |
EndLocation | End location of the segment | Location | Location Chainage may be null |
Waypoints | Intermediate locations for the route | Location[] | Location Chainage may be null |
RouteLength | The length of the route in miles | decimal | None |
LastUpdatedUtc | The date the route definition was last updated | string | Format: yyyy-mm-ddThh:mm:ss.mmmZ. |
Route Status
Name | Description | Type | Additional Information |
---|---|---|---|
ID | Identifier of the route | int | None |
CalculatedTt | The last calculated travel time in seconds for this route | int | None |
DisplayedTt | The travel time in seconds to be used for distribution. This is the calculated time adjusted to ensure that published travel times do not correspond to speed in excess of the posted speed limit. | int | None |
IntervalStart | The start date and time of the interval this data was collected in | string | Format: yyyy-mm-ddThh:mm:ss.mmmZ. |
IntervalEnd | The end date and time of the interval this data was collected in | string | Format: yyyy-mm-ddThh:mm:ss.mmmZ. |
Status | Indicates if the calculated route data is valid or invalid | string | - Valid - Invalid |
ReasonRouteInvalid | Indicates the possible reasons that a route may be considered invalid, and which are currently being reported | Object | Object contains a set of properties, where the property name represents the invalid reason, and its string value indicates whether it is present. Possible values for each property are: - True - False - Unknown The list of invalid reasons may differ by deployment. Connect to the sign statuses API method for details. |
AssignedToDmsForDisplay | Indicates whether the route's travel time is expected to be shown on a sign at the current time based on system configuration. | boolean | None |
Truck Parking
Methods
Resource | Url | Data Payload | Description | Returns |
---|---|---|---|---|
GET TPS Feed | /api/TPIMS_StaticFeed /api/TPIMS_DynamicFeed | None | Returns all the detailed information on the data accessed through the two data feed links | TPIMS 1.1 Specification |
Unplanned Events
Methods
Resource | Url | Data Payload | Description | Returns |
---|---|---|---|---|
GET UnplannedEvents | /api/UnplannedEvents | None | Returns all active unplanned events that have been published by an ATMS user for inclusion in the API | unplannedEvent[] |
GET UnplannedEvents | /api/UnplannedEvents/{id} | None | Returns details for a single unplanned event as specified by the id included in the request | unplannedEvent |
GETEventMedia | /api/UnplannedEvents/EventMedia | None | Returns the media format each active unplanned event should be published to | eventMedia[] |
GETEventMedia | /api/UnplannedEvents/{id}/EventMedia | None | Returns the media formats the specified event should be published to | eventMedia |
Data Formats
Unplanned Event
Name | Description | Type | Additional Information |
---|---|---|---|
Id | Unique identifier of the event | int | None |
Description | Description of the event | string | None |
HeadLocation | The downstream location of the event | Location | Location Chainage may be null |
TailLocation | The upstream location of the event. This is the point where a driver will first encounter the event | Location | Location Chainage may be null |
Type | The type of event | string | - Incident - Congestion - Wrong Way Driver - Diversion - Road Conditions |
Cause | The more detailed cause of the event. | string | Causes are mapped to event Types and are configured/configurable for each ATMS implementation. |
TMDDEventType | TMDD event type applicable for this event | string | None |
Severity | A description of the severity of the incident | string | Configured per deployment. Typically 1-5, with 5 being most severe. |
LanePattern | Describes the lane pattern at the event's location | string | Read left to right, this will contain a number of characters matching the number of lanes at the event's location. Characters indicate the type of lane at that position:S: ShoulderT: Travel |
LaneStatus | Describes which (if any) lanes are blocked due to the event | string | Read left to right, this will indicate the status of each lane described in the LanePattern:X: blockedO: Open |
EstimatedDurationHours | Describes the estimated duration of the event | int | None |
IsCleared | Indicates whether the event has been flagged as cleared in ATMS | boolean | None |
DetourRouteId | ID of the detour route that has been used for this event. | string | Null if this is not a full closure of the roadway with an associated detour event |
DetourRoute | Geometry of the detour route associated with a closure event | encoded polyline | Null if this is not a full closure of the roadway with an associated detour event |
SourceEventId | The ID of this event from the source system if it was provided by an external system | string | None |
IsFloodgate | Indication of whether information about this event should be published as a Floodgate or banner message | boolean | None |
LastUpdated | The date the event's details were last updated. | string | Format: yyyy-mm-ddThh:mm:ss.mmmZ. |
Event Media
Name | Description | Type | Additional Information |
---|---|---|---|
EventId | Unique identifier of the event | int | None |
PublishSocialMedia | Indicates whether details of this event should be disseminated through social media such as Twitter or Facebook | boolean | None |
PublishOn511 | Indicates whether details of this event should be made available through 511 website and IVR | boolean | None |
Waze
Methods
Resource | Url | Data Payload | Description | Returns |
---|---|---|---|---|
GET Waze | /api/Waze | None | Returns all active events that have been published by an ATMS user for inclusion in the API | CIFS Specification |
WZDx Work Zone Feed
Methods
Resource | Url | Data Payload | Description | Returns |
---|---|---|---|---|
GET WZDxWorkZoneFeed | /api/WZDxWorkZoneFeed | None | Returns all roadwork events that have been published by an ATMS user for inclusion in the API and any configured pass through work zone feeds | WZDx 4.1 Specification |