ドキュメント
ダッシュボードAPI

ログインとセッション

Markdown

メソッド、リクエストのフィールド、レスポンス。

完全ガイド

このセクションには14メソッドがあります。メソッドを開くと、アクセス条件、リクエストのフィールド、レスポンスを確認できます。

メソッドとパス説明アクセス
POST /api/v1/auth/forgot-passwordパスワード再設定のリクエストログイン不要。追加条件は各メソッドに記載
POST /api/v1/auth/loginメールアドレスとパスワードでログインログイン不要。追加条件は各メソッドに記載
POST /api/v1/auth/login/2faTOTPを使ったログインの完了ログイン不要。追加条件は各メソッドに記載
POST /api/v1/auth/logoutログアウトとrefresh tokenの失効ログイン不要。追加条件は各メソッドに記載
GET /api/v1/auth/me現在のユーザー、残高、制限値ダッシュボードのトークン
POST /api/v1/auth/passkey/login/beginpasskeyログインの開始ログイン不要。追加条件は各メソッドに記載
POST /api/v1/auth/passkey/login/finishpasskeyログインの完了ログイン不要。追加条件は各メソッドに記載
POST /api/v1/auth/refreshトークンの更新ログイン不要。追加条件は各メソッドに記載
POST /api/v1/auth/register新規登録ログイン不要。追加条件は各メソッドに記載
POST /api/v1/auth/reset-passwordパスワードの再設定ログイン不要。追加条件は各メソッドに記載
POST /api/v1/auth/revoke-all-sessionsすべてのセッションの失効ダッシュボードのトークン
POST /api/v1/auth/send-verify-code確認コードの送信ログイン不要。追加条件は各メソッドに記載
POST /api/v1/auth/validate-invitation-code招待の検証ログイン不要。追加条件は各メソッドに記載
POST /api/v1/auth/validate-promo-codeプロモーションコードの検証ログイン不要。追加条件は各メソッドに記載
POST /api/v1/auth/forgot-password — パスワード再設定のリクエスト

アクセス:ログイン不要。追加条件は各メソッドに記載

頻度制限:同じアドレスから5リクエスト/60秒。

POST/api/v1/auth/forgot-password

JSON/フォームのフィールド

フィールドタイプ必須検証/説明
emailstringはいrequired,email
turnstile_tokenstringいいえ
リクエストボディのテンプレート
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}

PLACEHOLDERは、入力する値とその型を示します。値を置き換え、必要な任意フィールドだけを残してください。数値、boolean、オブジェクト、配列の代わりに、文字列のマーカーを送信しないでください。

リクエストのスキーマ:ForgotPasswordRequest

レスポンス

JSONレスポンスにはcode、message、dataが含まれます。dataの内容は、以下のスキーマで説明します。

レスポンスのデータスキーマ:ForgotPasswordResponse。フィールドと型は、「データスキーマ」の各ページに記載されています。

レスポンスのスキーマ。値は例示用
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)"
  }
}

補足:この操作は状態を変更するか、一度限りの認証手続きを継続します。例は契約仕様を説明するもので、実行されません。

POST /api/v1/auth/login — メールアドレスとパスワードでログイン

アクセス:ログイン不要。追加条件は各メソッドに記載

機能の利用可否と追加のアクセス条件は、リクエスト実行時に確認されます。

頻度制限:同じアドレスから20リクエスト/60秒。

POST/api/v1/auth/login

JSON/フォームのフィールド

フィールドタイプ必須検証/説明
emailstringはいrequired,email
passwordstringはいrequired
turnstile_tokenstringいいえ
リクエストボディのテンプレート
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "password": "PLACEHOLDER_PASSWORD (string)",
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}

PLACEHOLDERは、入力する値とその型を示します。値を置き換え、必要な任意フィールドだけを残してください。数値、boolean、オブジェクト、配列の代わりに、文字列のマーカーを送信しないでください。

