Enrichment
Batch Enrichment
Trigger contact enrichment for multiple persons in a single batch request
POST
This endpoint triggers enrichment for phone numbers or email addresses for multiple persons at once. It efficiently handles batch processing by reusing existing enrichments and only creating new ones where needed.
How It Works
The batch enrichment process is optimized to avoid duplicate work:- Check Existing: For each person, checks if a reusable enrichment already exists (pending or finished)
- Credit Validation: Verifies the organization has sufficient credits for new enrichments
- Create Pending: Creates pending enrichment records for persons without reusable enrichments
- Async Processing: Enrichments are processed asynchronously after the response is returned
Enrichments are processed asynchronously. The response returns immediately
with enrichment records in
pending status. Use the enrichment status
endpoint to poll for completion.Request
Body Parameters
Array of person UUIDs to enrich. Each ID must be a valid UUID v4.
Constraints: - Minimum: 1 person ID - Maximum: 100 person IDs per batch
Example:
["550e8400-e29b-41d4-a716-446655440000", "6ba7b810-9dad-11d1-80b4-00c04fd430c8"]The type of contact data to enrich. Allowed values: -
phones - Enrich
phone numbers - emails - Enrich email addressesResponse
Returns an array of enrichment objects. The array includes both reused existing enrichments and newly created pending enrichments.Array of enrichment objects for the requested persons.
Credits
Enrichment operations consume credits from your organization’s balance:- Email enrichment: Credits are deducted per successful enrichment
- Phone enrichment: Credits are deducted per successful enrichment
Error Codes
| Status Code | Error Code | Description |
|---|---|---|
400 | VALIDATION_ERROR | Invalid request body, missing required fields, or constraint violations |
401 | VALIDATION_ERROR | Missing user ID or organization ID (authentication required) |
402 | INSUFFICIENT_CREDITS | Organization does not have enough credits for the requested enrichments |
500 | INTERNAL_ERROR | Server error during enrichment processing |
Notes
- Reusable Enrichments: If a person already has a pending or finished enrichment for the requested field, the existing enrichment is returned instead of creating a new one
- Failed Enrichments: If a previous enrichment for a person failed, timed out, or was cancelled, a new enrichment will be created
- Async Processing: The actual enrichment work happens asynchronously after the API response. Poll the enrichment status endpoint to check for completion
- Batch Efficiency: Use this endpoint instead of individual enrichment requests when enriching multiple persons to reduce API calls and improve throughput