GET /api/jobs/:jobId/status
Summary
Retrieves the current status of a job by its ID.
Intent
Allows callers to poll the progress and result of an asynchronous job, including its completion URL and any error details.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| jobId | string | Yes | The unique identifier of the job whose status is being requested. |
| customerId | string | No | Optional customer identifier used to enforce customer isolation. If provided, the request will be rejected with 403 if the job does not belong to this customer. |
Request example
curl -X GET "https://maps.google.com/api/jobs/job_abc123/status?customerId=cust_456" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json"Response example
{ "jobId": "job_abc123", "status": "completed", "pagesUrl": "https://example.pages.dev/docs", "error": null, "completedAt": "2024-06-01T12:34:56.000Z"}Error cases
404— No job exists with the given jobId403— A customerId was provided but the job belongs to a different customer
Gotchas
- The customerId query parameter is optional, but if supplied it is strictly enforced — a mismatch between the provided customerId and the job’s actual customerId returns 403, not 404, which may reveal that the job exists.
- pagesUrl and error fields are nullable — they will be null if not yet set on the job.
- completedAt is returned as an ISO 8601 string or null if the job has not yet completed.
- Omitting customerId entirely bypasses customer isolation checks, so callers should always pass their customerId to prevent accidental cross-customer data access.