LINE · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for LINE Messaging Messaging API

69 actions 69 updates phrasing extends openapi/line-messaging-api-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for LINE's API. It is a proposal applied on top of the contract, not a document LINE publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 69 · first 16 shown; the file carries all of them

$.info
$.paths['/v2/bot/channel/webhook/endpoint'].get
$.paths['/v2/bot/channel/webhook/endpoint'].put
$.paths['/v2/bot/channel/webhook/test'].post
$.paths['/v2/bot/message/reply'].post
$.paths['/v2/bot/message/push'].post
$.paths['/v2/bot/message/multicast'].post
$.paths['/v2/bot/message/narrowcast'].post
$.paths['/v2/bot/message/progress/narrowcast'].get
$.paths['/v2/bot/message/broadcast'].post
$.paths['/v2/bot/message/quota'].get
$.paths['/v2/bot/message/quota/consumption'].get
$.paths['/v2/bot/message/delivery/reply'].get
$.paths['/v2/bot/message/delivery/push'].get
$.paths['/v2/bot/message/delivery/multicast'].get
$.paths['/v2/bot/message/delivery/broadcast'].get

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for LINE Messaging Messaging API
  version: 1.0.0
extends: openapi/line-messaging-api-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 68
- target: $.paths['/v2/bot/channel/webhook/endpoint'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the bot's webhook endpoint settings
      effect: read
      questions:
      - What webhook URL is my LINE bot currently set to?
      - Is the webhook turned on for my channel right now?
      instructions:
      - text: Show my channel's current webhook endpoint.
      - text: Tell me whether webhook delivery is active and to which URL.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/channel/webhook/endpoint'].put
  update:
    x-apievangelist-phrasing:
      intent: Set the bot's webhook endpoint URL
      effect: write
      questions:
      - How do I change the webhook URL my bot receives events on?
      - Can I point my channel's webhook at a new HTTPS endpoint programmatically?
      instructions:
      - text: Set my webhook endpoint to {endpoint}.
        slots:
          endpoint: requestBody.endpoint
      - text: Change the bot's event callback URL to {endpoint}.
        slots:
          endpoint: requestBody.endpoint
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/channel/webhook/test'].post
  update:
    x-apievangelist-phrasing:
      intent: Send a test event to a webhook endpoint
      effect: write
      questions:
      - Can I check that my webhook server responds correctly before going live?
      - Is it possible to test a webhook URL other than the one saved on the channel?
      instructions:
      - text: Test my configured webhook endpoint.
      - text: Send a test webhook request to {endpoint}.
        slots:
          endpoint: requestBody.endpoint
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/message/reply'].post
  update:
    x-apievangelist-phrasing:
      intent: Reply to a user's event with messages
      effect: write
      questions:
      - How do I answer a message a user just sent to my bot?
      - What is a reply token and how long can I use it to respond?
      instructions:
      - text: Reply to reply token {replyToken} with {messages}.
        slots:
          replyToken: requestBody.replyToken
          messages: requestBody.messages
      - text: Respond silently with {messages} using reply token {replyToken}, notification disabled {notificationDisabled}.
        slots:
          messages: requestBody.messages
          replyToken: requestBody.replyToken
          notificationDisabled: requestBody.notificationDisabled
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/message/push'].post
  update:
    x-apievangelist-phrasing:
      intent: Push a message to one user, group or chat
      effect: write
      questions:
      - Can my bot message a single user or group whenever it wants, without a reply token?
      - How do I safely retry a push message without sending it twice?
      instructions:
      - text: Push {messages} to {to}.
        slots:
          messages: requestBody.messages
          to: requestBody.to
      - text: Send {messages} to group {to} with retry key {X-Line-Retry-Key}.
        slots:
          messages: requestBody.messages
          to: requestBody.to
          X-Line-Retry-Key: header.X-Line-Retry-Key
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/message/multicast'].post
  update:
    x-apievangelist-phrasing:
      intent: Send the same message to a list of user IDs
      effect: write
      questions:
      - Can I send one message to several specific user IDs in a single call?
      - Does multicast work for group chats or only individual users?
      instructions:
      - text: Multicast {messages} to user IDs {to}.
        slots:
          messages: requestBody.messages
          to: requestBody.to
      - text: Send {messages} to users {to} tagged with aggregation units {customAggregationUnits}.
        slots:
          messages: requestBody.messages
          to: requestBody.to
          customAggregationUnits: requestBody.customAggregationUnits
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/message/narrowcast'].post
  update:
    x-apievangelist-phrasing:
      intent: Send a message to a filtered audience segment
      effect: write
      questions:
      - How do I send a message only to friends matching demographics or an audience?
      - Can I cap how many recipients a targeted narrowcast reaches?
      instructions:
      - text: Narrowcast {messages} to recipients {recipient}.
        slots:
          messages: requestBody.messages
          recipient: requestBody.recipient
      - text: Send {messages} to friends matching demographic filter {filter}, capped at {limit}.
        slots:
          messages: requestBody.messages
          filter: requestBody.filter
          limit: requestBody.limit
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/message/progress/narrowcast'].get
  update:
    x-apievangelist-phrasing:
      intent: Check the progress of a narrowcast send
      effect: read
      questions:
      - Has my narrowcast message finished sending yet?
      - Why did a narrowcast fail, and where can I see its status?
      instructions:
      - text: Get the narrowcast progress for request {requestId}.
        slots:
          requestId: query.requestId
      - text: Check whether narrowcast {requestId} succeeded.
        slots:
          requestId: query.requestId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/message/broadcast'].post
  update:
    x-apievangelist-phrasing:
      intent: Broadcast a message to all friends
      effect: write
      questions:
      - Can I send a message to every friend of my Official Account at once?
      - How do I broadcast to all followers without triggering a notification sound?
      instructions:
      - text: Broadcast {messages} to all my friends.
        slots:
          messages: requestBody.messages
      - text: Send {messages} to everyone with retry key {X-Line-Retry-Key}.
        slots:
          messages: requestBody.messages
          X-Line-Retry-Key: header.X-Line-Retry-Key
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/message/quota'].get
  update:
    x-apievangelist-phrasing:
      intent: Get this month's message sending limit
      effect: read
      questions:
      - What's my monthly message limit, including free and additional messages?
      - Is there a cap on how many messages I can send this month?
      instructions:
      - text: Show my message quota for this month.
      - text: Get the target limit on messages I can send this month.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/message/quota/consumption'].get
  update:
    x-apievangelist-phrasing:
      intent: Get messages sent so far this month
      effect: read
      questions:
      - How many messages have I used from my quota this month?
      - Am I close to running out of messages for the month?
      instructions:
      - text: Show how many messages I've sent this month.
      - text: Get my month-to-date message consumption.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/message/delivery/reply'].get
  update:
    x-apievangelist-phrasing:
      intent: Count reply messages sent on a date
      effect: read
      questions:
      - How many reply messages did my bot send on a particular day?
      - Can I see the daily count of replies only?
      instructions:
      - text: Get the number of reply messages sent on {date}.
        slots:
          date: query.date
      - text: Count replies my bot sent on {date}.
        slots:
          date: query.date
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/message/delivery/push'].get
  update:
    x-apievangelist-phrasing:
      intent: Count push messages sent on a date
      effect: read
      questions:
      - What number of push messages went out on a given day?
      - Can I check push message volume for yesterday?
      instructions:
      - text: Get the number of push messages sent on {date}.
        slots:
          date: query.date
      - text: Count push sends on {date}.
        slots:
          date: query.date
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/message/delivery/multicast'].get
  update:
    x-apievangelist-phrasing:
      intent: Count multicast messages sent on a date
      effect: read
      questions:
      - How many multicast messages were sent on a specific date?
      - Where do I find daily multicast send totals?
      instructions:
      - text: Get the number of multicast messages sent on {date}.
        slots:
          date: query.date
      - text: Count multicast sends on {date}.
        slots:
          date: query.date
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/message/delivery/broadcast'].get
  update:
    x-apievangelist-phrasing:
      intent: Count broadcast messages sent on a date
      effect: read
      questions:
      - What was my broadcast message count on a certain day?
      - Can I see how many broadcast messages were delivered on one date?
      instructions:
      - text: Get the number of broadcast messages sent on {date}.
        slots:
          date: query.date
      - text: Count broadcast sends on {date}.
        slots:
          date: query.date
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/message/validate/reply'].post
  update:
    x-apievangelist-phrasing:
      intent: Validate message objects for a reply
      effect: read
      questions:
      - Can I check that my reply message objects are valid before replying?
      - Is there a dry run for reply message payloads?
      instructions:
      - text: Validate {messages} as a reply message.
        slots:
          messages: requestBody.messages
      - text: 'Check these reply message objects for errors: {messages}.'
        slots:
          messages: requestBody.messages
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/message/validate/push'].post
  update:
    x-apievangelist-phrasing:
      intent: Validate message objects for a push
      effect: read
      questions:
      - Will my push message payload be accepted before I send it?
      - Can I dry-run a push message to catch invalid objects?
      instructions:
      - text: Validate {messages} as a push message.
        slots:
          messages: requestBody.messages
      - text: 'Check these push message objects for errors: {messages}.'
        slots:
          messages: requestBody.messages
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/message/validate/multicast'].post
  update:
    x-apievangelist-phrasing:
      intent: Validate message objects for a multicast
      effect: read
      questions:
      - Can I validate a multicast message body without sending it?
      - Are my multicast message objects formatted correctly?
      instructions:
      - text: Validate {messages} as a multicast message.
        slots:
          messages: requestBody.messages
      - text: 'Check these multicast message objects for errors: {messages}.'
        slots:
          messages: requestBody.messages
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/message/validate/narrowcast'].post
  update:
    x-apievangelist-phrasing:
      intent: Validate message objects for a narrowcast
      effect: read
      questions:
      - Can I check a narrowcast message payload is valid before targeting a segment?
      - Which validation endpoint applies to narrowcast messages?
      instructions:
      - text: Validate {messages} as a narrowcast message.
        slots:
          messages: requestBody.messages
      - text: 'Check these narrowcast message objects for errors: {messages}.'
        slots:
          messages: requestBody.messages
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/message/validate/broadcast'].post
  update:
    x-apievangelist-phrasing:
      intent: Validate message objects for a broadcast
      effect: read
      questions:
      - Before broadcasting to everyone, can I validate the message objects?
      - Is my broadcast payload going to be rejected?
      instructions:
      - text: Validate {messages} as a broadcast message.
        slots:
          messages: requestBody.messages
      - text: 'Check these broadcast message objects for errors: {messages}.'
        slots:
          messages: requestBody.messages
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/message/aggregation/info'].get
  update:
    x-apievangelist-phrasing:
      intent: Count aggregation units used this month
      effect: read
      questions:
      - How many custom aggregation units have I used this month?
      - Am I near the limit on statistics aggregation units?
      instructions:
      - text: Show the number of aggregation units used this month.
      - text: Get my monthly aggregation unit usage count.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/message/aggregation/list'].get
  update:
    x-apievangelist-phrasing:
      intent: List aggregation unit names used this month
      effect: read
      questions:
      - Which aggregation unit names have I used on messages this month?
      - Can I page through the list of unit names I've tagged messages with?
      instructions:
      - text: List the aggregation unit names used this month.
      - text: Get {limit} aggregation unit names starting at {start}.
        slots:
          limit: query.limit
          start: query.start
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/profile/{userId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user's profile
      effect: read
      questions:
      - How do I get the display name and picture of a user who friended my bot?
      - Can I look up a user's status message and language from their user ID?
      instructions:
      - text: Get the profile of user {userId}.
        slots:
          userId: path.userId
      - text: Show display name and picture for {userId}.
        slots:
          userId: path.userId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/followers/ids'].get
  update:
    x-apievangelist-phrasing:
      intent: List user IDs of my followers
      effect: read
      questions:
      - Which users have added my Official Account as a friend?
      - Can I page through all my followers' user IDs?
      instructions:
      - text: List the user IDs of my followers.
      - text: Get the next {limit} follower IDs after token {start}.
        slots:
          limit: query.limit
          start: query.start
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/info'].get
  update:
    x-apievangelist-phrasing:
      intent: Get my bot's basic information
      effect: read
      questions:
      - What's my bot's user ID, basic ID and display name?
      - Can I see which chat mode and read-receipt mode my bot uses?
      instructions:
      - text: Show my bot's info.
      - text: Get the user ID and display name of this bot.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/group/{groupId}/member/{userId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a group chat member's profile
      effect: read
      questions:
      - Can I get the profile of someone in a group chat my bot is in, even if they aren't my friend?
      - What's the display name of a particular member of a group?
      instructions:
      - text: Get the profile of user {userId} in group {groupId}.
        slots:
          userId: path.userId
          groupId: path.groupId
      - text: Show group {groupId} member {userId}'s display name.
        slots:
          groupId: path.groupId
          userId: path.userId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/room/{roomId}/member/{userId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a multi-person chat member's profile
      effect: read
      questions:
      - How do I get the profile of a participant in a multi-person chat room?
      - Can I see a room member's display name by user ID?
      instructions:
      - text: Get the profile of user {userId} in multi-person chat {roomId}.
        slots:
          userId: path.userId
          roomId: path.roomId
      - text: Show room {roomId} member {userId}'s picture and name.
        slots:
          roomId: path.roomId
          userId: path.userId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/group/{groupId}/members/ids'].get
  update:
    x-apievangelist-phrasing:
      intent: List user IDs in a group chat
      effect: read
      questions:
      - Who's in a group chat my bot has joined?
      - Can I paginate the member IDs of a large group?
      instructions:
      - text: List member user IDs of group {groupId}.
        slots:
          groupId: path.groupId
      - text: Get the next page of group {groupId} member IDs from token {start}.
        slots:
          groupId: path.groupId
          start: query.start
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/room/{roomId}/members/ids'].get
  update:
    x-apievangelist-phrasing:
      intent: List user IDs in a multi-person chat
      effect: read
      questions:
      - Which users are in a multi-person chat with my bot?
      - Can I page through the member IDs of a chat room?
      instructions:
      - text: List member user IDs of multi-person chat {roomId}.
        slots:
          roomId: path.roomId
      - text: Get the next page of room {roomId} member IDs from token {start}.
        slots:
          roomId: path.roomId
          start: query.start
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/group/{groupId}/leave'].post
  update:
    x-apievangelist-phrasing:
      intent: Make the bot leave a group chat
      effect: destructive
      questions:
      - How do I make my bot leave a group chat?
      - Can my Official Account exit a group it was invited to?
      instructions:
      - text: Leave group chat {groupId}.
        slots:
          groupId: path.groupId
      - text: Remove the bot from group {groupId}.
        slots:
          groupId: path.groupId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/room/{roomId}/leave'].post
  update:
    x-apievangelist-phrasing:
      intent: Make the bot leave a multi-person chat
      effect: destructive
      questions:
      - Can my bot leave a multi-person chat room?
      - What's the call to exit a room rather than a group?
      instructions:
      - text: Leave multi-person chat {roomId}.
        slots:
          roomId: path.roomId
      - text: Remove the bot from room {roomId}.
        slots:
          roomId: path.roomId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/group/{groupId}/summary'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a group chat's name and icon
      effect: read
      questions:
      - What's the name and icon of a group my bot is in?
      - Can I get a summary of a group chat by its ID?
      instructions:
      - text: Get the summary of group {groupId}.
        slots:
          groupId: path.groupId
      - text: Show the name and picture of group chat {groupId}.
        slots:
          groupId: path.groupId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/group/{groupId}/members/count'].get
  update:
    x-apievangelist-phrasing:
      intent: Count members in a group chat
      effect: read
      questions:
      - How many people are in a group chat with my bot?
      - Can I get a group's headcount without listing every member?
      instructions:
      - text: Count the members of group {groupId}.
        slots:
          groupId: path.groupId
      - text: Tell me how many users are in group chat {groupId}.
        slots:
          groupId: path.groupId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/room/{roomId}/members/count'].get
  update:
    x-apievangelist-phrasing:
      intent: Count members in a multi-person chat
      effect: read
      questions:
      - What's the number of participants in a multi-person chat?
      - Can I get the headcount of a chat room by ID?
      instructions:
      - text: Count the members of multi-person chat {roomId}.
        slots:
          roomId: path.roomId
      - text: Tell me how many users are in room {roomId}.
        slots:
          roomId: path.roomId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/richmenu'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a rich menu
      effect: write
      questions:
      - How do I create a rich menu with tappable areas for my bot?
      - Can I set the chat bar text and whether the menu opens by default?
      instructions:
      - text: Create a rich menu named {name} with chat bar text {chatBarText}.
        slots:
          name: requestBody.name
          chatBarText: requestBody.chatBarText
      - text: Create a new rich menu of size {size} with tap areas {areas}.
        slots:
          size: requestBody.size
          areas: requestBody.areas
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/richmenu/validate'].post
  update:
    x-apievangelist-phrasing:
      intent: Validate a rich menu object
      effect: read
      questions:
      - Can I check a rich menu definition is valid before creating it?
      - Will my rich menu areas and size pass validation?
      instructions:
      - text: Validate a rich menu named {name} with areas {areas}.
        slots:
          name: requestBody.name
          areas: requestBody.areas
      - text: Dry-run this rich menu definition of size {size}.
        slots:
          size: requestBody.size
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/richmenu/{richMenuId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a rich menu by ID
      effect: read
      questions:
      - What areas and size does a specific rich menu have?
      - Can I fetch one rich menu's definition by its ID?
      instructions:
      - text: Get rich menu {richMenuId}.
        slots:
          richMenuId: path.richMenuId
      - text: Show the definition of rich menu {richMenuId}.
        slots:
          richMenuId: path.richMenuId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/richmenu/{richMenuId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a rich menu
      effect: destructive
      questions:
      - How do I delete a rich menu I no longer use?
      - Can I remove a rich menu permanently by its ID?
      instructions:
      - text: Delete rich menu {richMenuId}.
        slots:
          richMenuId: path.richMenuId
      - text: Permanently remove rich menu {richMenuId}.
        slots:
          richMenuId: path.richMenuId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/richmenu/list'].get
  update:
    x-apievangelist-phrasing:
      intent: List all rich menus
      effect: read
      questions:
      - Which rich menus have I created for my channel?
      - Can I see every rich menu uploaded through the Messaging API?
      instructions:
      - text: List all my rich menus.
      - text: Show every rich menu on this channel.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/user/all/richmenu/{richMenuId}'].post
  update:
    x-apievangelist-phrasing:
      intent: Set the default rich menu for all users
      effect: write
      questions:
      - How do I make a rich menu the default one every user sees?
      - Can I change which rich menu shows for users without a personal menu?
      instructions:
      - text: Set rich menu {richMenuId} as the default for all users.
        slots:
          richMenuId: path.richMenuId
      - text: Make {richMenuId} the channel's default rich menu.
        slots:
          richMenuId: path.richMenuId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/user/all/richmenu'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the default rich menu ID
      effect: read
      questions:
      - Which rich menu is currently the default for my channel?
      - Is there a default rich menu set via the Messaging API?
      instructions:
      - text: Get the ID of my default rich menu.
      - text: Show which rich menu everyone sees by default.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/user/all/richmenu'].delete
  update:
    x-apievangelist-phrasing:
      intent: Clear the default rich menu
      effect: destructive
      questions:
      - Can I stop showing a default rich menu to all users?
      - What removes the default rich menu setting without deleting the menu?
      instructions:
      - text: Cancel the default rich menu.
      - text: Unset the channel's default rich menu.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/richmenu/alias'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a rich menu alias
      effect: write
      questions:
      - How do I create an alias so users can switch between rich menu tabs?
      - Can I give a rich menu an alias ID?
      instructions:
      - text: Create alias {richMenuAliasId} for rich menu {richMenuId}.
        slots:
          richMenuAliasId: requestBody.richMenuAliasId
          richMenuId: requestBody.richMenuId
      - text: Add a new rich menu alias {richMenuAliasId} pointing to {richMenuId}.
        slots:
          richMenuAliasId: requestBody.richMenuAliasId
          richMenuId: requestBody.richMenuId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/richmenu/alias/{richMenuAliasId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a rich menu alias
      effect: read
      questions:
      - Which rich menu does a given alias point to?
      - Can I look up a rich menu alias by its alias ID?
      instructions:
      - text: Get rich menu alias {richMenuAliasId}.
        slots:
          richMenuAliasId: path.richMenuAliasId
      - text: Show the rich menu behind alias {richMenuAliasId}.
        slots:
          richMenuAliasId: path.richMenuAliasId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/richmenu/alias/{richMenuAliasId}'].post
  update:
    x-apievangelist-phrasing:
      intent: Point a rich menu alias at another menu
      effect: write
      questions:
      - Can I repoint an existing rich menu alias to a different rich menu?
      - What updates the target menu of an alias I already made?
      instructions:
      - text: Update alias {richMenuAliasId} to point to rich menu {richMenuId}.
        slots:
          richMenuAliasId: path.richMenuAliasId
          richMenuId: requestBody.richMenuId
      - text: Switch existing alias {richMenuAliasId} over to {richMenuId}.
        slots:
          richMenuAliasId: path.richMenuAliasId
          richMenuId: requestBody.richMenuId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/richmenu/alias/{richMenuAliasId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a rich menu alias
      effect: destructive
      questions:
      - How do I delete a rich menu alias?
      - Does removing an alias also delete the rich menu it points to?
      instructions:
      - text: Delete rich menu alias {richMenuAliasId}.
        slots:
          richMenuAliasId: path.richMenuAliasId
      - text: Remove alias {richMenuAliasId}.
        slots:
          richMenuAliasId: path.richMenuAliasId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/richmenu/alias/list'].get
  update:
    x-apievangelist-phrasing:
      intent: List rich menu aliases
      effect: read
      questions:
      - What rich menu aliases exist on my channel?
      - Can I see all aliases and the menus they map to?
      instructions:
      - text: List all rich menu aliases.
      - text: Show every alias with its rich menu ID.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/user/{userId}/richmenu'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the rich menu linked to a user
      effect: read
      questions:
      - Which rich menu is linked to a specific user?
      - Can I check what menu one user currently sees?
      instructions:
      - text: Get the rich menu ID linked to user {userId}.
        slots:
          userId: path.userId
      - text: Show which rich menu {userId} has.
        slots:
          userId: path.userId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/user/{userId}/richmenu'].delete
  update:
    x-apievangelist-phrasing:
      intent: Unlink a rich menu from one user
      effect: destructive
      questions:
      - How do I remove the per-user rich menu from a single user?
      - Can I unlink one user's rich menu so they fall back to the default?
      instructions:
      - text: Unlink the rich menu from user {userId}.
        slots:
          userId: path.userId
      - text: Remove {userId}'s personal rich menu.
        slots:
          userId: path.userId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/user/{userId}/richmenu/{richMenuId}'].post
  update:
    x-apievangelist-phrasing:
      intent: Link a rich menu to one user
      effect: write
      questions:
      - Can I show a different rich menu to one specific user?
      - How do I assign a rich menu to a single user ID?
      instructions:
      - text: Link rich menu {richMenuId} to user {userId}.
        slots:
          richMenuId: path.richMenuId
          userId: path.userId
      - text: Give user {userId} the rich menu {richMenuId}.
        slots:
          userId: path.userId
          richMenuId: path.richMenuId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/richmenu/bulk/link'].post
  update:
    x-apievangelist-phrasing:
      intent: Link a rich menu to many users at once
      effect: write
      questions:
      - Can I link one rich menu to a whole list of users in a single request?
      - What's the bulk way to assign a rich menu to several user IDs?
      instructions:
      - text: Link rich menu {richMenuId} to users {userIds}.
        slots:
          richMenuId: requestBody.richMenuId
          userIds: requestBody.userIds
      - text: 'Bulk-assign {richMenuId} to these user IDs: {userIds}.'
        slots:
          richMenuId: requestBody.richMenuId
          userIds: requestBody.userIds
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/bot/richmenu/bulk/unlink'].post
  update:
    x-apievangelist-phrasing:
      intent: Unlink rich menus from many users at once
      effect: destructive
      questions:
      - Can I remove per-user rich menus from a list of users in one call?
      - What's the bulk way to unlink rich menus from several users?
      instructions:
      - text: Unlink rich menus from users {userIds}.
        slots:
          userIds: requestBody.userIds
      - text: Bulk-remove personal rich menus for {userIds}.
        slots:
          userIds: requestBody.userIds
      method: generated
      generated: '2026-09-26'


# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/line/refs/heads/main/overlays/line-messaging-api-api-phrasing-overlay.yaml