---
title: "Create Contact Exclusion"
method: POST
path: "/v1/contact-exclusions"
tags: ["contacts"]
---

# Create Contact Exclusion

`POST /v1/contact-exclusions`

Create a new contact-level exclusion.

Requires the `contact_exclusions:write` scope on the API key.

## Request body

- ContactExclusionInput
  - `email` string, nullable — Email to exclude. At least one of `email` or `linkedin_url` is required.
  - `linkedin_url` string, nullable — LinkedIn URL to exclude. At least one of `email` or `linkedin_url` is required.
  - `reason` 'BAD_TIMING' | 'BOUNCED' | 'COMPETITOR' | 'CONTACT_REFUSED' | 'INTERESTED' | 'MEETING' | 'OTHER' | 'OUT_OF_OFFICE' | 'UNKNOWN' | 'UNSUBSCRIBED' | 'WRONG_PERSON' | 'EXCLUDE_FROM_SEARCH' | 'EXCLUDE_FROM_CRM' | 'REFERRAL' | 'LEFT_COMPANY', required
  - `message` string, nullable — Free-form note for operators.
  - `until` string, date-time, nullable — When the exclusion expires. Omit for a permanent exclusion.

## Response `201`

Successful Response

- ContactExclusionOutput
  - `id` string, uuid, required — Unique identifier.
  - `email` string, nullable, required — Excluded email.
  - `linkedin_url` string, nullable, required — Excluded LinkedIn URL.
  - `reason` 'BAD_TIMING' | 'BOUNCED' | 'COMPETITOR' | 'CONTACT_REFUSED' | 'INTERESTED' | 'MEETING' | 'OTHER' | 'OUT_OF_OFFICE' | 'UNKNOWN' | 'UNSUBSCRIBED' | 'WRONG_PERSON' | 'EXCLUDE_FROM_SEARCH' | 'EXCLUDE_FROM_CRM' | 'REFERRAL' | 'LEFT_COMPANY', required
  - `message` string, nullable, required — Operator note.
  - `until` string, date-time, nullable, required — When the exclusion expires.
  - `created_at` string, date-time, required — When the exclusion was created.
  - `updated_at` string, date-time, required — When the exclusion last changed.

---

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