リクエストのスキーマ:LoginRequest

レスポンス

JSONレスポンスにはcode、message、dataが含まれます。dataの内容は、以下のスキーマで説明します。

レスポンスのデータスキーマ:TotpLoginResponse, User, AuthResponse。フィールドと型は、「データスキーマ」の各ページに記載されています。

複数のレスポンス形式がある場合、それぞれのフィールドは別のスキーマに記載されています。一つのオブジェクトに統合しないでください。

補足:この操作は状態を変更するか、一度限りの認証手続きを継続します。例は契約仕様を説明するもので、実行されません。

POST /api/v1/auth/login/2fa — TOTPを使ったログインの完了

アクセス:ログイン不要。追加条件は各メソッドに記載

機能の利用可否と追加のアクセス条件は、リクエスト実行時に確認されます。

頻度制限:同じアドレスから20リクエスト/60秒。

POST/api/v1/auth/login/2fa

JSON/フォームのフィールド

フィールドタイプ必須検証/説明
temp_tokenstringはいrequired
totp_codestringはいrequired,len=6
リクエストボディのテンプレート
{
  "temp_token": "PLACEHOLDER_TEMP_TOKEN (string)",
  "totp_code": "PLACEHOLDER_TOTP_CODE (string)"
}

PLACEHOLDERは、入力する値とその型を示します。値を置き換え、必要な任意フィールドだけを残してください。数値、boolean、オブジェクト、配列の代わりに、文字列のマーカーを送信しないでください。

リクエストのスキーマ:Login2FARequest

レスポンス

JSONレスポンスにはcode、message、dataが含まれます。dataの内容は、以下のスキーマで説明します。

レスポンスのデータスキーマ:User, AuthResponse。フィールドと型は、「データスキーマ」の各ページに記載されています。

複数のレスポンス形式がある場合、それぞれのフィールドは別のスキーマに記載されています。一つのオブジェクトに統合しないでください。

補足:この操作は状態を変更するか、一度限りの認証手続きを継続します。例は契約仕様を説明するもので、実行されません。

POST /api/v1/auth/logout — ログアウトとrefresh tokenの失効

アクセス:ログイン不要。追加条件は各メソッドに記載

POST/api/v1/auth/logout

JSON/フォームのフィールド

フィールドタイプ必須検証/説明
refresh_tokenstringいいえ;任意:指定した更新トークンを失効
リクエストボディのテンプレート
{
  "refresh_token": "PLACEHOLDER_REFRESH_TOKEN (string)"
}

PLACEHOLDERは、入力する値とその型を示します。値を置き換え、必要な任意フィールドだけを残してください。数値、boolean、オブジェクト、配列の代わりに、文字列のマーカーを送信しないでください。

リクエストのスキーマ:LogoutRequest

レスポンス

JSONレスポンスにはcode、message、dataが含まれます。dataの内容は、以下のスキーマで説明します。

レスポンスのデータスキーマ:LogoutResponse。フィールドと型は、「データスキーマ」の各ページに記載されています。

レスポンスのスキーマ。値は例示用
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)"
  }
}

補足:この操作は状態を変更するか、一度限りの認証手続きを継続します。例は契約仕様を説明するもので、実行されません。

GET /api/v1/auth/me — 現在のユーザー、残高、制限値

アクセス:ダッシュボードのトークン

GET/api/v1/auth/me
取得。IDは、以前取得したレスポンスの値を使います。
curl --fail-with-body "https://ailoot.ai/api/v1/auth/me" \
  -H "Authorization: Bearer $TOKEN"

リクエストボディは不要です。上記のパラメータはURLで渡してください。

レスポンス

JSONレスポンスにはcode、message、dataが含まれます。dataの内容は、以下のスキーマで説明します。

レスポンスのデータスキーマ:User, UserProfileResponse。フィールドと型は、「データスキーマ」の各ページに記載されています。

