Global Entity Matcher (GEM)

Get job details

Request access

Purpose

Retrieve detailed information about a specific matching job, including its current status, progress, and results.

Request data

HTTP method: GET

  • Constants and parameters enclosed in curly brackets {} must be replaced with their values.
  • See the following Path parameters section with the required and optional parameters tables for these values.

URL format

get
URL format
https://api.tomtom.com/maps/orbis/platform/gem/jobs/{job_id}

URL example

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

curl command example

get
curl command example
curl -X GET "https://api.tomtom.com/maps/orbis/platform/gem/jobs/123456789" \
-H "tomtom-api-key: YOUR_API_KEY" \
-H "Authorization: Bearer YOUR_AUTH_TOKEN"

Request headers

HeaderRequiredDescription
tomtom-api-keyYesYour TomTom API key
AuthorizationYesBearer token from Azure CLI

Path parameters

ParameterTypeRequiredDescription
job_idintegerYesThe unique identifier of the job

Response data

Response example (successful job)

{
"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": "test_data.results.parquet",
"status": "SUCCESS",
"storage_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"error_messages": null,
"statistics": {
"confidence_threshold": 60,
"execution_time_sec": 9751,
"kms_processed": 80208.39,
"kms_matched": 67912.45,
"num_roads_processed": 397613,
"roads_fully_matched_ratio": 0.675,
"roads_matched_ratio": 0.8468,
"roads_partially_matched_ratio": 0.1718,
"roads_unmatched_ratio": 0.1531
}
}

Response example (running job)

{
"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,
"status": "IN_PROGRESS",
"storage_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"statistics": null,
"error_messages": null
}

Response example (failed job)

{
"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,
"status": "FAILED",
"storage_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"statistics": null,
"error_messages": [
"Input file 'test_data.parquet' was not found in the storage location."
]
}

Response fields

FieldTypeDescription
job_idinteger (int64)Unique identifier for the job
storage_idstring (uuid)Storage where files are located
input_filenamestringName of the input file
result_filenamestringPath of the results file in the storage. null until status is SUCCESS
job_typestringType of matching performed
overture_releasestringOverture Maps release version used for ROAD_MATCHING jobs
statusstringCurrent job status. See Job status values
requested_atstringISO 8601 timestamp of job creation
statisticsobjectMatching statistics of successful ROAD_MATCHING jobs. Otherwise null
statistics.confidence_thresholdintegerConfidence threshold
statistics.execution_time_secintegerDuration of the job run in seconds
statistics.kms_processedfloatTotal length of the roads in the input file, in kilometers
statistics.kms_matchedfloatTotal length of the matched parts of the input roads, in kilometers
statistics.num_roads_processedintegerNumber of distinct road IDs in the input file
statistics.roads_fully_matched_ratiofloatShare of input roads (0–1) whose whole length matches a single GERS segment
statistics.roads_matched_ratiofloatShare of input roads (0–1) with at least one match, full or partial
statistics.roads_partially_matched_ratiofloatShare of input roads (0–1) that match only in part, or across several GERS segments
statistics.roads_unmatched_ratiofloatShare of input roads (0–1) without a match
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. See error_messages
SUCCESSJob finished successfully
CANCELEDJob was canceled before completion

Error responses

HTTP StatusErrorCauseSolution
401UnauthorizedInvalid credentialsRefresh API key or token
404Not FoundJob not found, or you have no access to the job’s storageVerify job ID
500Internal Server ErrorServer-side issueRetry the request