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 Request 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/{jobRunId}

URL example

get
URL example
https://api.tomtom.com/maps/orbis/platform/gem/jobs/job-abc123-def456

curl command example

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

Request headers

HeaderRequiredDescription
tomtom-api-keyYesYour TomTom API key
AuthorizationYesBearer token from Azure CLI
X-VersionYesAPI version (use 1)

Request parameters

ParameterTypeRequiredDescription
jobRunIdstringYesThe unique identifier of the job

Response data

Response example (completed job)

{
"jobRunId": "job-abc123-def456",
"storageId": "storage-001",
"inputFileName": "your_data.parquet",
"outputFileName": "your_data_matched.parquet",
"matchingType": "road",
"overtureRelease": "<latest-overture-release>",
"status": "finished",
"createdAt": "2026-01-20T10:00:00Z",
"modifiedAt": "2026-01-20T10:25:00Z",
"statistics": {
"roads_matched": "84.68%",
"roads_unmatched": "15.31%",
"roads_fully_matched": "67.5%",
"roads_partially_matched": "17.18%",
"confidence_threshold": 60,
"execution_time_sec": 9751.75,
"kms_processed": 141977.62151907186,
"num_roads_processed": 32456
}
}

Response example (running job)

{
"jobRunId": "job-abc123-def456",
"storageId": "storage-001",
"inputFileName": "your_data.parquet",
"matchingType": "road",
"overtureRelease": "<latest-overture-release>",
"status": "running",
"progress": 65,
"createdAt": "2026-01-20T10:00:00Z",
"modifiedAt": "2026-01-20T10:15:00Z"
}

Response fields

FieldTypeDescription
jobRunIdstringUnique identifier for the job
storageIdstringStorage where files are located
inputFileNamestringName of the input file
outputFileNamestringName of output file (when finished)
matchingTypestringType of matching performed
overtureReleasestringOverture Maps release version used
statusstringCurrent job status
progressnumberPercentage complete (0-100)
createdAtstringISO 8601 timestamp of job creation
modifiedAtstringISO 8601 timestamp of last update
statisticsobjectMatching statistics (when finished)
statistics.roads_matchedpercentSuccessfully matched records
statistics.roads_unmatchedpercentRecords without matches
statistics.roads_fully_matchedpercentRecords with full 1-2-1 matches
statistics.roads_partially_matchedpercentPercentage of partially matched records
statistics.confidence_thresholdnumberConfidence threshold
statistics.execution_time_secfloatExecution time
statistics.kms_processedfloatAmount of processed kilometers
statistics.num_roads_processednumberAmount of processed roads

Job status values

StatusDescriptionNext Steps
queuedWaiting to be processedWait for processing to begin
runningCurrently executingPoll for progress updates
finishedCompleted successfullyDownload results from storage
failedEncountered an errorCheck error message and retry
cancelledCancelled by userSubmit a new job if needed

Output file

When a job completes successfully, the output file is available in your storage location. The output filename follows this pattern:

{original_filename}_matched.parquet

For example, if you submitted roads_data.parquet, the output file will be roads_data_matched.parquet.

Output file structure

The output Parquet file contains all original columns plus additional columns with GERS matching results:

ColumnTypeDescription
(original columns)variesAll columns from your input file
gers_idstringMatched GERS identifier
match_confidencefloatConfidence score (0.0-1.0)
match_statusstringmatched or unmatched

Error responses

HTTP StatusErrorCauseSolution
401UnauthorizedInvalid credentialsRefresh API key or token
404Not FoundJob not foundVerify job ID
500Internal Server ErrorServer-side issueRetry the request