レスポンスのスキーマ。値は例示用
{
  "code": 0,
  "message": "success",
  "data": {
    "id": "PLACEHOLDER_ID (integer)",
    "email": "PLACEHOLDER_EMAIL (string)",
    "username": "PLACEHOLDER_USERNAME (string)",
    "role": "PLACEHOLDER_ROLE (string)",
    "balance": "PLACEHOLDER_BALANCE (number)",
    "frozen_balance": "PLACEHOLDER_FROZEN_BALANCE (number)",
    "concurrency": "PLACEHOLDER_CONCURRENCY (integer)",
    "status": "PLACEHOLDER_STATUS (string)",
    "last_active_at": "PLACEHOLDER_LAST_ACTIVE_AT (string)",
    "created_at": "PLACEHOLDER_CREATED_AT (string)",
    "updated_at": "PLACEHOLDER_UPDATED_AT (string)",
    "deleted_at": "PLACEHOLDER_DELETED_AT (string)",
    "balance_notify_enabled": "PLACEHOLDER_BALANCE_NOTIFY_ENABLED (boolean)",
    "balance_notify_threshold_type": "PLACEHOLDER_BALANCE_NOTIFY_THRESHOLD_TYPE (string)",
    "balance_notify_threshold": "PLACEHOLDER_BALANCE_NOTIFY_THRESHOLD (number)",
    "balance_notify_extra_emails": "PLACEHOLDER_BALANCE_NOTIFY_EXTRA_EMAILS (array)",
    "total_recharged": "PLACEHOLDER_TOTAL_RECHARGED (number)",
    "rpm_limit": "PLACEHOLDER_RPM_LIMIT (integer)",
    "api_keys": "PLACEHOLDER_API_KEYS (array)",
    "avatar_url": "PLACEHOLDER_AVATAR_URL (string)",
    "email_bound": "PLACEHOLDER_EMAIL_BOUND (boolean)"
  }
}

補足:すべての個人データとオブジェクトは、JWTの主体に限定されます。

補足:キーの支出制限(quota、quota_used)は、プロフィールではなく、キーのレスポンスに含まれます。frozen_balanceは仮確保中の金額であり、自由に使える残高として扱えません。

POST /api/v1/auth/passkey/login/begin — passkeyログインの開始

アクセス:ログイン不要。追加条件は各メソッドに記載

機能の利用可否と追加のアクセス条件は、リクエスト実行時に確認されます。

頻度制限:同じアドレスから20リクエスト/60秒。

POST/api/v1/auth/passkey/login/begin

JSON/フォームのフィールド

フィールドタイプ必須検証/説明
turnstile_tokenstringいいえ
リクエストボディのテンプレート
{
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}

PLACEHOLDERは、入力する値とその型を示します。値を置き換え、必要な任意フィールドだけを残してください。数値、boolean、オブジェクト、配列の代わりに、文字列のマーカーを送信しないでください。

リクエストのスキーマ:PasskeyBeginLoginRequest

レスポンス

JSONレスポンスにはcode、message、dataが含まれます。dataの内容は、以下のスキーマで説明します。

レスポンスのデータスキーマ:PasskeyOptionsResponse。フィールドと型は、「データスキーマ」の各ページに記載されています。

レスポンスのスキーマ。値は例示用
{
  "code": 0,
  "message": "success",
  "data": {
    "session_token": "PLACEHOLDER_SESSION_TOKEN (string)",
    "options": "PLACEHOLDER_OPTIONS (any)"
  }
}

補足:この操作は状態を変更するか、一度限りの認証手続きを継続します。例は契約仕様を説明するもので、実行されません。

補足:credentialはnavigator.credentialsから、session_tokenはbeginから取得します。Finish bodyは<=65536バイト。登録と削除にはパスワードが必要です。

POST /api/v1/auth/passkey/login/finish — passkeyログインの完了

アクセス:ログイン不要。追加条件は各メソッドに記載

