Incident Details
Important notes:
- This TomTom Orbis API is in public preview.
- This API is powered by the TomTom Orbis Maps.
- See the TomTom Orbis Maps documentation for more information.
Purpose
The TomTom Orbis Maps Traffic API Incident Details endpoint provides information on traffic incidents which are inside a given bounding box or whose geometry intersects with it.
- The freshness of data is based on the provided Traffic Model ID (
t
). - The data obtained from this service can be used as standalone or as an extension to other Traffic Incident services.
- In the second case, the same Traffic Model ID should be used when calling all services in order to grant synchronization of data between APIs.
- Apart from present incident data, it is possible to get information about planned future incidents.
Request data
HTTPS method: GET
- Constants and parameters enclosed in curly brackets { } must be replaced with their values.
- Please see the following Request parameters section with the required and optional parameters tables for their values. The generic request format is as follows.
https://{baseURL}/maps/orbis/traffic/incidentDetails?apiVersion=1&key={Your_Api_Key}&bbox={bbox}&fields={fields}&language={language}&t={t}&categoryFilter={categoryFilter}&timeValidityFilter={timeValidityFilter}
https://{baseURL}/maps/orbis/traffic/incidentDetails?apiVersion=1&key={Your_Api_Key}&ids={ids}&fields={fields}&language={language}&t={t}&categoryFilter={categoryFilter}&timeValidityFilter={timeValidityFilter}
https://api.tomtom.com/maps/orbis/traffic/incidentDetails?apiVersion=1&key={Your_Api_Key}&bbox=4.8854592519716675,52.36934334773164,4.897883244144765,52.37496348620152&fields={incidents{type,geometry{type,coordinates},properties{iconCategory}}}&language=en-GB&t=1111&timeValidityFilter=present
https://api.tomtom.com/maps/orbis/traffic/incidentDetails?apiVersion=1&key={Your_Api_Key}&ids=4819f7d0a15db3d9b0c3cd9203be7ba5&fields={incidents{type,geometry{type,coordinates},properties{iconCategory}}}&language=en-GB&t=1111&timeValidityFilter=present
curl 'https://api.tomtom.com/maps/orbis/traffic/incidentDetails?apiVersion=1&key={Your_Api_Key}&bbox=4.8854592519716675,52.36934334773164,4.897883244144765,52.37496348620152&fields={incidents{type,geometry{type,coordinates},properties{iconCategory}}}&language=en-GB&t=1111&timeValidityFilter=present'
curl 'https://api.tomtom.com/maps/orbis/traffic/incidentDetails?apiVersion=1&key={Your_Api_Key}&ids=4819f7d0a15db3d9b0c3cd9203be7ba5&fields={incidents{type,geometry{type,coordinates},properties{iconCategory}}}&language=en-GB&t=1111&timeValidityFilter=present'
https://api.tomtom.com/maps/orbis/traffic/incidentDetails?apiVersion=1&key={Your_Api_Key}&bbox=4.8854592519716675,52.36934334773164,4.897883244144765,52.37496348620152&fields={incidents{type,geometry{type,coordinates},properties{iconCategory}}}&language=en-GB&t=1111&categoryFilter=Accident&timeValidityFilter=present
curl 'https://api.tomtom.com/maps/orbis/traffic/incidentDetails?apiVersion=1&key={Your_Api_Key}&bbox=4.8854592519716675,52.36934334773164,4.897883244144765,52.37496348620152&fields={incidents{type,geometry{type,coordinates},properties{iconCategory}}}&language=en-GB&t=1111&categoryFilter=Accident&timeValidityFilter=present'
HTTPS method POST
- Constants and parameters enclosed in curly brackets { } must be replaced with their values.
- Please see the following Request parameters section with the tables of required and optional parameters and their values. The generic request format is as follows.
- The maximum number of incidents IDs in a single
POST
request is 100.
https://{baseURL}/maps/orbis/traffic/incidentDetails?apiVersion=1&key={Your_Api_Key}&fields={fields}&language={language}&t={t}&categoryFilter={categoryFilter}&timeValidityFilter={timeValidityFilter}
https://api.tomtom.com/maps/orbis/traffic/incidentDetails?apiVersion=1&key={Your_Api_Key}&fields={incidents{type,geometry{type,coordinates},properties{iconCategory}}}&language=en-GB&t=1111&timeValidityFilter=present
1curl -X POST 'https://api.tomtom.com/maps/orbis/traffic/incidentDetails?apiVersion=1&key={Your_Api_Key}&fields={incidents{type,geometry{type,coordinates},properties{iconCategory}}}&language=en-GB&t=1111&timeValidityFilter=present -d '{2 "ids": [3 "4819f7d0a15db3d9b0c3cd9203be7ba5"4 ]5}'
Request parameters
The following table describes all of the parameters that can be used in a request.
- Parameters and values are case-sensitive.
- Required parameters must be used or the call will fail.
- Optional parameters may be used.
Required parameters | Description |
---|---|
| The base URL for calling the API. |
| The corners of the area to report on, expressed in the EPSG:4326 projection.
Values: |
| Comma separated list of incidents IDs.
Value: A |
| The authorization key for access to the API. |
Optional parameters | Description |
---|---|
| The fields to be included in the response, nested as in the response schema. In order to obtain all data, it is necessary to place the whole object in the query. get Default value
get Value with all available fields
|
| The language code for the output language.
Affects the |
| The Traffic Model ID is the reference value for the state of traffic at
a particular time. It is updated every minute, and is valid for two
minutes before it times out. See the HTTP response headers
section and Traffic Model ID page for
more information. |
| This filter allows the choice of types of incidents and future incidents
to be included in the response. Filtering takes into account the main icon category of the incident.
Both value types can be used: numeric and descriptive strings. Multiple
values are supported and should be separated by a comma.
|
| This filter allows the choice of incidents based on their occurrence in
time. Multiple values are supported and they should be separated by a
comma.
|
| Contains a version of the API to call.
Value: The current version is |
POST request body
Follow the request body schema in order to prepare a valid POST
request.
Request schema
An exclamation mark !
means that the field is not nullable. For example:
String!
- is non-nullable[String!]
- list of non-null objects[String]!
- list cannot be null, but it can contain null values
1{2 ids: [String!]!3}
Request headers
The following table lists HTTP request headers of particular interest to clients of the Traffic API Incident Details endpoint.
Required headers | Description |
---|---|
TomTom-Api-Version | Contains a version of the API to call. |
Optional headers | Description |
---|---|
Accept-Encoding | Contains the content encoding (usually a compression algorithm),
that the client is able to understand. It is strongly
recommended using this header in order to limit
bandwidth usage. |
Tracking-ID | Specifies an identifier for the request.
Value: |
Response data
Successful response
For a single request, the Traffic API Incident Details endpoint returns its response body in JSON format. The fields that appear in the JSON response depend on the value of the fields
request parameter.
Response schema
The exclamation mark !
means that a particular field cannot be equal to null
, for example:
Point!
- value cannot be equal to null[Point!]
- array of non-null objects[Point]!
- array cannot be null, but it can contain null values
Notice:
- The definition of type
Query
varies from the request method (and from the query parameter used in theGET
request). - For the
GET
method with thebbox
query parameter, the mentioned type is defined as follows.
1type Query {2 incidents : [Incident!]!3}
- In the response for the
GET
method with theids
query parameter orPOST
, the non-existing incidents for specific incident IDs will be present asnull
. - In that case,
Query
type is defined as follows.
1type Query {2 incidents : [Incident]!3}
The rest of the scheme is the same for each variant.
Common part of response scheme
1type Incident {2 type: GeojsonFeatureType!3 geometry : GeojsonGeometry!4 properties: IncidentProperties!5}
1type IncidentProperties {2 id : String!3 iconCategory : Int!4 magnitudeOfDelay : Int!5 events : [Event!]!6 startTime : String7 endTime : String8 from : String9 to : String10 length : Float!11 delay : Int12 roadNumbers : [String!]!13 timeValidity : TimeValidity!14 probabilityOfOccurrence : ProbabilityOfOccurrence!15 numberOfReports : Int16 lastReportTime : String17 tmc : Tmc18}1920type Event {21 description : String!22 code : Int!23 iconCategory : Int!24}2526union GeojsonGeometry = GeojsonPoint | GeojsonLinestring2728type GeojsonPoint {29 type : GeojsonPointType!30 coordinates : [Float!]!31}3233type GeojsonLinestring {34 type : GeojsonLinestringType!35 coordinates : [[Float!]!]!36}3738enum GeojsonLinestringType {39 LineString40}4142enum GeojsonPointType {43 Point44}4546enum GeojsonFeatureType {47 Feature48}4950enum ProbabilityOfOccurrence {51 certain52 probable53 risk_of54 improbable55}5657type Tmc {58 countryCode: String!59 tableNumber: String!60 tableVersion: String!61 direction: Direction!62 points [TmcPoint!]!63}6465enum Direction {66 positive67 negative68}6970type TmcPoint {71 location : Int!72 offset: Int73}7475enum TimeValidity {76 present77 future78}
Response field structure
The following table describes JSON element fields that can appear in a response.
Structure of the root object
Field | Description |
---|---|
| Incidents which belong to or intersect with the given bounding box. |
Structure of the Incident object
Field | Description |
---|---|
| The value is set as |
| A GeoJSON
feature of type |
| The properties of a particular incident. |
Structure of the IncidentProperties object
Field | Description |
---|---|
| The ID of the traffic incident, common among Traffic Incident API services where it is available. |
| The main icon category associated with this incident.
This is an icon category associated with the first
event in the
|
| The magnitude of delay associated with an incident. The values meaning:
|
| The list of events describing the details of the
incident in the language requested. Traffic
incident can be described with more than one
|
| Start time of the incident, if available. The date is described in the ISO8601 format. |
| End time of the incident, if available. The date is described in the ISO8601 format. |
| The name of the location where the traffic due to the incident starts. |
| The name of the location where the traffic due to the incident ends. |
| The length of the incident in meters. |
| The delay in seconds caused by the incident (except road closures). It is calculated against free-flow travel time (the travel time when the traffic is minimal, e.g., night traffic). |
| The road number(s) affected by the incident. |
| Enumeration string describing if the incident occurrence is now or in the future. |
| TMC (Traffic Message Channel) data of the traffic incident, needed to determine its location. |
| Enumeration string specifying the likelihood
of the occurring incident.
|
| The number of reports given by actual end-users. |
| The date in ISO8601 format, when the last time the incident was reported. Gives the user confidence that the incident is fresh. |
Structure of the Event object
Field | Description |
---|---|
| The description of the event (being part of incident) in the requested language. |
| The predefined alert code, describing the event (part of incident). |
| The icon category associated with the event.
The icon category from the first |
1{2 "incidents": [3 {4 "type": "Feature",5 "properties": {6 "iconCategory": 87 },8 "geometry": {9 "type": "LineString",10 "coordinates": [11 [4.8905266414, 52.3725919469],12 [4.8905306647, 52.372535656],13 [4.8905360291, 52.3724806443],14 [4.8905387113, 52.3724028603],15 [4.8905440757, 52.3723505607],16 [4.8905467579, 52.3722754886],17 [4.8905574868, 52.3721722195],18 [4.8905762622, 52.3719066767],19 [4.8905963788, 52.371663905],20 [4.8905936966, 52.371524454],21 [4.8905749211, 52.3714278871],22 [4.8905440757, 52.3713393544],23 [4.8905065248, 52.3712669418],24 [4.8904555628, 52.3711703743],25 [4.8904166708, 52.3711100387],26 [4.8903268168, 52.3709759593],27 [4.8901725898, 52.370765372],28 [4.8900062928, 52.370581651],29 [4.8899472842, 52.3705320104]30 ]31 }32 }33 ]34}
1{2 "incidents" : [3 {4 "type" : "Feature",5 "properties" : {6 "id":"4819f7d0a15db3d9b0c3cd9203be7ba5",7 "iconCategory" : 8,8 "magnitudeOfDelay" : 4,9 "startTime" : "2021-02-02T15:37:00Z",10 "endTime" : "2021-04-30T22:00:00Z",11 "from" : "Paleisstraat",12 "to" : "Rosmarijnsteeg",13 "length" : 238.553,14 "delay" : 0,15 "roadNumbers" : [],16 "timeValidity" : "present",17 "events" : [18 {19 "code" : 401,20 "description" : "Closed",21 "iconCategory" : 822 }23 ],24 "tmc" : null25 "probabilityOfOccurrence" : "certain",26 "numberOfReports" : "null",27 "lastReportTime" : "null"28 },29 "geometry" : {30 "type" : "LineString",31 "coordinates" : [[4.8905266414,52.3725919469],[4.8905306647,52.3725356560],[4.8905360291,52.3724806443],[4.8905387113,52.3724028603],[4.8905440757,52.3723505607],[4.8905467579,52.3722754886],[4.8905574868,52.3721722195],[4.8905762622,52.3719066767],[4.8905963788,52.3716639050],[4.8905936966,52.3715244540],[4.8905749211,52.3714278871],[4.8905440757,52.3713393544],[4.8905065248,52.3712669418],[4.8904555628,52.3711703743],[4.8904166708,52.3711100387],[4.8903268168,52.3709759593],[4.8901725898,52.3707653720],[4.8900062928,52.3705816510],[4.8899472842,52.3705320104]]32 }33 }34 ]35}
Error response
If there is an error in the supplied parameters or any other internal problem, an error response is generated in the requested format. If the contentType
parameter could not be parsed, XML will be returned.
Error response field structure
Field | Description |
---|---|
| Main object of the error response. |
| One of a server-defined set of error codes. |
| A human-readable description of the error code. |
1{2 "detailedError ": {3 "code": "INVALID_REQUEST",4 "message": "Unknown field in fields=incidents.properties.last"5 }6}
HTTP response codes
Code | Meaning & possible causes |
---|---|
200 | OK |
400 | Bad request: Usually due to a malformed syntax or incorrect format of Traffic Model ID. |
403 | Forbidden: The supplied API Key is not valid for this request. |
405 | Method Not Allowed: The provided HTTP request method is known by the server, but is not supported by the target resource. |
429 | Too Many Requests: Too many requests were sent in a given amount of time for the supplied API Key. |
500 | Internal Server Error |
HTTP response headers
The following table lists HTTP response headers of particular interest to clients of the Traffic API Incident Details endpoint.
Header | Description |
---|---|
Access-Control-Allow-Origin | Indicates that cross-origin resource sharing (CORS) is allowed. |
Allow | Lists the set of supported HTTP methods. The header is sent in case a |
Content-Encoding | Indicates which encodings were applied to the response body. |
Content-Length | Contains information about the size of the response body. |
Content-Type | Indicates the media type of the resource returned. |
Date | Contains the date and time when the message was originated. |
TrafficModelID | Contains the reference value for the state of traffic at a particular
time. If the request contains a valid Traffic Model ID, its value is
replicated here. If the request does not contain a Traffic Model ID, or
it contains outdated data, then the most recent one is returned. |
Tracking-ID | An identifier for the request.
Value: |