---
title: "Send campaign"
method: POST
path: "/campaigns/{id}/send"
tags: ["Campaigns"]
---

# Send campaign

`POST /campaigns/{id}/send`

## Request

- Base URL: `https://api.omnisend.com/api`
- URL: `https://api.omnisend.com/api/campaigns/{id}/send`
- Auth: one of:
  - OAuth 2
    - Client credentials
    - Token URL: `https://app.omnisend.com/oauth2/token` scopes: `campaigns.write`
  - API key in header `Authorization`

Submit a campaign draft for sending. Only campaigns in 'draft' status can be sent; to send a campaign again, copy it and send the copy.
Supports both email and SMS campaigns. Behavior depends on the campaign's sending strategy:

- **Immediate**: Campaign will be sent immediately
- **Scheduled**: Campaign will be queued for the scheduled time with optional timezone optimization

**Scopes:**
`campaigns.write`

**Rate Limiting:**
This endpoint is rate limited to 400 requests per minute.

## Path parameters

- `id` string, required

## Headers

- `Omnisend-Version` string, required

## Response `204`

Campaign send initiated successfully

## Other responses

- `400`: Request contains invalid or missing fields
- `401`: Authentication is missing or invalid
- `402`: Payment is required to send this campaign
- `403`: Insufficient permissions for this operation
- `404`: Campaign not found
- `409`: Campaign state does not allow sending or content is invalid
- `410`: API version has been retired
- `429`: Rate limit exceeded
- `500`: Unexpected error occurred

---

[API](https://skmtc.dev/omnisend/apis/campaigns-api.md) - [All operations](https://skmtc.dev/omnisend/apis/campaigns-api/llms.txt) - [OpenAPI document](https://skmtc.dev/omnisend/apis/campaigns-api/revisions/fef4d9467305?raw)
