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

# Get Campaign

> Retrieve a campaign's full configuration including steps and contacts

## Request

### Path Parameters

<ParamField path="id" type="string" required>
  The campaign's unique ID (UUID)
</ParamField>

### Headers

```
Authorization: Bearer wbk_your_api_key_here
```

<Note>
  Requires an API key with the `campaigns:read` permission.
</Note>

## Response

<ResponseField name="data" type="object">
  <Expandable title="properties">
    <ResponseField name="campaign" type="object">
      <Expandable title="Campaign object">
        <ResponseField name="id" type="string">
          Campaign UUID
        </ResponseField>

        <ResponseField name="name" type="string">
          Campaign name
        </ResponseField>

        <ResponseField name="description" type="string">
          Free-form description
        </ResponseField>

        <ResponseField name="status" type="string">
          `draft`, `active`, `paused`, or `completed`
        </ResponseField>

        <ResponseField name="daily_send_limit" type="integer">
          Maximum emails to send per day
        </ResponseField>

        <ResponseField name="delay_between_emails" type="integer">
          Seconds to wait between sends within a day
        </ResponseField>

        <ResponseField name="sending_timezone" type="string">
          IANA timezone (e.g., `Europe/Berlin`)
        </ResponseField>

        <ResponseField name="send_on_weekends" type="boolean">
          Whether sends are allowed on Saturday and Sunday
        </ResponseField>

        <ResponseField name="track_opens" type="boolean">
          Open tracking enabled
        </ResponseField>

        <ResponseField name="track_clicks" type="boolean">
          Click tracking enabled
        </ResponseField>

        <ResponseField name="show_unsubscribe" type="boolean">
          Whether unsubscribe footer is appended
        </ResponseField>

        <ResponseField name="steps" type="array">
          Array of step objects (subject, body, delay, send\_condition)
        </ResponseField>

        <ResponseField name="contacts" type="array">
          Array of contact IDs enrolled in this campaign
        </ResponseField>

        <ResponseField name="created_at" type="string">
          ISO 8601 timestamp
        </ResponseField>

        <ResponseField name="updated_at" type="string">
          ISO 8601 timestamp
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<CodeGroup>
  ```bash cURL theme={null}
  curl https://data.leadlex.com/functions/v1/api-gateway/v1/campaigns/cmp_abc123 \
    -H "Authorization: Bearer wbk_your_api_key_here"
  ```

  ```python Python theme={null}
  import requests

  API_KEY = "wbk_your_api_key_here"
  BASE_URL = "https://data.leadlex.com/functions/v1/api-gateway"
  CAMPAIGN_ID = "cmp_abc123"

  response = requests.get(
      f"{BASE_URL}/v1/campaigns/{CAMPAIGN_ID}",
      headers={"Authorization": f"Bearer {API_KEY}"},
  )
  campaign = response.json()["data"]["campaign"]
  ```

  ```javascript JavaScript theme={null}
  const CAMPAIGN_ID = 'cmp_abc123';

  const response = await fetch(
    `https://data.leadlex.com/functions/v1/api-gateway/v1/campaigns/${CAMPAIGN_ID}`,
    { headers: { 'Authorization': 'Bearer wbk_your_api_key_here' } }
  );
  const { data } = await response.json();
  ```
</CodeGroup>

### Example Response

```json theme={null}
{
  "data": {
    "campaign": {
      "id": "cmp_abc123",
      "name": "Q2 GC Outreach",
      "description": "Warm outreach to general counsels at mid-market companies",
      "status": "active",
      "daily_send_limit": 50,
      "delay_between_emails": 120,
      "sending_timezone": "Europe/Berlin",
      "send_on_weekends": false,
      "track_opens": true,
      "track_clicks": true,
      "show_unsubscribe": true,
      "steps": [
        {
          "id": "step_1",
          "subject": "Quick question about {{company_name}}",
          "body": "Hi {{first_name}}, ...",
          "delay_days": 0,
          "delay_hours": 0,
          "send_condition": "always"
        }
      ],
      "contacts": ["123e4567-e89b-12d3-a456-426614174000"],
      "created_at": "2026-03-15T09:00:00Z",
      "updated_at": "2026-04-10T14:22:00Z"
    }
  }
}
```

## Errors

| Status | Code                       | Description                         |
| ------ | -------------------------- | ----------------------------------- |
| 401    | `invalid_key`              | Invalid or expired API key          |
| 403    | `insufficient_permissions` | Missing `campaigns:read` permission |
| 404    | `campaign_not_found`       | No campaign with this ID            |
| 429    | `rate_limited`             | Rate limit exceeded                 |
