ZeroTier network-member API

Network member operations

Operations 4

GET /network/{networkID}/member Returns a list of Members on the network. #
GET /network/{networkID}/member/{memberID} Return an individual member on a network #
POST /network/{networkID}/member/{memberID} Modify a network member #
DELETE /network/{networkID}/member/{memberID} Delete a network member #

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-member-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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

zerotier-network-member-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: 'ZeroTier Central Network Management Portal API.<p>All API requests must have an API token header specified in the <code>Authorization: token xxxxx</code> format.  You can generate your API key by logging into <a href="https://my.zerotier.com">ZeroTier Central</a> and creating a token on the Account page.</p><p>eg. <code>curl -X GET -H "Authorization: token xxxxx" https://api.zerotier.com/api/v1/network</code></p><p><h3>Rate Limiting</h3></p><p>The ZeroTier Central API implements rate limiting.  Paid users are limited to 100 requests per second.  Free users are limited to 20 requests per second.</p> <p> You can get the OpenAPI spec here as well: <code>https://docs.zerotier.com/api/central/ref-v1.json</code></p>'
  version: v1
  title: ZeroTier Central controller Network Member API
  contact:
    name: ZeroTier Support Discussion Forum
    url: https://discuss.zerotier.com
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
servers:
- url: https://api.zerotier.com/api/v1
  description: Production Server
security:
- tokenAuth: []
tags:
- name: network-member
  description: Network member operations
