Use a non-destructive workflow: import the existing menu, but publish the revision under a new Rich Menu ID.
Check eligibility before retrieval
The menu must have been created with the Messaging API and belong to the channel represented by the access token. OA Manager menus are not returned by the list endpoint.
Use a temporary token for the target channel. Revoke or rotate it after use if it was ever shared through an unsafe channel.
The API sequence
Keep each API stage explicit so failures can be traced to metadata, image transfer, validation, or publishing.
- GET /v2/bot/richmenu/list — list API-created menus
- GET /v2/bot/richmenu/{id} — retrieve areas and actions
- GET api-data.line.me/.../content — download the image
- Edit bounds and actions on the canvas
- POST /v2/bot/richmenu/validate — validate JSON
- Create a new menu, upload its image, and set it as default when ready
Why publishing creates a new ID
LINE does not allow replacing an image already attached to a Rich Menu. Image or layout changes should therefore create a new menu object, upload a new image, and switch the default. The original remains available for rollback.
Dragging areas on the canvas does not mutate the live menu. Production changes occur only after publishing and confirming the default assignment.
Checklist before switching the default
After changing the default, users need to reopen the chat and the change can take a short time. Verify again before removing the original.
- Every area stays inside the image and has no accidental overlap
- Chat bar text is at most 14 characters
- URLs use HTTPS and correct UTM parameters
- Postback actions have a webhook handler
- Test with a real account on a phone
- Record both old and new Rich Menu IDs for rollback
Official references
Confirm the latest official specification before using a workflow in a critical system.
Ready to map it on a canvas?
Drag, move, and resize action areas, then validate the JSON before publishing.
Open Studio →