LINE Messaging API

The messaging-api API from LINE — 61 operation(s) for messaging-api.

Operations 68

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /v2/bot/channel/webhook/endpoint Get the bot's webhook endpoint settings · Get webhook endpoint #
Ask an LLM
“What webhook URL is my LINE bot currently set to?”
“Is the webhook turned on for my channel right now?”
Tell an agent
Show my channel's current webhook endpoint.
Tell me whether webhook delivery is active and to which URL.
PUT /v2/bot/channel/webhook/endpoint Set the bot's webhook endpoint URL · Set webhook endpoint #
Ask an LLM
“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?”
Tell an agent
Set my webhook endpoint to {endpoint}.
Change the bot's event callback URL to {endpoint}.
POST /v2/bot/channel/webhook/test Send a test event to a webhook endpoint · Test webhook endpoint #
Ask an LLM
“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?”
Tell an agent
Test my configured webhook endpoint.
Send a test webhook request to {endpoint}.
POST /v2/bot/message/reply Reply to a user's event with messages · Reply message #
Ask an LLM
“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?”
Tell an agent
Reply to reply token {replyToken} with {messages}.
Respond silently with {messages} using reply token {replyToken}, notification disabled {notificationDisabled}.
POST /v2/bot/message/push Push a message to one user, group or chat · Push message #
Ask an LLM
“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?”
Tell an agent
Push {messages} to {to}.
Send {messages} to group {to} with retry key {X-Line-Retry-Key}.
POST /v2/bot/message/multicast Send the same message to a list of user IDs · Multicast #
Ask an LLM
“Can I send one message to several specific user IDs in a single call?”
“Does multicast work for group chats or only individual users?”
Tell an agent
Multicast {messages} to user IDs {to}.
Send {messages} to users {to} tagged with aggregation units {customAggregationUnits}.
POST /v2/bot/message/narrowcast Send a message to a filtered audience segment · Narrowcast #
Ask an LLM
“How do I send a message only to friends matching demographics or an audience?”
“Can I cap how many recipients a targeted narrowcast reaches?”
Tell an agent
Narrowcast {messages} to recipients {recipient}.
Send {messages} to friends matching demographic filter {filter}, capped at {limit}.
GET /v2/bot/message/progress/narrowcast Check the progress of a narrowcast send · Get narrowcast progress #
Ask an LLM
“Has my narrowcast message finished sending yet?”
“Why did a narrowcast fail, and where can I see its status?”
Tell an agent
Get the narrowcast progress for request {requestId}.
Check whether narrowcast {requestId} succeeded.
POST /v2/bot/message/broadcast Broadcast a message to all friends · Broadcast #
Ask an LLM
“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?”
Tell an agent
Broadcast {messages} to all my friends.
Send {messages} to everyone with retry key {X-Line-Retry-Key}.
GET /v2/bot/message/quota Get this month's message sending limit · Get message quota #
Ask an LLM
“What's my monthly message limit, including free and additional messages?”
“Is there a cap on how many messages I can send this month?”
Tell an agent
Show my message quota for this month.
Get the target limit on messages I can send this month.
GET /v2/bot/message/quota/consumption Get messages sent so far this month · Get message quota consumption #
Ask an LLM
“How many messages have I used from my quota this month?”
“Am I close to running out of messages for the month?”
Tell an agent
Show how many messages I've sent this month.
Get my month-to-date message consumption.
GET /v2/bot/message/delivery/reply Count reply messages sent on a date · Get number of sent reply messages #
Ask an LLM
“How many reply messages did my bot send on a particular day?”
“Can I see the daily count of replies only?”
Tell an agent
Get the number of reply messages sent on {date}.
Count replies my bot sent on {date}.
GET /v2/bot/message/delivery/push Count push messages sent on a date · Get number of sent push messages #
Ask an LLM
“What number of push messages went out on a given day?”
“Can I check push message volume for yesterday?”
Tell an agent
Get the number of push messages sent on {date}.
Count push sends on {date}.
GET /v2/bot/message/delivery/multicast Count multicast messages sent on a date · Get number of sent multicast messages #
Ask an LLM
“How many multicast messages were sent on a specific date?”
“Where do I find daily multicast send totals?”
Tell an agent
Get the number of multicast messages sent on {date}.
Count multicast sends on {date}.
GET /v2/bot/message/delivery/broadcast Count broadcast messages sent on a date · Get number of sent broadcast messages #
Ask an LLM
“What was my broadcast message count on a certain day?”
“Can I see how many broadcast messages were delivered on one date?”
Tell an agent
Get the number of broadcast messages sent on {date}.
Count broadcast sends on {date}.
POST /v2/bot/message/validate/reply Validate message objects for a reply · Validate reply #
Ask an LLM
“Can I check that my reply message objects are valid before replying?”
“Is there a dry run for reply message payloads?”
Tell an agent
Validate {messages} as a reply message.
Check these reply message objects for errors: {messages}.
POST /v2/bot/message/validate/push Validate message objects for a push · Validate push #
Ask an LLM
“Will my push message payload be accepted before I send it?”
“Can I dry-run a push message to catch invalid objects?”
Tell an agent
Validate {messages} as a push message.
Check these push message objects for errors: {messages}.
POST /v2/bot/message/validate/multicast Validate message objects for a multicast · Validate multicast #
Ask an LLM
“Can I validate a multicast message body without sending it?”
“Are my multicast message objects formatted correctly?”
Tell an agent
Validate {messages} as a multicast message.
Check these multicast message objects for errors: {messages}.
POST /v2/bot/message/validate/narrowcast Validate message objects for a narrowcast · Validate narrowcast #
Ask an LLM
“Can I check a narrowcast message payload is valid before targeting a segment?”
“Which validation endpoint applies to narrowcast messages?”
Tell an agent
Validate {messages} as a narrowcast message.
Check these narrowcast message objects for errors: {messages}.
POST /v2/bot/message/validate/broadcast Validate message objects for a broadcast · Validate broadcast #
Ask an LLM
“Before broadcasting to everyone, can I validate the message objects?”
“Is my broadcast payload going to be rejected?”
Tell an agent
Validate {messages} as a broadcast message.
Check these broadcast message objects for errors: {messages}.
GET /v2/bot/message/aggregation/info Count aggregation units used this month · Get aggregation unit usage #
Ask an LLM
“How many custom aggregation units have I used this month?”
“Am I near the limit on statistics aggregation units?”
Tell an agent
Show the number of aggregation units used this month.
Get my monthly aggregation unit usage count.
GET /v2/bot/message/aggregation/list List aggregation unit names used this month · Get aggregation unit name list #
Ask an LLM
“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?”
Tell an agent
List the aggregation unit names used this month.
Get {limit} aggregation unit names starting at {start}.
GET /v2/bot/profile/{userId} Get a user's profile · Get profile #
Ask an LLM
“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?”
Tell an agent
Get the profile of user {userId}.
Show display name and picture for {userId}.
GET /v2/bot/followers/ids List user IDs of my followers · Get followers #
Ask an LLM
“Which users have added my Official Account as a friend?”
“Can I page through all my followers' user IDs?”
Tell an agent
List the user IDs of my followers.
Get the next {limit} follower IDs after token {start}.
GET /v2/bot/info Get my bot's basic information · Get bot info #
Ask an LLM
“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?”
Tell an agent
Show my bot's info.
Get the user ID and display name of this bot.
GET /v2/bot/group/{groupId}/member/{userId} Get a group chat member's profile · Get group member profile #
Ask an LLM
“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?”
Tell an agent
Get the profile of user {userId} in group {groupId}.
Show group {groupId} member {userId}'s display name.
GET /v2/bot/room/{roomId}/member/{userId} Get a multi-person chat member's profile · Get room member profile #
Ask an LLM
“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?”
Tell an agent
Get the profile of user {userId} in multi-person chat {roomId}.
Show room {roomId} member {userId}'s picture and name.
GET /v2/bot/group/{groupId}/members/ids List user IDs in a group chat · Get group members ids #
Ask an LLM
“Who's in a group chat my bot has joined?”
“Can I paginate the member IDs of a large group?”
Tell an agent
List member user IDs of group {groupId}.
Get the next page of group {groupId} member IDs from token {start}.
GET /v2/bot/room/{roomId}/members/ids List user IDs in a multi-person chat · Get room members ids #
Ask an LLM
“Which users are in a multi-person chat with my bot?”
“Can I page through the member IDs of a chat room?”
Tell an agent
List member user IDs of multi-person chat {roomId}.
Get the next page of room {roomId} member IDs from token {start}.
POST /v2/bot/group/{groupId}/leave Make the bot leave a group chat · Leave group #
Ask an LLM
“How do I make my bot leave a group chat?”
“Can my Official Account exit a group it was invited to?”
Tell an agent destructive · confirm first
Leave group chat {groupId}.
Remove the bot from group {groupId}.
POST /v2/bot/room/{roomId}/leave Make the bot leave a multi-person chat · Leave room #
Ask an LLM
“Can my bot leave a multi-person chat room?”
“What's the call to exit a room rather than a group?”
Tell an agent destructive · confirm first
Leave multi-person chat {roomId}.
Remove the bot from room {roomId}.
GET /v2/bot/group/{groupId}/summary Get a group chat's name and icon · Get group summary #
Ask an LLM
“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?”
Tell an agent
Get the summary of group {groupId}.
Show the name and picture of group chat {groupId}.
GET /v2/bot/group/{groupId}/members/count Count members in a group chat · Get group member count #
Ask an LLM
“How many people are in a group chat with my bot?”
“Can I get a group's headcount without listing every member?”
Tell an agent
Count the members of group {groupId}.
Tell me how many users are in group chat {groupId}.
GET /v2/bot/room/{roomId}/members/count Count members in a multi-person chat · Get room member count #
Ask an LLM
“What's the number of participants in a multi-person chat?”
“Can I get the headcount of a chat room by ID?”
Tell an agent
Count the members of multi-person chat {roomId}.
Tell me how many users are in room {roomId}.
POST /v2/bot/richmenu Create a rich menu · Create rich menu #
Ask an LLM
“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?”
Tell an agent
Create a rich menu named {name} with chat bar text {chatBarText}.
Create a new rich menu of size {size} with tap areas {areas}.
POST /v2/bot/richmenu/validate Validate a rich menu object · Validate rich menu object #
Ask an LLM
“Can I check a rich menu definition is valid before creating it?”
“Will my rich menu areas and size pass validation?”
Tell an agent
Validate a rich menu named {name} with areas {areas}.
Dry-run this rich menu definition of size {size}.
GET /v2/bot/richmenu/{richMenuId} Get a rich menu by ID · Get rich menu #
Ask an LLM
“What areas and size does a specific rich menu have?”
“Can I fetch one rich menu's definition by its ID?”
Tell an agent
Get rich menu {richMenuId}.
Show the definition of rich menu {richMenuId}.
DELETE /v2/bot/richmenu/{richMenuId} Delete a rich menu · Delete rich menu #
Ask an LLM
“How do I delete a rich menu I no longer use?”
“Can I remove a rich menu permanently by its ID?”
Tell an agent destructive · confirm first
Delete rich menu {richMenuId}.
Permanently remove rich menu {richMenuId}.
GET /v2/bot/richmenu/list List all rich menus · Get rich menu list #
Ask an LLM
“Which rich menus have I created for my channel?”
“Can I see every rich menu uploaded through the Messaging API?”
Tell an agent
List all my rich menus.
Show every rich menu on this channel.
POST /v2/bot/user/all/richmenu/{richMenuId} Set the default rich menu for all users · Set default rich menu #
Ask an LLM
“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?”
Tell an agent
Set rich menu {richMenuId} as the default for all users.
Make {richMenuId} the channel's default rich menu.
GET /v2/bot/user/all/richmenu Get the default rich menu ID · Get default rich menu id #
Ask an LLM
“Which rich menu is currently the default for my channel?”
“Is there a default rich menu set via the Messaging API?”
Tell an agent
Get the ID of my default rich menu.
Show which rich menu everyone sees by default.
DELETE /v2/bot/user/all/richmenu Clear the default rich menu · Cancel default rich menu #
Ask an LLM
“Can I stop showing a default rich menu to all users?”
“What removes the default rich menu setting without deleting the menu?”
Tell an agent destructive · confirm first
Cancel the default rich menu.
Unset the channel's default rich menu.
POST /v2/bot/richmenu/alias Create a rich menu alias · Create rich menu alias #
Ask an LLM
“How do I create an alias so users can switch between rich menu tabs?”
“Can I give a rich menu an alias ID?”
Tell an agent
Create alias {richMenuAliasId} for rich menu {richMenuId}.
Add a new rich menu alias {richMenuAliasId} pointing to {richMenuId}.
GET /v2/bot/richmenu/alias/{richMenuAliasId} Get a rich menu alias · Get rich menu alias #
Ask an LLM
“Which rich menu does a given alias point to?”
“Can I look up a rich menu alias by its alias ID?”
Tell an agent
Get rich menu alias {richMenuAliasId}.
Show the rich menu behind alias {richMenuAliasId}.
POST /v2/bot/richmenu/alias/{richMenuAliasId} Point a rich menu alias at another menu · Update rich menu alias #
Ask an LLM
“Can I repoint an existing rich menu alias to a different rich menu?”
“What updates the target menu of an alias I already made?”
Tell an agent
Update alias {richMenuAliasId} to point to rich menu {richMenuId}.
Switch existing alias {richMenuAliasId} over to {richMenuId}.
DELETE /v2/bot/richmenu/alias/{richMenuAliasId} Delete a rich menu alias · Delete rich menu alias #
Ask an LLM
“How do I delete a rich menu alias?”
“Does removing an alias also delete the rich menu it points to?”
Tell an agent destructive · confirm first
Delete rich menu alias {richMenuAliasId}.
Remove alias {richMenuAliasId}.
GET /v2/bot/richmenu/alias/list List rich menu aliases · Get rich menu alias list #
Ask an LLM
“What rich menu aliases exist on my channel?”
“Can I see all aliases and the menus they map to?”
Tell an agent
List all rich menu aliases.
Show every alias with its rich menu ID.
GET /v2/bot/user/{userId}/richmenu Get the rich menu linked to a user · Get rich menu id of user #
Ask an LLM
“Which rich menu is linked to a specific user?”
“Can I check what menu one user currently sees?”
Tell an agent
Get the rich menu ID linked to user {userId}.
Show which rich menu {userId} has.
DELETE /v2/bot/user/{userId}/richmenu Unlink a rich menu from one user · Unlink rich menu id from user #
Ask an LLM
“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?”
Tell an agent destructive · confirm first
Unlink the rich menu from user {userId}.
Remove {userId}'s personal rich menu.
POST /v2/bot/user/{userId}/richmenu/{richMenuId} Link a rich menu to one user · Link rich menu id to user #
Ask an LLM
“Can I show a different rich menu to one specific user?”
“How do I assign a rich menu to a single user ID?”
Tell an agent
Link rich menu {richMenuId} to user {userId}.
Give user {userId} the rich menu {richMenuId}.
POST /v2/bot/richmenu/bulk/link Link a rich menu to many users at once · Link rich menu id to users #
Ask an LLM
“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?”
Tell an agent
Link rich menu {richMenuId} to users {userIds}.
Bulk-assign {richMenuId} to these user IDs: {userIds}.
POST /v2/bot/richmenu/bulk/unlink Unlink rich menus from many users at once · Unlink rich menu id from users #
Ask an LLM
“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?”
Tell an agent destructive · confirm first
Unlink rich menus from users {userIds}.
Bulk-remove personal rich menus for {userIds}.
POST /v2/bot/richmenu/batch Replace or unlink linked rich menus in batches · Rich menu batch #
Ask an LLM
“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?”
Tell an agent
Run rich menu batch operations {operations}.
Retry batch rich menu operations {operations} with resume key {resumeRequestKey}.
POST /v2/bot/richmenu/validate/batch Validate a rich menu batch request · Validate rich menu batch request #
Ask an LLM
“Can I check a batch replace or unlink request is valid before running it?”
“Will my rich menu batch operations be accepted?”
Tell an agent
Validate rich menu batch operations {operations}.
Dry-run the batch replace/unlink body {operations}.
GET /v2/bot/richmenu/progress/batch Check progress of a rich menu batch job · Get rich menu batch progress #
Ask an LLM
“Has my batch rich menu replace or unlink finished?”
“What phase is a rich menu batch request in?”
Tell an agent
Get progress of rich menu batch {requestId}.
Check if batch rich menu job {requestId} succeeded.
POST /v2/bot/user/{userId}/linkToken Issue an account link token for a user · Issue link token #
Ask an LLM
“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?”
Tell an agent
Issue a link token for user {userId}.
Start account linking for {userId}.
POST /v2/bot/message/markAsRead Mark a user's messages as read by chat · Mark messages as read #
Ask an LLM
“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?”
Tell an agent
Mark messages in chat {chat} as read.
Send read receipts for chat {chat}.
POST /bot/pnp/push Send a LINE notification message by phone number · Push messages by phone #
Ask an LLM
“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?”
Tell an agent
Send LINE notification {messages} to hashed phone number {to}.
Notify phone {to} with {messages} using delivery tag {X-Line-Delivery-Tag}.
GET /v2/bot/message/delivery/pnp Count LINE notification messages sent on a date · Get PNP message statistics #
Ask an LLM
“How many phone-number LINE notification messages were sent on a date?”
“Can I see daily volume for notification messages sent by phone?”
Tell an agent
Get the number of LINE notification messages sent on {date}.
Count phone-number notifications sent on {date}.
GET /v2/bot/membership/subscription/{userId} Get a user's membership subscription · Get membership subscription #
Ask an LLM
“Is a particular user subscribed to one of my paid memberships?”
“Can I see which membership plan a user has joined?”
Tell an agent
Get the membership subscription of user {userId}.
Check what membership {userId} is subscribed to.
GET /v2/bot/membership/list List my memberships · Get membership list #
Ask an LLM
“Which memberships does my Official Account offer?”
“Can I list all membership plans with their IDs?”
Tell an agent
List my memberships.
Show every membership plan on this account.
GET /v2/bot/membership/{membershipId}/users/ids List users who joined a membership · Get joined membership users #
Ask an LLM
“Who has joined a specific membership plan?”
“Can I page through member user IDs for one membership?”
Tell an agent
List user IDs who joined membership {membershipId}.
Get {limit} members of membership {membershipId} from token {start}.
GET /v2/bot/coupon List coupons · List coupon #
Ask an LLM
“Which coupons has my Official Account created?”
“Can I filter my coupon list to only running or closed ones?”
Tell an agent
List my coupons.
Show up to {limit} coupons with status {status}.
POST /v2/bot/coupon Create a coupon · Create coupon #
Ask an LLM
“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?”
Tell an agent
Create coupon {title} valid from {startTimestamp} to {endTimestamp} in timezone {timezone}.
Create a {visibility} coupon {title} with acquisition condition {acquisitionCondition}, usable {maxUseCountPerTicket} times.
GET /v2/bot/coupon/{couponId} Get a coupon's details · Get coupon detail #
Ask an LLM
“What are the reward and validity dates of a specific coupon?”
“Can I look up one coupon by its ID?”
Tell an agent
Get coupon {couponId}.
Show the details of coupon {couponId}.
PUT /v2/bot/coupon/{couponId}/close Close a coupon · Close coupon #
Ask an LLM
“How do I end a coupon campaign early?”
“Can I close a coupon so no one else can get it?”
Tell an agent destructive · confirm first
Close coupon {couponId}.
Stop coupon {couponId} from being issued.
POST /v2/bot/chat/loading/start Show a loading animation in a user chat · Show loading animation #
Ask an LLM
“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?”
Tell an agent
Show a loading animation to user {chatId}.
Display the loading indicator for {chatId} for {loadingSeconds} seconds.
POST /v2/bot/chat/markAsRead Mark messages as read using a mark-as-read token · Mark messages as read by token #
Ask an LLM
“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?”
Tell an agent
Mark messages as read with token {markAsReadToken}.
Use mark-as-read token {markAsReadToken} to send a read receipt.

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/line:line-messaging-api-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

line-messaging-api-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: LINE Messaging Messaging API
  version: 0.0.1
  description: This document describes LINE Messaging API.
servers:
- url: https://api.line.me
security:
- Bearer: []
tags:


# --- truncated at 32 KB (117 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/line/refs/heads/main/openapi/line-messaging-api-api-openapi.yml