Telegram posting errors and fixes
A Telegram failure is almost always reconnect_required: the bot token was refused, the bot was removed from the chat, it lost its admin rights, or the chat id changed. Add the bot back as an admin (channel) or member (group), then reconnect.
#Errors you can get posting
yeetpost answers with its own code and message. It does not hand back Telegram's own text, so the second column is what yeetpost reads off Telegram's answer. Every body is JSON with an error code and a message; platform_rejected, platform_unavailable and internal_server_error also carry a req_id. Inside a post item the same vocabulary shows up as { "code": ..., "message": ... }.
| yeetpost code | HTTP | What yeetpost reads | What it means | Fix |
|---|---|---|---|---|
reconnect_required | 403 | A 401. The message is "Telegram no longer accepts this connection. Reconnect it in the yeetpost dashboard." | Telegram refused the bot token. | Copy the current token from BotFather and reconnect. Reconnect the account at app.yeetpost.com/app/connections. For a customer's connection, send them through POST /profiles/{profileId}/connect with the connectionId. |
reconnect_required | 403 | A 403 whose description says the bot was kicked or blocked. The message is "The bot was removed from the chat. Add it back, then reconnect." | The bot was removed from the channel or group. | Add the bot back to the chat, then reconnect. |
reconnect_required | 403 | A 400 or 403 whose description says "not a member", "administrator rights" or "chat not found". The message is "The bot can no longer post in this chat. Add it back as an admin, then reconnect." | The bot is still known to Telegram but cannot post to this chat: it was taken out, lost its admin rights, or the chat id points at nothing. | In a channel, make the bot an admin with Post Messages on. In a group, add it as a member. Then reconnect. |
reconnect_required | 403 | A 400 after a group was upgraded to a supergroup, which gives it a new chat id. yeetpost moves the connection to the new id and sends once more; this is what is left when that did not work. The message is "This group was upgraded to a supergroup, which changed its chat id. Reconnect the group in the yeetpost dashboard." | The chat id yeetpost holds no longer exists. | Reconnect the account at app.yeetpost.com/app/connections. For a customer's connection, send them through POST /profiles/{profileId}/connect with the connectionId. |
platform_rejected | 422 | Any other 400 or 403. The message is "Telegram rejected the post." | Telegram refused the message. yeetpost does not read the reason beyond the cases above. | Change the text or the image and post again. Quote the req_id if the refusal looks wrong. |
platform_unavailable | 503 | A 429 or a 5xx. The messages are "Telegram is rate limiting this account, so nothing went out. Send it again later." and "Telegram was busy or down, so nothing went out. Send it again in a bit." platform_status carries the status. | Telegram rate limited the bot or was down. Nothing was posted. | Nothing was posted. Wait a bit, then send it again with a new Idempotency-Key. |
text_too_long | 400 | Nothing: yeetpost checks before it calls Telegram. | "Telegram allows 4,096 characters; the text is {count}." With an image the limit is the caption's: "Telegram allows 1,024 characters when the post has an image; the text is {count}." The field says which part. Only for AI-polished text checked at send time is the wording "Text is too long (max 4,096 characters for Telegram)." or "Text is too long for a Telegram caption (max 1,024 characters with an image)." | Shorten the text, or post it without an image. |
media_unsupported | 400 | Nothing: yeetpost checks before it calls Telegram. "Image {mediaId} is {type}. Telegram takes png and jpeg images." | Telegram photos are png or jpeg only. | Convert the image to png or jpeg. |
platform_rejected | 422 | Telegram refusing a delete, on DELETE /posts/{postId}. | The message is gone already or too old: Telegram's delete window is 48 hours. The post is still up. | Delete it in Telegram. |
internal_server_error | 500 | A timeout or a dead socket, or any other status. The message is "An unexpected error occurred" with a req_id. | The request may or may not have reached Telegram. | Check the account on the platform before sending again. GET /posts/{postId} shows how yeetpost recorded it. Quote the req_id if you report it. |
reconnect_required | 403 | Nothing: yeetpost has no stored login for this connection. | The message is "Telegram's login is missing. Reconnect it to send again." | Reconnect the account at app.yeetpost.com/app/connections. For a customer's connection, send them through POST /profiles/{profileId}/connect with the connectionId. |
platform_unavailable | 503 | Nothing: yeetpost could not get ready to send. | The message is "Telegram was busy or down, so nothing went out. Send it again." Nothing was posted. | Nothing was posted. Wait a bit, then send it again with a new Idempotency-Key. |
internal_server_error | 500 | Nothing readable: something threw after the send to the platform had started. The message is "An unexpected error occurred while sending." with a req_id. | The post may already be live on Telegram. | Check the platform before sending again: a blind resend can post twice. GET /posts/{postId} shows how yeetpost recorded it. Quote the req_id if you report it. |
Codes that are not about one platform (invalid_request, invalid_connection, idempotency_key_conflict, the rate limit and the rest) are on Errors.
#Errors when connecting
Connecting happens on a screen, not through the posting endpoint. These are the answers it gives. A wrong entry leaves the connect link open for another try.
| Message | What it means | Fix |
|---|---|---|
| Telegram did not accept that bot token. Copy it again from BotFather. (telegram_invalid_token) | The token is wrong or revoked. | Copy it again from BotFather. It looks like 123456789:AAH4k... |
| Telegram cannot find that channel or group. (telegram_channel_not_found) | Telegram does not know that chat, or the bot is not in it. | Check the spelling and that the bot is already in it. For a private channel, paste a link to one of its posts. |
| The bot can't post yet. (telegram_bot_not_admin, telegram_bot_not_member) | The bot cannot post in that chat. | In a channel, make it an admin with Post Messages on. In a group, add it as a member. |
| That is a private chat. (telegram_private_chat) | yeetpost posts to channels and groups, not one-to-one chats. | Connect a channel or group. |
| That is an invite link, which bots cannot open. (invalid telegram invite link) | A bot cannot resolve an invite link to a chat. | Paste a link to a post, the @username, or the group ID instead. |
| This bot already has a webhook set up elsewhere. (telegram_webhook_set) | yeetpost cannot look up where the bot was added when the bot has a webhook elsewhere. | Paste the channel or group yourself. |
| Add the bot to your channel or group first. (telegram_no_chat_found) | Autodetection found no chat the bot belongs to. | Add the bot to the chat, then press Connect again, or paste its link. |
| Telegram is not answering right now. (telegram_unreachable) | Telegram did not answer the connect request. | Try again in a minute. |
| Too many tries. (429) | The connect screen allows ten attempts in an hour. | Wait an hour, then try again. |
#Reconnecting
reconnect_required and, inside a post item, unauthorized both mean the stored login is dead. Nothing in the request will fix it. Reconnect the account at https://app.yeetpost.com/app/connections. For a customer's connection under a profile, send them through POST /profiles/{profileId}/connect and pass the connectionId. GET /connections shows each connection's status: active, expiring or reconnect_required. The connection.reconnect_required webhook fires the moment yeetpost learns the login is dead.
#More
Last verified 2026-10-29