Download OpenAPI specification:Download
This API controls the ZeroTier service that runs in the background on your computer. This is how zerotier-cli, and the macOS and Windows apps control the service.
API requests must be authenticated via an authentication token. ZeroTier One saves this token in the authtoken.secret file in its working directory. This token may be supplied via the X-ZT1-Auth HTTP request header.
For example: curl -H "X-ZT1-Auth: $TOKEN" http://localhost:9993/status
The token can be found in:
You can get the OpenAPI spec here as well: https://docs.zerotier.com/openapi/servicev1.json
{- "address": "0deadbeef1",
- "clock": 1618948931097,
- "config": {
- "settings": {
- "allowTcpFallbackRelay": true,
- "portMappingEnabled": true,
- "primaryPort": 9993
}
}, - "online": true,
- "planetWorldId": 149604618,
- "planetWorldTimestamp": 1618339625163,
- "publicIdentity": "33c799cb58:0:690b44091ec50a44eb7f7769354b49abb47ac8747d99d547a1ec8c4d47623c5a6e3927f29b8d8443aebebc9ba4d4a812bd8902d71318db34b89d00186e8f4e4e",
- "tcpFallbackActive": true,
- "version": "1.6.4",
- "versionBuild": 0,
- "versionMajor": 1,
- "versionMinor": 6,
- "versionRev": 4
}
[- {
- "allowDNS": true,
- "allowDefault": true,
- "allowGlobal": true,
- "allowManaged": true,
- "assignedAddresses": [
- "10.147.20.190"
], - "bridge": true,
- "broadcastEnabled": true,
- "dns": {
- "domain": "zt.example.com",
- "servers": [
- "10.147.20.3"
]
}, - "id": "565799d8f620c5c5",
- "mac": "e6:d2:2b:e6:68:73",
- "mtu": 2800,
- "multicastSubscriptions": [
- {
- "adi": 0,
- "mac": "34:34:ff:da:6e:ff"
}
], - "name": "clever_krum",
- "netconfRevision": 123,
- "portDeviceName": "ztnnhrtimp",
- "portError": 0,
- "routes": [
- {
- "flags": 0,
- "metric": 0,
- "target": "10.147.20.0/24",
- "via": "192.168.168.5"
}
], - "status": "OK",
- "type": "PRIVATE"
}
]
networkID required | string ID of the network to get. |
{- "allowDNS": true,
- "allowDefault": true,
- "allowGlobal": true,
- "allowManaged": true,
- "assignedAddresses": [
- "10.147.20.190"
], - "bridge": true,
- "broadcastEnabled": true,
- "dns": {
- "domain": "zt.example.com",
- "servers": [
- "10.147.20.3"
]
}, - "id": "565799d8f620c5c5",
- "mac": "e6:d2:2b:e6:68:73",
- "mtu": 2800,
- "multicastSubscriptions": [
- {
- "adi": 0,
- "mac": "34:34:ff:da:6e:ff"
}
], - "name": "clever_krum",
- "netconfRevision": 123,
- "portDeviceName": "ztnnhrtimp",
- "portError": 0,
- "routes": [
- {
- "flags": 0,
- "metric": 0,
- "target": "10.147.20.0/24",
- "via": "192.168.168.5"
}
], - "status": "OK",
- "type": "PRIVATE"
}
networkID required | string ID of the network to change. |
Network membership object
allowDNS | boolean Let ZeroTier modify the system's DNS settings. |
allowDefault | boolean Let ZeroTier modify the system's default route. |
allowGlobal | boolean Let ZeroTier manage IP addresses and route assignments that aren't in private ranges (rfc1918). |
allowManaged | boolean Let ZeroTier manage IP addresses and Route assignments. |
assignedAddresses | Array of strings |
bridge | boolean |
broadcastEnabled | boolean |
object | |
id | string |
mac | string MAC address for this network's interface. |
mtu | integer |
Array of objects | |
name | string |
netconfRevision | integer |
portDeviceName | string |
portError | integer |
Array of objects | |
status | string |
type | string |
{- "allowDNS": true,
- "allowDefault": true,
- "allowGlobal": true,
- "allowManaged": true,
- "assignedAddresses": [
- "10.147.20.190"
], - "bridge": true,
- "broadcastEnabled": true,
- "dns": {
- "domain": "zt.example.com",
- "servers": [
- "10.147.20.3"
]
}, - "id": "565799d8f620c5c5",
- "mac": "e6:d2:2b:e6:68:73",
- "mtu": 2800,
- "multicastSubscriptions": [
- {
- "adi": 0,
- "mac": "34:34:ff:da:6e:ff"
}
], - "name": "clever_krum",
- "netconfRevision": 123,
- "portDeviceName": "ztnnhrtimp",
- "portError": 0,
- "routes": [
- {
- "flags": 0,
- "metric": 0,
- "target": "10.147.20.0/24",
- "via": "192.168.168.5"
}
], - "status": "OK",
- "type": "PRIVATE"
}
{- "allowDNS": true,
- "allowDefault": true,
- "allowGlobal": true,
- "allowManaged": true,
- "assignedAddresses": [
- "10.147.20.190"
], - "bridge": true,
- "broadcastEnabled": true,
- "dns": {
- "domain": "zt.example.com",
- "servers": [
- "10.147.20.3"
]
}, - "id": "565799d8f620c5c5",
- "mac": "e6:d2:2b:e6:68:73",
- "mtu": 2800,
- "multicastSubscriptions": [
- {
- "adi": 0,
- "mac": "34:34:ff:da:6e:ff"
}
], - "name": "clever_krum",
- "netconfRevision": 123,
- "portDeviceName": "ztnnhrtimp",
- "portError": 0,
- "routes": [
- {
- "flags": 0,
- "metric": 0,
- "target": "10.147.20.0/24",
- "via": "192.168.168.5"
}
], - "status": "OK",
- "type": "PRIVATE"
}
[- {
- "address": "992fcf1db7",
- "isBonded": false,
- "latency": 40,
- "paths": [
- {
- "active": true,
- "address": "195.181.173.159/9993",
- "expired": false,
- "lastReceive": 1618955164580,
- "lastSend": 1618955164596,
- "preferred": true,
- "trustedPathId": 0
}
], - "role": "LEAF",
- "version": "1.6.4",
- "versionMajor": 1,
- "versionMinor": 6,
- "versionRev": 4
}
]
address required | string ZeroTier address of the peer to get |
{- "address": "992fcf1db7",
- "isBonded": false,
- "latency": 40,
- "paths": [
- {
- "active": true,
- "address": "195.181.173.159/9993",
- "expired": false,
- "lastReceive": 1618955164580,
- "lastSend": 1618955164596,
- "preferred": true,
- "trustedPathId": 0
}
], - "role": "LEAF",
- "version": "1.6.4",
- "versionMajor": 1,
- "versionMinor": 6,
- "versionRev": 4
}
Get details of a network by its ID.
networkID required | string Example: 3e245e31af7a726a ID of the network. |
{- "id": "3e245e31af000001",
- "nwid": "3e245e31af000001",
- "objtype": "network",
- "name": "my-cool-network",
- "creationTime": 1623101592,
- "private": true,
- "enableBroadcast": true,
- "v4AssignMode": {
- "zt": true
}, - "v6AssignMode": {
- "6plane": true,
- "rfc4193": true,
- "zt": true
}, - "mtu": 2800,
- "multicastLimit": 32,
- "revision": 1,
- "routes": [
- {
- "target": "192.168.192.0/24",
- "via": "192.168.192.1"
}
], - "ipAssignmentPools": [
- {
- "ipRangeStart": "192.168.192.1",
- "ipRangeEnd": "192.168.192.254"
}
], - "rules": [
- { }
], - "capabilities": [
- { }
], - "tags": [
- { }
], - "remoteTraceTarget": "7f5d90eb87",
- "remoteTraceLevel": 0
}
networkID required | string Example: 3e245e31af7a726a ID of the network. |
Network object JSON.
name | string |
private | boolean |
enableBroadcast | boolean |
object | |
object | |
mtu | integer |
multicastLimit | integer |
Array of objects | |
Array of objects | |
rules | Array of objects |
capabilities | Array of objects |
tags | Array of objects |
remoteTraceTarget | string |
remoteTraceLevel | integer |
{- "name": "my-cool-network",
- "private": true,
- "enableBroadcast": true,
- "v4AssignMode": {
- "zt": true
}, - "v6AssignMode": {
- "6plane": true,
- "rfc4193": true,
- "zt": true
}, - "mtu": 2800,
- "multicastLimit": 32,
- "routes": [
- {
- "target": "192.168.192.0/24",
- "via": "192.168.192.1"
}
], - "ipAssignmentPools": [
- {
- "ipRangeStart": "192.168.192.1",
- "ipRangeEnd": "192.168.192.254"
}
], - "rules": [
- { }
], - "capabilities": [
- { }
], - "tags": [
- { }
], - "remoteTraceTarget": "7f5d90eb87",
- "remoteTraceLevel": 0
}
{- "id": "3e245e31af000001",
- "nwid": "3e245e31af000001",
- "objtype": "network",
- "name": "my-cool-network",
- "creationTime": 1623101592,
- "private": true,
- "enableBroadcast": true,
- "v4AssignMode": {
- "zt": true
}, - "v6AssignMode": {
- "6plane": true,
- "rfc4193": true,
- "zt": true
}, - "mtu": 2800,
- "multicastLimit": 32,
- "revision": 1,
- "routes": [
- {
- "target": "192.168.192.0/24",
- "via": "192.168.192.1"
}
], - "ipAssignmentPools": [
- {
- "ipRangeStart": "192.168.192.1",
- "ipRangeEnd": "192.168.192.254"
}
], - "rules": [
- { }
], - "capabilities": [
- { }
], - "tags": [
- { }
], - "remoteTraceTarget": "7f5d90eb87",
- "remoteTraceLevel": 0
}
Create a new network with a random ID.
controllerID required | string Node ID of the controller. |
Network object JSON.
name | string |
private | boolean |
enableBroadcast | boolean |
object | |
object | |
mtu | integer |
multicastLimit | integer |
Array of objects | |
Array of objects | |
rules | Array of objects |
capabilities | Array of objects |
tags | Array of objects |
remoteTraceTarget | string |
remoteTraceLevel | integer |
{- "name": "my-cool-network",
- "private": true,
- "enableBroadcast": true,
- "v4AssignMode": {
- "zt": true
}, - "v6AssignMode": {
- "6plane": true,
- "rfc4193": true,
- "zt": true
}, - "mtu": 2800,
- "multicastLimit": 32,
- "routes": [
- {
- "target": "192.168.192.0/24",
- "via": "192.168.192.1"
}
], - "ipAssignmentPools": [
- {
- "ipRangeStart": "192.168.192.1",
- "ipRangeEnd": "192.168.192.254"
}
], - "rules": [
- { }
], - "capabilities": [
- { }
], - "tags": [
- { }
], - "remoteTraceTarget": "7f5d90eb87",
- "remoteTraceLevel": 0
}
{- "id": "3e245e31af000001",
- "nwid": "3e245e31af000001",
- "objtype": "network",
- "name": "my-cool-network",
- "creationTime": 1623101592,
- "private": true,
- "enableBroadcast": true,
- "v4AssignMode": {
- "zt": true
}, - "v6AssignMode": {
- "6plane": true,
- "rfc4193": true,
- "zt": true
}, - "mtu": 2800,
- "multicastLimit": 32,
- "revision": 1,
- "routes": [
- {
- "target": "192.168.192.0/24",
- "via": "192.168.192.1"
}
], - "ipAssignmentPools": [
- {
- "ipRangeStart": "192.168.192.1",
- "ipRangeEnd": "192.168.192.254"
}
], - "rules": [
- { }
], - "capabilities": [
- { }
], - "tags": [
- { }
], - "remoteTraceTarget": "7f5d90eb87",
- "remoteTraceLevel": 0
}
networkID required | string ID of the network. |
nodeID required | string ID of the member node. |
{- "id": "eb8d45c5c9",
- "address": "eb8d45c5c9",
- "nwid": "3e245e31af000001",
- "authorized": true,
- "activeBridge": true,
- "identity": "eb8d45c5c9:0:0279558f1a731cb2f628b3adc9f8915d7c2f3752e07d75f2d75fde08274b9c3a43d8b04115fd30f37043f61758ac874b844cc184fdf51e1022e988c1d093a50d:91a840bcd3fbac910afc56be4222973f675204a0ca9625218352e1c82debaa758b915d948c5fe4bd3c38cf1255904804a5b937f5edaef182ba8d5f3d8a243329",
- "ipAssignments": [
- "10.147.20.190"
], - "revision": 1,
- "vMajor": 1,
- "vMinor": 6,
- "vRev": 5,
- "vProto": 5
}