Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/zerotier-network-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: Zerotier Network API
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
version: '1.0'
description: 'Operations tagged network across 2 of this provider''s published API definitions: zerotier-central-openapi-original.json, zerotier-service-openapi-original.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.zerotier.com/api/v1
description: Production Server
- url: http://localhost:9993
description: Production Server
tags:
- name: Network
description: Network operations
paths:
/network:
get:
tags:
- Network
summary: Returns a list of Networks you have access to
operationId: getNetworkList
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Network'
'403':
$ref: '#/components/responses/UnauthorizedError'
security:
- tokenAuth: []
post:
tags:
- Network
summary: Create a new network
operationId: newNetwork
requestBody:
description: empty JSON object
required: true
content:
application/json:
schema:
type: object
responses:
'200':
description: Network creation succeeded
content:
application/json:
schema:
$ref: '#/components/schemas/Network'
'403':
$ref: '#/components/responses/UnauthorizedError'
security:
- tokenAuth: []
servers:
- url: https://api.zerotier.com/api/v1
description: Production Server
/network/{networkID}:
get:
tags:
- Network
summary: Get network by ID
description: Returns a single network
operationId: getNetworkByID
parameters:
- name: networkID
description: ID of the network to return
in: path
required: true
schema:
type: string
responses:
'200':
description: get success
content:
application/json:
schema:
$ref: '#/components/schemas/Network'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/AccessDeniedError'
'404':
$ref: '#/components/responses/NotFound'
security:
- tokenAuth: []
post:
tags:
- Network
summary: update network configuration
operationId: updateNetwork
parameters:
- name: networkID
description: ID of the network to change
in: path
required: true
schema:
type: string
requestBody:
description: Network object JSON
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Network'
responses:
'200':
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/Network'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/AccessDeniedError'
'404':
$ref: '#/components/responses/NotFound'
security:
- tokenAuth: []
delete:
tags:
- Network
summary: delete network
operationId: deleteNetwork
parameters:
- name: networkID
description: ID of the network
in: path
required: true
schema:
type: string
responses:
'200':
description: network deleted
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/AccessDeniedError'
'404':
$ref: '#/components/responses/NotFound'
security:
- tokenAuth: []
servers:
- url: https://api.zerotier.com/api/v1
description: Production Server
components:
responses:
AccessDeniedError:
description: Access denied
UnauthorizedError:
description: Authorization required
NotFound:
description: Item not found
UnauthorizedError_2:
description: Authorization required.
schemas:
NetworkSSOConfig:
type: object
properties:
enabled:
type: boolean
example: true
readOnly: false
description: SSO enabled/disabled on network
mode:
type: string
example: default
description: 'SSO mode. One of: `default`, `email`, `group`'
readOnly: false
clientId:
type: string
example: some-client-id
description: SSO client ID. Client ID must be already configured in the Org
readOnly: false
issuer:
type: string
example: https://example.com/oidc
description: URL of the OIDC issuer
readOnly: true
provider:
type: string
example: keycloak
description: Provider type
readOnly: true
authorizationEndpoint:
type: string
description: Authorization URL endpoint
readOnly: true
allowList:
type:
- array
- 'null'
items:
type: string
description: List of email addresses or group memberships that may SSO auth onto the network
readOnly: false
IPRange:
type: object
properties:
ipRangeStart:
type: string
example: 10.0.0.1
ipRangeEnd:
type: string
example: 10.0.0.255
NetworkConfig:
type: object
properties:
id:
type:
- string
- 'null'
example: 8056c2e21c000001
description: Network ID
readOnly: true
creationTime:
type:
- integer
- 'null'
format: int64
example: 1442292672978
description: Time the network was created
readOnly: true
capabilities:
type:
- array
- 'null'
description: Array of network capabilities
items:
type: object
dns:
type:
- object
- 'null'
$ref: '#/components/schemas/DNS'
enableBroadcast:
type:
- boolean
- 'null'
example: true
description: Enable broadcast packets on the network
ipAssignmentPools:
type:
- array
- 'null'
description: Range of IP addresses for the auto assign pool
items:
$ref: '#/components/schemas/IPRange'
lastModified:
type:
- integer
- 'null'
format: int64
example: 1588184318235
description: Time the network was last modified
readOnly: true
mtu:
type:
- integer
- 'null'
example: 2800
description: MTU to set on the client virtual network adapter
multicastLimit:
type:
- integer
- 'null'
example: 32
description: Maximum number of recipients per multicast or broadcast. Warning - Setting this to 0 will disable IPv4 communication on your network!
name:
type:
- string
- 'null'
example: My ZeroTier Network
private:
type:
- boolean
- 'null'
example: true
description: Whether or not the network is private. If false, members will *NOT* need to be authorized to join.
routes:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Route'
rules:
type:
- array
- 'null'
items:
type: object
ssoConfig:
$ref: '#/components/schemas/NetworkSSOConfig'
tags:
type:
- array
- 'null'
items:
type: object
v4AssignMode:
$ref: '#/components/schemas/IPV4AssignMode'
v6AssignMode:
$ref: '#/components/schemas/IPV6AssignMode'
Route:
type: object
properties:
target:
type: string
example: 10.0.0.0/24
via:
type:
- string
- 'null'
example: null
IPV4AssignMode:
type: object
properties:
zt:
type: boolean
example: true
Network:
type: object
properties:
id:
type:
- string
- 'null'
example: 8056c2e21c000001
readOnly: true
clock:
type:
- integer
- 'null'
format: int64
example: 12345
readOnly: true
config:
$ref: '#/components/schemas/NetworkConfig'
description:
type:
- string
- 'null'
example: Some descriptive text about my network.
rulesSource:
type:
- string
- 'null'
example: accept;
permissions:
$ref: '#/components/schemas/PermissionsMap'
ownerId:
type:
- string
- 'null'
example: 00000000-0000-0000-0000-000000000000
onlineMemberCount:
type:
- integer
- 'null'
example: 123
readOnly: true
description: 'Note: May be 0 on endpoints returning lists of Networks'
authorizedMemberCount:
type:
- integer
- 'null'
example: 200
readOnly: true
totalMemberCount:
type:
- integer
- 'null'
example: 250
readOnly: true
capabilitiesByName:
type:
- object
- 'null'
tagsByName:
type:
- object
- 'null'
description: Network object
PermissionsMap:
type: object
additionalProperties:
$ref: '#/components/schemas/Permissions'
example:
00000000-0000-0000-0000-000000000000:
a: true
d: true
m: true
r: true
Permissions:
type: object
properties:
a:
type: boolean
example: true
description: Authorize permission
d:
type: boolean
example: true
description: Delete permission
m:
type: boolean
example: true
description: Modify network settings permission
r:
type: boolean
example: true
description: Read network settings permission
DNS:
type: object
properties:
domain:
type: string
example: some.domain
description: Search domain to use for DNS records
servers:
type:
- array
- 'null'
items:
type: string
example:
- 10.0.0.3
description: IP address of unicast DNS service
IPV6AssignMode:
type: object
properties:
6plane:
type:
- boolean
- 'null'
example: true
rfc4193:
type:
- boolean
- 'null'
example: false
zt:
type:
- boolean
- 'null'
example: false
Network_2:
allOf:
- type: object
properties:
allowDNS:
type: boolean
readOnly: false
description: Let ZeroTier modify the system's DNS settings.
example: false
allowDefault:
type: boolean
readOnly: false
description: Let ZeroTier modify the system's default route.
example: false
allowGlobal:
type: boolean
readOnly: false
description: Let ZeroTier manage IP addresses and route assignments that aren't in private ranges (rfc1918).
example: false
allowManaged:
type: boolean
readOnly: false
description: Let ZeroTier manage IP addresses and Route assignments.
example: true
- type: object
properties:
allowDNS:
type: boolean
readOnly: false
description: Let ZeroTier modify the system's DNS settings.
allowDefault:
type: boolean
readOnly: false
description: Let ZeroTier modify the system's default route.
allowGlobal:
type: boolean
readOnly: false
description: Let ZeroTier manage IP addresses and Route assignments that aren't in private ranges (rfc1918).
allowManaged:
type: boolean
readOnly: false
description: Let ZeroTier to manage IP addresses and Route assignments.
assignedAddresses:
type: array
items:
type: string
example: 10.147.20.190
bridge:
type: boolean
broadcastEnabled:
type: boolean
dns:
type: object
properties:
domain:
type: string
example: zt.example.com
servers:
type: array
items:
type: string
example: 10.147.20.3
id:
type: string
example: 565799d8f620c5c5
mac:
type: string
example: e6:d2:2b:e6:68:73
description: MAC address for this network's interface.
mtu:
type: integer
example: 2800
multicastSubscriptions:
type: array
items:
type: object
properties:
adi:
type: integer
format: int64
example: 0
mac:
type: string
example: 34:34:ff:da:6e:ff
name:
type: string
example: clever_krum
netconfRevision:
type: integer
example: 123
portDeviceName:
type: string
example: ztnnhrtimp
portError:
type: integer
example: 0
routes:
type: array
items:
properties:
flags:
type: integer
example: 0
metric:
type: integer
example: 0
target:
type: string
example: 10.147.20.0/24
via:
type: string
example: 192.168.168.5
status:
type: string
example: OK
type:
type: string
example: PRIVATE
securitySchemes:
tokenAuth:
type: http
scheme: token
ApiKeyAuth:
type: apiKey
in: header
name: X-ZT1-Auth
x-refined-from:
- zerotier-central-openapi-original.json
- zerotier-service-openapi-original.json