---
title: "List campaigns"
method: GET
path: "/v1/campaigns"
tags: ["campaigns"]
---

# List campaigns

`GET /v1/campaigns`

## Request

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

Get all campaigns for the authenticated team, with optional status and owner filters.

## Query parameters

- `status` 'ACTIVE' | 'PAUSED' | 'ARCHIVED' | 'COMPLETED' | 'CREATED'
- `userIds` string[]

## Response `200`

Return campaigns matching the criteria

- CampaignDto[]
  - `id` string, required: The unique identifier of the campaign
  - `name` string, required: The name of the campaign
  - `status` 'ACTIVE' | 'PAUSED' | 'ARCHIVED' | 'COMPLETED' | 'CREATED', required: The current status of the campaign
  - `ownerId` string, required: The ID of the user who owns this campaign
  - `ownerEmail` string, required: The email of the user who owns this campaign
  - `createdAt` string, date-time, required: The date the campaign was created
  - `updatedAt` string, date-time, required: The date the campaign was last updated
  - `startDate` string, date-time, required: The date the campaign will start
  - `endDate` string, date-time, required: The date the campaign will end

## 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)
