コード認証を開始
認証コードによるログインフローを開始します。呼び出し後 /auth/code でコードを送信し、二要素が必要なら /auth/password を続けて呼び出します。WhatsApp の電話番号ペアリングも同じエンドポイントを使用します。電話番号はアカウントから読み込まれる(作成時に provider_data.phone で保存)ため、ここで再度指定する必要はありません。
https://api.unifyport.ai/v1/accounts/{account_id}/auth/startヘッダー
X-Api-Keyワークスペース API キー。このヘッダーからワークスペースを特定します。
Content-TypeJSON のリクエストボディを送る場合は application/json を使用します。
パスパラメータ
account_idauthentication ルートで使用される識別子。
リクエストボディ
このエンドポイントは空の JSON オブジェクトを受け取ります。リクエスト例どおり {} を送信してください。
レスポンスボディ
account_idこのレスポンスが対象とするプロバイダアカウント。
status現在の認可フロー状態。pending_auth、awaiting_qr_scan、awaiting_code、pending、passkey_required、passkey_pending、passkey_confirmation、passkey_confirmation_sent、authorized、failed など。
auth_fields[]object[]次のステップで何が必要かを示します。各エントリは type と必須かどうかを持ちます。
auth_fields[]次のステップで何が必要かを示します。各エントリは type と必須かどうかを持ちます。
type次の認証ステップで必要な入力種別(code、password など)。
requiredこの認証入力が必須かどうか。
labelprovider が返す入力表示ラベル(存在する場合)。
placeholderprovider が返す入力プレースホルダー(存在する場合)。
auth_payload現在のステップに必要な標準ペイロード。QR は qr_code、認証コードステップは type=code、Passkey は type=passkey と public_key を使用します。相互排他的なステップのペイロードは同時には現れません。
expires_at現在の auth_payload が無効になる時刻の RFC3339 タイムスタンプ。
レスポンス
200リクエスト成功。レスポンスボディの例を参照してください。
400リクエストボディ、パス、またはパラメータが不正です。
401X-Api-Key ヘッダが欠落しているか無効です。
409要求された操作が、既存のプロバイダアカウントまたはリソースと競合しています。
500サービスで予期しないエラーが発生しました。
502プロバイダアダプタまたは上流サービスが操作を完了できませんでした。
リクエスト
curl -X POST https://api.unifyport.ai/v1/accounts/{account_id}/auth/start \
-H "X-Api-Key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{}'レスポンス
{
"data": {
"account_id": "acc_example",
"status": "awaiting_code",
"auth_fields": [
{ "type": "code", "required": true }
],
"auth_payload": {
"verify_code": "ABCD-EFGH"
},
"expires_at": "2026-01-01T00:00:00Z"
}
}