Skip to content

MaintenanceThe former company search endpoint goes into maintenance on November 9Migration guide

Endpoints // Lists

Create a List

New

Last verified

Available inAPIMCPSDK

Create a people or companies List, with an Idempotency-Key to retry safely.

POST/v2/lists

Credits

Free.

Introduction

The Create a List endpoint creates an empty List of people or of companies. A List never mixes both: its entity decides which Signals it accepts and which data families it can hold. Fill it afterwards with Add members or Import members and data.

Creating a List is free (0 credits). A workspace holds at most 200 Lists, and 1 on the free trial: past that, the request returns 409 LIST_LIMIT_REACHED. When the name is already taken, the List is created as Name (2).

The first List of a workspace also sets up where its Lists are stored. While that runs, the request returns 503 LISTS_PREPARING, with error.details.retryAfterSeconds: send the same request again a few seconds later, with the same Idempotency-Key.

The API key needs the lists permission (see API key management).

Authorization

NameTypeRequiredDescription
apikeystringYesYour API key from the developer dashboard. Pass it via Authorization: Bearer YOUR_API_KEY header.

Request body

NameTypeRequiredDescription
namestringYesList name, 1 to 200 characters. Spaces around it are removed.
entitystringYespersons for people, companies for companies

Retry safely with Idempotency-Key

Send an Idempotency-Key header (1 to 200 printable ASCII characters, no spaces) to make the creation safe to retry: a second request with the same key returns the List the first one created, with 201, instead of creating Name (2). Reusing the key for the other entity returns 409 IDEMPOTENCY_KEY_REUSED.

Response structure

The response has status 201.

FieldTypeDescription
successbooleantrue if the List was created
errornullAlways null on success
dataobject

The List created, or the List this Idempotency-Key created

Show child attributes
FieldTypeDescription
idstringList id (UUID): keep it to fill and read the List
namestringList name, suffixed when the name was already taken
entitystringpersons or companies
memberCountnumberList Members, 0 for a new List
pendingIntakeCountnumberPending Intake lines, 0 for a new List
revisionnumberRaised by every change to the members
archivedAtnullnull for an active List
createdAtstringCreation date (ISO 8601)
updatedAtstringLast update date (ISO 8601)
originQuerynullnull for a List created through the API
originLastFindnullnull for a List created through the API

quotas and metadata are the blocks of every V2 response: see Usage.

Errors

StatusCodeMeaning
400LIST_INVALID_INPUTThe Idempotency-Key header is malformed, or name holds only spaces
409LIST_LIMIT_REACHEDThe workspace already has 200 Lists (1 on the free trial)
409IDEMPOTENCY_KEY_REUSEDThe key already created a List of the other entity
422VALIDATION_ERRORname is missing or too long, or entity is not a known value
503LISTS_PREPARINGThe first List of the workspace is being set up: retry in a few seconds

Code examples

Code Examples

curl -X POST https://api.reversecontact.com/v2/lists \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: crm-sync-2026-10-28" \
  -d '{ "name": "Q4 sales leaders", "entity": "persons" }'

Example response

Example Response

{
  "success": true,
  "data": {
    "id": "3f6c2a8e-1b4d-4f0a-9c7e-5d2b8a1e6f40",
    "name": "Q4 sales leaders",
    "entity": "persons",
    "memberCount": 0,
    "pendingIntakeCount": 0,
    "revision": 1,
    "archivedAt": null,
    "createdAt": "2026-10-28T09:12:44.000Z",
    "updatedAt": "2026-10-28T09:12:44.000Z",
    "originQuery": null,
    "originLastFind": null
  },
  "error": null,
  "quotas": {
    "creditsConsumed": 0,
    "workspace": {
      "id": "ws_abc123",
      "credits": { "total": 10000, "used": 4521, "left": 5479 }
    }
  },
  "metadata": {
    "requestId": "req_c1r2e3a4t5e6",
    "executionTimeMs": 52
  }
}