Member management API¶
Admin console: manage mailbox members by domain; requires an admin session.
create member¶
- interface address:
/member/:domain/create
- HTTP request method:
POST
- request params:
domain (path): root domain
user (form, required): username (the part before @ in the email address), 1–64 alphanumeric characters
name (form, required): display name
password (form, required): password
domain (form, required): same as the root domain above
backup_email (form, optional): backup email
need_change_password (form, optional): whether the password must be changed on the first login
- response code:
0: Success
1: Invalid parameters, no permission
3: Domain failed DNS verification or the domain does not match
5: Member count limit reached
example:
curl -X POST "$BASE_URL/member/example.com/create" -d "user=admin&name=Admin&password=xxx&domain=example.com"
response example:
JSON:
{ "id": "<session_id>", "code": 0, "message": "添加成员成功", "data": {} }
list members¶
- interface address:
/member/:domain/list
- HTTP request method:
GET
- request params:
domain (path): domain
- response code:
common response
response example:
JSON:
{ "data": { "list": [ { "id": "1", "url": "/member/example.com/detail/1", "name": "Admin", "valid": "1", "user": "admin", "type": 0, "password": "********" } ] }, "code": 0, "message": "OK" }
member info¶
- interface address:
/member/:domain/info/:id
- HTTP request method:
GET
- request params:
domain (path): domain
id (path): member ID
- response code:
common response
response example:
JSON:
{ "data": { "id": 1, "user": "admin", "name": "Admin", "domain": "example.com" }, "code": 0, "message": "OK" }
delete member¶
- interface address:
/member/:domain/delete
- HTTP request method:
POST
- request params:
domain (path): domain (page context)
id (form, required): member ID
- response code:
0: Success
1: Invalid parameters, no permission
example:
curl -X POST "$BASE_URL/member/example.com/delete" -d "id=1"
reset member password¶
- interface address:
/member/:domain/resetpassword
- HTTP request method:
POST
- request params:
domain (path): domain
id (form, required): member ID
user (form, required): member username (the part before @ in the email address)
password (form, required): new password
- response code:
0: Success
1: Invalid parameters, user mismatch, etc.
example:
curl -X POST "$BASE_URL/member/example.com/resetpassword" -d "id=1&user=admin&password=newpass"
Page routes (non-JSON API)¶
GET /member - member management home page
GET /member/:domain - members page of a domain
GET /member/:domain/detail/:id - member detail page
GET /member/:domain/delete/:id - delete member confirmation page