Channels
LINE authorization
LINE only supports QR code login. The QR URL and PIN are delivered asynchronously via webhooks rather than synchronously in the API response.
qrcode
LINE QR login: the QR URL and PIN are delivered asynchronously. Listen for account.auth.required, or read the cached auth_payload with GET /auth while polling POST /auth/qr/check.
- 1. POST /v1/accounts with provider=line, auth_mode=qrcode. Optionally set metadata.device_login_type (for example DESKTOPMAC).
- 2. POST /v1/accounts/{account_id}/auth/qr/start to ask the LINE provider to begin the login session.
- 3. Wait for account.auth.required on your webhook. The platform also caches auth_payload.url (QR image) and auth_payload.pin so they can be read with GET /v1/accounts/{account_id}/auth.
- 4. Display the QR URL and PIN returned by GET /v1/accounts/{account_id}/auth, and poll POST /v1/accounts/{account_id}/auth/qr/check until authorization completes.
- 5. On account.auth.succeeded, provider_account_ref is populated automatically. Check runtime_status first and call POST /v1/accounts/{account_id}/runtime/start only if a start is still needed.
metadata.device_login_type— Optional device identifier such as DESKTOPMAC or DESKTOPWIN. Forwarded to the LINE provider when starting the QR session.
Notes
- The QR URL and PIN do NOT come back in the qr/start response. They arrive later through account.auth.required and are cached in GET /auth; use POST /auth/qr/check to poll authorization. /auth/session is POST-only session import.
- The PIN is for caller display only — it is not submitted back to LINE. Show it next to the QR so the user can verify they are scanning the correct device.
- On account.auth.succeeded the provider_account_ref is set automatically. The event also carries the standard profile fields (display_name, picture_url, region, status_message).