機能の利用可否と追加のアクセス条件は、リクエスト実行時に確認されます。

頻度制限:同じアドレスから20リクエスト/60秒。

POST/api/v1/auth/passkey/login/finish

JSON/フォームのフィールド

フィールドタイプ必須検証/説明
session_tokenstringはいrequired
namestringいいえ
credentialobjectはいrequired
リクエストボディのテンプレート
{
  "session_token": "PLACEHOLDER_SESSION_TOKEN (string)",
  "name": "PLACEHOLDER_NAME (string)",
  "credential": "PLACEHOLDER_CREDENTIAL (object)"
}

PLACEHOLDERは、入力する値とその型を示します。値を置き換え、必要な任意フィールドだけを残してください。数値、boolean、オブジェクト、配列の代わりに、文字列のマーカーを送信しないでください。

リクエストのスキーマ:PasskeyFinishRequest

レスポンス

JSONレスポンスにはcode、message、dataが含まれます。dataの内容は、以下のスキーマで説明します。

レスポンスのデータスキーマ:User, AuthResponse。フィールドと型は、「データスキーマ」の各ページに記載されています。

複数のレスポンス形式がある場合、それぞれのフィールドは別のスキーマに記載されています。一つのオブジェクトに統合しないでください。

補足:この操作は状態を変更するか、一度限りの認証手続きを継続します。例は契約仕様を説明するもので、実行されません。

補足:credentialはnavigator.credentialsから、session_tokenはbeginから取得します。Finish bodyは<=65536バイト。登録と削除にはパスワードが必要です。

POST /api/v1/auth/refresh — トークンの更新

アクセス:ログイン不要。追加条件は各メソッドに記載

機能の利用可否と追加のアクセス条件は、リクエスト実行時に確認されます。

頻度制限:同じアドレスから30リクエスト/60秒。

POST/api/v1/auth/refresh

JSON/フォームのフィールド

フィールドタイプ必須検証/説明
refresh_tokenstringはいrequired
リクエストボディのテンプレート
{
  "refresh_token": "PLACEHOLDER_REFRESH_TOKEN (string)"
}

PLACEHOLDERは、入力する値とその型を示します。値を置き換え、必要な任意フィールドだけを残してください。数値、boolean、オブジェクト、配列の代わりに、文字列のマーカーを送信しないでください。

リクエストのスキーマ:RefreshTokenRequest

レスポンス

JSONレスポンスにはcode、message、dataが含まれます。dataの内容は、以下のスキーマで説明します。

レスポンスのデータスキーマ:RefreshTokenResponse。フィールドと型は、「データスキーマ」の各ページに記載されています。

レスポンスのスキーマ。値は例示用
{
  "code": 0,
  "message": "success",
  "data": {
    "access_token": "PLACEHOLDER_ACCESS_TOKEN (string)",
    "refresh_token": "PLACEHOLDER_REFRESH_TOKEN (string)",
    "expires_in": "PLACEHOLDER_EXPIRES_IN (integer)",
    "token_type": "PLACEHOLDER_TOKEN_TYPE (string)"
  }
}

補足:この操作は状態を変更するか、一度限りの認証手続きを継続します。例は契約仕様を説明するもので、実行されません。

POST /api/v1/auth/register — 新規登録

アクセス:ログイン不要。追加条件は各メソッドに記載

頻度制限:同じアドレスから5リクエスト/60秒。

POST/api/v1/auth/register

JSON/フォームのフィールド

フィールドタイプ必須検証/説明
emailstringはいrequired,email
passwordstringはいrequired,min=6
verify_codestringいいえ
turnstile_tokenstringいいえ
promo_codestringいいえ;登録用プロモーションコード
invitation_codestringいいえ;招待コード
リクエストボディのテンプレート
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "password": "PLACEHOLDER_PASSWORD (string)",
  "verify_code": "PLACEHOLDER_VERIFY_CODE (string)",
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)",
  "promo_code": "PLACEHOLDER_PROMO_CODE (string)",
  "invitation_code": "PLACEHOLDER_INVITATION_CODE (string)"
}

