---
title: "Add leads to a campaign"
method: POST
path: "/v1/leads/add_to_campaign"
tags: ["leads"]
---

# Add leads to a campaign

`POST /v1/leads/add_to_campaign`

## Request

- Base URL: `https://api.botdog.co`
- URL: `https://api.botdog.co/v1/leads/add_to_campaign`
- Auth: API key in header `x-api-key`

Add leads to an existing campaign. Batch operation — up to 100 leads at a time.

## Request body

- CreateLeadsBatchDto
  - `campaignId` string, required: The campaign ID to add these leads to
  - `leads` LeadCreateDto[], required: Array of leads to create (maximum 100)
    - `name` string: The name of the lead
    - `linkedinUrl` string, required: LinkedIn profile URL of the lead (https:// will be added automatically if missing)
    - `title` string: Job title of the lead
    - `company` string: Company of the lead
    - `location` string: Location of the lead
    - `customAttributes` object: Any additional attributes for the lead that can be used in workflow messages

## Response `201`

The leads have been successfully added to the campaign

- CreateLeadsBatchResponseDto
  - `count` number, required: The number of leads successfully created
  - `campaignId` string, required: The campaign ID the leads were added to

## Other responses

- `401`: Unauthorized. API key is missing or invalid.
- `403`: The key owner has no seat assigned (write endpoints only), the team is on Botdog Managed and so may only read (write endpoints only), or the subscription/plan does not permit this.
- `429`: Rate limit exceeded. Retry after cooldown.

---

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