Error codes
Every error this API can return. Each one carries a code, which is the stable key to switch on, and a title, which is written for a person and may be reworded or translated. Switch on the code.
Read from the constants the server uses, so this page cannot drift from the running code — a build fails if a code exists without an entry here, or an entry describes an error that cannot happen.
401 · Not signed in
403 · Not allowed
- bite_refusedA Bite, Note, reply, counter-take or defence was refused by the same classifier chat uses. It was never stored.
- chat_disabledChat is off — either platform-wide, or for this session because whoever runs it turned it off.
- chat_lockedA host locked this room's chat.
- comment_refusedThe comment was refused before it was stored.
detailsays which rule it hit. - dm_blockedOne of you has blocked or muted the other, so no conversation can be started or continued.
- dm_refusedThat message was refused by the classifier — threats and doxxing are refused in private as in public. It was never delivered.
- forbiddenThe account is real and does not have access to this particular thing.
- members_onlyThat is a Buni Verified member feature — a view or a tool. It is never weight: nothing a member gets changes a vote, a result or a score.
- message_refusedThe message was refused before it was stored.
detailsays which rule it hit. - reauth_requiredA destructive action was attempted by an account that has not confirmed its identity recently. Being signed in is not enough for this one.
- timed_outYou are timed out of this room.
detailsays until when.
404 · Not found
409 · Conflicts with the current state
- already_a_creatorThis account already holds a creator handle. A handle is permanent and bound to one account.
- already_challengedYou have already challenged this argument and it is still waiting for an answer.
- already_memberThis account already has a Buni Verified membership that renews on its own.
- already_stakedA host records their call once, before any vote is cast. This session already has one.
- already_startedThis has already begun and cannot be begun twice.
- already_votedOne vote per person per session. The vote you already cast is in
meta.existing_vote. - announcement_not_dismissibleWhoever published that announcement marked it as one nobody may dismiss — it is the page rather than a notice on it.
- bite_expiredThat Bite's 24 hours are over and the Arena did not keep it, so it cannot be reacted to, replied to or challenged. A kept Bite can still be reacted to and replied to, but challenges are for live takes only.
- cannot_challenge_yourselfYou pressed Challenge on your own argument.
- cannot_judge_own_clashYou are one of the two people in this clash, and the room decides who won it.
- cannot_sanction_yourselfYou cannot suspend or ban your own account.
- category_in_useThe category is referenced by sessions, subjects or reason tags.
metacarries the counts. - challenge_unavailableThat Bite challenge is no longer open: it was answered, withdrawn or it lapsed — or it was never yours to answer.
- challenge_voting_closedThe room's day to pick a side in that challenge is over.
- clash_in_progressThere is already a clash running in this room.
- clash_not_liveThat clash is not running: it has not been accepted yet, or every round is done.
- clash_unavailableThat challenge is no longer open: it was answered, withdrawn, or it expired — or it was never yours to answer.
- clash_voting_closedThe room's voting window on that clash has closed, or it is not running yet.
- commenting_too_fastComments have a pace limit per session, separate from the rate limit: it is about the conversation rather than about load.
- comments_closedComments are not open on this session.
- conflictThe request is valid but conflicts with the current state of the thing it is about.
- creator_revokedCreator access has been withdrawn from this account. Sessions it already ran still stand; it cannot start new ones.
- creator_signup_closedClaiming a creator handle is switched off right now.
- criteria_not_metVerification has criteria that are not all met yet. The checklist reports how far along each one is, rather than a bare pass or fail.
- dm_request_pendingYou have already sent this person a message request, and a request carries one message until they answer it. Also returned when you try to accept or decline a request that is not waiting on you.
- dm_too_fastDirect messages have a per-minute pace, separate from the rate limit.
- email_requiredPaying needs an email address for the receipt, and this account has none.
- event_not_endableThis event cannot be ended: it was cancelled, or it has already finished.
- event_not_endedThe evening is still running, and a recap is written once it is over.
- event_not_liveThe evening is not running, and this action needs it to be.
- event_not_startableOnly a scheduled event can go live, and this one is a draft, cancelled, or already finished.
- gif_search_disabledThis deployment has no GIF search provider configured, so there is nothing to search. Stickers and uploaded GIFs are unaffected.
- handle_reservedThat handle is held back and cannot be claimed. Which ones, and why, is deliberately not said: naming the rule would name the handles worth trying next.
- handle_takenSomebody else already has that handle.
- identity_already_passedThis account's identity is already checked. A new check is not needed and would use up an attempt.
- identity_attempts_exhaustedThis account has used every identity check allowed in the window. Each check costs a fee whether it passes or not, so they are limited.
- identity_in_progressAn identity check on this account is still being decided — by the provider, or by staff reviewing the name.
- identity_requiredThis needs a passed identity check first. Payment is never taken for a badge that cannot yet be shown.
- intent_expiredA vote intent is short-lived on purpose: it is what lets someone tap before signing in without their choice being held indefinitely. This one aged out.
- last_superadminThat is the last superadmin, and this would leave nobody who can grant the role back — either by removing it, or by erasing the account that holds it.
- media_disabledUploads are switched off platform-wide.
- membership_revokedBuni Verified was removed from this account by staff. The reason they gave is on the membership page.
- moderator_limitThis session already holds as many moderators as it may.
- no_ballotYou asked to show your pick on a message, and there is no pick to show — either you have not voted in this session, or this deployment cannot check.
- not_a_draftThis action only applies to a draft, and the session has moved past that.
- not_awaiting_reviewThis session is not in the post-hoc queue, or has already been cleared out of it.
- not_in_reviewThat identity check is not waiting for a name decision — it was decided already, or never needed one.
- not_liveThe session is not on air. Being open and being live are two different things — one is whether votes count, the other is whether a host is broadcasting.
- not_memberThere is no live Buni Verified membership on this account for that to act on.
- not_openThe session is not open, and this action needs it to be.
- not_pendingThe session is not awaiting review — most often because somebody has already reviewed it.
- not_revocableThat account has no Buni Verified membership, or it is already revoked.
- not_revokedThat account's Buni Verified membership is not revoked, so there is nothing to restore.
- not_verifiableThis account cannot be verified — a recent sanction blocks it regardless of the other numbers.
- not_verifiedThe account is not verified, and this action needs it to be.
- not_your_turnIt is the other person's turn.
- own_challengeYou are one of the two people in that challenge, and the fighters never judge their own battle.
- posting_too_fastBites, Notes and replies have a pace limit per person, separate from the rate limit: it is about every session's rail rather than about load.
- push_disabledPush notifications are switched off platform-wide.
- reason_tag_in_useVotes already carry that Why Tag, so it cannot be deleted.
- season_not_liveThe season is not running, and this action needs it to be.
- season_overlapSeasons in one scope may not overlap in time, and the dates asked for collide with an existing one.
- season_startedThe season has begun, and this action is only allowed before it does.
- session_creation_disabledThe path you used to create a session is switched off — open submissions and creator sessions are separately gated, and either can be off.
- session_not_openThe session is not taking this action right now: it has closed, has not opened, or is no longer editable.
- show_not_activeThat programme is not running, so it books no further episodes.
- slow_modeA host turned on slow mode, and your last message was too recent for it.
- support_closedThe help desk is switched off on this deployment. Nothing about your message was wrong.
- support_signin_requiredThis deployment takes support tickets from signed-in people only. The anonymous route is closed, usually because it was being abused.
- support_ticket_closedThat ticket is closed, and a closed ticket takes no further replies.
- template_emptyThat template has no questions, so instantiating it would produce an evening with nothing in it.
- template_too_longThat template does not fit in one evening: either more questions than an event may hold, or a running order longer than twelve hours.
- too_much_mediaYou have put more pictures, GIFs or voice notes into this room in the last minute than it will take. Slow mode counts messages; this counts the things themselves, because four pictures on one message is one message.
- topic_limitThat topic cannot be started: you have started as many as you may in this room, or the room holds as many topics as it can.
- turn_timed_outYour turn ran out of time before you sent it, so it was skipped.
- video_disabledThis deployment cannot make video — it has no transcoder, or no queue to run one on. An operator's problem rather than anything about the file.
- voice_disabledThis deployment has no transcoder, so a recording cannot be turned into the one format every browser can play. An operator's problem rather than anything about the recording.
- voting_closedThe voting window has ended.
- voting_startedVoting has begun, and this action is only allowed before the first vote — a host's stake, most often.