Loyalty
Send a campaign
Trigger the immediate send of a draft campaign. The campaign is validated (draft status, message content present), its targeted-audience size is frozen, it transitions to sending, and the deliveries are dispatched asynchronously. Returns 202 with the campaign already in sending — per-recipient consent and frequency-cap checks then run in the background, recording each outcome. An empty audience is accepted and simply finishes immediately. Sending is irreversible.
post/v1/loyalty/campaigns/{id}/send
Request
- Base URL: https://api.prod.keyban.io
- URL: https://api.prod.keyban.io/v1/loyalty/campaigns/{id}/send
- Auth: API key in header X-Api-Key
Path parameters
idstring uuid required
Campaign ID
Response
Campaign accepted for sending
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.