tài liệu
API bảng điều khiển

Hồ sơ và bảo mật

Markdown

Phương thức, trường yêu cầu và phản hồi.

Hướng dẫn đầy đủ

Phần này có 6 phương thức. Mở phương thức để xem điều kiện truy cập, trường yêu cầu và phản hồi.

Phương thức và đường dẫnMô tảQuyền truy cập
PUT /api/v1/userThay đổi hồ sơToken trang quản lý tài khoản
GET /api/v1/user/passkeysDanh sách passkeyToken trang quản lý tài khoản
PUT /api/v1/user/passwordĐổi mật khẩuToken trang quản lý tài khoản
GET /api/v1/user/profileHồ sơ, số dư và các liên kếtToken trang quản lý tài khoản
GET /api/v1/user/totp/statusTrạng thái 2FA (TOTP)Token trang quản lý tài khoản
GET /api/v1/user/totp/verification-methodPhương thức kiểm tra TOTPToken trang quản lý tài khoản
PUT /api/v1/user — Thay đổi hồ sơ

Quyền truy cập: Token trang quản lý tài khoản

PUT/api/v1/user

Các trường JSON / biểu mẫu

TrườngKiểuBắt buộcKiểm tra / mô tả
usernamestringkhông; có thể là null
avatar_urlstringkhông; có thể là null
balance_notify_enabledbooleankhông; có thể là null
balance_notify_thresholdnumberkhông; có thể là null
Mẫu nội dung yêu cầu
{
  "username": "PLACEHOLDER_USERNAME (string)",
  "avatar_url": "PLACEHOLDER_AVATAR_URL (string)",
  "balance_notify_enabled": "PLACEHOLDER_BALANCE_NOTIFY_ENABLED (boolean)",
  "balance_notify_threshold": "PLACEHOLDER_BALANCE_NOTIFY_THRESHOLD (number)"
}

PLACEHOLDER biểu thị dữ liệu bạn nhập và kiểu dữ liệu đó. Thay các giá trị và chỉ giữ những trường tùy chọn cần thiết; không gửi chuỗi đánh dấu thay cho số, boolean, đối tượng hoặc mảng.

Lược đồ yêu cầu: UpdateProfileRequest

Phản hồi

Phản hồi JSON chứa code, message và data. Nội dung data được mô tả trong các lược đồ bên dưới.

Lược đồ dữ liệu phản hồi: User, UserProfileResponse. Các trường và kiểu dữ liệu nằm trên trang “Lược đồ dữ liệu”.

Lược đồ phản hồi, các giá trị chỉ để minh họa
{
  "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)"
  }
}

Đặc điểm: Mọi dữ liệu cá nhân và đối tượng đều được giới hạn theo chủ thể JWT.

Đặc điểm: Thao tác thay đổi trạng thái hoặc tiếp tục quy trình ủy quyền dùng một lần; ví dụ mô tả hợp đồng và không được thực thi.

Đặc điểm: Giới hạn chi tiêu của khóa (quota, quota_used) nằm trong phản hồi về khóa, không nằm trong hồ sơ. frozen_balance là số tiền đã giữ trước, không thể coi là số dư khả dụng.

GET /api/v1/user/passkeys — Danh sách passkey

Quyền truy cập: Token trang quản lý tài khoản

GET/api/v1/user/passkeys
Đọc; lấy ID từ phản hồi trước đó của bạn
curl --fail-with-body "https://ailoot.ai/api/v1/user/passkeys" \
  -H "Authorization: Bearer $TOKEN"

Không cần nội dung yêu cầu. Gửi các tham số nêu trên trong URL.

Phản hồi

Phản hồi JSON chứa code, message và data. Nội dung data được mô tả trong các lược đồ bên dưới.

Lược đồ dữ liệu phản hồi: PasskeyCredentialSummary. Các trường và kiểu dữ liệu nằm trên trang “Lược đồ dữ liệu”.

Lược đồ phản hồi, các giá trị chỉ để minh họa
{
  "code": 0,
  "message": "success",
  "data": {
    "id": "PLACEHOLDER_ID (integer)",
    "name": "PLACEHOLDER_NAME (string)",
    "created_at": "PLACEHOLDER_CREATED_AT (string)",
    "last_used_at": "PLACEHOLDER_LAST_USED_AT (string)",
    "backup": "PLACEHOLDER_BACKUP (boolean)"
  }
}

Đặc điểm: Mọi dữ liệu cá nhân và đối tượng đều được giới hạn theo chủ thể JWT.

Đặc điểm: credential được lấy từ navigator.credentials; session_token từ begin. Nội dung Finish <=65536 byte; đăng ký và xóa cần mật khẩu.

PUT /api/v1/user/password — Đổi mật khẩu

Quyền truy cập: Token trang quản lý tài khoản

PUT/api/v1/user/password

Các trường JSON / biểu mẫu

TrườngKiểuBắt buộcKiểm tra / mô tả
old_passwordstringcórequired
new_passwordstringcórequired,min=6
Mẫu nội dung yêu cầu
{
  "old_password": "PLACEHOLDER_OLD_PASSWORD (string)",
  "new_password": "PLACEHOLDER_NEW_PASSWORD (string)"
}

