## 注册 (`registrations`)

无需认证。提交注册信息建出租户账号;须同意用户协议,要验证的邮箱或手机须带验证码。

鉴权: 无需鉴权 · 文档: https://www-demo.kuxitong.com/zh/docs/api/registrations

### POST `/api/v2/registrations`

注册 · 鉴权: 无需鉴权

请求体:

| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `accept_agreement` | boolean | 有 | 须为 true。 |
| `email` | string |  | 邮箱 |
| `email_code` | string |  | 发到该邮箱的验证码(POST /verify-codes,purpose=bind);邮箱要验证时必填。 |
| `password` | string | 有 | 登录口令,8 到 128 个字符。 |
| `phone` | string |  | 手机号 |
| `phone_code` | string |  | 发到该手机号的验证码(POST /verify-codes,purpose=bind);手机号要验证时必填。 |
| `username` | string |  | 须注册须知要求时必填;不填则自动生成。不能像手机号(纯数字)。 |

```sh
curl -X POST "https://panel.example.com/api/v2/registrations" \
  -H "Content-Type: application/json" \
  -d '{"accept_agreement":true,"email":"alice@example.com","email_code":"123456","password":"${PASSWORD}","username":"alice"}'
```

注册对象:

| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `accept_agreement` | boolean | 有 | 须为 true。 |
| `balance_cents` | integer |  | 账户余额(分),同 GET /users/{user_id}/account 的 balance_cents(无账户记 0)。只有 GET /users 列表带,单个用户的读写接口不带。 (只读) |
| `certified` | boolean |  | 是否已通过实名认证。 |
| `client_ip` | string |  | 本次请求的来源 IP,与登录 IP 白名单校验用的是同一个取法(白名单比什么就显示什么)。只有 GET /me、PUT /me 带。 (只读) |
| `created_at` | string |  | 创建时间 (只读) |
| `delegated_session` | boolean |  | 当前会话是否由超管代登录或切换为用户签发(是则口令、邮箱、手机号、登录白名单、二次验证与实名只读)。只有 GET /me、PUT /me 带。 (只读) |
| `email` | string |  | 邮箱 |
| `email_code` | string |  | 发到该邮箱的验证码(POST /verify-codes,purpose=bind);邮箱要验证时必填。 |
| `enabled` | boolean |  | 是否启用 |
| `id` | integer |  | 记录 ID (只读) |
| `login_ip_allow` | string[] |  | 登录 IP 白名单(IP 或 CIDR);空 = 不限。 |
| `login_verify` | LoginVerify |  | 登录二次验证:none 不要求;email / sms 登录时还要邮件/短信验证码(须平台允许且已绑定对应地址)。 可选值: ["none","email","sms"] |
| `password` | string | 有 | 登录口令,8 到 128 个字符。 |
| `phone` | string |  | 手机号 |
| `phone_code` | string |  | 发到该手机号的验证码(POST /verify-codes,purpose=bind);手机号要验证时必填。 |
| `role` | string |  | 账号角色:admin 管理员,tenant 租户。 可选值: ["admin","tenant"] |
| `totp_enabled` | boolean |  | 是否已启用动态口令。 |
| `totp_recovery_left` | integer |  | 未用完的 TOTP 恢复码个数。只有 GET /me、PUT /me 且已启用动态口令时带。 (只读) |
| `updated_at` | string |  | 更新时间 (只读) |
| `username` | string |  | 须注册须知要求时必填;不填则自动生成。不能像手机号(纯数字)。 |
