Mark a redemption fulfilled
Resolves the redemption as FULFILLED on Twitch - the viewer’s points stay spent and the redemption leaves the Twitch rewards queue. Call this when your automation completed the redeemed action. Requires channel_points:manage and a TipPage-managed reward. Idempotent: repeating the call returns already_resolved: true.
POST
/channel-points/redemptions/{redemptionId}/fulfillAuthorization
AuthorizationBearer token (tp_live_...) · headerrequiredA TipPage API key, created in Dashboard → Settings → Developer.
Path parameters
redemptionIdstringrequiredThe Twitch redemption id (UUID) - `data.redemption_id` on the `twitch.channel_point_redemption` webhook.
max length 64
Responses
200The redemption was resolved (or already was).
successbooleanstatusstringAllowed:
fulfilledcanceledalready_resolvedbooleanThis redemption had already been resolved to this status.
401Missing or invalid API key (`missing_api_key` / `invalid_api_key`).
errorstringrequiredHuman-readable message.
codestringMachine-readable code (e.g. `missing_scope`, `not_in_queue`).
403The key lacks the required scope (`missing_scope`).
errorstringrequiredHuman-readable message.
codestringMachine-readable code (e.g. `missing_scope`, `not_in_queue`).
required_scopestring404Unknown redemption id for this channel.
409Not resolvable - `code` says why: `reward_not_managed` (reward wasn't created by TipPage), `already_resolved` (resolved the other way), `song_request_active` (the song-request flow owns it), or `twitch_rejected` (Twitch refused the update).
429Rate limit exceeded - check the `RateLimit-*` headers.
errorstring502Twitch was unreachable or errored - retry shortly.
Request
curl -X POST "https://api.tippage.com/v1/channel-points/redemptions/string/fulfill" \
-H "Authorization: Bearer YOUR_TOKEN"const response = await fetch("https://api.tippage.com/v1/channel-points/redemptions/string/fulfill", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_TOKEN"
}
});import requests
response = requests.post(
"https://api.tippage.com/v1/channel-points/redemptions/string/fulfill",
headers={
"Authorization": "Bearer YOUR_TOKEN"
},
)Response
{
"success": true,
"status": "fulfilled",
"already_resolved": true
}{
"error": "string",
"code": "string"
}{
"error": "string",
"code": "string",
"required_scope": "string"
}Unknown redemption id for this channel.
Not resolvable - `code` says why: `reward_not_managed` (reward wasn't created by TipPage), `already_resolved` (resolved the other way), `song_request_active` (the song-request flow owns it), or `twitch_rejected` (Twitch refused the update).
{
"error": "string"
}Twitch was unreachable or errored - retry shortly.