Loyalty
Schedule a campaign
Schedule a draft campaign for a future send. The campaign is validated (draft status, message content present), transitions to scheduled, and a delayed job fires at sendAt to start the send automatically. Returns 202 with the campaign in scheduled. A past or present sendAt is accepted and triggers an immediate send (flagged by scheduledImmediately on the response). The schedule can be cancelled back to draft with POST /:id/cancel before it fires.
post/v1/loyalty/campaigns/{id}/schedule
Request
- Base URL: https://api.prod.keyban.io
- URL: https://api.prod.keyban.io/v1/loyalty/campaigns/{id}/schedule
- Auth: API key in header X-Api-Key
Path parameters
idstring uuid required
Campaign ID
Request body
Example request
{
"sendAt": "2026-07-15T09:00:00Z"
}Response
Campaign accepted for scheduling
Example response
{
"application": "550e8400-e29b-41d4-a716-446655440000",
"name": "Summer menu launch",
"description": "Promote the new summer menu to recent visitors.",
"channels": [
"google",
"apple"
],
"targeting": {
"minPoints": 100,
"maxPoints": 500,
"minVisits": 3,
"rewardTierIds": [
"550e8400-e29b-41d4-a716-446655440000"
]
},
"content": {
"header": "New summer menu",
"body": "Come and taste our new summer menu this week."
},
"sendAt": "2026-06-23T10:00:00Z",
"status": "draft",
"audienceSnapshotCount": 1234,
"conversionWindowDays": 7,
"sentAt": "2026-06-15T14:30:00Z",
"scheduledImmediately": true
}Changes
No recorded changes to this operation across all 1 revision of this API.