List all Networks
Returns a list of all networks
Request
curl -X GET https://api.netbird.io/api/networks \ -H 'Accept: application/json' \ -H 'Authorization: Token <TOKEN>' Response
[ { "id": "chacdk86lnnboviihd7g", "routers": [ "ch8i4ug6lnn4g9hqv7m0" ], "routing_peers_count": 2, "resources": [ "ch8i4ug6lnn4g9hqv7m1" ], "policies": [ "ch8i4ug6lnn4g9hqv7m2" ], "name": "Remote Network 1", "description": "A remote network that needs to be accessed" } ] Create a Network
Creates a Network
Request-Body Parameters
- Name
name- Type
- string
- Required
- required
- Enum
- Description
Network name
- Name
description- Type
- string
- Required
- optional
- Enum
- Description
Network description
Request
curl -X POST https://api.netbird.io/api/networks \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -H 'Authorization: Token <TOKEN>' \ --data-raw '{ "name": "Remote Network 1", "description": "A remote network that needs to be accessed" }' Response
{ "id": "chacdk86lnnboviihd7g", "routers": [ "ch8i4ug6lnn4g9hqv7m0" ], "routing_peers_count": 2, "resources": [ "ch8i4ug6lnn4g9hqv7m1" ], "policies": [ "ch8i4ug6lnn4g9hqv7m2" ], "name": "Remote Network 1", "description": "A remote network that needs to be accessed" } Retrieve a Network
Get information about a Network
Path Parameters
- Name
networkId- Type
- string
- Required
- required
- Enum
- Description
The unique identifier of a network
Request
curl -X GET https://api.netbird.io/api/networks/{networkId} \ -H 'Accept: application/json' \ -H 'Authorization: Token <TOKEN>' Response
{ "id": "chacdk86lnnboviihd7g", "routers": [ "ch8i4ug6lnn4g9hqv7m0" ], "routing_peers_count": 2, "resources": [ "ch8i4ug6lnn4g9hqv7m1" ], "policies": [ "ch8i4ug6lnn4g9hqv7m2" ], "name": "Remote Network 1", "description": "A remote network that needs to be accessed" } Update a Network
Update/Replace a Network
Path Parameters
- Name
networkId- Type
- string
- Required
- required
- Enum
- Description
The unique identifier of a network
Request-Body Parameters
- Name
name- Type
- string
- Required
- required
- Enum
- Description
Network name
- Name
description- Type
- string
- Required
- optional
- Enum
- Description
Network description
Request
curl -X PUT https://api.netbird.io/api/networks/{networkId} \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -H 'Authorization: Token <TOKEN>' \ --data-raw '{ "name": "Remote Network 1", "description": "A remote network that needs to be accessed" }' Response
{ "id": "chacdk86lnnboviihd7g", "routers": [ "ch8i4ug6lnn4g9hqv7m0" ], "routing_peers_count": 2, "resources": [ "ch8i4ug6lnn4g9hqv7m1" ], "policies": [ "ch8i4ug6lnn4g9hqv7m2" ], "name": "Remote Network 1", "description": "A remote network that needs to be accessed" } Delete a Network
Delete a network
Path Parameters
- Name
networkId- Type
- string
- Required
- required
- Enum
- Description
The unique identifier of a network
Request
curl -X DELETE https://api.netbird.io/api/networks/{networkId} \ -H 'Authorization: Token <TOKEN>' List all Network Resources
Returns a list of all resources in a network
Path Parameters
- Name
networkId- Type
- string
- Required
- required
- Enum
- Description
The unique identifier of a network
Request
curl -X GET https://api.netbird.io/api/networks/{networkId}/resources \ -H 'Accept: application/json' \ -H 'Authorization: Token <TOKEN>' Response
[ { "id": "chacdk86lnnboviihd7g", "type": "host", "groups": [ { "id": "ch8i4ug6lnn4g9hqv7m0", "name": "devs", "peers_count": 2, "resources_count": 5, "issued": "api" } ], "name": "Remote Resource 1", "description": "A remote resource inside network 1", "address": "1.1.1.1", "enabled": true } ] Create a Network Resource
Creates a Network Resource
Path Parameters
- Name
networkId- Type
- string
- Required
- required
- Enum
- Description
The unique identifier of a network
Request-Body Parameters
- Name
name- Type
- string
- Required
- required
- Enum
- Description
Network resource name
- Name
description- Type
- string
- Required
- optional
- Enum
- Description
Network resource description
- Name
address- Type
- string
- Required
- required
- Enum
- 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)
- Name
enabled- Type
- boolean
- Required
- required
- Enum
- Description
Network resource status
- Name
groups- Type
- string[]
- Required
- required
- Enum
- Description
Group IDs containing the resource
Request
curl -X POST https://api.netbird.io/api/networks/{networkId}/resources \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -H 'Authorization: Token <TOKEN>' \ --data-raw '{ "name": "Remote Resource 1", "description": "A remote resource inside network 1", "address": "1.1.1.1", "enabled": true, "groups": [ "chacdk86lnnboviihd70" ] }' Response
{ "id": "chacdk86lnnboviihd7g", "type": "host", "groups": [ { "id": "ch8i4ug6lnn4g9hqv7m0", "name": "devs", "peers_count": 2, "resources_count": 5, "issued": "api" } ], "name": "Remote Resource 1", "description": "A remote resource inside network 1", "address": "1.1.1.1", "enabled": true } Retrieve a Network Resource
Get information about a Network Resource
Path Parameters
- Name
networkId- Type
- string
- Required
- required
- Enum
- Description
The unique identifier of a network
- Name
resourceId- Type
- string
- Required
- required
- Enum
- Description
The unique identifier of a network resource
Request
curl -X GET https://api.netbird.io/api/networks/{networkId}/resources/{resourceId} \ -H 'Accept: application/json' \ -H 'Authorization: Token <TOKEN>' Response
{ "id": "chacdk86lnnboviihd7g", "type": "host", "groups": [ { "id": "ch8i4ug6lnn4g9hqv7m0", "name": "devs", "peers_count": 2, "resources_count": 5, "issued": "api" } ], "name": "Remote Resource 1", "description": "A remote resource inside network 1", "address": "1.1.1.1", "enabled": true } Update a Network Resource
Update a Network Resource
Path Parameters
- Name
networkId- Type
- string
- Required
- required
- Enum
- Description
The unique identifier of a network
- Name
resourceId- Type
- string
- Required
- required
- Enum
- Description
The unique identifier of a resource
Request-Body Parameters
- Name
name- Type
- string
- Required
- required
- Enum
- Description
Network resource name
- Name
description- Type
- string
- Required
- optional
- Enum
- Description
Network resource description
- Name
address- Type
- string
- Required
- required
- Enum
- 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)
- Name
enabled- Type
- boolean
- Required
- required
- Enum
- Description
Network resource status
- Name
groups- Type
- string[]
- Required
- required
- Enum
- Description
Group IDs containing the resource
Request
curl -X PUT https://api.netbird.io/api/networks/{networkId}/resources/{resourceId} \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -H 'Authorization: Token <TOKEN>' \ --data-raw '{ "name": "Remote Resource 1", "description": "A remote resource inside network 1", "address": "1.1.1.1", "enabled": true, "groups": [ "chacdk86lnnboviihd70" ] }' Response
{ "id": "chacdk86lnnboviihd7g", "type": "host", "groups": [ { "id": "ch8i4ug6lnn4g9hqv7m0", "name": "devs", "peers_count": 2, "resources_count": 5, "issued": "api" } ], "name": "Remote Resource 1", "description": "A remote resource inside network 1", "address": "1.1.1.1", "enabled": true } Delete a Network Resource
Delete a network resource
Path Parameters
- Name
networkId- Type
- string
- Required
- required
- Enum
- Description
- Name
resourceId- Type
- string
- Required
- required
- Enum
- Description
Request
curl -X DELETE https://api.netbird.io/api/networks/{networkId}/resources/{resourceId} \ -H 'Authorization: Token <TOKEN>' List all Network Routers
Returns a list of all routers in a network
Path Parameters
- Name
networkId- Type
- string
- Required
- required
- Enum
- Description
The unique identifier of a network
Request
curl -X GET https://api.netbird.io/api/networks/{networkId}/routers \ -H 'Accept: application/json' \ -H 'Authorization: Token <TOKEN>' Response
[ { "id": "chacdk86lnnboviihd7g", "peer": "chacbco6lnnbn6cg5s91", "peer_groups": [ "chacbco6lnnbn6cg5s91" ], "metric": 9999, "masquerade": true, "enabled": true } ] Create a Network Router
Creates a Network Router
Path Parameters
- Name
networkId- Type
- string
- Required
- required
- Enum
- Description
The unique identifier of a network
Request-Body Parameters
- Name
peer- Type
- string
- Required
- optional
- Enum
- Description
Peer Identifier associated with route. This property can not be set together with
peer_groups
- Name
peer_groups- Type
- string[]
- Required
- optional
- Enum
- Description
Peers Group Identifier associated with route. This property can not be set together with
peer
- Name
metric- Type
- integer
- Required
- required
- Enum
- Possible Values:
>=1and <=9999 - Description
Route metric number. Lowest number has higher priority
- Name
masquerade- Type
- boolean
- Required
- required
- Enum
- Description
Indicate if peer should masquerade traffic to this route's prefix
- Name
enabled- Type
- boolean
- Required
- required
- Enum
- Description
Network router status
Request
curl -X POST https://api.netbird.io/api/networks/{networkId}/routers \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -H 'Authorization: Token <TOKEN>' \ --data-raw '{ "peer": "chacbco6lnnbn6cg5s91", "peer_groups": [ "chacbco6lnnbn6cg5s91" ], "metric": 9999, "masquerade": true, "enabled": true }' Response
{ "id": "chacdk86lnnboviihd7g", "peer": "chacbco6lnnbn6cg5s91", "peer_groups": [ "chacbco6lnnbn6cg5s91" ], "metric": 9999, "masquerade": true, "enabled": true } Retrieve a Network Router
Get information about a Network Router
Path Parameters
- Name
networkId- Type
- string
- Required
- required
- Enum
- Description
The unique identifier of a network
- Name
routerId- Type
- string
- Required
- required
- Enum
- Description
The unique identifier of a router
Request
curl -X GET https://api.netbird.io/api/networks/{networkId}/routers/{routerId} \ -H 'Accept: application/json' \ -H 'Authorization: Token <TOKEN>' Response
{ "id": "chacdk86lnnboviihd7g", "peer": "chacbco6lnnbn6cg5s91", "peer_groups": [ "chacbco6lnnbn6cg5s91" ], "metric": 9999, "masquerade": true, "enabled": true } Update a Network Router
Update a Network Router
Path Parameters
- Name
networkId- Type
- string
- Required
- required
- Enum
- Description
The unique identifier of a network
- Name
routerId- Type
- string
- Required
- required
- Enum
- Description
The unique identifier of a router
Request-Body Parameters
- Name
peer- Type
- string
- Required
- optional
- Enum
- Description
Peer Identifier associated with route. This property can not be set together with
peer_groups
- Name
peer_groups- Type
- string[]
- Required
- optional
- Enum
- Description
Peers Group Identifier associated with route. This property can not be set together with
peer
- Name
metric- Type
- integer
- Required
- required
- Enum
- Possible Values:
>=1and <=9999 - Description
Route metric number. Lowest number has higher priority
- Name
masquerade- Type
- boolean
- Required
- required
- Enum
- Description
Indicate if peer should masquerade traffic to this route's prefix
- Name
enabled- Type
- boolean
- Required
- required
- Enum
- Description
Network router status
Request
curl -X PUT https://api.netbird.io/api/networks/{networkId}/routers/{routerId} \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -H 'Authorization: Token <TOKEN>' \ --data-raw '{ "peer": "chacbco6lnnbn6cg5s91", "peer_groups": [ "chacbco6lnnbn6cg5s91" ], "metric": 9999, "masquerade": true, "enabled": true }' Response
{ "id": "chacdk86lnnboviihd7g", "peer": "chacbco6lnnbn6cg5s91", "peer_groups": [ "chacbco6lnnbn6cg5s91" ], "metric": 9999, "masquerade": true, "enabled": true } Delete a Network Router
Delete a network router
Path Parameters
- Name
networkId- Type
- string
- Required
- required
- Enum
- Description
- Name
routerId- Type
- string
- Required
- required
- Enum
- Description
Request
curl -X DELETE https://api.netbird.io/api/networks/{networkId}/routers/{routerId} \ -H 'Authorization: Token <TOKEN>' List all Network Routers
Returns a list of all routers in a network
Request
curl -X GET https://api.netbird.io/api/networks/routers \ -H 'Accept: application/json' \ -H 'Authorization: Token <TOKEN>' Response
[ { "id": "chacdk86lnnboviihd7g", "peer": "chacbco6lnnbn6cg5s91", "peer_groups": [ "chacbco6lnnbn6cg5s91" ], "metric": 9999, "masquerade": true, "enabled": true } ] 
