Domain management API

Admin console: domain related interfaces; requires an admin session.

create domain

interface address:
  • /domain/create

HTTP request method:
  • POST

request params:
  • domain (form, required): root domain, e.g. example.com

  • type (form, required): type, 0 or 1

response code:
  • 0: Success

  • 1: Invalid parameters, no permission, domain already exists, etc.

example:

curl -X POST "$BASE_URL/domain/create" -d "domain=example.com&type=0"

response example:

  • JSON:

    { "code": 0, "message": "域名创建成功", "data": {} }
    

list domain

interface address:
  • /domain/list

HTTP request method:
  • GET

request params:
response code:
  • common response

response example:

  • JSON:

    {
      "data": [
        { "domain": "example.com", "url": "/domain/detail/example.com", "valid": "1", "type": 0 }
      ],
      "code": 0,
      "message": "OK"
    }
    

domain info

interface address:
  • /domain/info/:domain

HTTP request method:
  • GET

request params:
  • domain (path): domain

response code:
  • common response

response example:

  • JSON:

    {
      "data": {
        "ID": 1,
        "domain": "example.com",
        "type": 0,
        "valid": true,
        "dkim_pub_key": "...",
        "dkim_record": "...",
        "spf_record": "...",
        "mxa_record": "...",
        "mxb_record": "...",
        "dmarc_record": "...",
        "hostname": "...",
        "inbox_rules": "...",
        "spf_valid": true,
        "dkim_valid": true,
        "dmarc_valid": true,
        "mxa_valid": true,
        "mxb_valid": true
      },
      "code": 0,
      "message": "OK"
    }
    

delete domain

interface address:
  • /domain/delete

HTTP request method:
  • POST

request params:
  • domain (form, required): domain

response code:
  • 0: Success

  • 1: Invalid parameters, no permission, etc.

example:

curl -X POST "$BASE_URL/domain/delete" -d "domain=example.com"

check domain dns

interface address:
  • /domain/checkdns

HTTP request method:
  • POST

request params:
  • domain (form, required): domain

response code:
  • 0: Check succeeded (including whether each record passed)

  • 1: Invalid parameters or the check failed

response example:

  • JSON:

    {
      "data": {
        "valid": true,
        "dkim_valid": true,
        "mxa_valid": true,
        "mxb_valid": true,
        "dmarc_valid": true,
        "spf_valid": true,
        "current_mxa_record": "...",
        "current_mxb_record": "...",
        "current_spf_record": "...",
        "current_dkim_record": "...",
        "current_dmarc_record": "...",
        "hostName": "...",
        "cache_time": "300s"
      },
      "code": 0,
      "message": "检查DNS记录成功"
    }
    

update domain inbox rules

interface address:
  • /domain/inboxrules/:domain

HTTP request method:
  • POST

request params:
  • domain (path): domain

  • domain (form, required): same as above

  • rule (form, required): inbound rule, multiple lines, each line in the format “condition,action,recipient”; the recipient cannot be from this domain

response code:
  • 0: Success

  • 1: Domain failed DNS verification or the rule format is invalid

example:

curl -X POST "$BASE_URL/domain/inboxrules/example.com" -d "domain=example.com&rule=..."

response example:

  • JSON:

    { "data": { "ID": 1, "domain": "example.com", "type": 0, "valid": "1", "hostname": "...", "inbox_rules": "..." }, "code": 0, "message": "更新域名收信规则成功" }
    

Page routes (non-JSON API)

  • GET /domain - domain management page

  • GET /domain/detail/:domain - domain detail page

  • GET /domain/inboxrules/:domain - inbound rules page

  • GET /domain/delete/:domain - delete domain confirmation page