Skip to content
TipPage Docs
Esc
↑↓navigate↵open⌘Jpreview

Skip the currently-playing media

Pass order_id to pin the request to THAT item, so a request that lands after it has already finished can’t skip the next one; omit it to skip whatever is playing. In linked mode the unit (TTS and media) is skipped together. Requires media:control.

POST/media/skip
Authorization
AuthorizationBearer token (tp_live_... or tpat_...) · headerrequired
A TipPage API key (`tp_live_...`, created in Dashboard → Settings → Developer) or an OAuth 2.0 access token (`tpat_...`, see the OAuth guide). Both carry the same scopes and are accepted on every endpoint.
Request body
application/json
order_idstring
The item to skip (from `/media/now`). Omit to skip whatever is playing.
Responses
200Skipped (a no-op when nothing was playing and no `order_id` was given).
successboolean
skipped_order_idstring | null
The media item that was on screen, if any.
401Missing or invalid credential (`missing_api_key` / `invalid_api_key`, or `invalid_token` for an expired/revoked OAuth access token).
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
409`not_playing` - the `order_id` named has already finished (`current_order_id` says what is playing now, or null). `skip_disabled` - skipping is locked on this channel.
errorstringrequired
Human-readable message.
codestring
Machine-readable code (e.g. `missing_scope`, `not_in_queue`).
current_order_idstring | null
429Rate limit exceeded - check the `RateLimit-*` headers.
errorstring
Request
curl -X POST "https://api.tippage.com/v1/media/skip" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "order_id": "string"
}'
Response
{
  "success": true,
  "skipped_order_id": "string"
}