PLACEHOLDERは、入力する値とその型を示します。値を置き換え、必要な任意フィールドだけを残してください。数値、boolean、オブジェクト、配列の代わりに、文字列のマーカーを送信しないでください。

リクエストのスキーマ:RegisterRequest

レスポンス

JSONレスポンスにはcode、message、dataが含まれます。dataの内容は、以下のスキーマで説明します。

レスポンスのデータスキーマ:User, AuthResponse。フィールドと型は、「データスキーマ」の各ページに記載されています。

複数のレスポンス形式がある場合、それぞれのフィールドは別のスキーマに記載されています。一つのオブジェクトに統合しないでください。

補足:この操作は状態を変更するか、一度限りの認証手続きを継続します。例は契約仕様を説明するもので、実行されません。

POST /api/v1/auth/reset-password — パスワードの再設定

アクセス:ログイン不要。追加条件は各メソッドに記載

頻度制限:同じアドレスから10リクエスト/60秒。

POST/api/v1/auth/reset-password

JSON/フォームのフィールド

フィールドタイプ必須検証/説明
emailstringはいrequired,email
tokenstringはいrequired
new_passwordstringはいrequired,min=6
リクエストボディのテンプレート
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "token": "PLACEHOLDER_TOKEN (string)",
  "new_password": "PLACEHOLDER_NEW_PASSWORD (string)"
}

PLACEHOLDERは、入力する値とその型を示します。値を置き換え、必要な任意フィールドだけを残してください。数値、boolean、オブジェクト、配列の代わりに、文字列のマーカーを送信しないでください。

リクエストのスキーマ:ResetPasswordRequest

レスポンス

JSONレスポンスにはcode、message、dataが含まれます。dataの内容は、以下のスキーマで説明します。

レスポンスのデータスキーマ:ResetPasswordResponse。フィールドと型は、「データスキーマ」の各ページに記載されています。

レスポンスのスキーマ。値は例示用
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)"
  }
}

補足:この操作は状態を変更するか、一度限りの認証手続きを継続します。例は契約仕様を説明するもので、実行されません。

POST /api/v1/auth/revoke-all-sessions — すべてのセッションの失効

アクセス:ダッシュボードのトークン

POST/api/v1/auth/revoke-all-sessions

リクエストボディは不要です。

レスポンス

JSONレスポンスにはcode、message、dataが含まれます。dataの内容は、以下のスキーマで説明します。

レスポンスのデータスキーマ:RevokeAllSessionsResponse。フィールドと型は、「データスキーマ」の各ページに記載されています。

レスポンスのスキーマ。値は例示用
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)"
  }
}

補足:すべての個人データとオブジェクトは、JWTの主体に限定されます。

補足:この操作は状態を変更するか、一度限りの認証手続きを継続します。例は契約仕様を説明するもので、実行されません。

POST /api/v1/auth/send-verify-code — 確認コードの送信

アクセス:ログイン不要。追加条件は各メソッドに記載

頻度制限:同じアドレスから5リクエスト/60秒。

POST/api/v1/auth/send-verify-code

JSON/フォームのフィールド

フィールドタイプ必須検証/説明
emailstringはいrequired,email
turnstile_tokenstringいいえ
リクエストボディのテンプレート
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}

PLACEHOLDERは、入力する値とその型を示します。値を置き換え、必要な任意フィールドだけを残してください。数値、boolean、オブジェクト、配列の代わりに、文字列のマーカーを送信しないでください。

リクエストのスキーマ:SendVerifyCodeRequest

レスポンス

JSONレスポンスにはcode、message、dataが含まれます。dataの内容は、以下のスキーマで説明します。

レスポンスのデータスキーマ:SendVerifyCodeResponse。フィールドと型は、「データスキーマ」の各ページに記載されています。

