---
updatedAt: 2026-04-23T13:15:27.000Z
agentTools:
  projectIndex: https://api-docs.omnisend.com/llms.txt
---

# Send campaign

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.

# OpenAPI definition

```json
{
  "openapi": "3.0.0",
  "info": {
    "contact": {},
    "description": "API for managing campaigns.",
    "title": "Campaigns API",
    "version": "2026-preview"
  },
  "paths": {
    "/campaigns/{id}/send": {
      "post": {
        "description": "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.\nSupports both email and SMS campaigns. Behavior depends on the campaign's sending strategy:\n\n- **Immediate**: Campaign will be sent immediately\n- **Scheduled**: Campaign will be queued for the scheduled time with optional timezone optimization\n\n**Scopes:**\n`campaigns.write`\n\n**Rate Limiting:**\nThis endpoint is rate limited to 400 requests per minute.",
        "parameters": [
          {
            "$ref": "#/components/parameters/APIVersionHeader"
          },
          {
            "description": "Campaign ID (24 character hexadecimal)",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Campaign send initiated successfully"
          },
          "400": {
            "description": "Request contains invalid or missing fields",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblem"
                }
              }
            }
          },
          "401": {
            "description": "Authentication is missing or invalid",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            }
          },
          "402": {
            "description": "Payment is required to send this campaign",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient permissions for this operation",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            }
          },
          "404": {
            "description": "Campaign not found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            }
          },
          "409": {
            "description": "Campaign state does not allow sending or content is invalid",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            }
          },
          "410": {
            "description": "API version has been retired",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/RateLimitProblem"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected error occurred",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": [
              "campaigns.write"
            ]
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Send campaign",
        "tags": [
          "Campaigns"
        ]
      }
    }
  },
  "servers": [
    {
      "url": "https://api.omnisend.com/api"
    }
  ],
  "components": {
    "parameters": {
      "APIVersionHeader": {
        "description": "API version that specifies the response format and behaviour",
        "in": "header",
        "name": "Omnisend-Version",
        "required": true,
        "schema": {
          "type": "string",
          "default": "2026-03-15"
        }
      }
    },
    "securitySchemes": {
      "ApiKeyAuth": {
        "description": "API key authentication. Use format: Omnisend-API-Key {api-key}",
        "in": "header",
        "name": "Authorization",
        "type": "apiKey"
      },
      "Bearer": {
        "type": "oauth2",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://app.omnisend.com/oauth2/token",
            "scopes": {
              "campaigns.read": "Read access to campaigns",
              "campaigns.write": "Write access to campaigns"
            }
          }
        }
      }
    },
    "schemas": {
      "FieldError": {
        "description": "A single field validation failure within a validation error response.",
        "properties": {
          "code": {
            "description": "Error code indicating the type of failure",
            "example": "invalid_format",
            "type": "string"
          },
          "field": {
            "description": "Dot-separated path to the field that failed validation",
            "example": "content.email.subject",
            "type": "string"
          },
          "message": {
            "description": "Human-readable explanation of what is wrong with the field value",
            "example": "Must be a valid email address",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Problem": {
        "description": "Standard error response returned by all API endpoints on failure.",
        "properties": {
          "detail": {
            "description": "Human-readable explanation of this specific error occurrence",
            "example": "A human-readable explanation of the error.",
            "type": "string"
          },
          "instance": {
            "description": "Request trace identifier for support and debugging",
            "example": "urn:omnisend:request:00000000-0000-0000-0000-000000000001",
            "type": "string"
          },
          "status": {
            "description": "HTTP status code",
            "example": 0,
            "type": "integer"
          },
          "title": {
            "description": "Short description of the error type",
            "example": "Problem",
            "type": "string"
          },
          "type": {
            "description": "URI that identifies the error type",
            "example": "https://problems.omnisend.com/problem",
            "type": "string"
          }
        },
        "type": "object"
      },
      "RateLimitProblem": {
        "description": "Error response returned when the rate limit is exceeded. Use the retryAfter value to know when it is safe to retry the request.",
        "properties": {
          "detail": {
            "description": "Human-readable explanation of this specific error occurrence",
            "example": "A human-readable explanation of the error.",
            "type": "string"
          },
          "instance": {
            "description": "Request trace identifier for support and debugging",
            "example": "urn:omnisend:request:00000000-0000-0000-0000-000000000001",
            "type": "string"
          },
          "retryAfter": {
            "description": "Seconds to wait before retrying the request",
            "example": 60,
            "type": "integer"
          },
          "status": {
            "description": "HTTP status code",
            "example": 0,
            "type": "integer"
          },
          "title": {
            "description": "Short description of the error type",
            "example": "Problem",
            "type": "string"
          },
          "type": {
            "description": "URI that identifies the error type",
            "example": "https://problems.omnisend.com/problem",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ValidationProblem": {
        "description": "Error response returned when the request contains invalid input. The errors array lists every field that failed validation.",
        "properties": {
          "detail": {
            "description": "Human-readable explanation of this specific error occurrence",
            "example": "A human-readable explanation of the error.",
            "type": "string"
          },
          "errors": {
            "description": "List of fields that failed validation",
            "items": {
              "$ref": "#/components/schemas/FieldError"
            },
            "type": "array"
          },
          "instance": {
            "description": "Request trace identifier for support and debugging",
            "example": "urn:omnisend:request:00000000-0000-0000-0000-000000000001",
            "type": "string"
          },
          "status": {
            "description": "HTTP status code",
            "example": 0,
            "type": "integer"
          },
          "title": {
            "description": "Short description of the error type",
            "example": "Problem",
            "type": "string"
          },
          "type": {
            "description": "URI that identifies the error type",
            "example": "https://problems.omnisend.com/problem",
            "type": "string"
          }
        },
        "type": "object"
      }
    }
  }
}
```