> For the complete documentation index, see [llms.txt](https://developer.parvenu.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.parvenu.io/icp-enrichment/multi-icp-score-list.md).

# Multi-ICP Score (List)

Check every contact in a list against 2 to 10 of your ICPs and write the best fit into the list.

<mark style="color:green;">`POST`</mark> `/multi_icp_score_list`

{% hint style="info" %}
Billed **0.2 credits per contact**, however many ICPs you pick. A contact outside an ICP's location still counts. Nothing is charged for a contact whose scoring fails. By default, contacts already scored with the same ICPs are skipped for free (`who_to_score: "not_scored"`).
{% endhint %}

{% hint style="info" %}
This is a bulk endpoint. It returns straight away and scores the list in the background:

1. **Start**: call this endpoint.
2. **Check status**: call Check List Status with the list name, or Get Enrichment with the `job_id`.
3. **Download**: call Download List Data.
   {% endhint %}

Checks every selected contact in a list against several of your saved ICPs. Each contact gets its best-fit ICP written into the list's ICP columns, the same columns Run Enrichment fills: ICP name (or `No match`), score, minimum score, match, and an explanation listing every ICP's score. A run replaces any earlier ICP result on those rows. For one contact, use [Multi-ICP Score](/icp-enrichment/multi-icp-score.md).

**Headers**

| Name         | Value              |
| ------------ | ------------------ |
| Content-Type | `application/json` |

**Body**

| Name                 | Type    | Description                                                                                                                                                                                                             |
| -------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `api_key`            | string  | Your API Key.                                                                                                                                                                                                           |
| `icp_ids`            | array   | 2 to 10 ICP ids you own, from [List ICPs](/icp-enrichment/list-icps.md).                                                                                                                                                |
| `listname`           | string  | The list to score.                                                                                                                                                                                                      |
| `view`               | string  | Optional. Which rows: `all` (default), `filtered`, `verified`, `valid`, `accept_all`, `job_poster`, `job_posts`.                                                                                                        |
| `search`             | string  | Optional. Only rows matching this search.                                                                                                                                                                               |
| `filter_stack`       | object  | Optional. Only rows matching these filters, e.g. `{"operator":"and","filters":[{"columnId":"current_title","operator":"includes","value":"Owner"}]}`.                                                                   |
| `max_rows`           | integer | Optional. Score at most this many contacts.                                                                                                                                                                             |
| `who_to_score`       | string  | Optional. `not_scored` (default): contacts that already have a result for the same ICPs, written since those ICPs were last edited, keep it and are not charged again. `everybody`: score every selected contact again. |
| `only_contacts`      | array   | Optional. LinkedIn URLs and/or emails. Only these contacts of the list are scored.                                                                                                                                      |
| `list_owner_user_id` | string  | Only for API keys that do not own the list: the `mem_` id that owns it.                                                                                                                                                 |
| `saved_view`         | string  | Optional. Name of a saved view on this list. Runs only on the contacts in that view. Don't combine with `view`, `filter_stack` or `search`.                                                                             |

**Saved views.** To run only on the contacts in a saved view, send its name as `saved_view`. See [List Saved Views](/manage-lists/list-saved-views.md).

**Response**

| Field             | Type   | Description                                                                       |
| ----------------- | ------ | --------------------------------------------------------------------------------- |
| `status`          | string | `queued`.                                                                         |
| `job_id`          | string | Pass it to [Get Enrichment](/icp-enrichment/get-enrichment.md) to follow the run. |
| `list_name`       | string | The list being scored.                                                            |
| `view`            | string | The view being scored.                                                            |
| `icp_ids`         | array  | The ICPs being checked, in the order given.                                       |
| `credits_per_row` | number | Cost per contact scored.                                                          |

**Example**

{% tabs %}
{% tab title="Input" %}

```json
{
  "api_key": "your_api_key",
  "icp_ids": [32, 50, 22],
  "listname": "Home Services Q4",
  "who_to_score": "not_scored"
}
```

{% endtab %}

{% tab title="Output" %}

```json
{
  "status": "queued",
  "job_id": "b5e2bbc1-b279-4a28-b8d5-c9ce5b91280d",
  "list_name": "Home Services Q4",
  "view": "all",
  "icp_ids": [32, 50, 22],
  "credits_per_row": 0.2,
  "credits_used": 0.0,
  "credits_remaining": 9586.3,
  "message": "Queued (position 1). 0.2 credits per contact checked, however many ICPs. Poll /check_list_status with the list name, or /get_enrichment with job_id.",
  "success": true
}
```

{% endtab %}
{% endtabs %}

### Check List Status

See [Check List Status](/get-enrichment-results/check-list-status.md).

### Download List Data

See [Download List Data](/get-enrichment-results/download-list-data.md). Each contact's `icp_name` is its best-fit ICP or `No match`.
