Skip to content
TipPage Docs
Esc
navigateopen⌘Jpreview

Finish a TTS

Promotes the TTS from queue to history and frees the now-playing slot (when it points at this one). Fires queue.tts.finished. Idempotent - finishing an already-gone TTS succeeds with tip: null. Finishing means “this played” - if it didn’t (your effect failed), use release to put it back instead. Requires tts:control.

POST/tts/{orderId}/finish
Authorization
AuthorizationBearer token (tp_live_...) · headerrequired
A TipPage API key, created in Dashboard → Settings → Developer.
Path parameters
orderIdstringrequired
The tip's order id (e.g. `tip_1755100000000_ab12cd`) - the only external row reference.
Responses
200Finished.
successboolean
tipQueueTip | any
Show properties
One of:
QueueTip
order_idstring
namestring
Display name (post-filter).
amountnumber | null
messagestring | null
The tip message (post-filter - what shows on stream).
tts_urlstring<uri> | null
Pre-rendered audio; `null` until rendering completes.
is_replayboolean
is_sub_rewardboolean
twitch_user_idstring | null
Present when the donor tipped signed in with Twitch.
name_was_filteredboolean
message_was_filteredboolean
queued_atstring<date-time>
any
any
401Missing or invalid API key (`missing_api_key` / `invalid_api_key`).
errorstringrequired
Human-readable message.
codestring
Machine-readable code (e.g. `missing_scope`, `not_in_queue`).
403The key lacks the required scope (`missing_scope`).
errorstringrequired
Human-readable message.
codestring
Machine-readable code (e.g. `missing_scope`, `not_in_queue`).
required_scopestring
429Rate limit exceeded - check the `RateLimit-*` headers.
errorstring
Request
curl -X POST "https://api.tippage.com/v1/tts/string/finish" \
  -H "Authorization: Bearer YOUR_TOKEN"
Response
{
  "success": 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"
  }
}