Skip to content
TipPage Docs
Esc
navigateopen⌘Jpreview

Create a manual tip

Add a tip with no payment attached - the same thing as the dashboard’s manual-tip form. It enters the TTS queue (and the media queue when media_url is given) and plays like any other tip, with TTS pre-rendered. Manual tips deliberately skip the word filter (the author is trusted) and don’t touch the leaderboard or tip goal (no money moved). Fires tip.created with source: "api". Requires tips:create.

POST/tips
Authorization
AuthorizationBearer token (tp_live_...) · headerrequired
A TipPage API key, created in Dashboard → Settings → Developer.
Request body
requiredapplication/json
namestringrequired
The display name shown on stream.
max length 22
amountnumberrequired
Displayed amount, in the streamer's currency.
min 0 · max 100000
messagestring
max length 255
media_urlstring<uri>
Optional video to queue alongside (YouTube supported).
media_start_timeinteger
Video start offset in seconds.
min 0 · default: 0
Responses
201Tip queued.
successboolean
order_idstring
media_queuedboolean
Whether a media item was queued alongside.
400Validation failed (name/amount/message/media URL).
errorstringrequired
Human-readable message.
codestring
Machine-readable code (e.g. `missing_scope`, `not_in_queue`).
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/tips" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "string",
  "amount": 100000,
  "message": "string",
  "media_url": "http://example.com",
  "media_start_time": 0
}'
Response
{
  "success": true,
  "order_id": "api_1755115200000_x1y2z3",
  "media_queued": true
}