---
title: "Bulk match contacts by name or email"
method: POST
path: "/contacts/bulk-match"
---

# Bulk match contacts by name or email

`POST /contacts/bulk-match`

Match a list of person names and/or emails to contacts in the database. Queries with an email are looked up by exact match first, falling back to name matching. Returns a task ID for async processing. Check status via /contactmatch/status/{task_id}.

## Request body

- BulkContactMatchRequest — Request body for bulk contact match endpoint.
  - `queries` BulkContactMatchQueryItem[], required — List of contact match queries to process.
    - `name` string, nullable — Person name to search for. Required unless email is provided.
    - `email` string, nullable — Email address for exact lookup. When found, name/company matching is skipped for this row.
    - `company_name` string, nullable — Company name to narrow the search.
    - `domain` string, nullable — Domain to filter results.
    - `person_country` string, nullable — Person's country code (ISO-3166-1 alpha-2).
  - `enrich` boolean — When true, hydrate full contact data from the vector database (costs credits).
  - `limit` integer — Maximum matches per query (1-20).

## Response `202`

Successful Response

- TaskResponse — Async task creation response for 202 Accepted responses. Returned when an operation is accepted for async processing. Use the task_id to poll for status and retrieve results.
  - `task_id` string, required — Unique task identifier for polling status

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/discolike/apis/discolike-api.md) · [All operations](https://skmtc.net/discolike/apis/discolike-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/discolike/discolike-api/revisions/6b838ca10add/schema)
