Schedule Campaign
Schedule or immediately send a campaign. The campaign must be in DRAFT status and fully configured (sender identity, audience, and variants with subject + content).
Endpoint
POST https://api.campaignlark.com/v1/campaigns/:id/schedule
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | required | The campaign ID. |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
schedule_type | string | required | NOW to send immediately, or LATER to schedule for a future time. |
scheduled_at | string | required if LATER | ISO 8601 UTC timestamp. Must be in the future. |
Sample Request — Send Now
POST https://api.campaignlark.com/v1/campaigns/64f1a2b3c4d5e6f7a8b9c0d1/schedule
Content-Type: application/json
{
"schedule_type": "NOW"
}
Sample Request — Schedule for Later
POST https://api.campaignlark.com/v1/campaigns/64f1a2b3c4d5e6f7a8b9c0d1/schedule
Content-Type: application/json
{
"schedule_type": "LATER",
"scheduled_at": "2025-08-01T09:00:00Z"
}
Response
Success — 200 OK
{
"error": null,
"data": {
"id": "64f1a2b3c4d5e6f7a8b9c0d1",
"status": "QUEUED",
"scheduled_at": "2025-08-01T09:00:00Z"
}
}
The status will be QUEUED for approved workspaces, or PREPROCESSING for workspaces that require review.
Errors
| Status | Message | Cause |
|---|---|---|
400 | Please provide a campaign ID. | id path param is missing. |
400 | Invalid request body. | Request body could not be parsed. |
400 | Invalid schedule type. Must be 'NOW' or 'LATER'. | schedule_type is invalid. |
400 | Scheduled date and time is required when schedule type is 'LATER'. | scheduled_at is missing for LATER type. |
400 | Invalid scheduled date format. Please provide a valid ISO 8601 UTC timestamp. | scheduled_at is not valid RFC 3339. |
400 | Scheduled date must be in the future. | scheduled_at is in the past. |
400 | We could not find the campaign you are looking for. | Campaign not found. |
400 | Only draft campaigns can be scheduled. | Campaign is not in DRAFT status. |
400 | Please configure a sender identity before scheduling the campaign. | No sender identity configured. |
400 | Please add at least one variant before scheduling the campaign. | Campaign has no variants. |
400 | A/B testing campaigns must have at least two variants before scheduling. | A/B campaign has fewer than 2 variants. |
400 | All variants must have a subject before scheduling the campaign. | A variant is missing a subject. |
400 | All variants must have email content before scheduling the campaign. | A variant is missing body content. |
400 | Please configure an audience before scheduling the campaign. | No audience configured. |