Asynchronous Snap to Roads Download

Service version: 1
Last edit: 2022.12.19

Purpose

This endpoint lets clients download the result of the Asynchronous Snap To Roads Submission. A unique batch id is required to download the Asynchronous Snap To Roads Submission request result. This id is available inside the body of a successful Asynchronous Snap To Roads Submission response. To download the result the job must be in the Completed state.

The current state of a job may be checked using the Asynchronous Snap To Roads Status endpoint. The result of a completed job will be included in the HTTP 200 response body. A result download request for a non-completed job will end with an HTTP 404 response.

Run this endpoint

You can easily run this and other endpoints. Go to the TomTom API Explorer page and follow the directions.

Request data

HTTPS method: GET

For ease of viewing and identification:

  • 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.
get
URL request format
https://{baseURL}/snapToRoads/batch/{versionNumber}/{batchID}?key={Your_API_Key}
get
URL request example
https://api.tomtom.com/snapToRoads/batch/1/b4086eb3-dead-beef-afbf-cc521fe1d9d8?key={Your_API_Key}
get
curl command request example
curl -X GET 'https://api.tomtom.com/snapToRoads/batch/1/b4086eb3-dead-beef-afbf-cc521fe1d9d8?key={Your_API_Key}'

Request parameters

The following table describes the parameters that can be used in a request.

  • Required parameters must be used or the call will fail.
  • Parameters and values are case-sensitive.
  • Optional parameters may be used.

Note: There are no optional parameters in this endpoint.

Required parametersDescription

baseURL
string

The base URL for calling TomTom services.
Value: api.tomtom.com

versionNumber
string

The version of the service to call.
Value: The current value is 1.

batchID
string

A unique batch id is available inside the body of a successful Asynchronous Snap To Roads Submission response.

key
string

The authorization key for access to the API.
Value: Your valid API Key.

HTTP request headers

The following table lists HTTP request headers of particular interest to clients of the Asynchronous Snap to Roads Download endpoint.

Note: There are no required headers in this endpoint.

Optional headersDescription

Accept-Encoding

Contains the content encoding (usually a compression algorithm), that the client is able to understand.
Value: gzip

Tracking-ID

Specifies an identifier for the request.

  • It can be used to trace a call.
  • The value must match the regular expression '^[a-zA-Z0-9-]{1,100}$'.

  • An example of the format that matches this regular expression is a UUID (e.g., 9ac68072-c7a4-11e8-a8d5-f2801f1b9fd1 ). For details check RFC 4122.

  • If specified, it is replicated in the Tracking-ID response header.

  • It is only meant to be used for support and does not involve tracking of you or your users in any form.

Value: <string>

Response data

Snap To Roads Download response 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
Exclamation mark ( ! ) example
1type BatchResponse {
2 batchItems: [SnapToRoadsBatchItemResponse!]!
3}
4
5type SnapToRoadsBatchItemResponse {
6 statusCode: Int!
7 response: SnapToRoadsResponse!
8}
9
10type SnapToRoadsResponse {
11 refer to Query type at https://developer.tomtom.com/snap-roads-api/snap-roads-documentation/synchronous-snap-roads#response-data
12}

Response field structure

The following tables describe JSON element fields that can appear in a response.

Structure of the BatchResponse object
FieldDescription

batchItems
array

An array containing all reconstructed routes provided previously by Submission endpoint.

Structure of the SnapToRoadsBatchItemResponse object
FieldDescription

statusCode
integer

HTTP response code of a request

response
SnapToRoadsResponse

Snap To Roads response for a given request

Successful response

For a valid Asynchronous Snap To Roads Download request, the endpoint returns its response body in JSON format.

