---
title: "Get a campaign"
method: GET
path: "/api/v1/campaigns/{id}"
tags: ["campaigns"]
---

# Get a campaign

`GET /api/v1/campaigns/{id}`

## Request

- Base URL: `https://app.blueticked.com`
- URL: `https://app.blueticked.com/api/v1/campaigns/{id}`
- Auth: HTTP bearer

Fetch one campaign's status and delivery counters.

Poll this for progress, or subscribe to message.* webhooks per recipient.

## Path parameters

- `id` string, required

## Response `200`

Success

- object
  - `id` string, uuid, required
  - `name` string, required
  - `description` string, nullable, required
  - `channel` 'whatsapp' | 'sms' | 'email' | 'telegram', required
  - `status` string, required
  - `scheduled_at` string, date-time, nullable, required
  - `template_id` string, uuid, required
  - `counts` object, required
    - `sent` number, required
    - `delivered` number, required
    - `failed` number, required
    - `opened` number, required
    - `clicked` number, required
    - `bounced` number, required
    - `complained` number, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `request_id` string, required

## Other responses

- `400`: Validation failed
- `401`: Unauthorized: missing or invalid API key
- `402`: Insufficient wallet balance
- `403`: Forbidden: scope, plan limit, or suspension
- `404`: Not found
- `409`: Conflict (idempotency-key reuse or resource in use)
- `422`: Understood but refused: the request is well-formed, the action is not permitted for this resource
- `429`: Rate limited
- `500`: Internal error
- `502`: An upstream provider refused or failed the request
- `503`: Channel or send queue unavailable

---

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