paths:
  /network/{networkID}/member:
    get:
      tags:
      - network-member
      summary: Returns a list of Members on the network.
      operationId: getNetworkMemberList
      parameters:
      - name: networkID
        description: ID of the network to return
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: member list get success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Member'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/AccessDeniedError'
        '404':
          $ref: '#/components/responses/NotFound'
  /network/{networkID}/member/{memberID}:
    get:
      tags:
      - network-member
      operationId: getNetworkMember
      summary: Return an individual member on a network
      parameters:
      - name: networkID
        description: ID of the network
        in: path
        required: true
        schema:
          type: string
      - name: memberID
        description: ID of the member
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: member get success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Member'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/AccessDeniedError'
        '404':
          $ref: '#/components/responses/NotFound'
    post:
      tags:
      - network-member
      operationId: updateNetworkMember
      summary: Modify a network member
      parameters:
      - name: networkID
        description: ID of the network
        in: path
        required: true
        schema:
          type: string
      - name: memberID
        description: ID of the member
        in: path
        required: true
        schema:
          type: string
      requestBody:
        description: Member object JSON
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Member'
      responses:
        '200':
          description: member changed successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Member'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/AccessDeniedError'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      tags:
      - network-member
      operationId: deleteNetworkMember
      summary: Delete a network member
      parameters:
      - name: networkID
        description: ID of the network
        in: path
        required: true
        schema:
          type: string
      - name: memberID
        description: ID of the member
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: member deleted
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/AccessDeniedError'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  responses:
    NotFound:
      description: Item not found
    UnauthorizedError:
      description: Authorization required
    AccessDeniedError:
      description: Access denied
  schemas:
    MemberConfig:
      type: object
      properties:
        activeBridge:
          type:
          - boolean
          - 'null'
          readOnly: false
          description: Allow the member to be a bridge on the network
          example: false
        authorized:
          type:
          - boolean
          - 'null'
          readOnly: false
          description: Is the member authorized on the network
          example: true
        capabilities:
          type:
          - array
          - 'null'
          items:
            type: integer
        creationTime:
          type:
          - integer
          - 'null'
          format: int64
          readOnly: true
          description: Time the member was created or first tried to join the network
          example: 1599853509872
        id:
          type:
          - string
          - 'null'
          readOnly: true
          description: ID of the member node.  This is the 10 digit identifier that identifies a ZeroTier node.
          example: abcdef01234
        identity:
          type:
          - string
          - 'null'
          readOnly: true
          description: Public Key of the member's Identity
          example: abcdef0123:0:abcdef0123abcdef0123abcdef0123abcdef0123abcdef0123abcdef0123abcdef0123
        ipAssignments:
          type:
          - array
          - 'null'
          readOnly: false
          description: List of assigned IP addresses
          items:
            type: string
          example:
          - 10.0.0.3
        lastAuthorizedTime:
          type:
          - integer
          - 'null'
          format: int64
          readOnly: true
          description: Time the member was authorized on the network
          example: 1599853637989
        lastDeauthorizedTime:
          type:
          - integer
          - 'null'
          format: int64
          readOnly: true
          description: Time the member was deauthorized on the network
          example: 0
        noAutoAssignIps:
          type:
          - boolean
          - 'null'
          readOnly: false
          description: Exempt this member from the IP auto assignment pool on a Network
          example: false
        revision:
          type:
          - integer
          - 'null'
          readOnly: true
          description: Member record revision count
          example: 123
        ssoExempt:
          type:
          - boolean
          - 'null'
          readOnly: false
          description: Allow the member to be authorized without OIDC/SSO
          example: false
        tags:
          type:
          - array
          - 'null'
          items:
            type: array
            items:
              anyOf:
              - type: integer
              - type: boolean
          readOnly: false
          description: Array of 2 member tuples of tag [ID, tag value]
          example:
          - - 123
            - 456
        vMajor:
          type:
          - integer
          - 'null'
          readOnly: true
          description: Major version of the client
          example: 1
        vMinor:
          type:
          - integer
          - 'null'
          readOnly: true
          description: Minor version of the client
          example: 6
        vRev:
          type:
          - integer
          - 'null'
          readOnly: true
          description: Revision number of the client
          example: 3
        vProto:
          type:
          - integer
          - 'null'
          readOnly: true
          description: Protocol version of the client
          example: 12
    Member:
      type: object
      properties:
        id:
          type:
          - string
          - 'null'
          example: 8056c2e21c000001-abcdef0123
          description: concatenation of network ID and member ID
          readOnly: true
          deprecated: true
        clock:
          type:
          - integer
          - 'null'
          format: int64
          example: 1612993759070
          readOnly: true
        networkId:
          type:
          - string
          - 'null'
          example: 8056c2e21c000001
          readOnly: true
        nodeId:
          type:
          - string
          - 'null'
          example: abcdef01234
          description: ZeroTier ID of the member
          readOnly: true
        controllerId:
          type:
          - string
          - 'null'
          example: 8056c2e21c
          readOnly: true
          deprecated: true
        hidden:
          type:
          - boolean
          - 'null'
          example: false
          description: Whether or not the member is hidden in the UI
        name:
          type:
          - string
          - 'null'
          example: my-cray-supercomputer
          readOnly: false
          description: User defined name of the member
        description:
          type:
          - string
          - 'null'
          example: My super awesome cray that I got ZeroTier to run on
          readOnly: false
          description: User defined description of the member
        config:
          $ref: '#/components/schemas/MemberConfig'
        lastOnline:
          type:
          - integer
          - 'null'
          format: int64
          readOnly: true
          description: 'Last seen time of the member (milliseconds since epoch).  Note: This data is considered ephemeral and may be reset to 0 at any time without warning.'
          example: 1612993673254
          deprecated: true
        lastSeen:
          type:
          - integer
          - 'null'
          format: int64
          readOnly: true
          description: 'Time the member last checked in with the network controller in milliseconds since epoch. Note: This data is considered ephemeral and may be reset to 0 at any time without warning.'
          example: 1612993673254
        physicalAddress:
          type:
          - string
          - 'null'
          readOnly: true
          description: 'IP address the member last spoke to the controller via (milliseconds since epoch).  Note: This data is considered ephemeral and may be reset to 0 at any time without warning.'
          example: 8.8.8.8
        clientVersion:
          type:
          - string
          - 'null'
          readOnly: true
          description: ZeroTier version the member is running
          example: 1.6.3
        protocolVersion:
          type:
          - integer
          - 'null'
          readOnly: true
          description: ZeroTier protocol version
          example: 12
        supportsRulesEngine:
          type:
          - boolean
          - 'null'
          readOnly: true
          description: Whether or not the client version is new enough to support the rules engine (1.4.0+)
  securitySchemes:
    tokenAuth:
      type: http
      scheme: token