ZeroTier Network API

Network operations

Business capability
IT Infrastructure Management BC-600.50

Operations 5

GET /network Returns a list of Networks you have access to #
POST /network Create a new network #
GET /network/{networkID} Get network by ID #
POST /network/{networkID} update network configuration #
DELETE /network/{networkID} delete network #

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.
All 92 tools →

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

zerotier-network-api-openapi.yml Raw ↑
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