What's playing right now
The TTS currently claimed as playing, if any. TTS audio has no known duration, so there is no live position - started_at is when the claim was made, which is enough to spot a consumer that died mid-item. Requires tts:read.
GET
/tts/nowAuthorization
AuthorizationBearer token (tp_live_...) · headerrequiredA TipPage API key, created in Dashboard → Settings → Developer.
Responses
200Current playback state.
playingbooleanA TTS is claimed as playing right now.
is_pausedbooleantipQueueTip | anyShow propertiesHide properties
One of:
QueueTip
order_idstringnamestringDisplay name (post-filter).
amountnumber | nullmessagestring | nullThe tip message (post-filter - what shows on stream).
tts_urlstring<uri> | nullPre-rendered audio; `null` until rendering completes.
is_replaybooleanis_sub_rewardbooleantwitch_user_idstring | nullPresent when the donor tipped signed in with Twitch.
name_was_filteredbooleanmessage_was_filteredbooleanqueued_atstring<date-time>any
anystarted_atstring<date-time> | nullWhen the current TTS was claimed.
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_scopestring429Rate limit exceeded - check the `RateLimit-*` headers.
errorstringRequest
curl -X GET "https://api.tippage.com/v1/tts/now" \
-H "Authorization: Bearer YOUR_TOKEN"const response = await fetch("https://api.tippage.com/v1/tts/now", {
method: "GET",
headers: {
"Authorization": "Bearer YOUR_TOKEN"
}
});import requests
response = requests.get(
"https://api.tippage.com/v1/tts/now",
headers={
"Authorization": "Bearer YOUR_TOKEN"
},
)Response
{
"playing": true,
"is_paused": true,
"tip": {
"order_id": "tip_1755100000000_ab12cd",
"name": "string",
"amount": 5,
"message": "string",
"tts_url": "http://example.com",
"is_replay": true,
"is_sub_reward": true,
"twitch_user_id": "string",
"name_was_filtered": true,
"message_was_filtered": true,
"queued_at": "2019-08-24T14:15:22Z"
},
"started_at": "2019-08-24T14:15:22Z"
}{
"error": "string",
"code": "string"
}{
"error": "string",
"code": "string",
"required_scope": "string"
}{
"error": "string"
}