NetBird Networks API

The Networks API from NetBird — 7 operation(s) for networks.

Operations 16

GET /api/networks List all Networks
POST /api/networks Create a Network
GET /api/networks/{networkId} Retrieve a Network
PUT /api/networks/{networkId} Update a Network
DELETE /api/networks/{networkId} Delete a Network
GET /api/networks/{networkId}/resources List all Network Resources
POST /api/networks/{networkId}/resources Create a Network Resource
GET /api/networks/{networkId}/resources/{resourceId} Retrieve a Network Resource
PUT /api/networks/{networkId}/resources/{resourceId} Update a Network Resource
DELETE /api/networks/{networkId}/resources/{resourceId} Delete a Network Resource
GET /api/networks/{networkId}/routers List all Network Routers
POST /api/networks/{networkId}/routers Create a Network Router
GET /api/networks/{networkId}/routers/{routerId} Retrieve a Network Router
PUT /api/networks/{networkId}/routers/{routerId} Update a Network Router
DELETE /api/networks/{networkId}/routers/{routerId} Delete a Network Router
GET /api/networks/routers List all Network Routers

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/netbird-networks-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

netbird-networks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: NetBird REST Accounts Networks API
  description: API to manipulate groups, rules, policies and retrieve information about peers and users
  version: 0.0.1
servers:
- url: https://api.netbird.io
  description: Default server
