Endpoints
| Action | Method & Path |
|---|---|
| Create batch | POST /v1/{org_slug}/place_enrichment/batches |
| Get batch status | GET /v1/{org_slug}/place_enrichment/batches/{batch_id} |
| Get batch results | GET /v1/{org_slug}/place_enrichment/jobs?batchId={batch_id}&limit={n}&offset={n} |
| Reprocess batch | POST /v1/{org_slug}/place_enrichment/batches/{batch_id}/reprocess |
| List batches | GET /v1/{org_slug}/place_enrichment/batches?limit={n}&offset={n} |
Quick Start
Submit a minimal batch via the Create batch endpoint:jobs object lists place IDs grouped by their job status (see Monitoring Progress).
Batch Limits
Maximum places per request: 50,000Requests exceeding this limit return
400 Bad Request. Split larger datasets into multiple batches (for example, up to 50,000 places per batch).Batch Status Lifecycle
Batches move through a small set of statuses driven by job state. The top-levelstatus aggregates all jobs in the batch (e.g. in_progress if any job is still running). A batch is finished when status is completed or failed.
- Not Started: Batch created; jobs are pending and not yet queued for processing.
- Queued: Jobs are scheduled and waiting to be picked up by workers.
- Processing: Jobs are actively being enriched by workers.
- Completed: All jobs finished successfully.
- Failed: Batch failed (e.g. too many job failures).
Monitoring Progress
Batch status response
The response exposes job-level status via thejobs object. Each key is a job status; each value is an array of place IDs whose enrichment job is in that status. Use the array lengths to derive progress (e.g. jobs.completed.length + jobs.failed.length over total).
| Field | Description |
|---|---|
id | Batch identifier |
batch_name | Display name |
status | Aggregated batch status (pending, queued, in_progress, completed, failed) |
jobs | Place IDs grouped by job status: pending, queued, in_progress, completed, failed |
metadata | Optional: total_jobs, completed_jobs, status_counts, success_rate |
created_at | Batch creation timestamp |
jobs is keyed by job status, not counts. Each array contains the place_id values for jobs in that status. Total jobs = sum of lengths across all job arrays.Handling Results
Fetch results
Request jobs for a batch
Use the Get batch results endpoint with
batchId, limit, and offset. Returns { jobs, total, limit, offset }.Success vs failed jobs
Each job in thejobs array has a status field. Filter by:
status === "completed"— successful enrichments; useoutputsfor enriched datastatus === "failed"— failures; inspect for retry or manual review
Attribute status values
Attribute status values
| Value | Meaning |
|---|---|
RUN | Enrichment ran successfully |
NOT_RUN | Enrichment was not executed |
ERROR | Enrichment failed |
RUN_CONDITION_FAILED | Skipped (missing required inputs) |
Reprocessing Failed Items
POST /batches/{batch_id}/reprocess re-queues jobs for enrichment. Key options:
| Param | Default | Description |
|---|---|---|
failed_only | true | Only reprocess jobs with failed status |
incomplete_only | false | Only reprocess pending/queued/in_progress |
refresh | false | Force fresh enrichment, ignore cached data |
attributes | — | Override attributes to enrich |
attribute_set | — | Use predefined set: core, all, open_closed |
failed_only: false and incomplete_only: false to reprocess all jobs in the batch.
Listing Batches
GET /batches?limit={n}&offset={n}&query={search} returns paginated batches. Each batch includes id, batch_name, status, status_counts, created_at, and optional metadata.
Best Practices
- Descriptive batch names — Use names that identify the dataset or run so you can find them in the list.
- Chunk large datasets — Stay under 50K jobs per request; split into multiple batches or append via repeated requests with the same
batch_id. - Handle failures — Check
jobs.failedafter completion; use the reprocess endpoint to retry withfailed_only: true.
Next Steps
- Learn about Place Enrichment for single-item enrichment
- Explore Geofencing for location-based batch queries
- Check the API Reference for complete endpoint documentation