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