---
title: "Preview a campaign"
locale: en
url: https://tlg.builera.app/en/docs/reference/rest/campaigns.preview
verified: 2026-10-24
app_version: "2.0"
generated: true
---

# Preview a campaign

Dry-run checks before starting: senders, audience, gate, first messages.

Dry-run checks before starting: senders, audience, gate, first messages.

## Overview

| Name | Value |
| --- | --- |
| Code | `campaigns.preview` |
| Scope needed | `campaigns.write` |
| Risk | Read |
| May need confirmation | No |
| Runs as | Answers right away |
| Needs `Idempotency-Key` | No |
| Member roles allowed | `owner`, `manager` |
| In the app | Campaigns → Preview |

## Input fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | `uuid` | Yes |   |

## Example request

```bash
curl -X POST https://tlg.builera.app/api/public/v2/ops/campaigns.preview \
  -H "Authorization: Bearer $TELEGRAM_AUTO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"id":"00000000-0000-0000-0000-000000000000"}'
```

## Output fields (`data`)

| Field | Type | Required |
| --- | --- | --- |
| `ok` | `true` | Yes |
| `preview` | `object` | Yes |

## Example answer

```json
{
  "data": {
    "ok": true,
    "preview": {
      "total": 1,
      "eligible": 1,
      "capped": true,
      "excluded": {
        "suppressed": 1,
        "other_owner": 1,
        "other_campaign": 1,
        "privacy": 1,
        "unreachable": 1,
        "never_talked": 1,
        "bot": 1,
        "own_account": 1
      },
      "senders": [
        {
          "id": "00000000-0000-4000-8000-000000000000",
          "label": "text",
          "ok": true,
          "reason": "text",
          "perDay": 1,
          "week": 1,
          "free": true,
          "people": 1
        }
      ],
      "days": 1,
      "estimate": "text",
      "samples": [
        {
          "personId": "00000000-0000-4000-8000-000000000000",
          "name": "text",
          "username": "text",
          "accountLabel": "text",
          "text": "text"
        }
      ],
      "issues": [
        {
          "blockId": "00000000-0000-4000-8000-000000000000",
          "message": "text"
        }
      ]
    }
  }
}
```

## Using it over MCP

Not listed on any profile: call `tools_describe` then `tools_run` with `code: "campaigns.preview"`. Tool name when listed: `campaigns_preview`.
