Async Jobs
For large-scale enrichment workflows, ApiOne supports asynchronous job submission. Instead of making individual synchronous calls for each record, you submit a batch of up to 1,000 records in a single request and receive results via webhook or polling when processing is complete.
When to use async jobs
Use async jobs when you need to enrich more than 20 records at a time, when your processing pipeline can tolerate a delay of seconds to minutes, or when you want to avoid managing rate limits in your application code. Async jobs are processed in the background and are not subject to the per-minute rate limit.
Submitting an async job
curl -X POST https://apione.store/api/v1/async/enrich \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "company",
"records": [
{"domain": "stripe.com"},
{"domain": "shopify.com"},
{"domain": "twilio.com"}
],
"webhook_url": "https://your-server.com/webhooks/apione"
}'Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
type | string | required | Enrichment type: company, people, or email |
records | array | required | Array of input objects. Max 1,000 records per job. |
webhook_url | string | optional | URL to receive results when the job completes. If omitted, poll for status. |
Response
{
"status": "success",
"job_id": "job_abc123xyz",
"estimated_completion_seconds": 45,
"total_records": 3
}Polling for job status
If you did not provide a webhook_url, poll the job status endpoint:
curl https://apione.store/api/v1/async/status/job_abc123xyz \
-H "X-API-Key: YOUR_API_KEY"Status values
| Status | Meaning |
|---|---|
queued | Job is waiting to be processed |
processing | Job is currently being processed |
completed | Job finished successfully — results are available |
failed | Job encountered an unrecoverable error |
Retrieving results
When the job status is completed, retrieve the results:
curl https://apione.store/api/v1/async/results/job_abc123xyz \
-H "X-API-Key: YOUR_API_KEY"Limits
| Plan | Max records per job | Concurrent jobs | Result retention |
|---|---|---|---|
| Free | 50 | 1 | 24 hours |
| Starter | 500 | 5 | 7 days |
| Growth | 1,000 | 20 | 30 days |
| Scale | 1,000 | 50 | 90 days |
Results are stored for the retention period shown above. After that, they are permanently deleted. Download or process results before the retention window expires.