security:
- BearerAuth: []
- TokenAuth: []
tags:
- name: Networks
paths:
  /api/networks:
    get:
      summary: List all Networks
      description: Returns a list of all networks
      tags:
      - Networks
      security:
      - BearerAuth: []
      - TokenAuth: []
      responses:
        '200':
          description: A JSON Array of Networks
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Network'
        '400':
          $ref: '#/components/responses/bad_request'
        '401':
          $ref: '#/components/responses/requires_authentication'
        '403':
          $ref: '#/components/responses/forbidden'
        '500':
          $ref: '#/components/responses/internal_error'
    post:
      summary: Create a Network
      description: Creates a Network
      tags:
      - Networks
      security:
      - BearerAuth: []
      - TokenAuth: []
      requestBody:
        description: New Network request
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NetworkRequest'
      responses:
        '200':
          description: A Network Object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Network'
        '400':
          $ref: '#/components/responses/bad_request'
        '401':
          $ref: '#/components/responses/requires_authentication'
        '403':
          $ref: '#/components/responses/forbidden'
        '500':
          $ref: '#/components/responses/internal_error'
  /api/networks/{networkId}:
    get:
      summary: Retrieve a Network
      description: Get information about a Network
      tags:
      - Networks
      security:
      - BearerAuth: []
      - TokenAuth: []
      parameters:
      - in: path
        name: networkId
        required: true
        schema:
          type: string
        description: The unique identifier of a network
      responses:
        '200':
          description: A Network object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Network'
        '400':
          $ref: '#/components/responses/bad_request'
        '401':
          $ref: '#/components/responses/requires_authentication'
        '403':
          $ref: '#/components/responses/forbidden'
        '500':
          $ref: '#/components/responses/internal_error'
    put:
      summary: Update a Network
      description: Update/Replace a Network
      tags:
      - Networks
      security:
      - BearerAuth: []
      - TokenAuth: []
      parameters:
      - in: path
        name: networkId
        required: true
        schema:
          type: string
        description: The unique identifier of a network
      requestBody:
        description: Update Network request
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NetworkRequest'
      responses:
        '200':
          description: A Network object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Network'
        '400':
          $ref: '#/components/responses/bad_request'
        '401':
          $ref: '#/components/responses/requires_authentication'
        '403':
          $ref: '#/components/responses/forbidden'
        '500':
          $ref: '#/components/responses/internal_error'
    delete:
      summary: Delete a Network
      description: Delete a network
      tags:
      - Networks
      security:
      - BearerAuth: []
      - TokenAuth: []
      parameters:
      - in: path
        name: networkId
        required: true
        schema:
          type: string
        description: The unique identifier of a network
      responses:
        '200':
          description: Delete status code
          content: {}
        '400':
          $ref: '#/components/responses/bad_request'
        '401':
          $ref: '#/components/responses/requires_authentication'
        '403':
          $ref: '#/components/responses/forbidden'
        '500':
          $ref: '#/components/responses/internal_error'
  /api/networks/{networkId}/resources:
    get:
      summary: List all Network Resources
      description: Returns a list of all resources in a network
      tags:
      - Networks
      security:
      - BearerAuth: []
      - TokenAuth: []
      parameters:
      - in: path
        name: networkId
        required: true
        schema:
          type: string
        description: The unique identifier of a network
      responses:
        '200':
          description: A JSON Array of Resources
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/NetworkResource'
        '400':
          $ref: '#/components/responses/bad_request'
        '401':
          $ref: '#/components/responses/requires_authentication'
        '403':
          $ref: '#/components/responses/forbidden'
        '500':
          $ref: '#/components/responses/internal_error'
    post:
      summary: Create a Network Resource
      description: Creates a Network Resource
      tags:
      - Networks
      security:
      - BearerAuth: []
      - TokenAuth: []
      parameters:
      - in: path
        name: networkId
        required: true
        schema:
          type: string
        description: The unique identifier of a network
      requestBody:
        description: New Network Resource request
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NetworkResourceRequest'
      responses:
        '200':
          description: A Network Resource Object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkResource'
        '400':
          $ref: '#/components/responses/bad_request'
        '401':
          $ref: '#/components/responses/requires_authentication'
        '403':
          $ref: '#/components/responses/forbidden'
        '500':
          $ref: '#/components/responses/internal_error'
  /api/networks/{networkId}/resources/{resourceId}:
    get:
      summary: Retrieve a Network Resource
      description: Get information about a Network Resource
      tags:
      - Networks
      security:
      - BearerAuth: []
      - TokenAuth: []
      parameters:
      - in: path
        name: networkId
        required: true
        schema:
          type: string
        description: The unique identifier of a network
      - in: path
        name: resourceId
        required: true
        schema:
          type: string
        description: The unique identifier of a network resource
      responses:
        '200':
          description: A Network Resource object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkResource'
        '400':
          $ref: '#/components/responses/bad_request'
        '401':
          $ref: '#/components/responses/requires_authentication'
        '403':
          $ref: '#/components/responses/forbidden'
        '500':
          $ref: '#/components/responses/internal_error'
    put:
      summary: Update a Network Resource
      description: Update a Network Resource
      tags:
      - Networks
      security:
      - BearerAuth: []
      - TokenAuth: []
      parameters:
      - in: path
        name: networkId
        required: true
        schema:
          type: string
        description: The unique identifier of a network
      - in: path
        name: resourceId
        required: true
        schema:
          type: string
        description: The unique identifier of a resource
      requestBody:
        description: Update Network Resource request
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NetworkResourceRequest'
      responses:
        '200':
          description: A Network Resource object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkResource'
        '400':
          $ref: '#/components/responses/bad_request'
        '401':
          $ref: '#/components/responses/requires_authentication'
        '403':
          $ref: '#/components/responses/forbidden'
        '500':
          $ref: '#/components/responses/internal_error'
    delete:
      summary: Delete a Network Resource
      description: Delete a network resource
      tags:
      - Networks
      security:
      - BearerAuth: []
      - TokenAuth: []
      parameters:
      - in: path
        name: networkId
        required: true
        schema:
          type: string
          description: The unique identifier of a network
      - in: path
        name: resourceId
        required: true
        schema:
          type: string
          description: The unique identifier of a network resource
      responses:
        '200':
          description: Delete status code
          content: {}
        '400':
          $ref: '#/components/responses/bad_request'
        '401':
          $ref: '#/components/responses/requires_authentication'
        '403':
          $ref: '#/components/responses/forbidden'
        '500':
          $ref: '#/components/responses/internal_error'
  /api/networks/{networkId}/routers:
    get:
      summary: List all Network Routers
      description: Returns a list of all routers in a network
      tags:
      - Networks
      security:
      - BearerAuth: []
      - TokenAuth: []
      parameters:
      - in: path
        name: networkId
        required: true
        schema:
          type: string
        description: The unique identifier of a network
      responses:
        '200':
          description: A JSON Array of Routers
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/NetworkRouter'
        '400':
          $ref: '#/components/responses/bad_request'
        '401':
          $ref: '#/components/responses/requires_authentication'
        '403':
          $ref: '#/components/responses/forbidden'
        '500':
          $ref: '#/components/responses/internal_error'
    post:
      summary: Create a Network Router
      description: Creates a Network Router
      tags:
      - Networks
      security:
      - BearerAuth: []
      - TokenAuth: []
      parameters:
      - in: path
        name: networkId
        required: true
        schema:
          type: string
        description: The unique identifier of a network
      requestBody:
        description: New Network Router request
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NetworkRouterRequest'
      responses:
        '200':
          description: A Router Object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkRouter'
        '400':
          $ref: '#/components/responses/bad_request'
        '401':
          $ref: '#/components/responses/requires_authentication'
        '403':
          $ref: '#/components/responses/forbidden'
        '500':
          $ref: '#/components/responses/internal_error'
  /api/networks/{networkId}/routers/{routerId}:
    get:
      summary: Retrieve a Network Router
      description: Get information about a Network Router
      tags:
      - Networks
      security:
      - BearerAuth: []
      - TokenAuth: []
      parameters:
      - in: path
        name: networkId
        required: true
        schema:
          type: string
        description: The unique identifier of a network
      - in: path
        name: routerId
        required: true
        schema:
          type: string
        description: The unique identifier of a router
      responses:
        '200':
          description: A Router object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkRouter'
        '400':
          $ref: '#/components/responses/bad_request'
        '401':
          $ref: '#/components/responses/requires_authentication'
        '403':
          $ref: '#/components/responses/forbidden'
        '500':
          $ref: '#/components/responses/internal_error'
    put:
      summary: Update a Network Router
      description: Update a Network Router
      tags:
      - Networks
      security:
      - BearerAuth: []
      - TokenAuth: []
      parameters:
      - in: path
        name: networkId
        required: true
        schema:
          type: string
        description: The unique identifier of a network
      - in: path
        name: routerId
        required: true
        schema:
          type: string
        description: The unique identifier of a router
      requestBody:
        description: Update Network Router request
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NetworkRouterRequest'
      responses:
        '200':
          description: A Router object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkRouter'
        '400':
          $ref: '#/components/responses/bad_request'
        '401':
          $ref: '#/components/responses/requires_authentication'
        '403':
          $ref: '#/components/responses/forbidden'
        '500':
          $ref: '#/components/responses/internal_error'
    delete:
      summary: Delete a Network Router
      description: Delete a network router
      tags:
      - Networks
      security:
      - BearerAuth: []
      - TokenAuth: []
      parameters:
      - in: path
        name: networkId
        required: true
        schema:
          type: string
          description: The unique identifier of a network
      - in: path
        name: routerId
        required: true
        schema:
          type: string
          description: The unique identifier of a router
      responses:
        '200':
          description: Delete status code
          content: {}
        '400':
          $ref: '#/components/responses/bad_request'
        '401':
          $ref: '#/components/responses/requires_authentication'
        '403':
          $ref: '#/components/responses/forbidden'
        '500':
          $ref: '#/components/responses/internal_error'
  /api/networks/routers:
    get:
      summary: List all Network Routers
      description: Returns a list of all routers in a network
      tags:
      - Networks
      security:
      - BearerAuth: []
      - TokenAuth: []
      responses:
        '200':
          description: A JSON Array of Routers
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/NetworkRouter'
        '400':
          $ref: '#/components/responses/bad_request'
        '401':
          $ref: '#/components/responses/requires_authentication'
        '403':
          $ref: '#/components/responses/forbidden'
        '500':
          $ref: '#/components/responses/internal_error'
