Loyalty
Get a campaign
Fetch a single wallet marketing campaign, including its targeting, message content, schedule and lifecycle status. The isStranded and scheduleJobLost flags reflect the live BullMQ job state (this endpoint only, at most one Redis read): isStranded when a sending campaign has no worker draining it, scheduleJobLost when a past-due scheduled campaign lost its delayed trigger (auto-recovered hourly). They may differ briefly from the list view, which never computes them.
get/v1/loyalty/campaigns/{id}
Request
- Base URL: https://api.prod.keyban.io
- URL: https://api.prod.keyban.io/v1/loyalty/campaigns/{id}
- Auth: API key in header X-Api-Key
Path parameters
idstring uuid required
Campaign ID
Response
Campaign retrieved successfully
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.