{"openapi":"3.0.1","info":{"title":"OpenAPI definition","version":"v0"},"servers":[{"url":"http://albatrox.io","description":"Generated server url"}],"tags":[{"name":"Private/Fee","description":"后台手续费引擎配置"},{"name":"Private/AML","description":"后台 AML 厂商配置与筛查"},{"name":"Private/Audit","description":"审计日志查询（只读，不可修改/删除）"},{"name":"Private/AdminRole","description":"管理员角色管理相关接口"},{"name":"Public/MerchantKyt","description":"商户端 Regtank KYT 交易筛查"},{"name":"Public/MerchantWallet","description":"商户端资金：余额、入金、出金"},{"name":"Private/KycCase","description":"KYC Case 工作流（一审/二审/CRR/Case 状态）"},{"name":"Webhook/NameScreening","description":"Regtank KYC/KYB 姓名筛查回调"},{"name":"Private/KYC","description":"KYC认证管理相关接口"},{"name":"Private/Cobo","description":"后台 Cobo 钱包配置与监控"},{"name":"Public/MerchantWithdrawAddress","description":"商户端加密币提现地址簿"},{"name":"Public/KYC","description":"KYC认证相关接口"},{"name":"Company","description":"公司账户多用户与角色"},{"name":"Webhook/AML","description":"AML 厂商回调"},{"name":"Private/AdminWallet","description":"后台资金流水与入金审查"},{"name":"Public/MerchantCobo","description":"商户端 Cobo 钱包：充值地址 / 代付"},{"name":"Public/Fx","description":"商户端货币兑换：报价、执行、订单"},{"name":"Private/Fx","description":"后台兑换引擎配置与订单"},{"name":"Private/NameScreening","description":"后台收款人姓名筛查（合规复核）"},{"name":"Private/Withdrawal","description":"后台出金指令审批"},{"name":"Private/AdminOps","description":"后台客户管理：客户列表/详情（用户+公司+KYC+钱包聚合）"},{"name":"Public/MerchantBeneficiary","description":"商户端受益人（收款账户）管理"},{"name":"Private/Kyt","description":"后台入金筛查（交易筛查）配置与监控"},{"name":"Public/UserFile","description":"商户端文件上传与访问"},{"name":"Private/Compliance","description":"后台合规：交易监控告警、制裁筛查、STR、定期复核"},{"name":"Private/Admin","description":"管理员用户管理相关接口"},{"name":"Public/SystemAlert","description":"系统通知相关接口"},{"name":"Private/SystemAlert","description":"系统通知管理相关接口"},{"name":"Webhook/KYB","description":"Regtank Business Onboarding 回调"},{"name":"Public/Compliance","description":"商户端合规状态"},{"name":"Public/KYB","description":"Regtank KYB（Business Onboarding hosted 跳转）"},{"name":"Webhook/KYT","description":"Regtank Know Your Transaction 回调"},{"name":"Public/NameScreening","description":"商户端收款人合规审核轨迹"},{"name":"Webhook/Cobo","description":"Cobo 钱包回调"},{"name":"Public/User","description":"用户注册、登录、认证相关接口"}],"paths":{"/public/user/withdraw-addresses/{id}":{"put":{"tags":["Public/MerchantWithdrawAddress"],"summary":"编辑提现地址","description":"[Login required] ","operationId":"update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithdrawAddressRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RWithdrawAddressDto"}}}}}},"delete":{"tags":["Public/MerchantWithdrawAddress"],"summary":"删除提现地址","description":"[Login required] ","operationId":"delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}}}}},"/public/user/role":{"put":{"tags":["Public/User"],"summary":"分配/变更企业账户内用户角色","description":"[Login required] Photon：仅 OWNER/ADMIN 可分配；目标用户需同属一个企业账户；一个用户一个角色","operationId":"assignUserRole","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserRoleRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RUserInfoDto"}}}}}}},"/public/user/pin/change-with-old":{"put":{"tags":["Public/User"],"summary":"通过旧密码修改支付PIN码","description":"[Login required] 使用旧密码修改支付PIN码","operationId":"changePinWithOldPassword","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePinWithOldPasswordRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}}}}},"/public/user/pin/change-with-code":{"put":{"tags":["Public/User"],"summary":"通过验证码修改支付PIN码","description":"使用邮箱验证码修改支付PIN码","operationId":"changePinWithCode","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePinWithCodeRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}}}}},"/public/user/password/change-with-old":{"put":{"tags":["Public/User"],"summary":"通过旧密码修改密码","description":"[Login required] 使用旧密码修改登录密码","operationId":"changePasswordWithOldPassword","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePasswordWithOldPasswordRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}}}}},"/public/user/password/change-with-code":{"put":{"tags":["Public/User"],"summary":"通过验证码修改密码","description":"使用邮箱验证码修改登录密码","operationId":"changePasswordWithCode","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePasswordWithCodeRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}}}}},"/public/user/kyc/{kycId}/resubmit":{"put":{"tags":["Public/KYC"],"summary":"补充资料后重新提交（待补料/已拒绝记录）","description":"[Login required] v1.3 · 4.5：客户按审核意见补充资料后重新提交，历史记录保留","operationId":"resubmitKyc","parameters":[{"name":"kycId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycSubmitRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RKycInfo"}}}}}}},"/public/user/kyc/draft":{"put":{"tags":["Public/KYC"],"summary":"保存 KYC 草稿","description":"[Login required] 260823 · 3.x：分页表单保存（草稿不做字段校验，允许保存不完整/空内容），状态置 INIT","operationId":"saveDraft","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycSubmitRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RKycInfo"}}}}}}},"/public/user/email/change":{"put":{"tags":["Public/User"],"summary":"执行邮箱换绑","description":"[Login required] 使用新旧邮箱验证码执行邮箱换绑","operationId":"changeEmail","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeEmailRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}}}}},"/public/user/beneficiaries/{id}":{"put":{"tags":["Public/MerchantBeneficiary"],"summary":"编辑受益人","description":"[Login required] 修改户名或收款人类型会使原筛查结论失效，自动重新提交筛查（期间不可出金）","operationId":"update_1","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BeneficiaryRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RBeneficiaryDto"}}}}}},"delete":{"tags":["Public/MerchantBeneficiary"],"summary":"删除受益人","description":"[Login required] ","operationId":"delete_1","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}}}}},"/private/withdrawals/config/limit":{"get":{"tags":["Private/Withdrawal"],"summary":"查询出金限额配置","description":"[Login required] ","operationId":"getLimitConfig","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RWithdrawalLimit"}}}}}},"put":{"tags":["Private/Withdrawal"],"summary":"更新出金限额配置（单笔/日累计/二次审批阈值）","description":"[Login required] ","operationId":"updateLimitConfig","parameters":[{"name":"singleLimitUsd","in":"query","required":false,"schema":{"type":"number"}},{"name":"dailyLimitUsd","in":"query","required":false,"schema":{"type":"number"}},{"name":"secondApprovalThresholdUsd","in":"query","required":false,"schema":{"type":"number"}},{"name":"enabled","in":"query","required":false,"schema":{"type":"boolean"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RWithdrawalLimit"}}}}}}},"/private/system-alert/contents/{contentId}":{"put":{"tags":["Private/SystemAlert"],"summary":"更新通知内容","description":"[Login required] ","operationId":"updateContent","parameters":[{"name":"contentId","in":"path","description":"内容ID","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSystemAlertContentRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RSystemAlertContent"}}}}}},"delete":{"tags":["Private/SystemAlert"],"summary":"删除通知内容","description":"[Login required] ","operationId":"deleteContent","parameters":[{"name":"contentId","in":"path","description":"内容ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RUnit"}}}}}}},"/private/system-alert/categories/{categoryId}":{"put":{"tags":["Private/SystemAlert"],"summary":"更新通知分类","description":"[Login required] ","operationId":"updateCategory","parameters":[{"name":"categoryId","in":"path","description":"分类ID","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSystemAlertCategoryRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RSystemAlertCategory"}}}}}},"delete":{"tags":["Private/SystemAlert"],"summary":"删除通知分类","description":"[Login required] ","operationId":"deleteCategory","parameters":[{"name":"categoryId","in":"path","description":"分类ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RUnit"}}}}}}},"/private/file/config/{id}":{"put":{"tags":["Private/File/Config"],"summary":"更新文件配置","description":"[Login required] ","operationId":"update_2","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileConfigSaveReqVO"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RBoolean"}}}}}},"delete":{"tags":["Private/File/Config"],"summary":"删除文件配置","description":"[Login required] ","operationId":"delete_2","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RBoolean"}}}}}}},"/private/email-templates/{templateId}":{"get":{"tags":["Private/Email"],"summary":"根据ID获取邮件模板","description":"[Permissions required: email:view] ","operationId":"getEmailTemplateById","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/REmailTemplateDto"}}}}}},"put":{"tags":["Private/Email"],"summary":"更新邮件模板","description":"[Permissions required: email:update] ","operationId":"updateEmailTemplate","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateEmailTemplateRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/REmailTemplateDto"}}}}}},"delete":{"tags":["Private/Email"],"summary":"删除邮件模板","description":"[Permissions required: email:delete] ","operationId":"deleteEmailTemplate","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}}}}},"/private/admin/{id}":{"get":{"tags":["Private/Admin"],"summary":"根据ID获取管理员","description":"[Permissions required: user:view] ","operationId":"getAdminById","parameters":[{"name":"id","in":"path","description":"管理员ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RAdminInfoDto"}}}}}},"put":{"tags":["Private/Admin"],"summary":"更新管理员信息","description":"[Permissions required: user:update] ","operationId":"updateAdmin","parameters":[{"name":"id","in":"path","description":"管理员ID","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAdminRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RAdminInfoDto"}}}}}},"delete":{"tags":["Private/Admin"],"summary":"删除管理员","description":"[Permissions required: user:delete] ","operationId":"deleteAdmin","parameters":[{"name":"id","in":"path","description":"管理员ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RVoid"}}}}}}},"/private/admin/{id}/status":{"put":{"tags":["Private/Admin"],"summary":"更新管理员状态","description":"[Permissions required: user:update] ","operationId":"updateAdminStatus","parameters":[{"name":"id","in":"path","description":"管理员ID","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAdminStatusRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RAdminInfoDto"}}}}}}},"/private/admin/{id}/password":{"put":{"tags":["Private/Admin"],"summary":"更新管理员密码","description":"[Login required] ","operationId":"updateAdminPassword","parameters":[{"name":"id","in":"path","description":"管理员ID","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAdminPasswordRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RVoid"}}}}}}},"/private/admin/users/{id}/roles":{"get":{"tags":["Private/Admin"],"summary":"获取用户角色","description":"[Permissions required: role:view] ","operationId":"getUserRoles","parameters":[{"name":"id","in":"path","description":"用户ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RListAdminRoleDto"}}}}}},"put":{"tags":["Private/Admin"],"summary":"分配用户角色","description":"[Permissions required: role:assign] ","operationId":"assignUserRoles","parameters":[{"name":"id","in":"path","description":"用户ID","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignUserRolesRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RListAdminRoleDto"}}}}}}},"/private/admin/roles/{id}":{"get":{"tags":["Private/AdminRole"],"summary":"获取角色详情","description":"[Permissions required: role:view] ","operationId":"getRoleById","parameters":[{"name":"id","in":"path","description":"角色ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RAdminRoleDto"}}}}}},"put":{"tags":["Private/AdminRole"],"summary":"更新角色信息","description":"[Permissions required: role:update] ","operationId":"updateRole","parameters":[{"name":"id","in":"path","description":"角色ID","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRoleRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RAdminRoleDto"}}}}}},"delete":{"tags":["Private/AdminRole"],"summary":"删除角色","description":"[Permissions required: role:delete] ","operationId":"deleteRole","parameters":[{"name":"id","in":"path","description":"角色ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RVoid"}}}}}}},"/private/admin/roles/{id}/permissions":{"put":{"tags":["Private/AdminRole"],"summary":"更新角色权限","description":"[Permissions required: role:update] ","operationId":"updateRolePermissions","parameters":[{"name":"id","in":"path","description":"角色ID","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RAdminRoleDto"}}}}}}},"/webhooks/regtank/kyt":{"post":{"tags":["Webhook/KYT"],"summary":"Regtank KYT 结果回调","description":"渠道向 {webhookUrl}/kyt 推送筛查结论","operationId":"handle","requestBody":{"content":{"application/json":{"schema":{"type":"string"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RMapStringObject"}}}}}}},"/webhooks/regtank/kyc":{"post":{"tags":["Webhook/NameScreening"],"summary":"Regtank KYC 姓名筛查结果回调","operationId":"onKyc","requestBody":{"content":{"application/json":{"schema":{"type":"string"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RMapStringObject"}}}}}}},"/webhooks/regtank/kyb":{"post":{"tags":["Webhook/NameScreening"],"summary":"Regtank KYB 名称筛查结果回调","operationId":"onKyb","requestBody":{"content":{"application/json":{"schema":{"type":"string"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RMapStringObject"}}}}}}},"/webhooks/regtank/codliveness":{"post":{"tags":["Webhook/KYB"],"summary":"Regtank Business Onboarding (COD) 结果回调","operationId":"handle_1","requestBody":{"content":{"application/json":{"schema":{"type":"string"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RMapStringObject"}}}}}}},"/webhooks/cobo":{"post":{"tags":["Webhook/Cobo"],"summary":"Cobo 事件回调","description":"充值地址创建 / 链上交易成功或失败","operationId":"handle_2","requestBody":{"content":{"application/json":{"schema":{"type":"string"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RMapStringObject"}}}}}}},"/webhooks/aml":{"post":{"tags":["Webhook/AML"],"summary":"AML 筛查/核身结果回调","operationId":"handle_3","requestBody":{"content":{"application/json":{"schema":{"type":"string"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RMapStringObject"}}}}}}},"/public/user/withdraw-addresses":{"get":{"tags":["Public/MerchantWithdrawAddress"],"summary":"提现地址列表","description":"[Login required] ","operationId":"list","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RListWithdrawAddressDto"}}}}}},"post":{"tags":["Public/MerchantWithdrawAddress"],"summary":"新增提现地址","description":"[Login required] ","operationId":"add","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithdrawAddressRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RWithdrawAddressDto"}}}}}}},"/public/user/wallet/withdrawal":{"post":{"tags":["Public/MerchantWallet"],"summary":"发起出金指令","description":"[Login required] 需已通过 KYB 认证；邮箱验证码 2FA；提交后余额冻结，待后台审批（v1.3 · 6.2：限额/受益人一致性/多级审批）","operationId":"createWithdrawal","parameters":[{"name":"currency","in":"query","required":true,"schema":{"type":"string"}},{"name":"amount","in":"query","required":true,"schema":{"minimum":0.01,"exclusiveMinimum":false,"type":"number"}},{"name":"beneficiaryId","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"beneficiary","in":"query","required":false,"schema":{"type":"string"}},{"name":"purpose","in":"query","required":false,"schema":{"type":"string"}},{"name":"verificationCode","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RWithdrawalRequest"}}}}}}},"/public/user/wallet/deposit/simulate":{"post":{"tags":["Public/MerchantWallet"],"summary":"模拟入金（UAT 演示）","description":"[Login required] demo 环境模拟 USDT(TRC20) 链上入账：在途→结算→可用","operationId":"simulateDeposit","parameters":[{"name":"amount","in":"query","required":true,"schema":{"minimum":0.01,"exclusiveMinimum":false,"type":"number"}},{"name":"txHash","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RWalletTransaction"}}}}}}},"/public/user/wallet/deposit/cobo-simulate":{"post":{"tags":["Public/MerchantCobo"],"summary":"模拟 Cobo 链上充值（UAT 演示）","description":"[Login required] 走完整 Cobo 入账链路：地址→Webhook→KYT→内部账本入账，便于无真实钱包联调","operationId":"simulateCoboDeposit","parameters":[{"name":"amount","in":"query","required":true,"schema":{"minimum":0.01,"exclusiveMinimum":false,"type":"number"}},{"name":"txHash","in":"query","required":false,"schema":{"type":"string"}},{"name":"chain","in":"query","required":false,"schema":{"type":"string"}},{"name":"coin","in":"query","required":false,"schema":{"type":"string"}},{"name":"fromAddress","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RMapStringObject"}}}}}}},"/public/user/wallet/crypto-payout":{"post":{"tags":["Public/MerchantCobo"],"summary":"加密币链上代付（Cobo withdrawal exec）","description":"[Login required] 经 Cobo 执行链上转账：邮箱验证码二次确认→KYT 筛查→Travel Rule 申报→转账→内部账本扣减","operationId":"cryptoPayout","parameters":[{"name":"coin","in":"query","required":true,"schema":{"type":"string"}},{"name":"chain","in":"query","required":false,"schema":{"type":"string"}},{"name":"toAddress","in":"query","required":true,"schema":{"type":"string"}},{"name":"amount","in":"query","required":true,"schema":{"minimum":0.01,"exclusiveMinimum":false,"type":"number"}},{"name":"purpose","in":"query","required":false,"schema":{"type":"string"}},{"name":"verificationCode","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RCoboTransfer"}}}}}}},"/public/user/verification-code":{"post":{"tags":["Public/User"],"summary":"发送验证码","description":"发送邮箱验证码，支持注册、修改密码、修改PIN等场景，60秒间隔限制 + 图形验证码前置 + 每日发送上限","operationId":"sendVerificationCode","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendVerificationCodeRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}}}}},"/public/user/verification-code/withdraw":{"post":{"tags":["Public/User"],"summary":"发送出金二次确认验证码（登录态）","description":"[Login required] 给当前登录用户的邮箱发送出金确认验证码，免图形验证码，受60秒频控与每日上限约束","operationId":"sendWithdrawCode","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}}}}},"/public/user/system-alert/{recordId}/read":{"post":{"tags":["Public/SystemAlert"],"summary":"标记通知为已读","description":"[Login required] 将指定通知标记为已读状态","operationId":"markAsRead","parameters":[{"name":"recordId","in":"path","description":"通知记录ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RSystemAlertRecord"}}}}}}},"/public/user/system-alert/mark-read":{"post":{"tags":["Public/SystemAlert"],"summary":"批量标记通知为已读","description":"[Login required] 将指定的多个通知标记为已读状态","operationId":"batchMarkAsRead","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchMarkReadRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RUnit"}}}}}}},"/public/user/register":{"post":{"tags":["Public/User"],"summary":"用户注册","description":"用户邮箱密码注册","operationId":"register","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRegisterRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RLong"}}}}}}},"/public/user/mfa/enable":{"post":{"tags":["Public/User"],"summary":"启用两步验证","description":"[Login required] 提交认证器动态码确认绑定，通过后正式开启两步验证","operationId":"enableMfa","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MfaEnableRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RMfaStatusDto"}}}}}}},"/public/user/mfa/disable":{"post":{"tags":["Public/User"],"summary":"禁用两步验证","description":"[Login required] 提交当前动态码或登录密码（任一正确）后关闭两步验证","operationId":"disableMfa","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MfaDisableRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RMfaStatusDto"}}}}}}},"/public/user/mfa/binding":{"post":{"tags":["Public/User"],"summary":"生成两步验证绑定信息","description":"[Login required] 未启用时生成二维码与密钥，供 Google Authenticator 添加；密钥已暂存于 user.mfa_secret","operationId":"generateMfaBinding","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RMfaBindDto"}}}}}}},"/public/user/logout":{"post":{"tags":["Public/User"],"summary":"用户登出","description":"[Login required] 用户登出","operationId":"logout","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}}}}},"/public/user/login":{"post":{"tags":["Public/User"],"summary":"用户登录","description":"用户邮箱密码登录","operationId":"login","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserLoginRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RUserLoginResponse"}}}}}}},"/public/user/kyt/sync":{"post":{"tags":["Public/MerchantKyt"],"summary":"主动同步 KYT 结论（webhook 兜底）","description":"[Login required] 拉取渠道最新结论：放行则触发上账，拒绝则拦截并告警","operationId":"sync","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RListKytScreening"}}}}}}},"/public/user/kyc":{"get":{"tags":["Public/KYC"],"summary":"获取当前用户KYC信息","description":"[Login required] 获取当前用户最新的KYC认证信息","operationId":"getCurrentUserKyc","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RKycInfo"}}}}}},"post":{"tags":["Public/KYC"],"summary":"提交KYC认证申请","description":"[Login required] 用户提交KYC认证申请","operationId":"submitKyc","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycSubmitRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RKycInfo"}}}}}}},"/public/user/kyc/start":{"post":{"tags":["Public/KYC"],"summary":"开始 KYC（Start my journey）","description":"[Login required] 260823 · 3.x：无记录则创建 NEW 并置 INIT；已存在则置 INIT 继续填写","operationId":"startKyc","parameters":[{"name":"kycType","in":"query","required":false,"schema":{"type":"string","default":"COMPANY","enum":["ID_CARD","PASSPORT","COMPANY"]}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RKycInfo"}}}}}}},"/public/user/kyc/abandon":{"post":{"tags":["Public/KYC"],"summary":"放弃 KYC 任务","description":"[Login required] 260823 · 3.x：放弃后状态回 New","operationId":"abandonKyc","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RKycInfo"}}}}}}},"/public/user/kyb/sync":{"post":{"tags":["Public/KYB"],"summary":"从 Regtank 兜底同步 KYB 状态（webhook 未达时使用）","description":"[Login required] 调用厂商 corp/query 拉取最新 COD 状态并联动平台 KycInfo；用户从厂商门户返回商户端时前端会静默调用","operationId":"sync_1","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RKybOnboarding"}}}}}}},"/public/user/kyb/start":{"post":{"tags":["Public/KYB"],"summary":"发起 KYB 认证（生成 Regtank hosted 链接）","description":"[Login required] 调用 Regtank corp/request 生成 verifyLink；前端应打开该链接让用户在 Regtank 门户填写并接受审核","operationId":"start","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RKybStartResponse"}}}}}}},"/public/user/fx/execute":{"post":{"tags":["Public/Fx"],"summary":"确认兑换（锁价执行）","description":"[Login required] 滑点保护：期望价与当前执行价偏差超阈值需重新报价","operationId":"execute","parameters":[{"name":"from","in":"query","required":true,"schema":{"type":"string"}},{"name":"to","in":"query","required":true,"schema":{"type":"string"}},{"name":"amount","in":"query","required":true,"schema":{"minimum":0.01,"exclusiveMinimum":false,"type":"number"}},{"name":"expectedRate","in":"query","required":false,"schema":{"type":"number"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RFxOrder"}}}}}}},"/public/user/file/upload":{"post":{"tags":["Public/UserFile"],"summary":"上传资料文件（图片自动压缩）","description":"[Login required] 图片：压缩 + 生成缩略图，返回文件标识、缩略图标识与压缩率；PNG 保留原格式（避免透明通道丢失）；非图片原样存储；任何异常均回退原图，保证可上传。","operationId":"upload","requestBody":{"content":{"application/json":{"schema":{"required":["file"],"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RMapStringObject"}}}}}}},"/public/user/email/change-codes":{"post":{"tags":["Public/User"],"summary":"发送邮箱换绑验证码","description":"[Login required] 发送新旧邮箱的验证码，用于邮箱换绑","operationId":"sendEmailChangeCodes","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendEmailChangeCodesRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}}}}},"/public/user/beneficiaries":{"get":{"tags":["Public/MerchantBeneficiary"],"summary":"受益人列表","description":"[Login required] ","operationId":"list_1","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RListBeneficiaryDto"}}}}}},"post":{"tags":["Public/MerchantBeneficiary"],"summary":"新增受益人","description":"[Login required] 新增即自动提交渠道做姓名/企业名筛查；返回的 status 为 REVIEWING 属正常，审核通过（PASSED）后方可向其出金","operationId":"add_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BeneficiaryRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RBeneficiaryDto"}}}}}}},"/public/user/beneficiaries/{id}/rescreen":{"post":{"tags":["Public/MerchantBeneficiary"],"summary":"重新提交合规筛查","description":"[Login required] 筛查异常（渠道故障/额度不足）或用户主动要求复查时使用；会新建一条筛查台账并保留历史轨迹","operationId":"rescreen","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RBeneficiaryDto"}}}}}}},"/public/file/temporary-upload":{"get":{"tags":["Public/File"],"summary":"获取临时上传 URL","description":"[Login required] 通过此接口获取上传文件地址,通过PUT请求将目标文件上传; 对于aws 要求 path 按 public/{yyyyMMdd}/{filename} 上传, 否则没有访问权限","operationId":"getTemporaryUploadUrl","parameters":[{"name":"path","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}}}},"post":{"tags":["Public/File"],"summary":"上报文件","description":"[Login required] 保存三方上传文件记录","operationId":"temporaryUploadFile","parameters":[{"name":"uploadReq","in":"query","required":true,"schema":{"$ref":"#/components/schemas/FileCreateReqVO"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}}}}},"/private/withdrawals/{id}/second-approve":{"post":{"tags":["Private/Withdrawal"],"summary":"二次审批（金额超过单人审批阈值时由负责人执行）","description":"[Login required] ","operationId":"secondApprove","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"remark","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RWithdrawalRequest"}}}}}}},"/private/withdrawals/{id}/reject":{"post":{"tags":["Private/Withdrawal"],"summary":"审批驳回（余额解冻）","description":"[Login required] ","operationId":"reject","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"remark","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RWithdrawalRequest"}}}}}}},"/private/withdrawals/{id}/execute":{"post":{"tags":["Private/Withdrawal"],"summary":"执行出金（冻结核销，模拟划付完成）","description":"[Login required] ","operationId":"execute_1","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RWithdrawalRequest"}}}}}}},"/private/withdrawals/{id}/approve":{"post":{"tags":["Private/Withdrawal"],"summary":"审批通过（金额超阈值自动进入需二次审批；否则进入处理中）","description":"[Login required] ","operationId":"approve","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"remark","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RWithdrawalRequest"}}}}}}},"/private/wallet/transactions/{id}/review":{"post":{"tags":["Private/AdminWallet"],"summary":"入金审查标记（260823：工作人员审查该笔钱款是否准入）","description":"[Login required] 仅入金类（CHARGE）交易可标记；result=APPROVED/REJECTED","operationId":"reviewTransaction","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"result","in":"query","required":true,"schema":{"type":"string"}},{"name":"remark","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RWalletTransaction"}}}}}}},"/private/system-alert/contents":{"get":{"tags":["Private/SystemAlert"],"summary":"查询通知内容列表","description":"[Login required] ","operationId":"getContents","parameters":[{"name":"query","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SystemAlertContentQuery"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RPageListSystemAlertContent"}}}}}},"post":{"tags":["Private/SystemAlert"],"summary":"创建通知内容","description":"[Login required] ","operationId":"createContent","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSystemAlertContentRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RSystemAlertContent"}}}}}}},"/private/system-alert/contents/{contentId}/send":{"post":{"tags":["Private/SystemAlert"],"summary":"发送通知","description":"[Login required] 向指定用户或全部用户发送通知","operationId":"sendAlert","parameters":[{"name":"contentId","in":"path","description":"内容ID","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendSystemAlertRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RUnit"}}}}}}},"/private/system-alert/categories":{"get":{"tags":["Private/SystemAlert"],"summary":"查询通知分类列表","description":"[Login required] ","operationId":"getCategories_1","parameters":[{"name":"query","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SystemAlertCategoryQuery"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RPageListSystemAlertCategory"}}}}}},"post":{"tags":["Private/SystemAlert"],"summary":"创建通知分类","description":"[Login required] ","operationId":"createCategory","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSystemAlertCategoryRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RSystemAlertCategory"}}}}}}},"/private/system-alert/categories/{categoryId}/toggle":{"post":{"tags":["Private/SystemAlert"],"summary":"启用/禁用通知分类","description":"[Login required] ","operationId":"toggleCategory","parameters":[{"name":"categoryId","in":"path","description":"分类ID","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToggleCategoryRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RSystemAlertCategory"}}}}}}},"/private/namescreen/records/{id}/sync":{"post":{"tags":["Private/NameScreening"],"summary":"立即回查某条记录的渠道结论","description":"[Login required] 单条、人工触发。正常链路完全由渠道 webhook 驱动，本接口仅用于回调丢失时排障","operationId":"syncOne","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RMapStringObject"}}}}}}},"/private/namescreen/records/{id}/review":{"post":{"tags":["Private/NameScreening"],"summary":"人工复核姓名筛查","description":"[Login required] approved=true 放行（收款人变为可出金）/ false 驳回；仅未出终态的记录可审","operationId":"review","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"approved","in":"query","required":true,"schema":{"type":"boolean"}},{"name":"remark","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RMapStringObject"}}}}}}},"/private/kyt/screenings/{id}/review":{"post":{"tags":["Private/Kyt"],"summary":"人工审批入金筛查","description":"[Login required] 仅 PENDING/ERROR 记录可审批；result=APPROVED 放行上账（credited 原子抢占，幂等）/ REJECTED 终拒并告警","operationId":"review_1","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"result","in":"query","required":true,"schema":{"type":"string"}},{"name":"remark","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RKytScreening"}}}}}}},"/private/kyc/{kycId}/review-2nd":{"post":{"tags":["Private/KYC"],"summary":"KYC 二审（Checker）","description":"[Login required] 260823 · 4.8：APPROVE 通过 / REJECT 拒绝 / RETURN 打回一审；同一 case 的一审与二审不能为同一人","operationId":"secondReview","parameters":[{"name":"kycId","in":"path","description":"KYC记录ID","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycSecondReviewRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RKycInfo"}}}}}}},"/private/kyc/{kycId}/audit":{"post":{"tags":["Private/KYC"],"summary":"审核KYC申请","description":"[Login required] 管理员审核KYC申请","operationId":"auditKyc","parameters":[{"name":"kycId","in":"path","description":"KYC记录ID","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycAuditRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RKycInfo"}}}}}}},"/private/fx/configs":{"get":{"tags":["Private/Fx"],"summary":"加价配置列表","description":"[Login required] ","operationId":"configs","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RListFxConfig"}}}}}},"post":{"tags":["Private/Fx"],"summary":"新增/更新加价配置","description":"[Login required] ","operationId":"upsertConfig","parameters":[{"name":"id","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"fromCurrency","in":"query","required":true,"schema":{"type":"string"}},{"name":"toCurrency","in":"query","required":true,"schema":{"type":"string"}},{"name":"markupRate","in":"query","required":true,"schema":{"type":"number"}},{"name":"quoteTtlSeconds","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":30}},{"name":"slippageThresholdPct","in":"query","required":false,"schema":{"type":"number","default":1}},{"name":"enabled","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RFxConfig"}}}}}}},"/private/file/temporary-upload":{"get":{"tags":["Private/File"],"summary":"获取临时上传 URL","description":"[Login required] 通过此接口获取上传文件地址,通过PUT请求将目标文件上传; 对于aws 要求 path 按 public/{yyyyMMdd}/{filename} 上传, 否则没有访问权限","operationId":"getTemporaryUploadUrl_1","parameters":[{"name":"path","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}}}},"post":{"tags":["Private/File"],"summary":"上报文件","description":"[Login required] 保存三方上传文件记录","operationId":"temporaryUploadFile_1","parameters":[{"name":"uploadReq","in":"query","required":true,"schema":{"$ref":"#/components/schemas/FileCreateReqVO"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}}}}},"/private/file/config":{"get":{"tags":["Private/File/Config"],"summary":"获取文件配置","description":"[Login required] ","operationId":"page","parameters":[{"name":"query","in":"query","required":true,"schema":{"$ref":"#/components/schemas/FileConfigQuery"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RPageListFileConfigRespVO"}}}}}},"post":{"tags":["Private/File/Config"],"summary":"新增文件配置","description":"[Login required] ","operationId":"create","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileConfigSaveReqVO"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RLong"}}}}}}},"/private/file/config/{id}/switch-master":{"post":{"tags":["Private/File/Config"],"summary":"设置配置为主配置","description":"[Login required] ","operationId":"switchMaster","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RBoolean"}}}}}}},"/private/fee/configs":{"get":{"tags":["Private/Fee"],"summary":"费率配置列表","description":"[Login required] ","operationId":"list_4","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RListFeeConfig"}}}}}},"post":{"tags":["Private/Fee"],"summary":"新增/更新费率配置","description":"[Login required] ","operationId":"upsert","parameters":[{"name":"id","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"currency","in":"query","required":true,"schema":{"type":"string"}},{"name":"feeRate","in":"query","required":true,"schema":{"type":"number"}},{"name":"customerId","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"riskLevel","in":"query","required":false,"schema":{"type":"string"}},{"name":"minFee","in":"query","required":false,"schema":{"type":"number"}},{"name":"maxFee","in":"query","required":false,"schema":{"type":"number"}},{"name":"enabled","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RFeeConfig"}}}}}}},"/private/email-templates":{"get":{"tags":["Private/Email"],"summary":"获取所有邮件模板","description":"[Permissions required: email:view] ","operationId":"getAllEmailTemplates","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RListEmailTemplateDto"}}}}}},"post":{"tags":["Private/Email"],"summary":"创建邮件模板","description":"[Permissions required: email:create] ","operationId":"createEmailTemplate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateEmailTemplateRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/REmailTemplateDto"}}}}}}},"/private/email-templates/{templateId}/deactivate":{"post":{"tags":["Private/Email"],"summary":"停用邮件模板","description":"[Permissions required: email:update] ","operationId":"deactivateEmailTemplate","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/REmailTemplateDto"}}}}}}},"/private/email-templates/{templateId}/copy":{"post":{"tags":["Private/Email"],"summary":"复制邮件模板","description":"[Permissions required: email:create] ","operationId":"copyEmailTemplate","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CopyEmailTemplateRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/REmailTemplateDto"}}}}}}},"/private/email-templates/{templateId}/activate":{"post":{"tags":["Private/Email"],"summary":"激活邮件模板","description":"[Permissions required: email:update] ","operationId":"activateEmailTemplate","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/REmailTemplateDto"}}}}}}},"/private/email-templates/send":{"post":{"tags":["Private/Email"],"summary":"手动发送邮件","description":"[Permissions required: email:create] ","operationId":"sendEmail","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManualSendEmailRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}}}}},"/private/email-templates/init":{"post":{"tags":["Private/Email"],"summary":"初始化默认邮件模板","description":"[Permissions required: email:create] ","operationId":"initializeDefaultTemplates","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}}}}},"/private/compliance/str":{"get":{"tags":["Private/Compliance"],"summary":"STR 案件列表","description":"[Login required] ","operationId":"strList","parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string"}},{"name":"userId","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RPageListStrCase"}}}}}},"post":{"tags":["Private/Compliance"],"summary":"人工登记 STR 案件","description":"[Login required] ","operationId":"createStr","parameters":[{"name":"userId","in":"query","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"title","in":"query","required":true,"schema":{"type":"string"}},{"name":"description","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RStrCase"}}}}}}},"/private/compliance/str/{id}/report":{"post":{"tags":["Private/Compliance"],"summary":"STR 上报留痕","description":"[Login required] ","operationId":"reportStr","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RStrCase"}}}}}}},"/private/compliance/str/{id}/reject":{"post":{"tags":["Private/Compliance"],"summary":"STR 驳回关闭","description":"[Login required] ","operationId":"rejectStr","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"remark","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RStrCase"}}}}}}},"/private/compliance/str/{id}/approve":{"post":{"tags":["Private/Compliance"],"summary":"STR 负责人批准（MLRO/合规负责人）","description":"[Login required] ","operationId":"approveStr","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"remark","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RStrCase"}}}}}}},"/private/compliance/screen":{"post":{"tags":["Private/Compliance"],"summary":"对客户执行制裁筛查（名称比对）","description":"[Login required] ","operationId":"screen","parameters":[{"name":"userId","in":"query","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"names","in":"query","required":true,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RListComplianceAlert"}}}}}}},"/private/compliance/reviews/{id}/complete":{"post":{"tags":["Private/Compliance"],"summary":"复核任务处理","description":"[Login required] conclusion: MAINTAIN/UPGRADE/DOWNGRADE/FREEZE","operationId":"completeReview","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"conclusion","in":"query","required":true,"schema":{"type":"string"}},{"name":"remark","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RReviewTask"}}}}}}},"/private/compliance/alerts/{id}/review":{"post":{"tags":["Private/Compliance"],"summary":"告警研判处置","description":"[Login required] action: CLEAR(误报清除)/FREEZE(冻结)/REVIEW(标记研判中)/ESCALATE(升级STR)","operationId":"reviewAlert","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"action","in":"query","required":true,"schema":{"type":"string"}},{"name":"remark","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RComplianceAlert"}}}}}}},"/private/compliance/alerts/{id}/escalate":{"post":{"tags":["Private/Compliance"],"summary":"告警升级为 STR 案件","description":"[Login required] ","operationId":"escalate","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"description","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RStrCase"}}}}}}},"/private/aml/screen/transaction":{"post":{"tags":["Private/AML"],"summary":"即时 KYT 交易筛查（演示）","description":"[Login required] ","operationId":"screenTransaction","parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string"}},{"name":"amount","in":"query","required":true,"schema":{"minimum":0.01,"exclusiveMinimum":false,"type":"number"}},{"name":"coin","in":"query","required":false,"schema":{"type":"string","default":"USDT"}},{"name":"txHash","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RAmlScreeningResult"}}}}}}},"/private/aml/screen/names":{"post":{"tags":["Private/AML"],"summary":"即时名单筛查（演示）","description":"[Login required] 按名称列表筛查制裁/PEP/负面新闻","operationId":"screenNames","parameters":[{"name":"names","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RAmlScreeningResult"}}}}}}},"/private/aml/screen/address":{"post":{"tags":["Private/AML"],"summary":"即时 KYA 地址筛查（演示）","description":"[Login required] ","operationId":"screenAddress","parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string"}},{"name":"chain","in":"query","required":false,"schema":{"type":"string","default":"TRON"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RAmlScreeningResult"}}}}}}},"/private/admin":{"get":{"tags":["Private/Admin"],"summary":"获取所有管理员","description":"[Permissions required: user:view] ","operationId":"getAllAdmins","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RListAdminInfoDto"}}}}}},"post":{"tags":["Private/Admin"],"summary":"创建管理员","description":"[Permissions required: user:create] ","operationId":"createAdmin","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAdminRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RAdminInfoDto"}}}}}}},"/private/admin/{id}/unlock":{"post":{"tags":["Private/Admin"],"summary":"解锁管理员账号","description":"[Permissions required: user:update] ","operationId":"unlockAdmin","parameters":[{"name":"id","in":"path","description":"管理员ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RAdminInfoDto"}}}}}}},"/private/admin/roles":{"get":{"tags":["Private/AdminRole"],"summary":"获取角色列表","description":"[Permissions required: role:view] ","operationId":"getAllRoles","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RListAdminRoleDto"}}}}}},"post":{"tags":["Private/AdminRole"],"summary":"创建角色","description":"[Permissions required: role:create] ","operationId":"createRole","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRoleRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RAdminRoleDto"}}}}}}},"/private/admin/logout":{"post":{"tags":["Private/Admin"],"summary":"管理员登出","description":"[Login required] ","operationId":"logout_1","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RVoid"}}}}}}},"/private/admin/login":{"post":{"tags":["Private/Admin"],"summary":"管理员登录","operationId":"login_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminLoginRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RAdminLoginResponse"}}}}}}},"/public/user/withdraw-addresses/supported-networks":{"get":{"tags":["Public/MerchantWithdrawAddress"],"summary":"币种支持的网络清单","description":"[Login required] USDT: TRON/ETH/BSC；USDC: ETH/BSC（供前端网络下拉过滤）","operationId":"supportedNetworks","parameters":[{"name":"coin","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RListMapStringString"}}}}}}},"/public/user/wallet/withdrawals":{"get":{"tags":["Public/MerchantWallet"],"summary":"查询我的出金指令","description":"[Login required] ","operationId":"myWithdrawals","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RPageListWithdrawalRequest"}}}}}}},"/public/user/wallet/withdrawal/fee-quote":{"get":{"tags":["Public/MerchantWallet"],"summary":"出金手续费试算（v1.5 · 6.6 手续费引擎）","description":"[Login required] fee = 出金金额 × 费率%；按客户/风险等级/币种优先级取费率","operationId":"feeQuote","parameters":[{"name":"currency","in":"query","required":true,"schema":{"type":"string"}},{"name":"amount","in":"query","required":true,"schema":{"minimum":0.01,"exclusiveMinimum":false,"type":"number"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RFeeQuote"}}}}}}},"/public/user/wallet/transactions":{"get":{"tags":["Public/MerchantWallet"],"summary":"资金流水","description":"[Login required] ","operationId":"transactions","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RPageListWalletTransaction"}}}}}}},"/public/user/wallet/limits":{"get":{"tags":["Public/MerchantWallet"],"summary":"出金限额（单笔/日累计/二次审批阈值）","description":"[Login required] 供商户端展示限额提示；后台可配置","operationId":"limits","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RMapStringObject"}}}}}}},"/public/user/wallet/deposit-address":{"get":{"tags":["Public/MerchantCobo"],"summary":"获取/创建 Cobo 充值地址","description":"[Login required] 首次调用由 Cobo 托管钱包生成链上充值地址并持久化","operationId":"depositAddress","parameters":[{"name":"chain","in":"query","required":false,"schema":{"type":"string"}},{"name":"coin","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RCoboDepositAddress"}}}}}}},"/public/user/wallet/cobo-transfers":{"get":{"tags":["Public/MerchantCobo"],"summary":"我的 Cobo 代付记录","description":"[Login required] ","operationId":"myTransfers","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RListCoboTransfer"}}}}}}},"/public/user/wallet/balance":{"get":{"tags":["Public/MerchantWallet"],"summary":"查询账户余额（三段：可用/冻结/在途）","description":"[Login required] ","operationId":"balance","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RMapStringObject"}}}}}}},"/public/user/system-alert":{"get":{"tags":["Public/SystemAlert"],"summary":"查询用户通知列表","description":"[Login required] 获取当前用户的通知列表，支持按分类筛选","operationId":"getUserAlerts","parameters":[{"name":"query","in":"query","required":true,"schema":{"$ref":"#/components/schemas/UserSystemAlertQuery"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RPageListSystemAlertRecord"}}}}}}},"/public/user/system-alert/unread-count":{"get":{"tags":["Public/SystemAlert"],"summary":"获取未读通知数量","description":"[Login required] 获取当前用户未读通知的数量","operationId":"getUnreadCount","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RLong"}}}}}}},"/public/user/system-alert/categories":{"get":{"tags":["Public/SystemAlert"],"summary":"获取通知分类","description":"[Login required] 获取当前用户可见的通知分类","operationId":"getCategories","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RListSystemAlertCategory"}}}}}}},"/public/user/namescreen/records":{"get":{"tags":["Public/NameScreening"],"summary":"我的收款人审核记录（按时间倒序）","description":"[Login required] ","operationId":"records","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RListNameScreeningDto"}}}}}}},"/public/user/mfa/status":{"get":{"tags":["Public/User"],"summary":"获取两步验证状态","description":"[Login required] 获取当前用户两步验证（MFA / Google Authenticator）是否已启用","operationId":"getMfaStatus","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RMfaStatusDto"}}}}}}},"/public/user/me":{"get":{"tags":["Public/User"],"summary":"获取当前用户信息","description":"[Login required] 获取当前登录用户的信息","operationId":"getCurrentUser","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RUserInfoDto"}}}}}}},"/public/user/login-records":{"get":{"tags":["Public/User"],"summary":"获取登录记录","description":"[Login required] 获取当前用户的登录记录","operationId":"getLoginRecords","parameters":[{"name":"pageReq","in":"query","required":true,"schema":{"$ref":"#/components/schemas/PageReq"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RObject"}}}}}}},"/public/user/kyt/screenings":{"get":{"tags":["Public/MerchantKyt"],"summary":"我的入金 KYT 筛查记录","description":"[Login required] 按时间倒序；PENDING=挂起待结论，APPROVED=已放行（credited=是否已上账），REJECTED=已拦截","operationId":"screenings","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RListKytScreening"}}}}}}},"/public/user/kyc/history":{"get":{"tags":["Public/KYC"],"summary":"获取当前用户KYC历史记录","description":"[Login required] 获取当前用户所有KYC认证历史记录","operationId":"getCurrentUserKycHistory","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RPageListKycInfo"}}}}}}},"/public/user/kyb/onboarding":{"get":{"tags":["Public/KYB"],"summary":"查询当前用户最近一次 KYB onboarding 状态","description":"[Login required] ","operationId":"getLatest","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RKybOnboarding"}}}}}}},"/public/user/fx/quote":{"get":{"tags":["Public/Fx"],"summary":"兑换报价","description":"[Login required] 执行价 = 上游报价 × (1 + 加价%)；返回预计到账与有效期","operationId":"quote","parameters":[{"name":"from","in":"query","required":true,"schema":{"type":"string"}},{"name":"to","in":"query","required":true,"schema":{"type":"string"}},{"name":"amount","in":"query","required":true,"schema":{"minimum":0.01,"exclusiveMinimum":false,"type":"number"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RFxQuote"}}}}}}},"/public/user/fx/orders":{"get":{"tags":["Public/Fx"],"summary":"我的兑换订单","description":"[Login required] ","operationId":"myOrders","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RPageListFxOrder"}}}}}}},"/public/user/file/url/{id}":{"get":{"tags":["Public/UserFile"],"summary":"获取文件访问URL","description":"[Login required] ","operationId":"url","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}}}}},"/public/user/file/f/{id}":{"get":{"tags":["Public/UserFile"],"summary":"获取文件内容（字节流）","description":"[Login required] 按文件 uuid 返回内容（使用存储时的真实 Content-Type，支持 PNG/PDF 等），用于 <img> 展示或下载","operationId":"content","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string","format":"binary"}}}}}}},"/public/user/compliance/status":{"get":{"tags":["Public/Compliance"],"summary":"本人合规状态","description":"[Login required] 返回是否被冻结/是否涉 STR，商户端展示提示横幅","operationId":"status","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RMapStringObject"}}}}}}},"/public/user/company-context":{"get":{"tags":["Company"],"summary":"当前用户公司账户与角色信息（v1.5 · 7.3）","description":"[Login required] ","operationId":"me","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RCompanyContext"}}}}}}},"/public/user/captcha":{"get":{"tags":["Public/User"],"summary":"获取图形验证码","description":"返回图形验证码（captchaId + base64 图片），注册/发送验证码/找回密码/登录（连续失败≥2次）前调用","operationId":"getCaptcha","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RMapStringString"}}}}}}},"/public/file/f/{id}":{"get":{"tags":["Public/File"],"summary":"获取文件访问URL","description":"[Login required] ","operationId":"getFileUrl","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}}}}},"/public/file/f/batch/{ids}":{"get":{"tags":["Public/File"],"summary":"批量获取文件访问URL","description":"[Login required] ","operationId":"getFileUrl_1","parameters":[{"name":"ids","in":"path","required":true,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RListFileUrlRespVO"}}}}}}},"/private/withdrawals":{"get":{"tags":["Private/Withdrawal"],"summary":"出金指令列表（可按状态过滤）","description":"[Login required] ","operationId":"list_2","parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string"}},{"name":"userId","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RPageListWithdrawalRequest"}}}}}}},"/private/withdrawals/{id}":{"get":{"tags":["Private/Withdrawal"],"summary":"出金指令详情","description":"[Login required] ","operationId":"detail","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RWithdrawalRequest"}}}}}}},"/private/wallet/transactions":{"get":{"tags":["Private/AdminWallet"],"summary":"全部资金流水（入金/出金/兑换；可按用户/类型过滤）","description":"[Login required] ","operationId":"transactions_1","parameters":[{"name":"query","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WalletTransactionQuery"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RPageListMapStringObject"}}}}}}},"/private/system-alert/records":{"get":{"tags":["Private/SystemAlert"],"summary":"查询通知记录列表","description":"[Login required] ","operationId":"getRecords","parameters":[{"name":"query","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SystemAlertRecordQuery"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RPageListSystemAlertRecord"}}}}}}},"/private/namescreen/stats":{"get":{"tags":["Private/NameScreening"],"summary":"筛查统计","description":"[Login required] ","operationId":"stats","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RNameScreenStats"}}}}}}},"/private/namescreen/records":{"get":{"tags":["Private/NameScreening"],"summary":"筛查台账","description":"[Login required] decision 可选：PENDING / REVIEW / PASS / BLOCK；不传返回最近 200 条","operationId":"records_1","parameters":[{"name":"decision","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RListNameScreeningDto"}}}}}}},"/private/namescreen/config":{"get":{"tags":["Private/NameScreening"],"summary":"姓名筛查集成配置","description":"[Login required] 总开关 / 集成模式 / 渠道地址 / 超时参数（密钥脱敏）。判定口径固定为「只认渠道人工结论」","operationId":"config","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RMapStringObject"}}}}}}},"/private/kyt/screenings":{"get":{"tags":["Private/Kyt"],"summary":"全部 KYT 筛查记录","description":"[Login required] ","operationId":"screenings_1","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RListKytScreening"}}}}}}},"/private/kyt/screenings/pending":{"get":{"tags":["Private/Kyt"],"summary":"挂起中的入金筛查","description":"[Login required] 等待渠道结论或人工处理的记录（PENDING/ERROR）；评分中风险挂起记录亦在此队列","operationId":"pending","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RListKytScreening"}}}}}}},"/private/kyt/config":{"get":{"tags":["Private/Kyt"],"summary":"入金筛查集成配置","description":"[Login required] 总开关 enabled / 引擎选路 scoring.enabled / 各引擎参数与兜底策略（密钥脱敏）","operationId":"config_1","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RMapStringObject"}}}}}}},"/private/kyc":{"get":{"tags":["Private/KYC"],"summary":"查询KYC列表","description":"[Login required] ","operationId":"getPendingKycList","parameters":[{"name":"query","in":"query","required":true,"schema":{"$ref":"#/components/schemas/KycQuery"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RPageListKycInfo"}}}}}}},"/private/kyc/{kycId}":{"get":{"tags":["Private/KYC"],"summary":"KYC审核详情（KYB+UBO 聚合视图）","description":"[Login required] 返回客户邮箱、公司 KYB 资料、UBO 数组与资料文件 URL，供后台审核二级页面","operationId":"getKycDetail","parameters":[{"name":"kycId","in":"path","description":"KYC记录ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RKycDetailResponse"}}}}}}},"/private/kyc/cases":{"get":{"tags":["Private/KycCase"],"summary":"KYC Case 列表","description":"[Login required] 260823 · 4.3：按 Case 状态 / kycId 筛选（NEW/PENDING/MODIFY/WAITING_APPROVAL/COMPLETE）","operationId":"list_3","parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["NEW","PENDING","MODIFY","WAITING_APPROVAL","COMPLETE"]}},{"name":"kycId","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RPageListMapStringObject"}}}}}}},"/private/kyc/cases/{caseId}":{"get":{"tags":["Private/KycCase"],"summary":"KYC Case 详情（含 case history）","description":"[Login required] ","operationId":"detail_1","parameters":[{"name":"caseId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RMapStringObject"}}}}}}},"/private/fx/orders":{"get":{"tags":["Private/Fx"],"summary":"兑换订单列表","description":"[Login required] ","operationId":"orders","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RPageListFxOrder"}}}}}}},"/private/file/f/{id}":{"get":{"tags":["Private/File"],"summary":"获取文件访问URL","description":"[Login required] ","operationId":"getFileUrl_2","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}}}},"delete":{"tags":["Private/File"],"summary":"删除文件","description":"[Login required] ","operationId":"deleteFile","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RBoolean"}}}}}}},"/private/file/f/batch/{ids}":{"get":{"tags":["Private/File"],"summary":"批量获取文件访问URL","description":"[Login required] ","operationId":"getFileUrl_3","parameters":[{"name":"ids","in":"path","required":true,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RListFileUrlRespVO"}}}}}}},"/private/email-templates/type/{type}":{"get":{"tags":["Private/Email"],"summary":"根据类型获取邮件模板","description":"[Permissions required: email:view] ","operationId":"getEmailTemplatesByType","parameters":[{"name":"type","in":"path","required":true,"schema":{"type":"string","enum":["EMAIL_VERIFICATION","PASSWORD_RESET","PIN_RESET","LOGIN_NOTIFICATION","EMAIL_CHANGE_OLD","EMAIL_CHANGE_NEW","WITHDRAW"]}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RListEmailTemplateDto"}}}}}}},"/private/email-templates/page":{"get":{"tags":["Private/Email"],"summary":"分页获取邮件模板","description":"[Permissions required: email:view] ","operationId":"getEmailTemplatesPage","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":10}},{"name":"sortBy","in":"query","required":false,"schema":{"type":"string","default":"createdAt"}},{"name":"sortDir","in":"query","required":false,"schema":{"type":"string","default":"desc"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RPageListEmailTemplateDto"}}}}}}},"/private/email-templates/active":{"get":{"tags":["Private/Email"],"summary":"获取所有激活的邮件模板","description":"[Permissions required: email:view] ","operationId":"getAllActiveEmailTemplates","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RListEmailTemplateDto"}}}}}}},"/private/email-templates/active/{type}":{"get":{"tags":["Private/Email"],"summary":"获取指定类型的激活邮件模板","description":"[Permissions required: email:view] ","operationId":"getActiveEmailTemplate","parameters":[{"name":"type","in":"path","required":true,"schema":{"type":"string","enum":["EMAIL_VERIFICATION","PASSWORD_RESET","PIN_RESET","LOGIN_NOTIFICATION","EMAIL_CHANGE_OLD","EMAIL_CHANGE_NEW","WITHDRAW"]}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/REmailTemplateDto"}}}}}}},"/private/compliance/str/{id}":{"get":{"tags":["Private/Compliance"],"summary":"STR 案件详情","description":"[Login required] ","operationId":"strDetail","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RStrCase"}}}}}}},"/private/compliance/stats":{"get":{"tags":["Private/Compliance"],"summary":"合规概览统计","description":"[Login required] ","operationId":"stats_1","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RMapStringLong"}}}}}}},"/private/compliance/reviews":{"get":{"tags":["Private/Compliance"],"summary":"复核任务列表","description":"[Login required] ","operationId":"reviews","parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string"}},{"name":"userId","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RPageListReviewTask"}}}}}}},"/private/compliance/alerts":{"get":{"tags":["Private/Compliance"],"summary":"告警列表（监控+筛查）","description":"[Login required] ","operationId":"alerts","parameters":[{"name":"source","in":"query","required":false,"schema":{"type":"string"}},{"name":"status","in":"query","required":false,"schema":{"type":"string"}},{"name":"userId","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RPageListComplianceAlert"}}}}}}},"/private/compliance/alerts/{id}":{"get":{"tags":["Private/Compliance"],"summary":"告警详情","description":"[Login required] ","operationId":"alertDetail","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RComplianceAlert"}}}}}}},"/private/company/members":{"get":{"tags":["Company"],"summary":"公司账户成员列表（预留；MVP 每账户 1 用户）","description":"[Login required] ","operationId":"members","parameters":[{"name":"companyAccountId","in":"query","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RListCompanyMember"}}}}}}},"/private/cobo/transfers":{"get":{"tags":["Private/Cobo"],"summary":"链上代付记录（全部）","description":"[Login required] ","operationId":"transfers","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RListCoboTransfer"}}}}}}},"/private/cobo/deposit-addresses":{"get":{"tags":["Private/Cobo"],"summary":"商户充值地址（全部）","description":"[Login required] ","operationId":"depositAddresses","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RListCoboDepositAddress"}}}}}}},"/private/cobo/config":{"get":{"tags":["Private/Cobo"],"summary":"Cobo 集成配置","description":"[Login required] 查看当前 mode / 默认链币 / Travel Rule 阈值（密钥脱敏）","operationId":"config_2","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RMapStringObject"}}}}}}},"/private/audit":{"get":{"tags":["Private/Audit"],"summary":"分页查询审计日志","description":"[Login required] 按操作者/动作/对象/时间范围查询审计日志","operationId":"page_1","parameters":[{"name":"actor","in":"query","required":false,"schema":{"type":"string"}},{"name":"action","in":"query","required":false,"schema":{"type":"string"}},{"name":"targetType","in":"query","required":false,"schema":{"type":"string"}},{"name":"targetId","in":"query","required":false,"schema":{"type":"string"}},{"name":"from","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RPageListAuditLog"}}}}}}},"/private/aml/verifications":{"get":{"tags":["Private/AML"],"summary":"厂商核验记录（全部）","description":"[Login required] ","operationId":"verifications","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RListAmlVerification"}}}}}}},"/private/aml/config":{"get":{"tags":["Private/AML"],"summary":"AML 厂商配置","description":"[Login required] 查看当前 mode / baseUrl（密钥脱敏）","operationId":"config_3","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RMapStringObject"}}}}}}},"/private/admin/users/{id}/permissions":{"get":{"tags":["Private/Admin"],"summary":"获取用户权限","description":"[Permissions required: user:view] ","operationId":"getUserPermissions","parameters":[{"name":"id","in":"path","description":"用户ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RListString"}}}}}}},"/private/admin/permissions":{"get":{"tags":["Private/AdminRole"],"summary":"获取所有权限列表","description":"[Permissions required: role:view] ","operationId":"getAllPermissions","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RListPermissionDto"}}}}}}},"/private/admin/merchants":{"get":{"tags":["Private/AdminOps"],"summary":"客户列表（用户+公司账户+KYC+钱包余额聚合）","description":"[Login required] ","operationId":"merchants","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}},{"name":"keyword","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RPageListMerchantListItem"}}}}}}},"/private/admin/merchants/{userId}":{"get":{"tags":["Private/AdminOps"],"summary":"客户详情（钱包三段余额 + 最近资金流水 + KYB 状态）","description":"[Login required] ","operationId":"merchantDetail","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RMerchantDetail"}}}}}}},"/private/admin/current":{"get":{"tags":["Private/Admin"],"summary":"获取当前管理员信息","description":"[Login required] ","operationId":"getCurrentAdmin","responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RAdminInfoDto"}}}}}}},"/public/user/system-alert/{recordId}":{"delete":{"tags":["Public/SystemAlert"],"summary":"删除通知","description":"[Login required] 删除指定的通知记录","operationId":"deleteAlert","parameters":[{"name":"recordId","in":"path","description":"通知记录ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RUnit"}}}}}}},"/public/user/system-alert/batch":{"delete":{"tags":["Public/SystemAlert"],"summary":"批量删除通知","description":"[Login required] 批量删除指定的通知记录","operationId":"batchDeleteAlerts","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDeleteAlertsRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RUnit"}}}}}}},"/private/fx/configs/{id}":{"delete":{"tags":["Private/Fx"],"summary":"删除加价配置","description":"[Login required] ","operationId":"deleteConfig","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}}}}},"/private/fee/configs/{id}":{"delete":{"tags":["Private/Fee"],"summary":"删除费率配置","description":"[Login required] ","operationId":"delete_3","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}}}}},"/private/email-templates/batch":{"delete":{"tags":["Private/Email"],"summary":"批量删除邮件模板","description":"[Permissions required: email:delete] ","operationId":"batchDeleteEmailTemplates","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDeleteEmailTemplatesRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RString"}}}}}}}},"components":{"schemas":{"RString":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"string"},"timestamp":{"type":"integer","format":"int64"}}},"WithdrawAddressRequest":{"required":["address","coin","name","network"],"type":"object","properties":{"name":{"maxLength":100,"minLength":0,"type":"string","description":"地址名称（用户自定义，同一用户下不可重复）","example":"我的USDT钱包"},"coin":{"type":"string","description":"币种 USDT / USDC","example":"USDT"},"network":{"type":"string","description":"网络 TRON / ETH / BSC","example":"TRON"},"address":{"maxLength":255,"minLength":0,"type":"string","description":"链上地址值","example":"TXYZ..."}},"description":"提现地址请求"},"RWithdrawAddressDto":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/WithdrawAddressDto"},"timestamp":{"type":"integer","format":"int64"}}},"WithdrawAddressDto":{"required":["address","coin","createdAt","id","name","network","updatedAt"],"type":"object","properties":{"id":{"type":"integer","description":"ID","format":"int64"},"name":{"type":"string","description":"地址名称"},"coin":{"type":"string","description":"币种"},"network":{"type":"string","description":"网络"},"address":{"type":"string","description":"链上地址值"},"createdAt":{"type":"string","description":"创建时间","format":"date-time"},"updatedAt":{"type":"string","description":"更新时间","format":"date-time"}},"description":"提现地址"},"UpdateUserRoleRequest":{"required":["role","targetUserId"],"type":"object","properties":{"targetUserId":{"type":"integer","description":"目标用户ID","format":"int64"},"role":{"type":"string","description":"角色：OWNER/ADMIN/VIEWER/ACCOUNTANT","enum":["OWNER","ADMIN","VIEWER","ACCOUNTANT"]}},"description":"分配用户角色请求"},"RUserInfoDto":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/UserInfoDto"},"timestamp":{"type":"integer","format":"int64"}}},"UserInfoDto":{"required":["email","emailVerified","id","kycVerified","mfaEnabled","status"],"type":"object","properties":{"id":{"type":"integer","description":"用户ID","format":"int64"},"email":{"type":"string","description":"邮箱地址"},"nickname":{"type":"string","description":"昵称"},"status":{"type":"string","description":"用户状态","enum":["INACTIVE","ACTIVE","SUSPENDED","BANNED","DELETED"]},"emailVerified":{"type":"boolean","description":"邮箱是否已验证"},"mfaEnabled":{"type":"boolean","description":"是否启用MFA"},"lastLoginAt":{"type":"string","description":"最后登录时间","format":"date-time"},"kycVerified":{"type":"boolean","description":"KYC是否已验证"},"role":{"type":"string","description":"企业账户内角色（Photon：OWNER/ADMIN/VIEWER/ACCOUNTANT）","enum":["OWNER","ADMIN","VIEWER","ACCOUNTANT"]},"companyAccountId":{"type":"integer","description":"所属公司账户ID","format":"int64"}},"description":"用户信息"},"ChangePinWithOldPasswordRequest":{"required":["newPin","oldPin"],"type":"object","properties":{"oldPin":{"pattern":"^\\d{6}$","type":"string","description":"旧PIN","example":"123456"},"newPin":{"pattern":"^\\d{6}$","type":"string","description":"新PIN码","example":"123456"}},"description":"通过旧密码修改PIN码请求"},"ChangePinWithCodeRequest":{"required":["email","newPin","verificationCode"],"type":"object","properties":{"email":{"type":"string","description":"邮箱地址","example":"user@example.com"},"verificationCode":{"maxLength":6,"minLength":6,"type":"string","description":"邮箱验证码","example":"ABC123"},"newPin":{"pattern":"^\\d{6}$","type":"string","description":"新PIN码","example":"123456"}},"description":"通过验证码修改PIN码请求"},"ChangePasswordWithOldPasswordRequest":{"required":["newPassword","oldPassword"],"type":"object","properties":{"oldPassword":{"type":"string","description":"旧密码","example":"OldPassword123!"},"newPassword":{"maxLength":2147483647,"minLength":8,"type":"string","description":"新密码","example":"NewPassword123!"}},"description":"通过旧密码修改密码请求"},"ChangePasswordWithCodeRequest":{"required":["captchaCode","captchaId","email","newPassword","verificationCode"],"type":"object","properties":{"email":{"type":"string","description":"邮箱地址","example":"user@example.com"},"verificationCode":{"maxLength":6,"minLength":6,"type":"string","description":"邮箱验证码","example":"ABC123"},"newPassword":{"maxLength":2147483647,"minLength":8,"type":"string","description":"新密码","example":"NewPassword123!"},"captchaId":{"type":"string","description":"图形验证码ID（GET /public/captcha 获取）","example":"8f2c..."},"captchaCode":{"type":"string","description":"图形验证码内容","example":"A3K9"}},"description":"通过验证码修改密码请求"},"KycSubmitRequest":{"required":["kycInfo","kycType"],"type":"object","properties":{"kycType":{"type":"string","description":"认证类型","example":"ID_CARD","enum":["ID_CARD","PASSPORT","COMPANY"]},"kycInfo":{"type":"object","additionalProperties":{"type":"object","description":"认证信息，JSON格式，包含前台上报的数据"},"description":"认证信息，JSON格式，包含前台上报的数据"}},"description":"KYC认证申请请求"},"KycInfo":{"required":["createdAt","kycInfo","kycType","status","updatedAt","userId"],"type":"object","properties":{"userId":{"type":"integer","format":"int64"},"status":{"type":"string","enum":["NEW","INIT","PENDING","PASS","TEMPORARILY_REJECT","RESUBMITTING","FINAL_REJECT"]},"kycType":{"type":"string","enum":["ID_CARD","PASSPORT","COMPANY"]},"kycInfo":{"type":"object","additionalProperties":{"type":"object"}},"riskLevel":{"type":"string","enum":["LOW","MEDIUM","HIGH"]},"auditorId":{"type":"integer","format":"int64"},"auditRemark":{"type":"string"},"auditTime":{"type":"string","format":"date-time"},"id":{"type":"integer","format":"int64"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"RKycInfo":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/KycInfo"},"timestamp":{"type":"integer","format":"int64"}}},"ChangeEmailRequest":{"required":["newEmail","newEmailCode","oldEmailCode"],"type":"object","properties":{"newEmail":{"type":"string","description":"新邮箱地址","example":"newemail@example.com"},"oldEmailCode":{"maxLength":6,"minLength":6,"type":"string","description":"旧邮箱验证码","example":"ABC123"},"newEmailCode":{"maxLength":6,"minLength":6,"type":"string","description":"新邮箱验证码","example":"DEF456"}},"description":"邮箱换绑请求"},"BeneficiaryRequest":{"required":["accountNo","bankName","country","name"],"type":"object","properties":{"name":{"maxLength":200,"minLength":0,"type":"string","description":"户名（受益人名称）；个人填姓名、企业填企业名","example":"ACME Trading Ltd"},"accountNo":{"maxLength":100,"minLength":0,"type":"string","description":"银行账号","example":"6222000012345678"},"bankName":{"maxLength":200,"minLength":0,"type":"string","description":"开户银行","example":"HSBC Hong Kong"},"country":{"maxLength":100,"minLength":0,"type":"string","description":"国家/地区","example":"HK"},"swift":{"maxLength":20,"minLength":0,"type":"string","description":"SWIFT 码","example":"HSBCHKHH"},"beneficiaryType":{"type":"string","description":"收款人类型：INDIVIDUAL=个人（姓名筛查）、CORPORATE=企业（企业名筛查）；不传默认 INDIVIDUAL","example":"INDIVIDUAL","enum":["INDIVIDUAL","CORPORATE"]}},"description":"受益人请求"},"BeneficiaryDto":{"required":["accountNo","bankName","beneficiaryType","country","createdAt","id","name","status","withdrawable"],"type":"object","properties":{"id":{"type":"integer","description":"受益人ID","format":"int64"},"name":{"type":"string","description":"户名"},"accountNo":{"type":"string","description":"账号"},"bankName":{"type":"string","description":"开户银行"},"country":{"type":"string","description":"国家/地区"},"swift":{"type":"string","description":"SWIFT 码"},"beneficiaryType":{"type":"string","description":"收款人类型 INDIVIDUAL/CORPORATE"},"status":{"type":"string","description":"状态 NEW=新建/待提交、REVIEWING=审核中、PASSED=通过、REJECTED=未通过；**只有 PASSED 可出金**"},"withdrawable":{"type":"boolean","description":"是否可向其出金（= status == PASSED）"},"screeningId":{"type":"integer","description":"审核台账 ID","format":"int64"},"screenedAt":{"type":"string","description":"审核完成时间","format":"date-time"},"createdAt":{"type":"string","description":"创建时间","format":"date-time"}},"description":"受益人"},"RBeneficiaryDto":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/BeneficiaryDto"},"timestamp":{"type":"integer","format":"int64"}}},"RWithdrawalLimit":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/WithdrawalLimit"},"timestamp":{"type":"integer","format":"int64"}}},"WithdrawalLimit":{"required":["dailyLimitUsd","enabled","id","secondApprovalThresholdUsd","singleLimitUsd"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"singleLimitUsd":{"type":"number"},"dailyLimitUsd":{"type":"number"},"secondApprovalThresholdUsd":{"type":"number"},"enabled":{"type":"boolean"}}},"UpdateSystemAlertContentRequest":{"required":["content","title"],"type":"object","properties":{"title":{"type":"string","description":"通知标题","example":"系统维护通知"},"content":{"type":"string","description":"通知内容","example":"系统将于今晚进行维护..."},"extension":{"type":"object","additionalProperties":{"type":"object","description":"扩展字段"},"description":"扩展字段"}},"description":"更新系统通知内容请求"},"RSystemAlertContent":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/SystemAlertContent"},"timestamp":{"type":"integer","format":"int64"}}},"SystemAlertCategory":{"required":["createdAt","description","enabled","name","updatedAt","weight"],"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"enabled":{"type":"boolean"},"weight":{"type":"integer","format":"int64"},"id":{"type":"integer","format":"int64"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"SystemAlertContent":{"required":["category","content","createdAt","title","updatedAt"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/SystemAlertCategory"},"title":{"type":"string"},"content":{"type":"string"},"extension":{"type":"object","additionalProperties":{"type":"object","description":"扩展字段"},"description":"扩展字段"},"id":{"type":"integer","format":"int64"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"UpdateSystemAlertCategoryRequest":{"required":["description","name","weight"],"type":"object","properties":{"name":{"maxLength":50,"minLength":0,"type":"string","description":"分类名称","example":"系统公告"},"description":{"type":"string","description":"分类描述","example":"系统重要公告通知"},"weight":{"type":"integer","description":"权重，用于排序","format":"int64","example":100}},"description":"更新系统通知分类请求"},"RSystemAlertCategory":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/SystemAlertCategory"},"timestamp":{"type":"integer","format":"int64"}}},"DbFileClientConfig":{"required":["domain","type"],"type":"object","allOf":[{"$ref":"#/components/schemas/FileClientConfig"},{"type":"object","properties":{"domain":{"type":"string"}}}]},"FileClientConfig":{"required":["type"],"type":"object","properties":{"type":{"type":"string","enum":["DB","LOCAL","S3"]}},"description":"存储配置","discriminator":{"propertyName":"type"}},"FileConfigSaveReqVO":{"required":["config","name","remark","storage"],"type":"object","properties":{"name":{"type":"string","description":"配置名","example":"S3 - 阿里云"},"storage":{"type":"string","description":"存储器","enum":["DB","LOCAL","S3"]},"config":{"oneOf":[{"$ref":"#/components/schemas/DbFileClientConfig"},{"$ref":"#/components/schemas/LocalFileClientConfig"},{"$ref":"#/components/schemas/S3FileClientConfig"}]},"remark":{"type":"string","description":"备注","example":"我是备注"}},"description":"管理后台 - 文件配置创建/修改 Request VO"},"LocalFileClientConfig":{"required":["basePath","domain","type"],"type":"object","allOf":[{"$ref":"#/components/schemas/FileClientConfig"},{"type":"object","properties":{"basePath":{"type":"string","description":"文件存储根路径"},"domain":{"type":"string","description":"返回访问地址域名"}}}]},"S3FileClientConfig":{"required":["accessKey","accessSecret","bucket","type"],"type":"object","allOf":[{"$ref":"#/components/schemas/FileClientConfig"},{"type":"object","properties":{"endpoint":{"type":"string","description":"节点地址","example":"s3.ap-southeast-1.amazonaws.com"},"domain":{"type":"string","description":"自定义域名; 未定义时使用s3默认的访问地址"},"region":{"type":"string","description":"节点区域","example":"ap-southeast-1"},"bucket":{"type":"string"},"accessKey":{"type":"string"},"accessSecret":{"type":"string"}}}]},"RBoolean":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"boolean"},"timestamp":{"type":"integer","format":"int64"}}},"UpdateEmailTemplateRequest":{"required":["content","name","subject"],"type":"object","properties":{"name":{"type":"string"},"subject":{"type":"string"},"content":{"type":"string"},"description":{"type":"string"}}},"EmailTemplateDto":{"required":["content","createdAt","id","isActive","name","subject","type","updatedAt"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"type":{"type":"string","enum":["EMAIL_VERIFICATION","PASSWORD_RESET","PIN_RESET","LOGIN_NOTIFICATION","EMAIL_CHANGE_OLD","EMAIL_CHANGE_NEW","WITHDRAW"]},"subject":{"type":"string"},"content":{"type":"string"},"description":{"type":"string"},"isActive":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"REmailTemplateDto":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/EmailTemplateDto"},"timestamp":{"type":"integer","format":"int64"}}},"UpdateAdminRequest":{"type":"object","properties":{"nickname":{"type":"string","description":"昵称"}},"description":"更新管理员请求"},"AdminInfoDto":{"required":["createTime","id","nickname","permissions","roles","status","updateTime","username"],"type":"object","properties":{"id":{"type":"integer","description":"管理员ID","format":"int64"},"username":{"type":"string","description":"用户名"},"nickname":{"type":"string","description":"昵称"},"status":{"type":"string","description":"状态","enum":["ACTIVE","DISABLED"]},"lastLoginAt":{"type":"string","description":"最后登录时间","format":"date-time"},"createTime":{"type":"string","description":"创建时间","format":"date-time"},"updateTime":{"type":"string","description":"更新时间","format":"date-time"},"roles":{"type":"array","description":"角色列表","items":{"$ref":"#/components/schemas/AdminRoleDto"}},"permissions":{"type":"array","description":"权限列表","items":{"type":"string","description":"权限列表"}}},"description":"管理员信息"},"AdminRoleDto":{"required":["createTime","description","id","name","permissions","superAdmin","updateTime"],"type":"object","properties":{"id":{"type":"integer","description":"角色ID","format":"int64"},"name":{"type":"string","description":"角色名称"},"description":{"type":"string","description":"角色描述"},"permissions":{"type":"array","description":"权限列表","items":{"type":"string","description":"权限列表"}},"superAdmin":{"type":"boolean","description":"是否超管"},"createTime":{"type":"string","description":"创建时间","format":"date-time"},"updateTime":{"type":"string","description":"更新时间","format":"date-time"}},"description":"角色信息"},"RAdminInfoDto":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/AdminInfoDto"},"timestamp":{"type":"integer","format":"int64"}}},"UpdateAdminStatusRequest":{"required":["status"],"type":"object","properties":{"status":{"type":"string","description":"状态","enum":["ACTIVE","DISABLED"]}},"description":"更新管理员状态请求"},"UpdateAdminPasswordRequest":{"required":["newPassword","oldPassword"],"type":"object","properties":{"oldPassword":{"type":"string","description":"旧密码; 超管用户不需要旧密码"},"newPassword":{"type":"string","description":"新密码"}},"description":"更新管理员密码请求"},"RVoid":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"object"},"timestamp":{"type":"integer","format":"int64"}}},"AssignUserRolesRequest":{"required":["roleIds"],"type":"object","properties":{"roleIds":{"type":"array","description":"角色ID列表","items":{"type":"integer","description":"角色ID列表","format":"int64"}}},"description":"分配用户角色请求"},"RListAdminRoleDto":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/AdminRoleDto"}},"timestamp":{"type":"integer","format":"int64"}}},"UpdateRoleRequest":{"type":"object","properties":{"name":{"type":"string","description":"角色名称"},"description":{"type":"string","description":"角色描述"},"permissions":{"type":"array","description":"权限列表","items":{"type":"string","description":"权限列表"}}},"description":"更新角色请求"},"RAdminRoleDto":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/AdminRoleDto"},"timestamp":{"type":"integer","format":"int64"}}},"RMapStringObject":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":{"type":"object"}},"timestamp":{"type":"integer","format":"int64"}}},"RWithdrawalRequest":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/WithdrawalRequest"},"timestamp":{"type":"integer","format":"int64"}}},"WithdrawalRequest":{"required":["amount","beneficiary","createdAt","currency","requiresSecondApproval","status","updatedAt","userId"],"type":"object","properties":{"userId":{"type":"integer","format":"int64"},"currency":{"type":"string"},"amount":{"type":"number"},"beneficiary":{"type":"string"},"beneficiaryId":{"type":"integer","format":"int64"},"beneficiaryFlag":{"type":"string"},"purpose":{"type":"string"},"status":{"type":"string","enum":["PENDING","APPROVED","SECOND_PENDING","PROCESSING","COMPLETED","REJECTED"]},"requiresSecondApproval":{"type":"boolean"},"approverId":{"type":"integer","format":"int64"},"secondApproverId":{"type":"integer","format":"int64"},"approveRemark":{"type":"string"},"approvedAt":{"type":"string","format":"date-time"},"completedAt":{"type":"string","format":"date-time"},"id":{"type":"integer","format":"int64"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"RWalletTransaction":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/WalletTransaction"},"timestamp":{"type":"integer","format":"int64"}}},"WalletTransaction":{"required":["action","amount","balance","createTime","currency","extension","serialNo","type","userId"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"userId":{"type":"integer","format":"int64"},"amount":{"type":"number"},"balance":{"type":"number"},"type":{"type":"string","enum":["CHARGE","CHARGE_REFUND","WITHDRAW","WITHDRAW_FEE","WITHDRAW_REFUND","TRANSFER","TRANSFER_RECEIVE","TRANSFER_FEE","EXCHANGE","EXCHANGE_RECEIVE","REWARD","BONUS","AIRDROP","PENALTY","FREEZE","UNFREEZE","TRADING_FEE","SERVICE_FEE","ADJUSTMENT_INCREASE","ADJUSTMENT_DECREASE","REFUND","COMPENSATION"]},"action":{"type":"string"},"currency":{"type":"string","enum":["USDT","USD"]},"information":{"type":"string"},"createTime":{"type":"string","format":"date-time"},"extension":{"type":"object","additionalProperties":{"type":"object"}},"serialNo":{"type":"string"}}},"CoboTransfer":{"required":["amount","chain","coin","createdAt","requestId","status","toAddress","updatedAt","userId"],"type":"object","properties":{"userId":{"type":"integer","format":"int64"},"coin":{"type":"string"},"chain":{"type":"string"},"toAddress":{"type":"string"},"amount":{"type":"number"},"coboTxId":{"type":"string"},"requestId":{"type":"string"},"status":{"type":"string","enum":["PENDING","BROADCASTED","COMPLETED","FAILED"]},"kytDecision":{"type":"string"},"travelRuleRef":{"type":"string"},"rawResponse":{"type":"string"},"id":{"type":"integer","format":"int64"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"RCoboTransfer":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/CoboTransfer"},"timestamp":{"type":"integer","format":"int64"}}},"SendVerificationCodeRequest":{"required":["captchaCode","captchaId","email","type"],"type":"object","properties":{"email":{"type":"string","description":"邮箱地址","example":"user@example.com"},"type":{"type":"string","description":"验证码类型","example":"REGISTRATION","enum":["REGISTRATION","PASSWORD_RESET","PIN_RESET","EMAIL_CHANGE_OLD","EMAIL_CHANGE_NEW","WITHDRAW"]},"captchaId":{"type":"string","description":"图形验证码ID（GET /public/captcha 获取）","example":"8f2c..."},"captchaCode":{"type":"string","description":"图形验证码内容","example":"A3K9"}},"description":"发送验证码请求"},"RSystemAlertRecord":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/SystemAlertRecord"},"timestamp":{"type":"integer","format":"int64"}}},"SystemAlertRecord":{"required":["createdAt","deleted","status","systemAlert","updatedAt","userId"],"type":"object","properties":{"systemAlert":{"$ref":"#/components/schemas/SystemAlertContent"},"userId":{"type":"integer","format":"int64"},"readTime":{"type":"string","format":"date-time"},"deleted":{"type":"boolean"},"deletedTime":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["UNREAD","READ"]},"id":{"type":"integer","format":"int64"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"BatchMarkReadRequest":{"required":["markAll","recordIds"],"type":"object","properties":{"markAll":{"type":"boolean"},"recordIds":{"type":"array","description":"通知记录ID列表","items":{"type":"integer","description":"通知记录ID列表","format":"int64"}}},"description":"批量标记已读请求"},"RUnit":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/Unit"},"timestamp":{"type":"integer","format":"int64"}}},"Unit":{"type":"object"},"UserRegisterRequest":{"required":["captchaCode","captchaId","email","password","paymentPin","verificationCode"],"type":"object","properties":{"email":{"type":"string","description":"邮箱地址","example":"user@example.com"},"password":{"maxLength":2147483647,"minLength":8,"type":"string","description":"密码","example":"Password123!"},"nickname":{"maxLength":50,"minLength":0,"type":"string","description":"昵称","example":"用户昵称"},"verificationCode":{"maxLength":6,"minLength":6,"type":"string","description":"邮箱验证码","example":"ABC123"},"paymentPin":{"pattern":"^\\d{6}$","type":"string","description":"支付PIN码","example":"123456"},"captchaId":{"type":"string","description":"图形验证码ID（GET /public/captcha 获取）","example":"8f2c..."},"captchaCode":{"type":"string","description":"图形验证码内容","example":"A3K9"}},"description":"用户注册请求"},"RLong":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"integer","format":"int64"},"timestamp":{"type":"integer","format":"int64"}}},"MfaEnableRequest":{"required":["code"],"type":"object","properties":{"code":{"maxLength":6,"minLength":6,"type":"string","description":"Google Authenticator 动态验证码","example":"123456"}},"description":"启用 MFA 请求"},"MfaStatusDto":{"required":["enabled"],"type":"object","properties":{"enabled":{"type":"boolean","description":"是否已启用两步验证","example":false}},"description":"MFA 绑定状态"},"RMfaStatusDto":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/MfaStatusDto"},"timestamp":{"type":"integer","format":"int64"}}},"MfaDisableRequest":{"type":"object","properties":{"code":{"type":"string","description":"当前动态验证码（与登录密码二选一）","example":"123456"},"password":{"type":"string","description":"登录密码（与动态码二选一，兜底：手机丢失无法取码时可改用密码）","example":"Password123!"}},"description":"禁用 MFA 请求"},"MfaBindDto":{"required":["account","issuer","otpauthUri","qrCodeDataUri","secret"],"type":"object","properties":{"secret":{"type":"string","description":"Base32 明文密钥（仅绑定确认前展示，务必让用户妥善保存）","example":"JBSWY3DPEHPK3PXP"},"otpauthUri":{"type":"string","description":"otpauth:// 标准 URI（可用于手动添加）"},"qrCodeDataUri":{"type":"string","description":"二维码图片 data URI（<img src> 直接使用）"},"issuer":{"type":"string","description":"服务方名称","example":"AlbaTrust"},"account":{"type":"string","description":"账户标识（一般取用户邮箱）","example":"user@example.com"}},"description":"MFA 绑定信息"},"RMfaBindDto":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/MfaBindDto"},"timestamp":{"type":"integer","format":"int64"}}},"UserLoginRequest":{"required":["email","password"],"type":"object","properties":{"email":{"type":"string","description":"邮箱地址","example":"user@example.com"},"password":{"type":"string","description":"密码","example":"Password123!"},"captchaId":{"type":"string","description":"图形验证码ID（连续失败≥2次后必填）","example":"8f2c..."},"captchaCode":{"type":"string","description":"图形验证码内容（连续失败≥2次后必填）","example":"A3K9"}},"description":"用户登录请求"},"RUserLoginResponse":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/UserLoginResponse"},"timestamp":{"type":"integer","format":"int64"}}},"UserLoginResponse":{"required":["captchaRequired","message","success"],"type":"object","properties":{"success":{"type":"boolean","description":"是否成功"},"message":{"type":"string","description":"响应消息"},"token":{"type":"string","description":"访问令牌"},"userInfo":{"$ref":"#/components/schemas/UserInfoDto"},"captchaRequired":{"type":"boolean","description":"下次登录是否必须输入图形验证码（连续失败≥2次）","example":false}},"description":"用户登录响应"},"KytScreening":{"required":["address","amount","chain","coin","createdAt","credited","direction","engine","rawPayload","referenceId","riskLevel","screenRaw","status","updatedAt","userId"],"type":"object","properties":{"userId":{"type":"integer","format":"int64"},"direction":{"type":"string","enum":["DEPOSIT","WITHDRAWAL"]},"chain":{"type":"string"},"coin":{"type":"string"},"asset":{"type":"string"},"address":{"type":"string"},"depositAddress":{"type":"string"},"txHash":{"type":"string"},"amount":{"type":"number"},"referenceId":{"type":"string"},"requestId":{"type":"string"},"status":{"type":"string","enum":["PENDING","APPROVED","REJECTED","ERROR"]},"messageStatus":{"type":"string"},"riskLevel":{"type":"string","enum":["LOW","MEDIUM","HIGH","UNKNOWN"]},"riskScore":{"type":"number"},"credited":{"type":"boolean"},"remark":{"type":"string"},"rawPayload":{"type":"object","additionalProperties":{"type":"object"}},"engine":{"type":"string","enum":["SCORING","REPORT"]},"screenScore":{"type":"integer","format":"int32"},"screenSeverity":{"type":"string"},"screenRefId":{"type":"string"},"screenScoredAt":{"type":"string","format":"date-time"},"screenRaw":{"type":"object","additionalProperties":{"type":"object"}},"id":{"type":"integer","format":"int64"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"RListKytScreening":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/KytScreening"}},"timestamp":{"type":"integer","format":"int64"}}},"KybOnboarding":{"required":["companyName","createdAt","email","expiredInSeconds","formName","rawWebhook","status","updatedAt","userId"],"type":"object","properties":{"userId":{"type":"integer","format":"int64"},"email":{"type":"string"},"companyName":{"type":"string"},"formName":{"type":"string"},"requestId":{"type":"string"},"verifyLink":{"type":"string"},"status":{"type":"string","enum":["PENDING","APPROVED","REJECTED","EXPIRED","TERMINATED"]},"vendorStatus":{"type":"string"},"kybId":{"type":"string"},"expiredInSeconds":{"type":"integer","format":"int64"},"rawWebhook":{"type":"object","additionalProperties":{"type":"object"}},"id":{"type":"integer","format":"int64"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"RKybOnboarding":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/KybOnboarding"},"timestamp":{"type":"integer","format":"int64"}}},"KybStartResponse":{"required":["expiredIn","status"],"type":"object","properties":{"requestId":{"type":"string"},"verifyLink":{"type":"string"},"expiredIn":{"type":"integer","format":"int64"},"status":{"type":"string"}}},"RKybStartResponse":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/KybStartResponse"},"timestamp":{"type":"integer","format":"int64"}}},"FxOrder":{"required":["baseRate","createdAt","executeRate","fromAmount","fromCurrency","id","markupRate","status","toAmount","toCurrency","userId"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"userId":{"type":"integer","format":"int64"},"fromCurrency":{"type":"string"},"toCurrency":{"type":"string"},"fromAmount":{"type":"number"},"baseRate":{"type":"number"},"markupRate":{"type":"number"},"executeRate":{"type":"number"},"toAmount":{"type":"number"},"status":{"type":"string","enum":["QUOTED","LOCKED","COMPLETED","FAILED"]},"failReason":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"completedAt":{"type":"string","format":"date-time"}}},"RFxOrder":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/FxOrder"},"timestamp":{"type":"integer","format":"int64"}}},"SendEmailChangeCodesRequest":{"required":["email"],"type":"object","properties":{"email":{"type":"string","description":"邮箱地址","example":"user@example.com"}}},"FileCreateReqVO":{"type":"object","properties":{"configId":{"type":"integer","description":"文件配置编号","format":"int64"},"path":{"type":"string","description":"文件路径","example":"public/test.txt"},"name":{"type":"string","description":"原文件名","example":"abc.txt"},"url":{"type":"string","description":"文件 URL"},"type":{"type":"string","description":"文件 MIME 类型","example":"application/octet-stream"},"size":{"type":"integer","description":"文件大小: B","format":"int64","example":2048}},"description":"管理后台 - 文件创建 Request VO"},"CreateSystemAlertContentRequest":{"required":["categoryId","content","title"],"type":"object","properties":{"categoryId":{"type":"integer","description":"分类ID","format":"int64","example":1},"title":{"type":"string","description":"通知标题","example":"系统维护通知"},"content":{"type":"string","description":"通知内容","example":"系统将于今晚进行维护..."},"extension":{"type":"object","additionalProperties":{"type":"object","description":"扩展字段"},"description":"扩展字段"}},"description":"创建系统通知内容请求"},"SendSystemAlertRequest":{"required":["sendType"],"type":"object","properties":{"sendType":{"type":"string","description":"发送类型：ALL-全部用户，SPECIFIC-指定用户","example":"ALL","enum":["ALL","SPECIFIC","ALL","SPECIFIC"]},"userIds":{"type":"array","description":"指定用户ID列表，当sendType为SPECIFIC时必填","items":{"type":"integer","description":"指定用户ID列表，当sendType为SPECIFIC时必填","format":"int64"}}},"description":"发送系统通知请求"},"CreateSystemAlertCategoryRequest":{"required":["description","name","weight"],"type":"object","properties":{"name":{"maxLength":50,"minLength":0,"type":"string","description":"分类名称","example":"系统公告"},"description":{"type":"string","description":"分类描述","example":"系统重要公告通知"},"weight":{"type":"integer","description":"权重，用于排序","format":"int64","example":100}},"description":"创建系统通知分类请求"},"ToggleCategoryRequest":{"required":["enabled"],"type":"object","properties":{"enabled":{"type":"boolean","description":"是否启用","example":true}},"description":"启用/禁用分类请求"},"RKytScreening":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/KytScreening"},"timestamp":{"type":"integer","format":"int64"}}},"KycSecondReviewRequest":{"required":["action"],"type":"object","properties":{"action":{"type":"string","description":"二审动作：APPROVE-通过 / REJECT-拒绝 / RETURN-打回一审","example":"APPROVE","enum":["APPROVE","REJECT","RETURN"]},"remark":{"type":"string","description":"二审备注；REJECT 时必填","example":"二审通过"}},"description":"KYC 二审请求"},"KycAuditRequest":{"required":["action","pass"],"type":"object","properties":{"action":{"type":"string","description":"审核动作：PASS-通过 / FAIL-暂时拒绝(可重提) / FINAL_REJECT-最终拒绝(不可重试) / SUPPLEMENT-待补料","example":"PASS","enum":["PASS","FAIL","FINAL_REJECT","SUPPLEMENT"]},"pass":{"type":"boolean","description":"是否通过审核（兼容旧版，action=PASS 时生效）","example":true},"remark":{"type":"string","description":"审核备注；拒绝/待补料时必填","example":"审核通过"},"riskLevel":{"type":"string","description":"风险等级（通过时必填：LOW/MEDIUM/HIGH）","example":"MEDIUM","enum":["LOW","MEDIUM","HIGH"]}},"description":"KYC审核请求"},"FxConfig":{"required":["enabled","fromCurrency","id","markupRate","quoteTtlSeconds","slippageThresholdPct","toCurrency","updatedAt"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"fromCurrency":{"type":"string"},"toCurrency":{"type":"string"},"markupRate":{"type":"number"},"quoteTtlSeconds":{"type":"integer","format":"int32"},"slippageThresholdPct":{"type":"number"},"enabled":{"type":"boolean"},"updatedAt":{"type":"string","format":"date-time"}}},"RFxConfig":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/FxConfig"},"timestamp":{"type":"integer","format":"int64"}}},"FeeConfig":{"required":["currency","enabled","feeRate","id","updatedAt"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"currency":{"type":"string"},"feeRate":{"type":"number"},"customerId":{"type":"integer","format":"int64"},"riskLevel":{"type":"string"},"minFee":{"type":"number"},"maxFee":{"type":"number"},"enabled":{"type":"boolean"},"updatedAt":{"type":"string","format":"date-time"}}},"RFeeConfig":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/FeeConfig"},"timestamp":{"type":"integer","format":"int64"}}},"CreateEmailTemplateRequest":{"required":["content","isActive","name","subject","type"],"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string","enum":["EMAIL_VERIFICATION","PASSWORD_RESET","PIN_RESET","LOGIN_NOTIFICATION","EMAIL_CHANGE_OLD","EMAIL_CHANGE_NEW","WITHDRAW"]},"subject":{"type":"string"},"content":{"type":"string"},"description":{"type":"string"},"isActive":{"type":"boolean"}}},"CopyEmailTemplateRequest":{"required":["newName"],"type":"object","properties":{"newName":{"type":"string"}}},"ManualSendEmailRequest":{"required":["email","type","variables"],"type":"object","properties":{"email":{"type":"string"},"type":{"type":"string","enum":["EMAIL_VERIFICATION","PASSWORD_RESET","PIN_RESET","LOGIN_NOTIFICATION","EMAIL_CHANGE_OLD","EMAIL_CHANGE_NEW","WITHDRAW"]},"variables":{"type":"object","additionalProperties":{"type":"string"}}}},"RStrCase":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/StrCase"},"timestamp":{"type":"integer","format":"int64"}}},"StrCase":{"required":["caseNo","createdAt","description","evidence","source","status","updatedAt","userId"],"type":"object","properties":{"userId":{"type":"integer","format":"int64"},"alertId":{"type":"integer","format":"int64"},"caseNo":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"evidence":{"type":"string"},"source":{"type":"string"},"status":{"type":"string","enum":["OPEN","APPROVED","REPORTED","REJECTED"]},"reporterId":{"type":"integer","format":"int64"},"reviewerId":{"type":"integer","format":"int64"},"approverId":{"type":"integer","format":"int64"},"approveRemark":{"type":"string"},"reportedAt":{"type":"string","format":"date-time"},"reportRef":{"type":"string"},"id":{"type":"integer","format":"int64"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"ComplianceAlert":{"required":["createdAt","detail","ruleCode","source","status","updatedAt","userId"],"type":"object","properties":{"source":{"type":"string","enum":["MONITORING","SCREENING"]},"userId":{"type":"integer","format":"int64"},"ruleCode":{"type":"string"},"ruleName":{"type":"string"},"detail":{"type":"string"},"transactionId":{"type":"integer","format":"int64"},"status":{"type":"string","enum":["NEW","REVIEWING","CLEARED","FROZEN","ESCALATED"]},"severity":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"]},"reviewerId":{"type":"integer","format":"int64"},"reviewRemark":{"type":"string"},"reviewedAt":{"type":"string","format":"date-time"},"id":{"type":"integer","format":"int64"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"RListComplianceAlert":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceAlert"}},"timestamp":{"type":"integer","format":"int64"}}},"RReviewTask":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/ReviewTask"},"timestamp":{"type":"integer","format":"int64"}}},"ReviewTask":{"required":["createdAt","dueDate","status","updatedAt","userId"],"type":"object","properties":{"userId":{"type":"integer","format":"int64"},"riskLevel":{"type":"string"},"dueDate":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["DUE","DONE"]},"reviewerId":{"type":"integer","format":"int64"},"conclusion":{"type":"string"},"reviewRemark":{"type":"string"},"reviewedAt":{"type":"string","format":"date-time"},"nextDueDate":{"type":"string","format":"date-time"},"id":{"type":"integer","format":"int64"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"RComplianceAlert":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/ComplianceAlert"},"timestamp":{"type":"integer","format":"int64"}}},"AmlHit":{"required":["listType","matchType","name","score"],"type":"object","properties":{"name":{"type":"string"},"listType":{"type":"string"},"matchType":{"type":"string"},"score":{"type":"integer","format":"int32"}}},"AmlScreeningResult":{"required":["decision","detail","hits","screeningId"],"type":"object","properties":{"screeningId":{"type":"string"},"decision":{"type":"string","enum":["PASS","REVIEW","HIT"]},"hits":{"type":"array","items":{"$ref":"#/components/schemas/AmlHit"}},"detail":{"type":"string"}}},"RAmlScreeningResult":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/AmlScreeningResult"},"timestamp":{"type":"integer","format":"int64"}}},"CreateAdminRequest":{"required":["nickname","password","roleIds","username"],"type":"object","properties":{"username":{"type":"string","description":"用户名","example":"admin"},"nickname":{"type":"string","description":"昵称","example":"管理员"},"password":{"type":"string","description":"密码","example":"password123"},"roleIds":{"type":"array","description":"角色ID列表","items":{"type":"integer","description":"角色ID列表","format":"int64"}}},"description":"创建管理员请求"},"CreateRoleRequest":{"required":["description","name","permissions"],"type":"object","properties":{"name":{"type":"string","description":"角色名称","example":"OPERATOR"},"description":{"type":"string","description":"角色描述","example":"操作员"},"permissions":{"type":"array","description":"权限列表","items":{"type":"string","description":"权限列表"}}},"description":"创建角色请求"},"AdminLoginRequest":{"required":["password","username"],"type":"object","properties":{"username":{"type":"string","description":"用户名","example":"admin"},"password":{"type":"string","description":"密码","example":"password123"}},"description":"管理员登录请求"},"AdminLoginResponse":{"required":["adminInfo","token"],"type":"object","properties":{"token":{"type":"string","description":"访问令牌"},"adminInfo":{"$ref":"#/components/schemas/AdminInfoDto"}},"description":"管理员登录响应"},"RAdminLoginResponse":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/AdminLoginResponse"},"timestamp":{"type":"integer","format":"int64"}}},"RListWithdrawAddressDto":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/WithdrawAddressDto"}},"timestamp":{"type":"integer","format":"int64"}}},"RListMapStringString":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}}},"timestamp":{"type":"integer","format":"int64"}}},"PageListWithdrawalRequest":{"required":["list","total"],"type":"object","properties":{"total":{"type":"integer","format":"int64"},"list":{"type":"array","items":{"$ref":"#/components/schemas/WithdrawalRequest"}}}},"RPageListWithdrawalRequest":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageListWithdrawalRequest"},"timestamp":{"type":"integer","format":"int64"}}},"FeeQuote":{"required":["amount","currency","feeAmount","feeRate","netAmount","ruleName"],"type":"object","properties":{"currency":{"type":"string"},"amount":{"type":"number"},"feeRate":{"type":"number"},"feeAmount":{"type":"number"},"netAmount":{"type":"number"},"ruleName":{"type":"string"}}},"RFeeQuote":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/FeeQuote"},"timestamp":{"type":"integer","format":"int64"}}},"PageListWalletTransaction":{"required":["list","total"],"type":"object","properties":{"total":{"type":"integer","format":"int64"},"list":{"type":"array","items":{"$ref":"#/components/schemas/WalletTransaction"}}}},"RPageListWalletTransaction":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageListWalletTransaction"},"timestamp":{"type":"integer","format":"int64"}}},"CoboDepositAddress":{"required":["address","chain","coin","createdAt","lastBlockNumber","status","updatedAt","userId"],"type":"object","properties":{"userId":{"type":"integer","format":"int64"},"chain":{"type":"string"},"coin":{"type":"string"},"address":{"type":"string"},"coboWalletId":{"type":"string"},"coboAddressId":{"type":"string"},"status":{"type":"string","enum":["PENDING","ACTIVE","FROZEN"]},"lastBlockNumber":{"type":"integer","format":"int64"},"id":{"type":"integer","format":"int64"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"RCoboDepositAddress":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/CoboDepositAddress"},"timestamp":{"type":"integer","format":"int64"}}},"RListCoboTransfer":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/CoboTransfer"}},"timestamp":{"type":"integer","format":"int64"}}},"UserSystemAlertQuery":{"type":"object","properties":{"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"categoryId":{"type":"integer","description":"分类ID，用于筛选特定分类的通知","format":"int64"},"status":{"uniqueItems":true,"type":"array","description":"通知状态","items":{"type":"string","description":"通知状态","enum":["UNREAD","READ"]}},"sort":{"type":"string"}},"description":"用户通知查询参数"},"PageListSystemAlertRecord":{"required":["list","total"],"type":"object","properties":{"total":{"type":"integer","format":"int64"},"list":{"type":"array","items":{"$ref":"#/components/schemas/SystemAlertRecord"}}}},"RPageListSystemAlertRecord":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageListSystemAlertRecord"},"timestamp":{"type":"integer","format":"int64"}}},"RListSystemAlertCategory":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/SystemAlertCategory"}},"timestamp":{"type":"integer","format":"int64"}}},"NameScreeningDto":{"required":["beneficiaryId","createdAt","decision","id","referenceId","screenedName","subjectType"],"type":"object","properties":{"id":{"type":"integer","description":"记录ID","format":"int64"},"beneficiaryId":{"type":"integer","description":"关联法币收款人ID","format":"int64"},"subjectType":{"type":"string","description":"主体类型 INDIVIDUAL/CORPORATE"},"screenedName":{"type":"string","description":"送筛姓名/企业名"},"referenceId":{"type":"string","description":"我方业务回查ID"},"requestId":{"type":"string","description":"渠道 requestId"},"messageStatus":{"type":"string","description":"渠道 messageStatus"},"vendorStatus":{"type":"string","description":"渠道 status 原文"},"decision":{"type":"string","description":"判定结论 PENDING/PASS/BLOCK/REVIEW"},"riskScore":{"type":"number","description":"渠道风险分"},"riskLevel":{"type":"string","description":"渠道风险等级文案"},"possibleMatchCount":{"type":"integer","description":"疑似命中数","format":"int32"},"blacklistedMatchCount":{"type":"integer","description":"黑名单命中数","format":"int32"},"assignee":{"type":"string","description":"渠道指派合规人员"},"reviewRemark":{"type":"string","description":"人工复核备注"},"errorMessage":{"type":"string","description":"异常信息"},"screenedAt":{"type":"string","description":"出结论时间","format":"date-time"},"createdAt":{"type":"string","description":"创建时间","format":"date-time"}},"description":"姓名筛查记录"},"RListNameScreeningDto":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/NameScreeningDto"}},"timestamp":{"type":"integer","format":"int64"}}},"PageReq":{"type":"object","properties":{"size":{"type":"integer","format":"int32"},"sort":{"type":"string"},"page":{"type":"integer","format":"int32"}}},"RObject":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"object"},"timestamp":{"type":"integer","format":"int64"}}},"PageListKycInfo":{"required":["list","total"],"type":"object","properties":{"total":{"type":"integer","format":"int64"},"list":{"type":"array","items":{"$ref":"#/components/schemas/KycInfo"}}}},"RPageListKycInfo":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageListKycInfo"},"timestamp":{"type":"integer","format":"int64"}}},"FxQuote":{"required":["amount","baseRate","executeRate","from","markupRate","to","toAmount","ttlSeconds"],"type":"object","properties":{"from":{"type":"string"},"to":{"type":"string"},"amount":{"type":"number"},"baseRate":{"type":"number"},"markupRate":{"type":"number"},"executeRate":{"type":"number"},"toAmount":{"type":"number"},"ttlSeconds":{"type":"integer","format":"int32"}}},"RFxQuote":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/FxQuote"},"timestamp":{"type":"integer","format":"int64"}}},"PageListFxOrder":{"required":["list","total"],"type":"object","properties":{"total":{"type":"integer","format":"int64"},"list":{"type":"array","items":{"$ref":"#/components/schemas/FxOrder"}}}},"RPageListFxOrder":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageListFxOrder"},"timestamp":{"type":"integer","format":"int64"}}},"CompanyContext":{"required":["permissions"],"type":"object","properties":{"companyAccountId":{"type":"integer","format":"int64"},"companyName":{"type":"string"},"roleCode":{"type":"string"},"roleName":{"type":"string"},"permissions":{"type":"array","items":{"type":"string"}}}},"RCompanyContext":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/CompanyContext"},"timestamp":{"type":"integer","format":"int64"}}},"RMapStringString":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":{"type":"string"}},"timestamp":{"type":"integer","format":"int64"}}},"RListBeneficiaryDto":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/BeneficiaryDto"}},"timestamp":{"type":"integer","format":"int64"}}},"FileUrlRespVO":{"required":["id","url"],"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"}}},"RListFileUrlRespVO":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/FileUrlRespVO"}},"timestamp":{"type":"integer","format":"int64"}}},"WalletTransactionQuery":{"type":"object","properties":{"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"userId":{"type":"integer","format":"int64"},"type":{"type":"string","enum":["CHARGE","CHARGE_REFUND","WITHDRAW","WITHDRAW_FEE","WITHDRAW_REFUND","TRANSFER","TRANSFER_RECEIVE","TRANSFER_FEE","EXCHANGE","EXCHANGE_RECEIVE","REWARD","BONUS","AIRDROP","PENALTY","FREEZE","UNFREEZE","TRADING_FEE","SERVICE_FEE","ADJUSTMENT_INCREASE","ADJUSTMENT_DECREASE","REFUND","COMPENSATION"]},"minAmount":{"type":"number"},"maxAmount":{"type":"number"},"currency":{"type":"string","enum":["USDT","USD"]},"startTime":{"type":"string","format":"date-time"},"endTime":{"type":"string","format":"date-time"},"sort":{"type":"string"}}},"PageListMapStringObject":{"required":["list","total"],"type":"object","properties":{"total":{"type":"integer","format":"int64"},"list":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object"}}}}},"RPageListMapStringObject":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageListMapStringObject"},"timestamp":{"type":"integer","format":"int64"}}},"SystemAlertRecordQuery":{"type":"object","properties":{"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"userId":{"uniqueItems":true,"type":"array","description":"用户ID","items":{"type":"integer","description":"用户ID","format":"int64"}},"systemAlertIds":{"uniqueItems":true,"type":"array","description":"通知内容ID","items":{"type":"integer","description":"通知内容ID","format":"int64"}},"status":{"uniqueItems":true,"type":"array","description":"通知状态","items":{"type":"string","description":"通知状态","enum":["UNREAD","READ"]}},"deleted":{"type":"boolean","description":"是否已删除"},"sort":{"type":"string"}},"description":"系统通知记录查询参数"},"SystemAlertContentQuery":{"type":"object","properties":{"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"title":{"type":"string","description":"标题，支持模糊匹配"},"categoryId":{"type":"integer","description":"分类ID","format":"int64"},"createTimeStart":{"type":"string","description":"创建时间开始","format":"date-time"},"createTimeEnd":{"type":"string","description":"创建时间结束","format":"date-time"},"sort":{"type":"string"}},"description":"系统通知内容查询参数"},"PageListSystemAlertContent":{"required":["list","total"],"type":"object","properties":{"total":{"type":"integer","format":"int64"},"list":{"type":"array","items":{"$ref":"#/components/schemas/SystemAlertContent"}}}},"RPageListSystemAlertContent":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageListSystemAlertContent"},"timestamp":{"type":"integer","format":"int64"}}},"SystemAlertCategoryQuery":{"type":"object","properties":{"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"name":{"type":"string","description":"分类名称，支持模糊匹配"},"enabled":{"type":"boolean","description":"是否启用"},"sort":{"type":"string"}},"description":"系统通知分类查询参数"},"PageListSystemAlertCategory":{"required":["list","total"],"type":"object","properties":{"total":{"type":"integer","format":"int64"},"list":{"type":"array","items":{"$ref":"#/components/schemas/SystemAlertCategory"}}}},"RPageListSystemAlertCategory":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageListSystemAlertCategory"},"timestamp":{"type":"integer","format":"int64"}}},"NameScreenStats":{"required":["blocked","passed","pending","review","total"],"type":"object","properties":{"total":{"type":"integer","format":"int64"},"pending":{"type":"integer","format":"int64"},"review":{"type":"integer","format":"int64"},"passed":{"type":"integer","format":"int64"},"blocked":{"type":"integer","format":"int64"}}},"RNameScreenStats":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/NameScreenStats"},"timestamp":{"type":"integer","format":"int64"}}},"KycQuery":{"type":"object","properties":{"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"userId":{"type":"integer","format":"int64"},"status":{"type":"string","enum":["NEW","INIT","PENDING","PASS","TEMPORARILY_REJECT","RESUBMITTING","FINAL_REJECT"]},"kycType":{"type":"string","enum":["ID_CARD","PASSPORT","COMPANY"]},"riskLevel":{"type":"string","enum":["LOW","MEDIUM","HIGH"]},"sort":{"type":"string"}}},"FileItem":{"required":["fileId"],"type":"object","properties":{"fileId":{"type":"string"},"url":{"type":"string"},"name":{"type":"string"}}},"KycDetailResponse":{"required":["createdAt","files","kycId","kycInfo","kycType","status","updatedAt","userId"],"type":"object","properties":{"kycId":{"type":"integer","format":"int64"},"userId":{"type":"integer","format":"int64"},"email":{"type":"string"},"kycType":{"type":"string","enum":["ID_CARD","PASSPORT","COMPANY"]},"status":{"type":"string","enum":["NEW","INIT","PENDING","PASS","TEMPORARILY_REJECT","RESUBMITTING","FINAL_REJECT"]},"riskLevel":{"type":"string","enum":["LOW","MEDIUM","HIGH"]},"auditorId":{"type":"integer","format":"int64"},"auditRemark":{"type":"string"},"auditTime":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"kycInfo":{"type":"object","additionalProperties":{"type":"object"}},"files":{"type":"array","items":{"$ref":"#/components/schemas/FileItem"}}}},"RKycDetailResponse":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/KycDetailResponse"},"timestamp":{"type":"integer","format":"int64"}}},"RListFxConfig":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/FxConfig"}},"timestamp":{"type":"integer","format":"int64"}}},"FileConfigQuery":{"type":"object","properties":{"name":{"type":"string","description":"配置名"},"storage":{"type":"string","description":"存储器","example":"S3","enum":["DB","LOCAL","S3"]},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"sort":{"type":"string"}},"description":"文件配置分页 Request VO"},"FileConfigRespVO":{"required":["config","createTime","id","master","name","storage"],"type":"object","properties":{"id":{"type":"integer","description":"编号","format":"int64","example":1},"name":{"type":"string","description":"配置名","example":"S3 - 阿里云"},"storage":{"type":"string","description":"存储器，参见 FileStorageEnum 枚举类","enum":["DB","LOCAL","S3"]},"master":{"type":"boolean","description":"是否为主配置","example":true},"config":{"oneOf":[{"$ref":"#/components/schemas/DbFileClientConfig"},{"$ref":"#/components/schemas/LocalFileClientConfig"},{"$ref":"#/components/schemas/S3FileClientConfig"}]},"remark":{"type":"string","description":"备注","example":"我是备注"},"createTime":{"type":"string","description":"创建时间","format":"date-time"}},"description":"管理后台 - 文件配置 Response VO"},"PageListFileConfigRespVO":{"required":["list","total"],"type":"object","properties":{"total":{"type":"integer","format":"int64"},"list":{"type":"array","items":{"$ref":"#/components/schemas/FileConfigRespVO"}}}},"RPageListFileConfigRespVO":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageListFileConfigRespVO"},"timestamp":{"type":"integer","format":"int64"}}},"RListFeeConfig":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/FeeConfig"}},"timestamp":{"type":"integer","format":"int64"}}},"RListEmailTemplateDto":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/EmailTemplateDto"}},"timestamp":{"type":"integer","format":"int64"}}},"PageListEmailTemplateDto":{"required":["list","total"],"type":"object","properties":{"total":{"type":"integer","format":"int64"},"list":{"type":"array","items":{"$ref":"#/components/schemas/EmailTemplateDto"}}}},"RPageListEmailTemplateDto":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageListEmailTemplateDto"},"timestamp":{"type":"integer","format":"int64"}}},"PageListStrCase":{"required":["list","total"],"type":"object","properties":{"total":{"type":"integer","format":"int64"},"list":{"type":"array","items":{"$ref":"#/components/schemas/StrCase"}}}},"RPageListStrCase":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageListStrCase"},"timestamp":{"type":"integer","format":"int64"}}},"RMapStringLong":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":{"type":"integer","format":"int64"}},"timestamp":{"type":"integer","format":"int64"}}},"PageListReviewTask":{"required":["list","total"],"type":"object","properties":{"total":{"type":"integer","format":"int64"},"list":{"type":"array","items":{"$ref":"#/components/schemas/ReviewTask"}}}},"RPageListReviewTask":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageListReviewTask"},"timestamp":{"type":"integer","format":"int64"}}},"PageListComplianceAlert":{"required":["list","total"],"type":"object","properties":{"total":{"type":"integer","format":"int64"},"list":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceAlert"}}}},"RPageListComplianceAlert":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageListComplianceAlert"},"timestamp":{"type":"integer","format":"int64"}}},"CompanyMember":{"required":["email","roleCode","roleName","userId"],"type":"object","properties":{"userId":{"type":"integer","format":"int64"},"email":{"type":"string"},"roleCode":{"type":"string"},"roleName":{"type":"string"}}},"RListCompanyMember":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/CompanyMember"}},"timestamp":{"type":"integer","format":"int64"}}},"RListCoboDepositAddress":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/CoboDepositAddress"}},"timestamp":{"type":"integer","format":"int64"}}},"AuditLog":{"required":["action","actor","actorType","createdAt","result","updatedAt"],"type":"object","properties":{"actor":{"type":"string"},"actorType":{"type":"string"},"action":{"type":"string"},"targetType":{"type":"string"},"targetId":{"type":"string"},"result":{"type":"string"},"detail":{"type":"string"},"clientIp":{"type":"string"},"id":{"type":"integer","format":"int64"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"PageListAuditLog":{"required":["list","total"],"type":"object","properties":{"total":{"type":"integer","format":"int64"},"list":{"type":"array","items":{"$ref":"#/components/schemas/AuditLog"}}}},"RPageListAuditLog":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageListAuditLog"},"timestamp":{"type":"integer","format":"int64"}}},"AmlVerification":{"required":["createdAt","status","type","updatedAt","userId"],"type":"object","properties":{"userId":{"type":"integer","format":"int64"},"type":{"type":"string","enum":["KYC_INDIVIDUAL","KYC_CORPORATE","ONGOING"]},"vendorVerificationId":{"type":"string"},"status":{"type":"string","enum":["SUBMITTED","IN_PROGRESS","CLEARED","CONSIDER","REJECTED"]},"requestJson":{"type":"string"},"resultJson":{"type":"string"},"riskLevel":{"type":"string"},"id":{"type":"integer","format":"int64"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"RListAmlVerification":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/AmlVerification"}},"timestamp":{"type":"integer","format":"int64"}}},"RListAdminInfoDto":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/AdminInfoDto"}},"timestamp":{"type":"integer","format":"int64"}}},"RListString":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"string"}},"timestamp":{"type":"integer","format":"int64"}}},"PermissionDto":{"required":["code","description"],"type":"object","properties":{"code":{"type":"string","description":"权限代码"},"description":{"type":"string","description":"权限描述"}},"description":"权限信息"},"RListPermissionDto":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/PermissionDto"}},"timestamp":{"type":"integer","format":"int64"}}},"MerchantListItem":{"required":["email","userId"],"type":"object","properties":{"userId":{"type":"integer","format":"int64"},"email":{"type":"string"},"nickname":{"type":"string"},"companyId":{"type":"integer","format":"int64"},"companyName":{"type":"string"},"companyStatus":{"type":"string"},"kycId":{"type":"integer","format":"int64"},"kycStatus":{"type":"string"},"riskLevel":{"type":"string"},"availableUsdt":{"type":"string"},"totalUsdt":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastLoginAt":{"type":"string","format":"date-time"}}},"PageListMerchantListItem":{"required":["list","total"],"type":"object","properties":{"total":{"type":"integer","format":"int64"},"list":{"type":"array","items":{"$ref":"#/components/schemas/MerchantListItem"}}}},"RPageListMerchantListItem":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageListMerchantListItem"},"timestamp":{"type":"integer","format":"int64"}}},"MerchantDetail":{"required":["email","userId","wallet"],"type":"object","properties":{"userId":{"type":"integer","format":"int64"},"email":{"type":"string"},"nickname":{"type":"string"},"companyId":{"type":"integer","format":"int64"},"companyName":{"type":"string"},"companyStatus":{"type":"string"},"companyActivatedAt":{"type":"string","format":"date-time"},"kycId":{"type":"integer","format":"int64"},"kycStatus":{"type":"string"},"riskLevel":{"type":"string"},"kycAuditRemark":{"type":"string"},"kycSubmittedAt":{"type":"string","format":"date-time"},"wallet":{"$ref":"#/components/schemas/WalletView"}}},"RMerchantDetail":{"required":["code","message","timestamp"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/MerchantDetail"},"timestamp":{"type":"integer","format":"int64"}}},"WalletView":{"required":["availableUsd","availableUsdt","frozenUsd","frozenUsdt","inTransitUsd","inTransitUsdt"],"type":"object","properties":{"availableUsdt":{"type":"string"},"frozenUsdt":{"type":"string"},"inTransitUsdt":{"type":"string"},"availableUsd":{"type":"string"},"frozenUsd":{"type":"string"},"inTransitUsd":{"type":"string"}}},"BatchDeleteAlertsRequest":{"required":["markAll","recordIds"],"type":"object","properties":{"markAll":{"type":"boolean"},"recordIds":{"type":"array","description":"通知记录ID列表","items":{"type":"integer","description":"通知记录ID列表","format":"int64"}}},"description":"批量删除通知请求"},"BatchDeleteEmailTemplatesRequest":{"required":["templateIds"],"type":"object","properties":{"templateIds":{"type":"array","items":{"type":"integer","format":"int64"}}}}}}}