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

# Get campaign

> Return a campaign's current state and aggregate counters.

## Path parameters

<ParamField path="id" type="string" required>
  UUID of the campaign.
</ParamField>

## Request

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://api.verbeo.ai/v1/campaigns/0175091d-2c3b-4aef-8c45-dbbe24f7b3ff" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```javascript Node.js theme={null}
  const res = await fetch(
    `https://api.verbeo.ai/v1/campaigns/${campaignId}`,
    { headers: { Authorization: `Bearer ${process.env.VERBEO_API_KEY}` } },
  );
  const { data } = await res.json();
  ```

  ```python Python theme={null}
  res = requests.get(
      f"https://api.verbeo.ai/v1/campaigns/{campaign_id}",
      headers={"Authorization": f"Bearer {os.environ['VERBEO_API_KEY']}"},
  )
  campaign = res.json()["data"]
  ```
</CodeGroup>

## Response

`200 OK`.

```json theme={null}
{
  "success": true,
  "data": {
    "campaign_id": "0175091d-2c3b-4aef-8c45-dbbe24f7b3ff",
    "campaign_name": "Q2 Sales Outreach",
    "status": "running",
    "total_contacts": 250,
    "completed_calls": 41,
    "successful_calls": 38,
    "failed_calls": 3,
    "started_at": "2026-05-04T15:00:00.000Z",
    "business_hours": null,
    "completed_at": null,
    "scheduled_at": null,
    "created_at": "2026-05-04T14:55:12.000Z",
    "updated_at": "2026-05-04T15:30:01.000Z"
  }
}
```

For a per-contact-status breakdown, use [stats](/api-reference/campaigns/stats) instead.

## Errors

`CAMPAIGN_NOT_FOUND` (404) when the campaign doesn't exist in your workspace. See [Campaigns overview](/api-reference/campaigns/overview#error-codes) and [Errors](/api-reference/errors).

***


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.