ZeroTier Central API code example

Example: zeroteir web api

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "16-digit ZeroTier network ID [ro]"
    },
    "type": {
      "type": "string",
      "description": "Object type (\"Network\") [ro]"
    },
    "clock": {
      "type": "number",
      "description": "Current system clock on server [ro]"
    },
    "ui": {
      "type": "object",
      "properties": {},
      "description": "Arbitrary data that is stored and used by the UI [rw]"
    },
    "rulesSource": {
      "type": "string",
      "description": "Source code of network rule set [rw]"
    },
    "description": {
      "type": "string",
      "description": "Long description of this network [rw]"
    },
    "permissions": {
      "type": "object",
      "properties": {
        "{id}": {
          "type": "object",
          "properties": {
            "t": {
              "type": "string",
              "description": "Type of actor object (currently User or Group)"
            },
            "r": {
              "type": "boolean",
              "description": "Read"
            },
            "m": {
              "type": "boolean",
              "description": "Modify"
            },
            "d": {
              "type": "boolean",
              "description": "Delete"
            },
            "a": {
              "type": "boolean",
              "description": "Authorize"
            }
          },
          "description": "Permissions possessed by actor object, by object ID [ro]"
        }
      },
      "description": "Actors with permissions that apply to this object [ro]"
    },
    "onlineMemberCount": {
      "type": "number",
      "description": "Number of members online [ro]"
    },
    "capabilitiesByName": {
      "type": "object",
      "properties": {},
      "description": "Capabilities defined in rule set by name [rw]"
    },
    "tagsByName": {
      "type": "object",
      "properties": {},
      "description": "Tags defined in rule set by name [rw]"
    },
    "circuitTestEvery": {
      "type": "number",
      "description": "Circuit test this network every N milliseconds [ro]"
    },
    "config": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "16-digit ZeroTier network ID [ro]"
        },
        "nwid": {
          "type": "string",
          "description": "16-digit ZeroTier network ID (for backward compatibility) [ro]"
        },
        "name": {
          "type": "string",
          "description": "Short name of network [rw]"
        },
        "objtype": {
          "type": "string",
          "description": "Object type on controller (\"network\") [ro]"
        },
        "private": {
          "type": "boolean",
          "description": "If true, certificate access control is enabled [rw]"
        },
        "creationTime": {
          "type": "number",
          "description": "Time network was created on controller [ro]"
        },
        "revision": {
          "type": "number",
          "description": "Network revision number [ro]"
        },
        "lastModified": {
          "type": "number",
          "description": "Time config was last modified [ro]"
        },
        "multicastLimit": {
          "type": "number",
          "description": "Max recipients per multicast or broadcast [rw]"
        },
        "routes": {
          "type": "array",
          "description": "Array of IP routes published to members [rw]"
        },
        "rules": {
          "type": "array",
          "description": "Network base rules table [rw]"
        },
        "tags": {
          "type": "array",
          "description": "Array of tags available on this network [rw]"
        },
        "capabilities": {
          "type": "array",
          "description": "Array of capabilities available on this network [rw]"
        },
        "totalMemberCount": {
          "type": "number",
          "description": "Total number of members [ro]"
        },
        "activeMemberCount": {
          "type": "number",
          "description": "Number of active/online members [ro]"
        },
        "authTokens": {
          "type": "array",
          "description": "Array of authentication tokens for auto-authorizing new members [rw]"
        },
        "authorizedMemberCount": {
          "type": "number",
          "description": "Number of authorized members [ro]"
        },
        "v4AssignMode": {
          "type": "object",
          "properties": {},
          "description": "Boolean toggles for IPv4 assignment modes [rw]"
        },
        "v6AssignMode": {
          "type": "object",
          "properties": {},
          "description": "Boolean toggles for IPv6 assignment modes [rw]"
        }
      },
      "description": "Network configuration (for actual controller) [rw]"
    }
  }
}