LINE Messaging API · error code

LINE error 403: the richmenu is owned by another channel

ConfigurationHTTP 403Rich menu errors

Last verified against LINE Developers - Messaging API reference (error responses)

What LINE returns
the richmenu is owned by another channel

What error 403 means

You asked for the default rich menu ID (GET /v2/bot/user/all/richmenu) and LINE refused because the default rich menu wasn't set through your channel. The documented 403 row: "The default rich menu is set by another channel, such as LINE Official Account Manager."

A LINE Official Account can get rich menus from two places: the Messaging API and the LINE Official Account Manager web interface. The reference ranks them: API per-user links win, then an API-set default, and the Manager's default comes last. Menus created in the Manager aren't visible to your API channel as resources you own, so asking for their ID returns this 403 rather than an ID you could act on.

Nothing is broken with your token or channel. The practical meaning is: the menu users see right now was configured by someone in the Manager UI, and your bot doesn't control it. If you want your API-managed menu to win, set your own default rich menu with the Messaging API; it outranks the Manager's default.

What it looks like

// If the default rich menu is set by another channel (403 Forbidden)
{
  "message": "the richmenu is owned by another channel",
  "details": []
}

Why it happens

  • A marketer or admin configured the rich menu in LINE Official Account Manager instead of through the API.
  • The account switched from Manager-based menus to an API-based bot and the old menu is still active.
  • Your code assumes it can read and manage whatever default menu exists.

How to fix LINE error 403

  1. 1Create your own rich menu with the API, upload its image, and set it with POST /v2/bot/user/all/richmenu/{richMenuId}; the API default takes priority over the Manager's.
  2. 2If you want the Manager's menu, leave it alone and don't try to manage it from code.
  3. 3Agree with whoever runs LINE Official Account Manager which side owns rich menus, so the two don't fight.
  4. 4Handle this 403 in code as "default menu is externally managed" rather than as a failure.

How to stop it recurring

Pick one owner for rich menus per account and document it. If your bot owns them, set an API default during deployment so the Manager's menu never shows, and keep per-user links for personalized menus. If the business team owns them in the Manager, keep your code out of default-menu management entirely.

Official reference: LINE Developers - Messaging API reference (error responses). See all LINE error codes or the LINE limits and quotas.

Related codes

Error 403 - quick answers

What does LINE error 403 mean?

You asked for the default rich menu ID ( GET /v2/bot/user/all/richmenu ) and LINE refused because the default rich menu wasn't set through your channel. The documented 403 row: "The default rich menu is set by another channel, such as LINE Official Account Manager." A LINE Official Account can get rich menus from two places: the Messaging API and the LINE Official Account Manager web interface.

How do I fix LINE error 403?

1. Create your own rich menu with the API, upload its image, and set it with POST /v2/bot/user/all/richmenu/{richMenuId}; the API default takes priority over the Manager's. 2. If you want the Manager's menu, leave it alone and don't try to manage it from code. 3. Agree with whoever runs LINE Official Account Manager which side owns rich menus, so the two don't fight. 4. Handle this 403 in code as "default menu is externally managed" rather than as a failure.

Stop debugging LINE by hand

Connect the channel through Conferbot: tokens, webhooks and retries are handled, failures show as readable status.