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:
>=1
and <=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:
>=1
and <=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>'