---
title: "Resolve Import Contacts"
method: POST
path: "/api/contacts/import-resolve-existing"
tags: ["Contact Dedup"]
---

# Resolve Import Contacts

`POST /api/contacts/import-resolve-existing`

Resolve browser-import candidates through the canonical identity policy.

The authenticated org is the only scope accepted. Unmatched or ambiguous
candidates are omitted so the browser can continue its existing insert
flow; returned matches are safe to treat as existing Contacts.

## Query parameters

- `user_id` string
- `org_id` string

## Request body

- ResolveImportContactsRequest
  - `contacts` ImportIdentityCandidate[], required
    - `client_ref` string, required
    - `name` string, required
    - `email` string, nullable
    - `company` string, nullable

## Response `200`

Successful Response

- ResolveImportContactsResponse
  - `resolutions` ImportIdentityResolution[], required
    - `client_ref` string, required
    - `contact_id` string, required
    - `match_basis` string, required
    - `source` string, nullable
    - `user_id` string, nullable

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-01** `597eaca86c48` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/every/apis/every-api/changes/api/contacts/import-resolve-existing/post.md)

---

[API](https://skmtc.dev/every/apis/every-api.md) · [All operations](https://skmtc.dev/every/apis/every-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/every/every-api/revisions/597eaca86c48/schema)