PLACEHOLDER biểu thị dữ liệu bạn nhập và kiểu dữ liệu đó. Thay các giá trị và chỉ giữ những trường tùy chọn cần thiết; không gửi chuỗi đánh dấu thay cho số, boolean, đối tượng hoặc mảng.

Lược đồ yêu cầu: ChangePasswordRequest

Phản hồi

Phản hồi JSON chứa code, message và data. Nội dung data được mô tả trong các lược đồ bên dưới.

Lược đồ phản hồi, các giá trị chỉ để minh họa
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "VALUE_FROM_RESPONSE"
  }
}

Đặc điểm: Mọi dữ liệu cá nhân và đối tượng đều được giới hạn theo chủ thể JWT.

Đặc điểm: Thao tác thay đổi trạng thái hoặc tiếp tục quy trình ủy quyền dùng một lần; ví dụ mô tả hợp đồng và không được thực thi.

GET /api/v1/user/profile — Hồ sơ, số dư và các liên kết

Quyền truy cập: Token trang quản lý tài khoản

GET/api/v1/user/profile
Đọc; lấy ID từ phản hồi trước đó của bạn
curl --fail-with-body "https://ailoot.ai/api/v1/user/profile" \
  -H "Authorization: Bearer $TOKEN"

Không cần nội dung yêu cầu. Gửi các tham số nêu trên trong URL.

Phản hồi

Phản hồi JSON chứa code, message và data. Nội dung data được mô tả trong các lược đồ bên dưới.

Lược đồ dữ liệu phản hồi: User, UserProfileResponse. Các trường và kiểu dữ liệu nằm trên trang “Lược đồ dữ liệu”.

Lược đồ phản hồi, các giá trị chỉ để minh họa
{
  "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)"
  }
}

Đặc điểm: Mọi dữ liệu cá nhân và đối tượng đều được giới hạn theo chủ thể JWT.

Đặc điểm: Giới hạn chi tiêu của khóa (quota, quota_used) nằm trong phản hồi về khóa, không nằm trong hồ sơ. frozen_balance là số tiền đã giữ trước, không thể coi là số dư khả dụng.

GET /api/v1/user/totp/status — Trạng thái 2FA (TOTP)

Quyền truy cập: Token trang quản lý tài khoản

GET/api/v1/user/totp/status
Đọc; lấy ID từ phản hồi trước đó của bạn
curl --fail-with-body "https://ailoot.ai/api/v1/user/totp/status" \
  -H "Authorization: Bearer $TOKEN"

Không cần nội dung yêu cầu. Gửi các tham số nêu trên trong URL.

Phản hồi

Phản hồi JSON chứa code, message và data. Nội dung data được mô tả trong các lược đồ bên dưới.

Lược đồ dữ liệu phản hồi: TotpStatusResponse. Các trường và kiểu dữ liệu nằm trên trang “Lược đồ dữ liệu”.

Lược đồ phản hồi, các giá trị chỉ để minh họa
{
  "code": 0,
  "message": "success",
  "data": {
    "enabled": "PLACEHOLDER_ENABLED (boolean)",
    "enabled_at": "PLACEHOLDER_ENABLED_AT (integer)",
    "feature_enabled": "PLACEHOLDER_FEATURE_ENABLED (boolean)"
  }
}

Đặc điểm: Mọi dữ liệu cá nhân và đối tượng đều được giới hạn theo chủ thể JWT.

Đặc điểm: secret và setup_token là bí mật; việc kiểm tra phụ thuộc vào cài đặt TOTP và người dùng.

GET /api/v1/user/totp/verification-method — Phương thức kiểm tra TOTP

Quyền truy cập: Token trang quản lý tài khoản

GET/api/v1/user/totp/verification-method
Đọc; lấy ID từ phản hồi trước đó của bạn
curl --fail-with-body "https://ailoot.ai/api/v1/user/totp/verification-method" \
  -H "Authorization: Bearer $TOKEN"

Không cần nội dung yêu cầu. Gửi các tham số nêu trên trong URL.

Phản hồi

Phản hồi JSON chứa code, message và data. Nội dung data được mô tả trong các lược đồ bên dưới.

Lược đồ phản hồi, các giá trị chỉ để minh họa
{
  "code": 0,
  "message": "success",
  "data": {
    "method": "email"
  }
}

Đặc điểm: Mọi dữ liệu cá nhân và đối tượng đều được giới hạn theo chủ thể JWT.

Đặc điểm: secret và setup_token là bí mật; việc kiểm tra phụ thuộc vào cài đặt TOTP và người dùng.

TotpVerificationMethod

{
  "type": "object",
  "required": [
    "method"
  ],
  "properties": {
    "method": {
      "type": "string",
      "enum": [
        "email",
        "password"
      ]
    }
  }
}
Còn câu hỏi? Hãy gửi Request ID và mô tả — chúng tôi sẽ giúp tìm hiểu.Liên hệ hỗ trợ