API リファレンス
認証POST

コード認証を開始

認証コードによるログインフローを開始します。呼び出し後 /auth/code でコードを送信し、二要素が必要なら /auth/password を続けて呼び出します。WhatsApp の電話番号ペアリングも同じエンドポイントを使用します。電話番号はアカウントから読み込まれる(作成時に provider_data.phone で保存)ため、ここで再度指定する必要はありません。

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

ヘッダー

X-Api-Key
string必須

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

Content-Type
string必須

JSON のリクエストボディを送る場合は application/json を使用します。

パスパラメータ

account_id
string必須

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

リクエストボディ

このエンドポイントは空の JSON オブジェクトを受け取ります。リクエスト例どおり {} を送信してください。

レスポンスボディ

account_id
string

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

status
string

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

auth_fields[]
object[]

次のステップで何が必要かを示します。各エントリは type と必須かどうかを持ちます。

type
string

次の認証ステップで必要な入力種別(code、password など)。

required
boolean

この認証入力が必須かどうか。

label
string

provider が返す入力表示ラベル(存在する場合)。

placeholder
string

provider が返す入力プレースホルダー(存在する場合)。

auth_payload
object

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

expires_at
string

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

レスポンス

200
200 OK

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

400
Bad Request

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

401
Unauthorized

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

409
Conflict

要求された操作が、既存のプロバイダアカウントまたはリソースと競合しています。

500
Internal Server Error

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

502
Bad Gateway

プロバイダアダプタまたは上流サービスが操作を完了できませんでした。

リクエスト

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"
  }
}