---
title: "Get a list"
method: GET
path: "/lists/list/{listId}"
tags: ["Lists"]
---

# Get a list

`GET /lists/list/{listId}`

## Request

- Base URL: `https://api.emelia.io`
- URL: `https://api.emelia.io/lists/list/{listId}`
- Auth: API key in header `Authorization`

Returns one list with its counters.

The counters are denormalized: `numberOfEmails` and `numberOfPhones` count the contacts that had an email or a `phone` (not `mobilePhone`) when they were added, and are recomputed only at the end of a find-email or find-phone run. They are not updated when a contact is edited: treat them as indicative and use `GET /lists/list/{listId}/rows` for exact data.

`enrichmentRun` is non-null while a bulk job runs on the list (find email, find phone, verify email, column normalization, file import, CRM sync). While it is set, starting another bulk job on the list returns 409.

## Path parameters

- `listId` string, required

## Response `200`

The list.

- ListsListDetail
  - `_id` string, required
  - `name` string, required
  - `fileId` string, nullable
  - `source` string, required
  - `status` string, required
  - `companiesOnly` boolean, required
  - `numberOfContacts` integer, required
  - `numberOfEmails` integer, required
  - `numberOfPhones` integer, required
  - `numberOfLinkedins` integer
  - `emailFindRunAt` string, date-time, nullable
  - `phoneFindRunAt` string, date-time, nullable
  - `enrichmentRun` ListsEnrichmentRunLock, required: Bulk job currently running on a list.
    - `tool` 'find-email' | 'find-phone' | 'verify-email' | 'normalize' | 'remove-emojis' | 'remove-spaces' | 'mapping' | 'crm-sync', required
    - `startedAt` string, date-time, required
    - `processed` integer, required
    - `total` integer, required
    - `found` integer, required
  - `hubspotIntegration` ListsCrmIntegration, required: Summary of a CRM synchronization (HubSpot or Pipedrive) attached to the list.
    - `dynamic` boolean: True when the list is resynchronized from the CRM.
    - `lastSynced` string, date-time, nullable
    - `lastManualSyncAt` string, date-time, nullable
  - `pipedriveIntegration` ListsCrmIntegration, required: Summary of a CRM synchronization (HubSpot or Pipedrive) attached to the list.
    - `dynamic` boolean: True when the list is resynchronized from the CRM.
    - `lastSynced` string, date-time, nullable
    - `lastManualSyncAt` string, date-time, nullable
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required

## Other responses

- `400`: The list id is not a valid ObjectId.
- `401`: Missing, unknown or disabled API key, or the account of the key no longer exists. Note the body shape: `error` and `code`, not `message`.
- `404`: The list does not exist or belongs to another account.
- `500`: Unexpected server error. `error`, when present, is a raw internal message: do not parse it. Retry later.

---

[API](https://skmtc.dev/emelia/apis/emelia-api.md) · [All operations](https://skmtc.dev/emelia/apis/emelia-api/llms.txt) · [OpenAPI document](https://skmtc.dev/emelia/apis/emelia-api/revisions/8c0cb435f2c4?raw)
