Path: API › FTP 管理

`POST /ftp`

创建新的 FTP 用户。

## Request body

_Required._

- `action150.request_time` (string, required) — Unix 时间戳。
- `action150.request_token` (string, required) — 按 API 概览生成的签名。
- `action150.action` (string, required) — 具体操作名称。
  - one of `"AddUser"`
- `action150.ftp_username` (string, required) — FTP 用户名（不含空格）
- `action150.ftp_password` (string, required) — FTP 密码（不少于 6 位）
- `action150.path` (string, required) — 用户主目录，如 `/www/wwwroot/testapi.bt.local`
- `action150.ps` (string, optional) — 备注信息

## Example request

```text
{
  "request_time": "string",
  "request_token": "string",
  "action": "AddUser",
  "ftp_username": "string",
  "ftp_password": "string",
  "path": "string",
  "ps": "string"
}
```

## Code samples

### cURL（填写面板地址与签名）

```curl
curl --request POST \
  --url "https://your-panel.example.com:8888/ftp" \
  --header "Content-Type: application/x-www-form-urlencoded" \
  --data-urlencode "request_time=<Unix时间戳>" \
  --data-urlencode "request_token=<按 API 概览生成的签名>" \
  --data-urlencode "action=AddUser" \
  --data-urlencode "ftp_username=<ftp_username>" \
  --data-urlencode "ftp_password=<ftp_password>" \
  --data-urlencode "path=<path>"
```

## Responses

### default

接口响应，业务状态见下方详细说明。

#### Example

```json
{
  "status": true,
  "msg": "添加成功"
}
```

- `action150.response.default.status` (boolean, optional) — `true` 添加成功
- `action150.response.default.msg` (string, optional) — `添加成功`


## AddUser

创建新的 FTP 用户。

- **路由**：`POST /ftp`
- **action**：`AddUser`
- **前置条件**：面板已安装 Pure-FTPd

## 输入参数

| 参数名称 | 必选 | 类型 | 描述 |
|----------|------|------|------|
| action | 是 | String | 固定值 `AddUser` |
| ftp_username | 是 | String | FTP 用户名（不含空格） |
| ftp_password | 是 | String | FTP 密码（不少于 6 位） |
| path | 是 | String | 用户主目录，如 `/www/wwwroot/testapi.bt.local` |
| ps | 否 | String | 备注信息 |

## 输出参数

| 参数名称 | 类型 | 描述 |
|----------|------|------|
| status | Boolean | `true` 添加成功 |
| msg | String | `添加成功` |

## 示例

```json
{"status": true, "msg": "添加成功"}
```

## 相关接口

- [DeleteUser](/api/ftp/deleteuser)
- [SetUserPassword](/api/ftp/setuserpassword)
- [SetStatus](/api/ftp/setstatus)

