API リファレンス (2.9.0)

Download OpenAPI specification:

本APIは外部システムとの連携を目的としたREST APIです。友だちリストの取得・タグの更新、トーク履歴の取得などの操作をプログラムから実行できます。

認証

全てのリクエストにアクセストークンが必要です。Authorization ヘッダーにアクセストークンを指定してください。管理画面の API連携 > 認証タブより発行することができます。

レートリミット

本APIには以下のレートリミットが設定されています。

種別 制限 エラーメッセージ ステータスコード
秒間 アカウントごとに10リクエスト/秒 Too Many Attempts. 429
月間 ご契約のプランによって異なります You have reached your monthly limit. 429

月間レートリミットを超過した場合のみ、429 レスポンスに Retry-After ヘッダー(HTTP-date 形式)を付与します。値は翌月のリセット時刻を表します。秒間レートリミットは短時間で再試行可能なため Retry-After は付与しません。

レスポンスヘッダー

全てのレスポンス(一部のエラーを除く)に Request-Id ヘッダーを付与します。値はリクエストごとに一意な ULID です。お問い合わせの際にこの値をお知らせいただくと、該当リクエストを特定できます。

友だち

友だち一覧の取得

友だち一覧を取得します

友だちの詳細情報を一覧で取得 タグ情報、友だち情報、対応マークなどを含む

Authorizations:
BearerAuth
query Parameters
cursor
string

カーソル

limit
integer <int32> [ 1 .. 1000 ]
Default: 50

取得件数

taiou_mark_id
Array of integers <int64> [ items <int64 > ]

対応マークIDでフィルタ(複数指定可、OR条件)

is_blocked
boolean

友だちからのブロック状態でフィルタ

display_status
Array of strings
Items Enum: "normal" "block" "hide"

表示ステータスでフィルタ(複数指定可、OR条件)

friend_info_id
integer <int64>

友だち情報でフィルタするためのID(friend_info_valueと両方指定必須、種別が標準の友だち情報のみ対応)

friend_info_value
string [ 1 .. 200 ] characters

友だち情報の値で完全一致フィルタ(friend_info_idと両方指定必須)

name
string

友だち名で部分一致検索

full_name
string

本名で部分一致検索

system_name
string

システム表示名で部分一致検索

created_at_from
string

作成日時の開始日時 (ISO 8601形式)

created_at_to
string

作成日時の終了日時 (ISO 8601形式)

sort_by
string
Default: "created_at"
Enum: "created_at" "taiou_mark_updated_at"

ソート項目

sort_order
string
Default: "desc"
Enum: "asc" "desc"

ソート順序

include_tags
Array of integers <int64> <= 100 items [ items <int64 > ]

含めるタグID(最大100個) 例: [123, 124, 125]

include_friend_infos
Array of integers <int64> <= 100 items [ items <int64 > ]

含める友だち情報ID(最大100個) 例: [223, 224, 225]

Responses

Request samples

curl -X GET 'https://api.lineml.jp/v2/api/friends' \
  -H 'Authorization: Bearer {API_TOKEN}'

Response samples

Content type
application/json
{}

友だちの取得

友だちの詳細情報を取得します

Authorizations:
BearerAuth
path Parameters
id
required
string (IdOrUid)

友だちID 数値ID(例: 12345)またはUID(例: Uabcd1234 または Cabcd1234)を受け入れる

query Parameters
include_tags
Array of integers <int64> <= 100 items [ items <int64 > ]

含めるタグID(最大100個) 例: [123, 124, 125]

include_friend_infos
Array of integers <int64> <= 100 items [ items <int64 > ]

含める友だち情報ID(最大100個) 例: [223, 224, 225]

Responses

Request samples

curl -X GET 'https://api.lineml.jp/v2/api/friends/12345' \
  -H 'Authorization: Bearer {API_TOKEN}'

Response samples

Content type
application/json
{
  • "data": {
    }
}

友だちのタグ追加

友だちにタグを追加します

  • タグ追加時アクションは発生しません
  • タグの人数制限は適用されません
  • システムメッセージは作成されません
Authorizations:
BearerAuth
path Parameters
id
required
string (IdOrUid)

友だちID 数値ID(例: 12345)またはUID(例: Uabcd1234 または Cabcd1234)を受け入れる

Request Body schema: application/json
required
tag_ids
required
Array of integers <int64> [ items <int64 > ]

追加するタグIDの配列

