Skip to content

winner_selected

POST

Sent when a draw picks winners: one you triggered, one that ran on schedule, or one that ran at the end of a play. Signed and retried as described under session_completed.

X-Keliplay-Signature
required
string

t=<unix seconds>,v1=<hex HMAC-SHA256 of "<t>.<raw body>">, keyed with the endpoint secret.

Example
t=1760277802,v1=5f2b7c0e9a1d4b3c8e6f0a2d4c6b8e0f1a3c5e7092b4d6f8a0c2e4b6d8f0a1c3
X-Keliplay-Event
required
string
Allowed values: session_completed winner_selected reward_granted

The event type, the same as type in the body.

X-Keliplay-Delivery-Id
required
string

Unique per delivery, and the same on every retry of it.

Media typeapplication/json
object
type
required
string
Allowed values: session_completed winner_selected reward_granted
createdAt
required
string format: date-time
data
required
object
type
required
Allowed value: winner_selected
data
required
object
gameInstanceId
required
string
runId
required
string
winners
required
Array<object>
object
participantRef
required
string
rank
required
integer
entryId
required
string
prize
required
One of:

What the campaign is giving away, as shown to winners.

object
label
required
string
>= 1 characters
description
string
externalRef

Your own reference for the prize, such as a SKU.

string
Example
{
"type": "winner_selected",
"createdAt": "2026-10-31T18:00:01.000Z",
"data": {
"gameInstanceId": "0192f3a1-0000-7000-8000-0000000ca001",
"runId": "0192f3a1-0000-7000-8000-0000000d0001",
"winners": [
{
"participantRef": "user_48213",
"rank": 1,
"entryId": "0192f3a1-0000-7000-8000-0000000f0001",
"prize": {
"label": "Free coffee"
}
}
]
}
}

Any 2xx tells Keliplay the delivery arrived.