LINE Messaging API Skill
Use this skill to run LINE Messaging API operations through uxc + OpenAPI.
Reuse the uxc skill for shared execution, auth, and error-handling guidance.
Prerequisites
uxcis installed and available inPATH.- Network access to
https://api.line.me. - Access to the curated OpenAPI schema URL:
https://raw.githubusercontent.com/holon-run/uxc/main/skills/line-openapi-skill/references/line-messaging.openapi.json
- A LINE Messaging API channel access token.
Scope
This skill covers a Messaging Core surface:
- bot identity lookup
- user profile lookup
- push and reply message sends
- quota and quota consumption reads
- webhook endpoint get/set/test operations
This skill does not cover:
- inbound webhook receiver runtime
- media/content download flows on
api-data.line.me - audience, narrowcast, rich menu, or account-management surfaces
- the full LINE Messaging API
Authentication
LINE Messaging API uses Authorization: Bearer <channel access token>.
Configure one bearer credential and bind it to api.line.me:
uxc auth credential set line-channel \
--auth-type bearer \
--secret-env LINE_CHANNEL_ACCESS_TOKEN
uxc auth binding add \
--id line-channel \
--host api.line.me \
--scheme https \
--credential line-channel \
--priority 100
Validate the active mapping when auth looks wrong:
uxc auth binding match https://api.line.me
Core Workflow
-
Use the fixed link command by default:
command -v line-openapi-cli- If missing, create it:
uxc link line-openapi-cli https://api.line.me --schema-url https://raw.githubusercontent.com/holon-run/uxc/main/skills/line-openapi-skill/references/line-messaging.openapi.json line-openapi-cli -h
-
Inspect operation schema first:
line-openapi-cli get:/v2/bot/info -hline-openapi-cli get:/v2/bot/profile/{userId} -hline-openapi-cli post:/v2/bot/message/push -h
-
Prefer read/setup validation before writes:
line-openapi-cli get:/v2/bot/infoline-openapi-cli get:/v2/bot/message/quotaline-openapi-cli get:/v2/bot/channel/webhook/endpoint
-
Execute with key/value or positional JSON:
- key/value:
line-openapi-cli get:/v2/bot/profile/{userId} userId=U1234567890abcdef - positional JSON:
line-openapi-cli post:/v2/bot/message/push '{"to":"U1234567890abcdef","messages":[{"type":"text","text":"Hello from UXC"}]}'
- key/value:
Operation Groups
Read / Lookup
get:/v2/bot/infoget:/v2/bot/profile/{userId}get:/v2/bot/message/quotaget:/v2/bot/message/quota/consumptionget:/v2/bot/channel/webhook/endpoint
Messaging
post:/v2/bot/message/pushpost:/v2/bot/message/reply
Webhook Endpoint Management
put:/v2/bot/channel/webhook/endpointpost:/v2/bot/channel/webhook/test
Guardrails
- Keep automation on the JSON output envelope; do not use
--text. - Parse stable fields first:
ok,kind,protocol,data,error. - Use a channel access token with the scopes required by the target bot/channel configuration.
post:/v2/bot/message/pushandpost:/v2/bot/message/replyare write/high-risk operations; require explicit user confirmation before execution.replyTokenvalues are short-lived and webhook-derived. Usepost:/v2/bot/message/replyonly when the caller already has a valid token from a recent event.- Webhook endpoint get/set/test calls configure delivery only; they do not provide a receiver runtime in
uxc. - This v1 skill stays on
https://api.line.me; content retrieval endpoints onhttps://api-data.line.meare intentionally out of scope. line-openapi-cli <operation> ...is equivalent touxc https://api.line.me --schema-url <line_openapi_schema> <operation> ....
References
- Usage patterns:
references/usage-patterns.md - Curated OpenAPI schema:
references/line-messaging.openapi.json - LINE Messaging API reference: https://developers.line.biz/en/reference/messaging-api/