# 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' - target: $.paths['/v2/bot/richmenu/batch'].post update: x-apievangelist-phrasing: intent: Replace or unlink linked rich menus in batches effect: write questions: - How do I swap one rich menu for another for every user linked to it? - Can I unlink a rich menu from all users who have it in one batch job? instructions: - text: Run rich menu batch operations {operations}. slots: operations: requestBody.operations - text: Retry batch rich menu operations {operations} with resume key {resumeRequestKey}. slots: operations: requestBody.operations resumeRequestKey: requestBody.resumeRequestKey method: generated generated: '2026-09-26' - target: $.paths['/v2/bot/richmenu/validate/batch'].post update: x-apievangelist-phrasing: intent: Validate a rich menu batch request effect: read questions: - Can I check a batch replace or unlink request is valid before running it? - Will my rich menu batch operations be accepted? instructions: - text: Validate rich menu batch operations {operations}. slots: operations: requestBody.operations - text: Dry-run the batch replace/unlink body {operations}. slots: operations: requestBody.operations method: generated generated: '2026-09-26' - target: $.paths['/v2/bot/richmenu/progress/batch'].get update: x-apievangelist-phrasing: intent: Check progress of a rich menu batch job effect: read questions: - Has my batch rich menu replace or unlink finished? - What phase is a rich menu batch request in? instructions: - text: Get progress of rich menu batch {requestId}. slots: requestId: query.requestId - text: Check if batch rich menu job {requestId} succeeded. slots: requestId: query.requestId method: generated generated: '2026-09-26' - target: $.paths['/v2/bot/user/{userId}/linkToken'].post update: x-apievangelist-phrasing: intent: Issue an account link token for a user effect: write questions: - How do I link a LINE user to an account in my own service? - What token do I need to start account linking for a user? instructions: - text: Issue a link token for user {userId}. slots: userId: path.userId - text: Start account linking for {userId}. slots: userId: path.userId method: generated generated: '2026-09-26' - target: $.paths['/v2/bot/message/markAsRead'].post update: x-apievangelist-phrasing: intent: Mark a user's messages as read by chat effect: write questions: - Can my bot mark messages in a chat as read so the user sees a read receipt? - What marks messages read when I have the chat reference rather than a token? instructions: - text: Mark messages in chat {chat} as read. slots: chat: requestBody.chat - text: Send read receipts for chat {chat}. slots: chat: requestBody.chat method: generated generated: '2026-09-26' - target: $.paths['/bot/pnp/push'].post update: x-apievangelist-phrasing: intent: Send a LINE notification message by phone number effect: write questions: - Can I message a customer on LINE using only their phone number? - What format must the phone number be in for a LINE notification message? instructions: - text: Send LINE notification {messages} to hashed phone number {to}. slots: messages: requestBody.messages to: requestBody.to - text: Notify phone {to} with {messages} using delivery tag {X-Line-Delivery-Tag}. slots: to: requestBody.to messages: requestBody.messages X-Line-Delivery-Tag: header.X-Line-Delivery-Tag method: generated generated: '2026-09-26' - target: $.paths['/v2/bot/message/delivery/pnp'].get update: x-apievangelist-phrasing: intent: Count LINE notification messages sent on a date effect: read questions: - How many phone-number LINE notification messages were sent on a date? - Can I see daily volume for notification messages sent by phone? instructions: - text: Get the number of LINE notification messages sent on {date}. slots: date: query.date - text: Count phone-number notifications sent on {date}. slots: date: query.date method: generated generated: '2026-09-26' - target: $.paths['/v2/bot/membership/subscription/{userId}'].get update: x-apievangelist-phrasing: intent: Get a user's membership subscription effect: read questions: - Is a particular user subscribed to one of my paid memberships? - Can I see which membership plan a user has joined? instructions: - text: Get the membership subscription of user {userId}. slots: userId: path.userId - text: Check what membership {userId} is subscribed to. slots: userId: path.userId method: generated generated: '2026-09-26' - target: $.paths['/v2/bot/membership/list'].get update: x-apievangelist-phrasing: intent: List my memberships effect: read questions: - Which memberships does my Official Account offer? - Can I list all membership plans with their IDs? instructions: - text: List my memberships. - text: Show every membership plan on this account. method: generated generated: '2026-09-26' - target: $.paths['/v2/bot/membership/{membershipId}/users/ids'].get update: x-apievangelist-phrasing: intent: List users who joined a membership effect: read questions: - Who has joined a specific membership plan? - Can I page through member user IDs for one membership? instructions: - text: List user IDs who joined membership {membershipId}. slots: membershipId: path.membershipId - text: Get {limit} members of membership {membershipId} from token {start}. slots: limit: query.limit membershipId: path.membershipId start: query.start method: generated generated: '2026-09-26' - target: $.paths['/v2/bot/coupon'].get update: x-apievangelist-phrasing: intent: List coupons effect: read questions: - Which coupons has my Official Account created? - Can I filter my coupon list to only running or closed ones? instructions: - text: List my coupons. - text: Show up to {limit} coupons with status {status}. slots: limit: query.limit status: query.status method: generated generated: '2026-09-26' - target: $.paths['/v2/bot/coupon'].post update: x-apievangelist-phrasing: intent: Create a coupon effect: write questions: - How do I create a coupon with a validity period for my LINE friends? - Can I limit how many times a coupon can be used per ticket? instructions: - text: Create coupon {title} valid from {startTimestamp} to {endTimestamp} in timezone {timezone}. slots: title: requestBody.title startTimestamp: requestBody.startTimestamp endTimestamp: requestBody.endTimestamp timezone: requestBody.timezone - text: Create a {visibility} coupon {title} with acquisition condition {acquisitionCondition}, usable {maxUseCountPerTicket} times. slots: visibility: requestBody.visibility title: requestBody.title acquisitionCondition: requestBody.acquisitionCondition maxUseCountPerTicket: requestBody.maxUseCountPerTicket method: generated generated: '2026-09-26' - target: $.paths['/v2/bot/coupon/{couponId}'].get update: x-apievangelist-phrasing: intent: Get a coupon's details effect: read questions: - What are the reward and validity dates of a specific coupon? - Can I look up one coupon by its ID? instructions: - text: Get coupon {couponId}. slots: couponId: path.couponId - text: Show the details of coupon {couponId}. slots: couponId: path.couponId method: generated generated: '2026-09-26' - target: $.paths['/v2/bot/coupon/{couponId}/close'].put update: x-apievangelist-phrasing: intent: Close a coupon effect: destructive questions: - How do I end a coupon campaign early? - Can I close a coupon so no one else can get it? instructions: - text: Close coupon {couponId}. slots: couponId: path.couponId - text: Stop coupon {couponId} from being issued. slots: couponId: path.couponId method: generated generated: '2026-09-26' - target: $.paths['/v2/bot/chat/loading/start'].post update: x-apievangelist-phrasing: intent: Show a loading animation in a user chat effect: write questions: - Can I show users a typing or loading indicator while my bot prepares a reply? - What's the maximum time a loading animation can display? instructions: - text: Show a loading animation to user {chatId}. slots: chatId: requestBody.chatId - text: Display the loading indicator for {chatId} for {loadingSeconds} seconds. slots: chatId: requestBody.chatId loadingSeconds: requestBody.loadingSeconds method: generated generated: '2026-09-26' - target: $.paths['/v2/bot/chat/markAsRead'].post update: x-apievangelist-phrasing: intent: Mark messages as read using a mark-as-read token effect: write questions: - How do I mark messages read using the token from a webhook event? - Can I send read receipts with a markAsReadToken instead of a chat ID? instructions: - text: Mark messages as read with token {markAsReadToken}. slots: markAsReadToken: requestBody.markAsReadToken - text: Use mark-as-read token {markAsReadToken} to send a read receipt. slots: markAsReadToken: requestBody.markAsReadToken method: generated generated: '2026-09-26'