---
title: "Import contacts or blacklist entries from CSV or array. target='contacts' imports to contact DB; target='blacklist' adds"
method: POST
path: "/api/v1/blacklist/import"
tags: ["block-list"]
---

# Import contacts or blacklist entries from CSV or array. target='contacts' imports to contact DB; target='blacklist' adds

`POST /api/v1/blacklist/import`

## Request

- Base URL: `https://crispy.sh`
- URL: `https://crispy.sh/api/v1/blacklist/import`
- Auth: HTTP bearer

## Request body

- object
  - `contacts` object[]: Array of contact objects (for target='contacts'). Each must have a LinkedIn URL.
  - `csv_content` string: Raw CSV or TSV text (for target='contacts')
  - `csv_url` string: HTTPS URL of a CSV/TSV file (for target='contacts')
  - `storage_path` string: Path inside the 'imports' Supabase Storage bucket (for target='contacts')
  - `source` string: Where contacts came from, e.g. 'lemlist', 'heyreach' (for target='contacts')
  - `list_id` string: Optional list ID — imported contacts are automatically added (for target='contacts')
  - `entries` union[]: Blacklist entries: URL strings or {linkedin_url, reason} objects (for target='blacklist')
    - union
      - string: LinkedIn URL or slug
      - object
        - `linkedin_url` string, required
        - `reason` string
  - `merge_strategy` 'merge' | 'replace' | 'skip': How to handle duplicate linkedin_url (target='contacts' only): 'merge' (default; tags UNION, attrs deep-merge), 'replace' (overwrite + null unspecified user-facing fields: first_name,last_name,email,company,title,phone,industry,location,country,status,source,source_detail,tags,custom_attrs,external_ids), 'skip' (no-op dupes).

## Response `200`

Success

## Other responses

- `401`: Missing or expired API key
- `403`: Insufficient key scope or permission denied
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/crispy/apis/crispy-rest-api.md) · [All operations](https://skmtc.dev/crispy/apis/crispy-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crispy/apis/crispy-rest-api/revisions/6bed0974d9ce?raw)
