Global Entity Matcher (GEM)

Create matching job

Request access

Purpose

Submit a new matching job to process your uploaded data and align it with GERS identifiers.

Request data

HTTP method: POST

  • See the following Request body section with the required and optional parameters tables for these values.

URL format

post
URL format
https://api.tomtom.com/maps/orbis/platform/gem/jobs

URL example

post
URL example
https://api.tomtom.com/maps/orbis/platform/gem/jobs

curl command example

post
curl command example
curl -X POST "https://api.tomtom.com/maps/orbis/platform/gem/jobs" \
-H "tomtom-api-key: YOUR_API_KEY" \
-H "Authorization: Bearer YOUR_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"storage_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"filename": "your_data.parquet",
"job_type": "ROAD_MATCHING",
"overture_release": "2026-01-21.0"
}'

Request headers

HeaderRequiredDescription
tomtom-api-keyYesYour TomTom API key
AuthorizationYesBearer token from Azure CLI
Content-TypeYesMust be application/json

Request body

{
"storage_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"filename": "your_data.parquet",
"job_type": "<type-of-job>",
"overture_release": "<overture-release-version>"
}

Request body parameters

ParameterTypeRequiredDescription
storage_idstring (uuid)YesID of the storage containing your data
filenamestringYesName of the input file. Accepted extensions: .parquet (both job types) or .csv (LANE_LEVEL_MATCHING only)
job_typestringYesType of matching to perform: ROAD_MATCHING or LANE_LEVEL_MATCHING
overture_releasestringOnly if job_type is ROAD_MATCHINGOverture Maps release version, see Releases
with_visualization_databooleanNoROAD_MATCHING only. When true, exports additional GeoJSON visualization data after matching. Default: false

Response data

Response example

{
"job_type": "ROAD_MATCHING",
"overture_release": "2026-01-21.0",
"input_filename": "test_data.parquet",
"job_id": 123456789,
"requested_at": "2026-02-18T10:38:59.031762Z",
"result_filename": null,
"statistics": null,
"error_messages": null,
"status": "REQUESTED",
"storage_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479"
}

Response fields

FieldTypeDescription
job_idinteger (int64)Unique identifier for the job
storage_idstring (uuid)Storage where input/output files are located
input_filenamestringName of the input file
result_filenamestringName of the output file. null until status is SUCCESS
job_typestringType of matching performed
overture_releasestringOverture Maps release version for ROAD_MATCHING jobs, see Releases
statusstringCurrent job status. See Job status values
requested_atstringISO 8601 timestamp of job creation
statisticsobjectMatching statistics. null unless status is SUCCESS
error_messagesstring[]List of error messages describing why the job failed. null unless status is FAILED

Job status values

StatusDescription
REQUESTEDJob was requested and is waiting to be processed
IN_PROGRESSJob has started and is currently being executed
FAILEDJob encountered an error during the execution
SUCCESSJob finished successfully
CANCELEDJob was canceled before completion

Error responses

HTTP StatusErrorCauseSolution
400Bad RequestInvalid request body (missing required fields, invalid filename format, unknown Overture release)Check JSON format and required fields
401UnauthorizedInvalid credentialsRefresh API key or token
500Internal Server ErrorServer-side issueRetry the request