components:
  schemas:
    NetworkResourceRequest:
      allOf:
      - $ref: '#/components/schemas/NetworkResourceMinimum'
      - type: object
        properties:
          groups:
            description: Group IDs containing the resource
            type: array
            items:
              type: string
              example: chacdk86lnnboviihd70
        required:
        - groups
        - address
    NetworkResource:
      allOf:
      - type: object
        properties:
          id:
            description: Network Resource ID
            type: string
            example: chacdk86lnnboviihd7g
          type:
            $ref: '#/components/schemas/NetworkResourceType'
          groups:
            description: Groups that the resource belongs to
            type: array
            items:
              $ref: '#/components/schemas/GroupMinimum'
        required:
        - id
        - type
        - groups
      - $ref: '#/components/schemas/NetworkResourceMinimum'
    NetworkRouter:
      allOf:
      - type: object
        properties:
          id:
            description: Network Router Id
            type: string
            example: chacdk86lnnboviihd7g
        required:
        - id
      - $ref: '#/components/schemas/NetworkRouterRequest'
    NetworkResourceMinimum:
      type: object
      properties:
        name:
          description: Network resource name
          type: string
          example: Remote Resource 1
        description:
          description: Network resource description
          type: string
          example: A remote resource inside network 1
        address:
          description: Network resource address (either a direct host like 1.1.1.1 or 1.1.1.1/32, or a subnet like 192.168.178.0/24, or domains like example.com and *.example.com)
          type: string
          example: 1.1.1.1
        enabled:
          description: Network resource status
          type: boolean
          example: true
      required:
      - name
      - address
      - enabled
    NetworkRequest:
      type: object
      properties:
        name:
          description: Network name
          type: string
          example: Remote Network 1
        description:
          description: Network description
          type: string
          example: A remote network that needs to be accessed
      required:
      - name
    NetworkRouterRequest:
      type: object
      properties:
        peer:
          description: Peer Identifier associated with route. This property can not be set together with `peer_groups`
          type: string
          example: chacbco6lnnbn6cg5s91
        peer_groups:
          description: Peers Group Identifier associated with route. This property can not be set together with `peer`
          type: array
          items:
            type: string
            example: chacbco6lnnbn6cg5s91
        metric:
          description: Route metric number. Lowest number has higher priority
          type: integer
          maximum: 9999
          minimum: 1
          example: 9999
        masquerade:
          description: Indicate if peer should masquerade traffic to this route's prefix
          type: boolean
          example: true
        enabled:
          description: Network router status
          type: boolean
          example: true
      required:
      - metric
      - masquerade
      - enabled
    Network:
      allOf:
      - type: object
        properties:
          id:
            description: Network ID
            type: string
            example: chacdk86lnnboviihd7g
          routers:
            description: List of router IDs associated with the network
            type: array
            items:
              type: string
              example: ch8i4ug6lnn4g9hqv7m0
          routing_peers_count:
            description: Count of routing peers associated with the network
            type: integer
            example: 2
          resources:
            description: List of network resource IDs associated with the network
            type: array
            items:
              type: string
              example: ch8i4ug6lnn4g9hqv7m1
          policies:
            description: List of policy IDs associated with the network
            type: array
            items:
              type: string
              example: ch8i4ug6lnn4g9hqv7m2
        required:
        - id
        - routers
        - resources
        - routing_peers_count
        - policies
      - $ref: '#/components/schemas/NetworkRequest'
    NetworkResourceType:
      description: Network resource type based of the address
      type: string
      enum:
      - host
      - subnet
      - domain
      example: host
    GroupMinimum:
      type: object
      properties:
        id:
          description: Group ID
          type: string
          example: ch8i4ug6lnn4g9hqv7m0
        name:
          description: Group Name identifier
          type: string
          example: devs
        peers_count:
          description: Count of peers associated to the group
          type: integer
          example: 2
        resources_count:
          description: Count of resources associated to the group
          type: integer
          example: 5
        issued:
          description: How the group was issued (api, integration, jwt)
          type: string
          enum:
          - api
          - integration
          - jwt
          example: api
      required:
      - id
      - name
      - peers_count
      - resources_count
  responses:
    requires_authentication:
      description: Requires authentication
      content: {}
    internal_error:
      description: Internal Server Error
      content: {}
    bad_request:
      description: Bad Request
      content: {}
    forbidden:
      description: Forbidden
      content: {}
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    TokenAuth:
      type: apiKey
      in: header
      name: Authorization
      description: Enter the token with the `Token` prefix, e.g. "Token nbp_F3f0d.....".