> ## Documentation Index
> Fetch the complete documentation index at: https://docs.walead.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Add Leads to Campaign

> Adds new leads to an existing campaign. Supports up to 1000 leads per request.

## Overview

Adds new leads to an existing campaign. You can add up to 1,000 leads per request using either lead objects or LinkedIn URLs.

## Lead Deduplication

By default, the API checks for duplicate leads across your entire workspace. You can disable this by setting `checkDuplicatesAcrossWorkspace` to `false`.


## OpenAPI

````yaml POST /v1/campaigns/{campaignId}/leads
openapi: 3.1.0
info:
  title: WaLead API
  description: >-
    WaLead Public API for managing LinkedIn outreach campaigns, leads, and
    analytics
  version: 1.0.0
  contact:
    name: WaLead Support
    url: https://walead.ai
servers:
  - url: https://app-api.walead.ai/api
    description: Production server
security:
  - apiKeyAuth: []
paths:
  /v1/campaigns/{campaignId}/leads:
    post:
      summary: Add Leads to Campaign
      description: >-
        Adds new leads to an existing campaign. Supports up to 1000 leads per
        request.
      parameters:
        - name: campaignId
          in: path
          description: Campaign ID
          required: true
          schema:
            type: string
      requestBody:
        description: Leads to add to the campaign
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddLeads'
        required: true
      responses:
        '200':
          description: Leads added successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddLeadsResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized - Invalid API Key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    AddLeads:
      type: object
      properties:
        leads:
          type: array
          items:
            $ref: '#/components/schemas/Lead'
          description: Array of lead objects (max 1000)
        linkedinUrls:
          type: array
          items:
            type: string
          description: >-
            Array of LinkedIn URLs to convert to leads (max 1000 combined with
            leads)
        checkDuplicatesAcrossWorkspace:
          type: boolean
          description: >-
            Check for duplicates across all campaigns in workspace (default:
            true)
    AddLeadsResponse:
      type: object
      properties:
        success:
          type: boolean
          description: Whether the operation was successful
        message:
          type: string
          description: Response message
        created:
          type: integer
          description: Number of leads created
        discarded:
          type: integer
          description: Number of leads discarded (duplicates or blocked)
    Error:
      type: object
      required:
        - statusCode
        - message
      properties:
        statusCode:
          type: integer
          description: HTTP status code
        message:
          type: string
          description: Error message
    Lead:
      type: object
      properties:
        publicIdentifier:
          type: string
          description: LinkedIn public identifier (e.g., 'john-doe')
        linkedinUrl:
          type: string
          description: Full LinkedIn profile URL
        firstName:
          type: string
          description: First name
        lastName:
          type: string
          description: Last name
        name:
          type: string
          description: Full name
        email:
          type: string
          description: Email address
        phone:
          type: string
          description: Phone number
        companyName:
          type: string
          description: Company name
        headline:
          type: string
          description: LinkedIn headline
        website:
          type: string
          description: Website URL
        summary:
          type: string
          description: Profile summary
        profilePictureUrl:
          type: string
          description: Profile picture URL
        customVariables:
          type: object
          description: Custom key-value pairs for additional lead information
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key for authentication. Generate from your WaLead dashboard.

````