---
title: "Send or schedule a campaign"
method: POST
path: "/Communications/Campaign"
tags: ["Communications"]
---

# Send or schedule a campaign

`POST /Communications/Campaign`

**Requires permission:** *CommunicationAdmin*

Sends a push and/or email to a resolved recipient list, immediately or scheduled for a future time (queued as a job). Each recipient carries merge fields; the subject/body/link support {{tokens}} substituted per recipient. Records the send on CORE_Campaigns.

## Request body

- PostSendCampaignRequest
  - `subject` string, nullable
  - `body` string, nullable
  - `linkTo` string, nullable
  - `borderColour` string, nullable
  - `interruptionLevel` integer
  - `sendPush` boolean
  - `sendEmail` boolean
  - `replyTo` string, nullable
  - `attachments` CoreUploadFile[]
    - `id` integer, nullable
    - `documentName` string, nullable
    - `contentType` string, nullable
    - `content` string, nullable
    - `tagsString` string, nullable
    - `uploadedDate` string, date-time
    - `uploadedBy` string
  - `senderName` string, nullable
  - `audience` string, nullable
  - `recipients` PostSendCampaignCampaignRecipient[]
    - `email` string, nullable
    - `fields` object, nullable
  - `scheduledFor` string, date-time, nullable

## Response `200`

Success - sent or scheduled

- PostSendCampaignResponse
  - `recipientCount` integer
  - `scheduled` boolean
  - `scheduledFor` string, date-time, nullable
  - `campaignId` integer
  - `provider` string
  - `pushAttempted` integer
  - `pushDelivered` integer
  - `oneSignalCount` integer
  - `emailSent` integer
  - `errors` string[]

## Other responses

- `400` — An Error Occurred - no recipients or no channel selected
- `401` — Unauthorized
- `403` — Forbidden

## Changes

- **2026-08-15** `5aa4178ca29b` — 1 info
  - added the new optional request property `attachments`
- **2026-07-31** `df6d21aeebe7` — 1 breaking, 11 info
  - the `recipients/items/` request property type/format changed from `string`/`` to `object`/``
  - added the new optional request property `audience`
  - added the new optional request property `recipients/items/email`
  - added the new optional request property `recipients/items/fields`
  - …8 more
- **2026-07-27** `827295df3558` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/tonbridge/apis/tonbridge-app-api/changes/Communications/Campaign/post.md)

---

[API](https://skmtc.dev/tonbridge/apis/tonbridge-app-api.md) · [All operations](https://skmtc.dev/tonbridge/apis/tonbridge-app-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/tonbridge/tonbridge-app-api/revisions/223cb0feedeb/schema)
