Buko Docs

Errors & Limits

Error envelope

{
  "ok": false,
  "error_code": 403,
  "code": "CHAT_FORBIDDEN",
  "description": "User has not started this bot."
}

error_code mirrors the HTTP status code. code is stable enough for program logic. description is for humans and may change.

Common errors

HTTPCodeMeaning
400BAD_REQUESTMissing or invalid parameters.
401UNAUTHORIZEDMissing, malformed, unknown, disabled, or owner-banned bot token.
403CHAT_FORBIDDENBot cannot send to this chat.
403BOT_BLOCKEDUser or bot has blocked the other side.
403METHOD_NOT_ALLOWED_FOR_TIERBot tier does not allow this method.
403MESSAGE_FORBIDDENBot tried to edit/delete a message it does not own.
404CHAT_NOT_FOUNDTarget chat does not exist or is invisible to the bot.
409GATEWAY_ACTIVEPolling is not allowed while Gateway is active.
413PAYLOAD_TOO_LARGEUploaded media exceeds the method limit.
429RATE_LIMITEDPer-minute or daily quota exceeded.
500INTERNALTemporary server failure.

Rate-limit errors include retry_after seconds when available.

Default quota tiers

Quotas are intentionally conservative and may change while Bot API is in early access.

TierMessages / minMessages / dayPolls / minPolls / dayChat actions / minEdit/delete
free201,0003010,00060no
pro6010,0006050,000180yes
team10025,000100100,000300yes
official12050,000120200,000600yes

Gateway connection attempts are also rate-limited per minute. The number of simultaneous Gateway connections is configured per bot by the platform.

Retry guidance

Idempotency

Update delivery is at least once. Deduplicate received updates by update_id.

Send APIs are not idempotent by default. If your agent may retry after a network timeout, keep your own outgoing operation id and avoid sending duplicate user visible messages.