API リファレンス
認証POST

プロバイダ認可セッションを作成

auth_mode=qrcode の WhatsApp アカウント向けに短期のホスト型認可セッションを作成します。authorize_url はユーザーのブラウザで開き、完全な URL を機密資格情報として扱い、ログや共有を避けてください。

https://api.unifyport.ai/v1/accounts/{account_id}/auth-sessions

ヘッダー

X-Api-Key
string必須

ワークスペース API キー。このヘッダーからワークスペースを特定します。

パスパラメータ

account_id
string必須

authentication ルートで使用される識別子。

リクエストボディ

このエンドポイントは JSON ボディを必要としません。

レスポンスボディ

account_id
string

このレスポンスが対象とするプロバイダアカウント。

provider
string

レスポンスの canonical provider 名。whatsapp-protocol の認証は session のみで、現在は text、image、連絡先詳細に対応します。reply、mentions、連絡先一覧と書き込み操作、会話、グループ機能には対応しません。利用可否はデプロイ環境に登録された adapter に依存します。

enum: whatsapp

auth_mode
string

この認可セッションの認証モード。現在は qrcode です。

status
string

現在の認可フロー状態。pending_auth、awaiting_qr_scan、awaiting_code、pending、passkey_required、passkey_pending、passkey_confirmation、passkey_confirmation_sent、authorized、failed など。

auth_payload
object

現在のステップに必要な標準ペイロード。QR は qr_code、認証コードステップは type=code、Passkey は type=passkey と public_key を使用します。相互排他的なステップのペイロードは同時には現れません。

authorize_url
string

不透明な資格情報を含む短期ホスト型認可 URL。完全な URL をログや共有に含めないでください。

format: uri

expires_at
string

現在の auth_payload が無効になる時刻の RFC3339 タイムスタンプ。

format: date-time

switchable
boolean

ホスト型認可セッションで認証モードを切り替えられるかどうか。

available_auth_modes[]
string[]

ホスト型認可セッション内で利用できる認証モード。

レスポンス

201
201 Created

リクエスト成功。レスポンスボディの例を参照してください。

400
Bad Request

リクエストボディ、パス、またはパラメータが不正です。

401
Unauthorized

X-Api-Key ヘッダが欠落しているか無効です。

500
Internal Server Error

サービスで予期しないエラーが発生しました。

503
Service Unavailable

必要なバックエンドサービスが一時的に利用できません。

リクエスト

curl -X POST https://api.unifyport.ai/v1/accounts/{account_id}/auth-sessions \
  -H "X-Api-Key: <YOUR_API_KEY>"

レスポンス

{
  "data": {
    "account_id": "acc_example",
    "provider": "whatsapp",
    "auth_mode": "qrcode",
    "status": "passkey_required",
    "auth_payload": {
      "type": "passkey",
      "public_key": {
        "challenge": "<BASE64URL_CHALLENGE>"
      }
    },
    "authorize_url": "https://auth.example.com/authorize/whatsapp/<SESSION_TOKEN>",
    "expires_at": "2026-08-12T08:10:00Z",
    "switchable": false,
    "available_auth_modes": ["qrcode"]
  }
}