Skip to content

Enrich records in real time

Use POST /v1/match when the answer belongs in the moment: a lead enters a form, a contact reaches a workflow, or an application needs a richer profile now.

  1. Add 1–100 records with the identity signals you already have.
  2. Choose the enrichment fields you want returned.
  3. Send the request and join each result back to your source with row_id.
  4. Save returned tier-01 iag_person_id values for future supported refreshes.
Terminal window
curl -X POST https://api.infiniteaudience.ai/v1/match \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: lead-enrichment-2026-08-31-001" \
-d '{
"records": [
{"row_id":"lead-42","email":"[email protected]","first_name":"Jane","last_name":"Doe"}
],
"field_list": ["estimated_household_income","birth_generation"]
}'

Each record may include email, phone, hashed contact details, name, postal address, date of birth, or an iag_person_id. Use GET /v1/catalog/fields to see available enrichment fields and POST /v1/quote to preview the request.

The response includes match totals, the amount charged, and a records array. Results may not follow input order, so join them by row_id.

const byRowId = new Map(response.records.map((record) => [record.row_id, record]));
const lead = byRowId.get('lead-42');

Tier 01 person IDs represent resolved identities and can be supplied on later requests. Other tiers keep unmatched inputs identifiable but do not represent a reusable graph identity. Check match_level and match_confidence when deciding how a result should be used.

Learn how organization-safe person IDs and derived IDs work →

For larger datasets, use file enrichment.