---
title: "Add related contacts (v2)"
method: POST
path: "/v2/contact-relations/{contactId}/add"
tags: ["contact-relations"]
---

# Add related contacts (v2)

`POST /v2/contact-relations/{contactId}/add`

Link one or more contacts to `{contactId}` as related contacts. Relations are symmetric — linking A to B also links B to A — and carry no relationship label. Already-linked pairs and self-links are silently skipped. **Requires `Idempotency-Key`.** Returns `{ data: { affected, ids } }` where `affected` counts NEW links created.

## Path parameters

- `contactId` string, uuid, required

## Headers

- `Idempotency-Key` string, required

## Request body

- object
  - `contactIds` string[], required

## Response `200`

Successful response

- object
  - `data` object, required
    - `affected` integer, required
    - `ids` string[]
    - `failed` object[]
      - `id` string, required
      - `error` object, required
        - `code` string, required
        - `message` string, required

## Other responses

- `400` — Request body failed validation.
- `401` — Missing or invalid API key.
- `403` — Valid key, insufficient permission.
- `404` — Resource does not exist.
- `409` — Request conflicts with the current state of the resource.
- `429` — Rate limit exceeded.
- `500` — Unexpected server error.

## Changes

- **2026-08-27** `a2f71a243839` — 1 info
  - api operation id `addRelatedContactsV2` was added
- **2026-08-26** `d7a4e2554573` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/getdex/apis/dex-public-api/changes/v2/contact-relations/:contactId/add/post.md)

---

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