---
title: "Add up to 500 leads to a list"
method: POST
path: "/lists/{id}/leads"
tags: ["Leads"]
---

# Add up to 500 leads to a list

`POST /lists/{id}/leads`

## Request

- Base URL: `https://mcp.senders.ai/api/v1`
- URL: `https://mcp.senders.ai/api/v1/lists/{id}/leads`
- Auth: HTTP bearer

Scope: leads:write. Invalid, personal-domain and duplicate leads are skipped and counted.

## Path parameters

- `id` integer, required

## Headers

- `Idempotency-Key` string, required

## Request body

- LeadsBody
  - `leads` LeadInput[], required
    - `email` string, email: Required for campaigns
    - `first_name` string
    - `last_name` string
    - `title` string
    - `organization` string
    - `linkedin_url` string
    - `timezone` string: IANA name, campaigns only
    - `custom_fields` object: Up to 50 keys ([A-Za-z0-9_]{1,64}), scalar values, 16 KB total

## Response `200`

OK

- ListAddResult
  - `data` object
    - `list_id` integer
    - `added` integer
    - `skipped` object
      - `duplicate` integer
      - `invalid_email` integer
      - `personal_domain` integer

## Other responses

- `400`: Invalid body or missing Idempotency-Key (bad_request, idempotency_key_required)
- `401`: Missing, wrong or revoked token
- `403`: Missing write permission, inactive account, or feature not enabled
- `404`: No such list on this account
- `409`: busy, conflict, idempotency_in_progress (retry) or a final conflict such as campaign_closed
- `413`: Body over 1 MB
- `415`: Body not JSON
- `422`: Idempotency-Key reused for a different request
- `429`: Rate or daily limit
- `503`: Writes paused because rate limiting is unavailable; retry after Retry-After

---

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