ClippedDocs

Good to know

Errors

Every failure is JSON of the same shape: { "error": { "code": "…", "message": "…" } }. The code is stable and worth branching on; the message is for a person reading a log, and says what to do.

A thing belonging to another account answers 404, not 403: whether an id exists is not something to confirm to whoever asks.

Every code

Codes

no_key · bad_key401

No key sent, or one that isn't valid (it may have been revoked).

plan_required402

The plan doesn't include this — watching streamers needs a paid one.

rate_limited429

Over the rate limit. Wait Retry-After seconds.

bad_json400

The body isn't JSON.

no_channel · bad_channel400

No channel given, or one that isn't a channel.

bad_setting400

A setting or streamer rule that can't be taken; the message says which.

bad_webhook400

A webhook URL that isn't public https, or events that don't exist.

bad_id · bad_cursor · bad_limit400

A clip id, cursor or limit that isn't one of ours.

bad_destination400

Not somewhere clips can be posted.

no_clip · no_file · not_found404

No such clip, file or webhook — or not yours.

not_following403

A live feed for a streamer you don't follow. Follow them first.

no_feed404

A live feed that isn't analysis, transcript or chat.

too_many_feeds429

60 live feeds open on this account already. Close one first.

cutting409

Posting a clip that is not cut yet. The cut has started; post it again in about a minute.

publish_failed409

The destination refused, or nothing is connected there. The message is theirs.

not_configured503

Posting to that destination isn't set up on this server.

internal500

Our fault. Nothing about it is in the message, on purpose.