レスポンスのスキーマ。値は例示用
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)",
    "countdown": "PLACEHOLDER_COUNTDOWN (integer)"
  }
}

補足:この操作は状態を変更するか、一度限りの認証手続きを継続します。例は契約仕様を説明するもので、実行されません。

POST /api/v1/auth/validate-invitation-code — 招待の検証

アクセス:ログイン不要。追加条件は各メソッドに記載

機能の利用可否と追加のアクセス条件は、リクエスト実行時に確認されます。

頻度制限:同じアドレスから10リクエスト/60秒。

POST/api/v1/auth/validate-invitation-code

JSON/フォームのフィールド

フィールドタイプ必須検証/説明
codestringはいrequired
リクエストボディのテンプレート
{
  "code": "PLACEHOLDER_CODE (string)"
}

PLACEHOLDERは、入力する値とその型を示します。値を置き換え、必要な任意フィールドだけを残してください。数値、boolean、オブジェクト、配列の代わりに、文字列のマーカーを送信しないでください。

リクエストのスキーマ:ValidateInvitationCodeRequest

レスポンス

JSONレスポンスにはcode、message、dataが含まれます。dataの内容は、以下のスキーマで説明します。

レスポンスのデータスキーマ:ValidateInvitationCodeResponse。フィールドと型は、「データスキーマ」の各ページに記載されています。

レスポンスのスキーマ。値は例示用
{
  "code": 0,
  "message": "success",
  "data": {
    "valid": "PLACEHOLDER_VALID (boolean)",
    "error_code": "PLACEHOLDER_ERROR_CODE (string)"
  }
}

補足:このメソッドは招待を確認し、コードは消費しません。例はメソッドの仕様を説明するもので、実行されません。

POST /api/v1/auth/validate-promo-code — プロモーションコードの検証

アクセス:ログイン不要。追加条件は各メソッドに記載

機能の利用可否と追加のアクセス条件は、リクエスト実行時に確認されます。

頻度制限:同じアドレスから10リクエスト/60秒。

POST/api/v1/auth/validate-promo-code

JSON/フォームのフィールド

フィールドタイプ必須検証/説明
codestringはいrequired
リクエストボディのテンプレート
{
  "code": "PLACEHOLDER_CODE (string)"
}

PLACEHOLDERは、入力する値とその型を示します。値を置き換え、必要な任意フィールドだけを残してください。数値、boolean、オブジェクト、配列の代わりに、文字列のマーカーを送信しないでください。

リクエストのスキーマ:ValidatePromoCodeRequest

レスポンス

JSONレスポンスにはcode、message、dataが含まれます。dataの内容は、以下のスキーマで説明します。

レスポンスのデータスキーマ:ValidatePromoCodeResponse。フィールドと型は、「データスキーマ」の各ページに記載されています。

レスポンスのスキーマ。値は例示用
{
  "code": 0,
  "message": "success",
  "data": {
    "valid": "PLACEHOLDER_VALID (boolean)",
    "bonus_amount": "PLACEHOLDER_BONUS_AMOUNT (number)",
    "error_code": "PLACEHOLDER_ERROR_CODE (string)",
    "message": "PLACEHOLDER_MESSAGE (string)"
  }
}

補足:このメソッドはプロモーションコードを確認し、ボーナスは付与しません。例はメソッドの仕様を説明するもので、実行されません。

ログインとセッション · 2FA

POST /api/v1/auth/login → data

  • data.requires_2fa === true → TotpLoginResponse → data.temp_token → POST /api/v1/auth/login/2fa · {"temp_token": "…", "totp_code": "…"} → data.access_token
  • data.access_token → AuthResponse → Authorization: Bearer $TOKEN

totp_code: string, len = 6. temp_token ≠ access_token. User

ご不明な点はありますか?Request IDと状況の説明をお送りください。調査をお手伝いします。サポートに問い合わせる