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

# Campaigns API

> Send or validate a webhook campaign message with an API key limited to that campaign.

A webhook campaign sends one WhatsApp template to one end user per API call. Each accepted send is charged against the campaign wallet.

## Keys and access

A campaign key is an ordinary API key with **Send campaign messages** and access limited to the campaign. An **All resources** key also works.

Admins create and manage keys in **Settings → Integrations → API keys**. The campaign's **API keys** tab lists eligible keys.

Selected keys that include the campaign lock its template, parameters and number. Revoke those keys or clone the campaign before changing them.

## Validate and send

[Validate](https://hellotars.com/docs/developer/api/campaigns/validate.md) checks the request and returns pricing without sending or charging. It does not check consent or wallet balance.

Validate and [send](https://hellotars.com/docs/developer/api/campaigns/send.md) share the campaign-send rate limit. Both can return a retryable problem.

## Pricing and lifecycle

A send is charged before delivery. A failed send is refunded. Staging-mode sends are not charged.

A paused campaign returns retryable campaign\_paused. A cancelled or failed campaign returns terminal campaign\_gone.

See [Errors](https://hellotars.com/docs/developer/errors.md) for the problem format and [Run webhook campaigns](https://hellotars.com/docs/guides/campaigns/webhook-campaigns.md) for setup.


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