Schedule SMS Campaign
Schedule a configured SMS campaign for immediate processing or a future time.
Scheduling requires an SMS sender ID in the workspace, sufficient prepaid SMS balance, and successful automated campaign review. The campaign must have a name, message, and audience.
Endpoint
POST https://api.campaignlark.com/v1/sms-campaigns/:id/schedule
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | required | Campaign ID as a MongoDB ObjectID hex string. |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
schedule_type | string | required | NOW or LATER. |
scheduled_at | string | required for LATER | Future RFC3339 timestamp. |
Sample Request
POST https://api.campaignlark.com/v1/sms-campaigns/64f1a2b3c4d5e6f7a8b9c0d1/schedule
Content-Type: application/json
{
"schedule_type": "LATER",
"scheduled_at": "2025-07-01T09:00:00Z"
}
Response
Success — 200 OK
{
"error": null,
"data": {
"id": "64f1a2b3c4d5e6f7a8b9c0d1",
"status": "QUEUED",
"scheduled_at": "2025-07-01T09:00:00Z"
}
}
For NOW, scheduled_at is omitted from the response.
Errors
| Status | Message | Cause |
|---|---|---|
400 | Invalid request body. | The request body could not be parsed. |
400 | Please provide a campaign ID. | id is missing. |
400 | We could not find the campaign you are looking for. | The ID is malformed or the campaign does not exist in the workspace. |
400 | Invalid schedule type. Must be 'NOW' or 'LATER'. | schedule_type is not supported. |
400 | Scheduled date and time is required when schedule type is 'LATER'. | scheduled_at was omitted for LATER. |
400 | Invalid scheduled date format. Please provide a valid ISO 8601 UTC timestamp. | scheduled_at is not a valid RFC3339 timestamp. |
400 | Scheduled date must be in the future. | The requested time is not in the future. |
400 | Please enter a valid date and time. | The scheduled date could not be parsed while creating the processing job. |
400 | Only draft campaigns can be scheduled. | The campaign is not in DRAFT status. |
400 | Please provide a name for this campaign before scheduling. | The campaign has no name. |
400 | Please provide a message for this campaign before scheduling. | The campaign has no message. |
400 | Please configure an audience for this campaign before scheduling. | The campaign has no audience. |
400 | Please add an SMS sender ID under SMS Marketing before scheduling this campaign. | The workspace has no SMS sender ID. |
400 | We could not check your SMS balance. Please try again later. | The balance could not be checked. |
400 | Your available SMS balance is $<available>, but at least $<minimum> is required to start a campaign. Please visit Billing to top up your SMS balance. | The prepaid SMS balance is below the scheduling minimum. |
400 | We couldn't complete the automated review of this campaign. Please try again in a few minutes. | Automated review could not complete. |
400 | This campaign was flagged by automated review. Please contact support if you believe this is a mistake. | Automated review classified the campaign as spam. |
400 | Failed to queue SMS campaign for processing. | The campaign processing job could not be queued. |