Responses

Request samples

Content type
application/json
{
  • "tag_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "更新が完了しました"
}

友だちのタグ解除

友だちのタグを解除します

  • システムメッセージは作成されません
Authorizations:
BearerAuth
path Parameters
id
required
string (IdOrUid)

友だちID 数値ID(例: 12345)またはUID(例: Uabcd1234 または Cabcd1234)を受け入れる

Request Body schema: application/json
required
tag_ids
required
Array of integers <int64> [ items <int64 > ]

削除するタグIDの配列

Responses

Request samples

Content type
application/json
{
  • "tag_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "更新が完了しました"
}

友だちの対応マーク設定

友だちの対応マークを設定します

  • システムメッセージは作成されません
Authorizations:
BearerAuth
path Parameters
id
required
string (IdOrUid)

友だちID 数値ID(例: 12345)またはUID(例: Uabcd1234 または Cabcd1234)を受け入れる

Request Body schema: application/json
required
taiou_mark_id
required
integer <int64>

対応マークID

Responses

Request samples

Content type
application/json
{
  • "taiou_mark_id": 1
}

Response samples

Content type
application/json
{
  • "message": "更新が完了しました"
}

友だちが通過した流入経路一覧の取得

指定した友だちが通過した流入経路の一覧を取得します

同じ流入経路を複数回通過した場合、通過ごとに1件返却されます

Authorizations:
BearerAuth
path Parameters
id
required
string (IdOrUid)

友だちID 数値ID(例: 12345)またはUID(例: Uabcd1234 または Cabcd1234)を受け入れる

query Parameters
cursor
string

カーソル

limit
integer <int32> [ 1 .. 1000 ]
Default: 50

取得件数