Successful response body example - JSON
1{
2 "batchItems": [
3 {
4 "statusCode": 200,
5 "response": {
6 "projectedPoints": [
7 {
8 "geometry": {
9 "coordinates": [19.4389, 51.7806],
10 "type": "Point"
11 },
12 "properties": {
13 "routeIndex": 0
14 },
15 "type": "Feature"
16 },
17 {
18 "geometry": {
19 "coordinates": [19.4393, 51.7806],
20 "type": "Point"
21 },
22 "properties": {
23 "routeIndex": 1
24 },
25 "type": "Feature"
26 },
27 {
28 "geometry": {
29 "coordinates": [19.4396, 51.7806],
30 "type": "Point"
31 },
32 "properties": {
33 "routeIndex": 2
34 },
35 "type": "Feature"
36 },
37 {
38 "geometry": {
39 "coordinates": [19.4401, 51.7807],
40 "type": "Point"
41 },
42 "properties": {
43 "routeIndex": 2
44 },
45 "type": "Feature"
46 }
47 ],
48 "route": [
49 {
50 "geometry": {
51 "coordinates": [
52 [19.4389, 51.7806],
53 [19.4391, 51.7806],
54 [19.4392, 51.7806]
55 ],
56 "type": "LineString"
57 },
58 "properties": {
59 "address": {
60 "countryCode": "POL",
61 "countryName": "Polska",
62 "countrySubdivision": "Łódzkie",
63 "municipality": "Łódź",
64 "roadName": "Drewnowska",
65 "roadNumbers": []
66 },
67 "formOfWay": "SingleCarriageway",
68 "frc": 5,
69 "id": "e1e14e9d-9b17-4dfb-a94d-41484d61e8dc",
70 "laneInfo": {
71 "numberOfLanes": 4
72 },
73 "roadUse": "LocalStreet",
74 "speedLimits": {
75 "unit": "kmph",
76 "value": 50
77 }
78 },
79 "type": "Feature"
80 },
81 {
82 "geometry": {
83 "coordinates": [
84 [19.4392, 51.7806],
85 [19.4393, 51.7806],
86 [19.4394, 51.7806],
87 [19.4396, 51.7806]
88 ],
89 "type": "LineString"
90 },
91 "properties": {
92 "address": {
93 "countryCode": "POL",
94 "countryName": "Polska",
95 "countrySubdivision": "Łódzkie",
96 "municipality": "Łódź",
97 "roadName": "Drewnowska",
98 "roadNumbers": []
99 },
100 "formOfWay": "SingleCarriageway",
101 "frc": 5,
102 "id": "928bdb03-3ef9-4bc5-9ce1-419fb9d8d91a",
103 "laneInfo": {
104 "numberOfLanes": 4
105 },
106 "roadUse": "LocalStreet",
107 "speedLimits": {
108 "unit": "kmph",
109 "value": 50
110 }
111 },
112 "type": "Feature"
113 },
114 {
115 "geometry": {
116 "coordinates": [
117 [19.4396, 51.7806],
118 [19.4401, 51.7807]
119 ],
120 "type": "LineString"
121 },
122 "properties": {
123 "address": {
124 "countryCode": "POL",
125 "countryName": "Polska",
126 "countrySubdivision": "Łódzkie",
127 "municipality": "Łódź",
128 "roadName": "Drewnowska",
129 "roadNumbers": []
130 },
131 "formOfWay": "SingleCarriageway",
132 "frc": 5,
133 "id": "d42c1de3-1ab7-49d2-aaf6-6076427362be",
134 "laneInfo": {
135 "numberOfLanes": 4
136 },
137 "roadUse": "LocalStreet",
138 "speedLimits": {
139 "unit": "kmph",
140 "value": 50
141 }
142 },
143 "type": "Feature"
144 }
145 ]
146 }
147 }
148 ]
149}

Error response

The Asynchronous Snap to Roads Download endpoint for an invalid single request returns a response body in JSON format.

FieldDescription

detailedError
object

Main object of the error response.

code
string

One of a server-defined set of error codes.

message
string

A human-readable description of the error code.
Error response example - JSON
1{
2 "detailedError": {
3 "code": "INVALID_REQUEST",
4 "message": "Batch not found."
5 }
6}

HTTP response codes

CodeMeaning & possible causes

200

OK

400

Bad request

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

503

Service currently unavailable: The service is currently unavailable.

596

Service Not Found: Unknown version of the service.

HTTP response headers

The following data table lists HTTP response headers of particular interest to clients of the Asynchronous Snap to Roads Download endpoint.

HeaderDescription

Access-Control-Allow-Origin

Indicates that cross-origin resource sharing (CORS) is allowed.
Value: *

Allow

Lists the set of supported HTTP methods. The header is sent in case a 405 HTTP response code is returned.
Value: GET, HEAD, POST

Content-Encoding

Indicates which encodings were applied to the response body.
Value: gzip

Content-Length

Contains information about the size of the response body.
Value: <decimal number>

Content-Type

Indicates the media type of the resource returned.
Value: <application/json; charset=utf-8>

Date

Contains the date and time at which the message was originated. For details check RFC 7231.
Value: <http-date>

Tracking-ID

An identifier for the request.

  • If the Tracking-ID header was specified in the request, it is replicated in the response.

  • Otherwise, it is generated automatically by the service. For details check RFC 4122.

  • It is only meant to be used for support and does not involve tracking of you or your users in any form.

Value: <string>