passed_at_from
string (Iso8601DateTime) ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}([+-]\d{2...

通過日時の開始日時 (ISO 8601形式: 2026-08-10T00:00:00+09:00、この日時以降のものを取得)

passed_at_to
string (Iso8601DateTime) ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}([+-]\d{2...

通過日時の終了日時 (ISO 8601形式: 2026-08-10T23:59:59+09:00、この日時以前のものを取得)

sort_by
string
Default: "passed_at"
Value: "passed_at"

ソート対象フィールド(デフォルト: passed_at)

sort_order
string
Default: "desc"
Enum: "asc" "desc"

ソート順(デフォルト: desc)

Responses

Request samples

curl -X GET 'https://api.lineml.jp/v2/api/friends/12345/touchpoints' \
  -H 'Authorization: Bearer {API_TOKEN}'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "path": "/v2/api/friends/12345/touchpoints",
  • "per_page": 50,
  • "next_cursor": null,
  • "next_page_url": null,
  • "prev_cursor": null,
  • "prev_page_url": null
}

友だち情報

友だち情報フォルダの作成

友だち情報フォルダを新規作成します

Authorizations:
BearerAuth
Request Body schema: application/json
required
name
required
string

フォルダ名

Responses

Request samples

Content type
application/json
{
  • "name": "新規フォルダ"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

友だち情報の作成

友だち情報を新規作成します

Authorizations:
BearerAuth
Request Body schema: application/json
required
Any of
name
required
string

項目名

integer or null

友だち情報フォルダID (nullable)

type
required
string
Value: "select"

タイプ

required
Array of objects (FriendInfoOption) <= 100 items

選択肢の配列

Responses

Request samples

Content type
application/json
Example
{
  • "name": "新規友だち情報",
  • "type": "select",
  • "folder_id": 10,
  • "options": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

タグ

タグフォルダ一覧の取得

タグフォルダ一覧を取得します

Authorizations:
BearerAuth

Responses

Request samples

curl -X GET 'https://api.lineml.jp/v2/api/tag-folders' \
  -H 'Authorization: Bearer {API_TOKEN}'

Response samples

Content type
application/json
{
  • "data": [
    ]
}

タグフォルダの作成

タグフォルダを新規作成します

Authorizations:
BearerAuth
Request Body schema: application/json
required
name
required
string

フォルダ名

Responses

Request samples

Content type
application/json
{
  • "name": "新規タグフォルダ"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

タグ一覧の取得

タグ一覧の取得

Authorizations:
BearerAuth
query Parameters
cursor
string

カーソル

limit
integer <int32> [ 1 .. 1000 ]
Default: 50

取得件数

integer or null

フォルダID(nullは未分類フォルダのみ、未指定は全て)

Responses

Request samples

curl -X GET 'https://api.lineml.jp/v2/api/tags' \
  -H 'Authorization: Bearer {API_TOKEN}'

Response samples

Content type
application/json
{}

タグの作成

タグを新規作成します

Authorizations:
BearerAuth
Request Body schema: application/json
required
name
required
string

タグ名

integer or null

タグフォルダID (nullable)

Responses

Request samples

Content type
application/json
{
  • "name": "新規タグ",
  • "folder_id": 10
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

タグの更新

タグを更新します

Authorizations:
BearerAuth
path Parameters
id
required
integer <int64>
Request Body schema: application/json
required
name
string

タグ名

integer or null

タグフォルダID (nullable)

  • 未指定の場合: 既存の値を保持
  • null を指定した場合: 未分類に移動
  • 数値IDを指定した場合: 指定したフォルダに移動

Responses

Request samples

Content type
application/json
{
  • "name": "更新タグ",
  • "folder_id": 10
}

Response samples

Content type
application/json
{
  • "message": "更新が完了しました"
}

タグに紐づく友だち一覧の取得

指定したタグが付与されている友だちの一覧を取得します

Authorizations:
BearerAuth
path Parameters
id
required
integer <int64>
query Parameters
cursor
string

カーソル

limit
integer <int32> [ 1 .. 10000 ]
Default: 50

取得件数

Responses

Request samples

curl -X GET 'https://api.lineml.jp/v2/api/tags/123/friends' \
  -H 'Authorization: Bearer {API_TOKEN}'

Response samples

Content type
application/json
{}

タグを友だちに一括追加

指定したタグを複数の友だちに付与します

  • システムメッセージは作成されません
Authorizations:
BearerAuth
path Parameters
id
required
integer <int64>
Request Body schema: application/json
required
friend_ids
required
Array of strings (IdOrUid) <= 1000 items

追加する友だちIDの配列(数値IDまたはUID、最大1000件)

Responses

Request samples

Content type
application/json
{
  • "friend_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "更新が完了しました"
}

タグから友だちを一括削除

指定したタグを複数の友だちから解除します

  • システムメッセージは作成されません
Authorizations:
BearerAuth
path Parameters
id
required
integer <int64>
Request Body schema: application/json
required
friend_ids
required
Array of strings (IdOrUid) <= 1000 items

削除する友だちIDの配列(数値IDまたはUID、最大1000件)

Responses

Request samples

Content type
application/json
{
  • "friend_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "更新が完了しました"
}

対応マーク

対応マーク一覧の取得

対応マーク一覧を取得します

Authorizations:
BearerAuth
query Parameters
cursor
string

カーソル

limit
integer <int32> [ 1 .. 100 ]
Default: 50

取得件数

Responses

Request samples

curl -X GET 'https://api.lineml.jp/v2/api/taiou-marks' \
  -H 'Authorization: Bearer {API_TOKEN}'

Response samples

Content type
application/json
{}

トーク情報

トーク履歴の取得

トーク履歴を取得

制限事項: prev_cursorprev_page_url は本エンドポイントでは未実装です。 レスポンスには常に null が返されます。前ページへの遷移はサポートしていません。

Authorizations:
BearerAuth
query Parameters
cursor
string

カーソル

limit
integer <int32> [ 1 .. 1000 ]
Default: 50

取得件数

friend_id
string (IdOrUid)

送信者の友だちIDでフィルタリング

direction
string
Enum: "inbound" "outbound" "system"

メッセージの方向でフィルタリング

is_unconfirmed
boolean

未読メッセージのみ取得(true: 未読のみ、false: 既読のみ、指定なし: 全て)

staff_id
integer <int64>

送信操作を行ったスタッフIDでフィルタリング

has_staff
boolean

スタッフによる送信の有無でフィルタリング(true: 手動送信メッセージ、false: その他(受信メッセージ・システムメッセージ・自動送信メッセージ等)、未指定: 全て)

sent_at_from
string

送信日時の開始範囲 (ISO 8601形式、この日時以降のメッセージを取得)

sent_at_to
string

送信日時の終了範囲 (ISO 8601形式、この日時以前のメッセージを取得)

sort_by
string
Default: "sent_at"
Value: "sent_at"

ソート対象フィールド(デフォルト: sent_at)

sort_order
string
Default: "desc"
Enum: "asc" "desc"

ソート順(デフォルト: desc)

Responses

Request samples

curl -X GET 'https://api.lineml.jp/v2/api/messages' \
  -H 'Authorization: Bearer {API_TOKEN}'

Response samples

Content type
application/json
{}

共通情報

共通情報フォルダ一覧の取得

共通情報フォルダ一覧を取得します

Authorizations:
BearerAuth

Responses

Request samples

curl -X GET 'https://api.lineml.jp/v2/api/common-info-folders' \
  -H 'Authorization: Bearer {API_TOKEN}'

Response samples

Content type
application/json
{
  • "data": [
    ]
}

共通情報一覧の取得

共通情報一覧を取得します

Authorizations:
BearerAuth
query Parameters
cursor
string

カーソル

limit
integer <int32> [ 1 .. 1000 ]
Default: 50

取得件数

integer or null

フォルダID(nullは未分類フォルダのみ、未指定は全て)

Responses

Request samples

curl -X GET 'https://api.lineml.jp/v2/api/common-infos' \
  -H 'Authorization: Bearer {API_TOKEN}'

Response samples

Content type
application/json
{}

共通情報の更新

共通情報を更新します

Authorizations:
BearerAuth
path Parameters
id
required
integer <int64>
Request Body schema: application/json
required
name
string

共通情報名

value
string

integer or null

共通情報フォルダID

Responses

Request samples

Content type
application/json
{
  • "name": "キャンペーン期間",
  • "value": "2025年1月1日〜1月31日",
  • "folder_id": 10
}

Response samples

Content type
application/json
{
  • "message": "更新が完了しました"
}

流入経路

流入経路一覧の取得

流入経路の一覧を取得します

並び順は管理画面と同じく、流入経路フォルダの並び順(未分類が先頭)→ フォルダ内の並び順です

Authorizations:
BearerAuth
query Parameters
cursor
string

カーソル

limit
integer <int32> [ 1 .. 1000 ]
Default: 50

取得件数

integer or null

フォルダID(nullは未分類フォルダのみ、未指定は全て)

Responses

Request samples

curl -X GET 'https://api.lineml.jp/v2/api/touchpoints' \
  -H 'Authorization: Bearer {API_TOKEN}'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "path": "/v2/api/touchpoints",
  • "per_page": 50,
  • "next_cursor": null,
  • "next_page_url": null,
  • "prev_cursor": null,
  • "prev_page_url": null
}

流入経路を通過した友だち一覧の取得

指定した流入経路を通過した友だちの一覧を取得します

同じ友だちが複数回通過した場合、通過ごとに1件返却されます

Authorizations:
BearerAuth
path Parameters
id
required
integer <int64>
query Parameters
cursor
string

カーソル

limit
integer <int32> [ 1 .. 1000 ]
Default: 50

取得件数

passed_at_from
string (Iso8601DateTime) ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}([+-]\d{2...

通過日時の開始日時 (ISO 8601形式: 2026-08-10T00:00:00+09:00、この日時以降のものを取得)

passed_at_to
string (Iso8601DateTime) ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}([+-]\d{2...

通過日時の終了日時 (ISO 8601形式: 2026-08-10T23:59:59+09:00、この日時以前のものを取得)

sort_by
string
Default: "passed_at"
Value: "passed_at"

ソート対象フィールド(デフォルト: passed_at)

sort_order
string
Default: "desc"
Enum: "asc" "desc"

ソート順(デフォルト: desc)

Responses

Request samples

curl -X GET 'https://api.lineml.jp/v2/api/touchpoints/123/friends' \
  -H 'Authorization: Bearer {API_TOKEN}'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "path": "/v2/api/touchpoints/1/friends",
  • "per_page": 50,
  • "next_cursor": null,
  • "next_page_url": null,
  • "prev_cursor": null,
  • "prev_page_url": null
}

メディア

メディア一覧の取得

登録メディアの一覧を取得します

Authorizations:
BearerAuth
query Parameters
cursor
string

カーソル

limit
integer <int32> [ 1 .. 1000 ]
Default: 50

取得件数

type
Array of strings
Items Enum: "image" "video" "audio" "pdf" "menu"

メディア種別でフィルタ(複数指定可、OR条件)

name
string [ 1 .. 255 ] characters

メディア名で部分一致検索

Responses

Request samples

curl -X GET 'https://api.lineml.jp/v2/api/media' \
  -H 'Authorization: Bearer {API_TOKEN}'

Response samples

Content type
application/json
{}

メディアの保存

ファイルを登録メディア一覧に保存します

現状は image のみ指定可能

Authorizations:
BearerAuth
Request Body schema: multipart/form-data
required
file
required
any

アップロードするファイルパス(jpg / png / gif 形式の画像ファイルのみ、最大10MB)

type
required
string
Value: "image"

メディア種別

name
string [ 1 .. 255 ] characters

メディア名(省略時はアップロードファイルのファイル名を使用)

Responses

Request samples

curl -X POST 'https://api.lineml.jp/v2/api/media' \
  -H 'Authorization: Bearer {API_TOKEN}' \
  -F 'file=@/path/to/file' \
  -F 'type=image' \
  -F 'name=example_value'

Response samples

Content type
application/json
{}

Webhook について

管理画面の「Webhookアクション」で送信先を設定し、機能のアクションに設定しておくと、 イベントが発生したタイミングで、登録したエンドポイントへ HTTPS POST で通知が届きます。

通知の種類ごとのペイロードは、サイドメニューの Webhook の各ページを参照してください。

詳しい設定方法はマニュアルを参照してください。

ヘッダー

URL エンドポイントに配信される HTTPS POST ペイロードには、以下のヘッダーが含まれています

ヘッダー
Content-Type application/json 固定
X-Retry-Id 冪等キー(ULID 26文字)。再送でも同じ値です。詳細は「配信処理」を参照してください
User-Agent webhook-action/1.0
管理画面で設定した認証キーヘッダー名 認証キー(64文字)を平文で送ります。詳細は「認証」を参照してください

認証

設定した認証キーヘッダー名のヘッダーに、認証キー(64文字)が平文で入ります。

受信側は、その値が管理画面の認証キーと一致するかを検証することができます。

配信処理

項目
1回の送信のタイムアウト 15 秒
試行回数 最大 4 回
成功判定 2xx のみ。それ以外は理由を問わず再送します

同じ通知が複数回届くことがあります

レスポンスが返らない場合や 2xx 以外が返った場合など、同じWebhookが 2 回以上届くことが起こりえます

エンドポイントの検証

管理画面の「Webhookログ」画面の「テストイベント送信」から、登録済みのエンドポイントへテスト用の通知を送信可能です。 受信できるかどうかの確認に使ってください。

疎通確認について

ヘッダー・認証キー・タイムアウト・再送は、すべて「配信処理」に書かれている通りに送られます。 成功扱いをするためにはステータスコードを 2xx を返してください。

Webhookのテストイベント:

{
  "webhook_event_id": "evt_01J8Z...",
  "event_type": "webhook_action_test",
  "data": {
    "friend": { "id": 12345, "uid": "Uabcd1234efgh5678" },
    "feature": { "id": {登録したエンドポイントのID}, "name": "{登録したエンドポイントの名前}", "type": "webhook_action" },
    "event": { "text": "This event is test." }
  }
}

自動応答

自動応答からの通知 Webhook

自動応答がヒットし、そのアクション設定に「Webhook送信」が含まれるときに送信されます。

Request Body schema: application/json
required
webhook_event_id
required
string

イベントを一意に識別するID(evt_ + 冪等キー)

再送でも同じ値になるので、重複したWebhookを識別できる。 X-Retry-Id ヘッダーの値と対応します。

event_type
required
string
Value: "auto_reply"

イベント種別

required
object

Responses

Request samples

Content type
application/json
Example
{
  • "webhook_event_id": "evt_01ARZ3NDEKTSV4RRFFQ69G5FAV",
  • "event_type": "auto_reply",
  • "data": {
    }
}

回答フォーム

フォーム回答の通知 Webhook

友だちが回答フォームに回答を送信し、 そのフォームの回答後アクションに「Webhook送信」が含まれるときに送信されます。

※ 旧形式の回答フォームは対応していません

Request Body schema: application/json
required
webhook_event_id
required
string

イベントを一意に識別するID(evt_ + 冪等キー)

再送でも同じ値になるので、重複したWebhookを識別できる。 X-Retry-Id ヘッダーの値と対応します。

event_type
required
string
Value: "form_answered"

イベント種別

required
object

Responses

Request samples

Content type
application/json
{
  • "webhook_event_id": "evt_01ARZ3NDEKTSV4RRFFQ69G5FAV",
  • "event_type": "form_answered",
  • "data": {
    }
}