List all Routes
Returns a list of all routes
Request
curl -X GET https://api.netbird.io/api/routes \
-H 'Accept: application/json' \
-H 'Authorization: Token <TOKEN>'
Response
[
{
"id": "chacdk86lnnboviihd7g",
"network_type": "IPv4",
"description": "My first route",
"network_id": "Route 1",
"enabled": true,
"peer": "chacbco6lnnbn6cg5s91",
"peer_groups": [
"chacbco6lnnbn6cg5s91"
],
"network": "10.64.0.0/24",
"domains": [
"example.com"
],
"metric": 9999,
"masquerade": true,
"groups": [
"chacdk86lnnboviihd70"
],
"keep_route": true,
"access_control_groups": [
"chacbco6lnnbn6cg5s91"
]
}
]
Create a Route
Creates a Route
Request-Body Parameters
- Name
description
- Type
- string
- Required
- required
- Enum
- Description
Route description
- Name
network_id
- Type
- string
- Required
- required
- Enum
- Possible Values:
>=1 characters
and <=40 characters
- Description
Route network identifier, to group HA routes
- Name
enabled
- Type
- boolean
- Required
- required
- Enum
- Description
Route status
- 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
network
- Type
- string
- Required
- optional
- Enum
- Description
Network range in CIDR format, Conflicts with domains
- Name
domains
- Type
- string[]
- Required
- optional
- Enum
- Description
Domain list to be dynamically resolved. Max of 32 domains can be added per route configuration. Conflicts with network
- 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
groups
- Type
- string[]
- Required
- required
- Enum
- Description
Group IDs containing routing peers
- Name
keep_route
- Type
- boolean
- Required
- required
- Enum
- Description
Indicate if the route should be kept after a domain doesn't resolve that IP anymore
- Name
access_control_groups
- Type
- string[]
- Required
- optional
- Enum
- Description
Access control group identifier associated with route.
Request
curl -X POST https://api.netbird.io/api/routes \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Authorization: Token <TOKEN>' \
--data-raw '{
"description": "My first route",
"network_id": "Route 1",
"enabled": true,
"peer": "chacbco6lnnbn6cg5s91",
"peer_groups": [
"chacbco6lnnbn6cg5s91"
],
"network": "10.64.0.0/24",
"domains": [
"example.com"
],
"metric": 9999,
"masquerade": true,
"groups": [
"chacdk86lnnboviihd70"
],
"keep_route": true,
"access_control_groups": [
"chacbco6lnnbn6cg5s91"
]
}'
Response
{
"id": "chacdk86lnnboviihd7g",
"network_type": "IPv4",
"description": "My first route",
"network_id": "Route 1",
"enabled": true,
"peer": "chacbco6lnnbn6cg5s91",
"peer_groups": [
"chacbco6lnnbn6cg5s91"
],
"network": "10.64.0.0/24",
"domains": [
"example.com"
],
"metric": 9999,
"masquerade": true,
"groups": [
"chacdk86lnnboviihd70"
],
"keep_route": true,
"access_control_groups": [
"chacbco6lnnbn6cg5s91"
]
}
Retrieve a Route
Get information about a Routes
Path Parameters
- Name
routeId
- Type
- string
- Required
- required
- Enum
- Description
The unique identifier of a route
Request
curl -X GET https://api.netbird.io/api/routes/{routeId} \
-H 'Accept: application/json' \
-H 'Authorization: Token <TOKEN>'
Response
{
"id": "chacdk86lnnboviihd7g",
"network_type": "IPv4",
"description": "My first route",
"network_id": "Route 1",
"enabled": true,
"peer": "chacbco6lnnbn6cg5s91",
"peer_groups": [
"chacbco6lnnbn6cg5s91"
],
"network": "10.64.0.0/24",
"domains": [
"example.com"
],
"metric": 9999,
"masquerade": true,
"groups": [
"chacdk86lnnboviihd70"
],
"keep_route": true,
"access_control_groups": [
"chacbco6lnnbn6cg5s91"
]
}
Update a Route
Update/Replace a Route
Path Parameters
- Name
routeId
- Type
- string
- Required
- required
- Enum
- Description
The unique identifier of a route
Request-Body Parameters
- Name
description
- Type
- string
- Required
- required
- Enum
- Description
Route description
- Name
network_id
- Type
- string
- Required
- required
- Enum
- Possible Values:
>=1 characters
and <=40 characters
- Description
Route network identifier, to group HA routes
- Name
enabled
- Type
- boolean
- Required
- required
- Enum
- Description
Route status
- 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
network
- Type
- string
- Required
- optional
- Enum
- Description
Network range in CIDR format, Conflicts with domains
- Name
domains
- Type
- string[]
- Required
- optional
- Enum
- Description
Domain list to be dynamically resolved. Max of 32 domains can be added per route configuration. Conflicts with network
- 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
groups
- Type
- string[]
- Required
- required
- Enum
- Description
Group IDs containing routing peers
- Name
keep_route
- Type
- boolean
- Required
- required
- Enum
- Description
Indicate if the route should be kept after a domain doesn't resolve that IP anymore
- Name
access_control_groups
- Type
- string[]
- Required
- optional
- Enum
- Description
Access control group identifier associated with route.
Request
curl -X PUT https://api.netbird.io/api/routes/{routeId} \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Authorization: Token <TOKEN>' \
--data-raw '{
"description": "My first route",
"network_id": "Route 1",
"enabled": true,
"peer": "chacbco6lnnbn6cg5s91",
"peer_groups": [
"chacbco6lnnbn6cg5s91"
],
"network": "10.64.0.0/24",
"domains": [
"example.com"
],
"metric": 9999,
"masquerade": true,
"groups": [
"chacdk86lnnboviihd70"
],
"keep_route": true,
"access_control_groups": [
"chacbco6lnnbn6cg5s91"
]
}'
Response
{
"id": "chacdk86lnnboviihd7g",
"network_type": "IPv4",
"description": "My first route",
"network_id": "Route 1",
"enabled": true,
"peer": "chacbco6lnnbn6cg5s91",
"peer_groups": [
"chacbco6lnnbn6cg5s91"
],
"network": "10.64.0.0/24",
"domains": [
"example.com"
],
"metric": 9999,
"masquerade": true,
"groups": [
"chacdk86lnnboviihd70"
],
"keep_route": true,
"access_control_groups": [
"chacbco6lnnbn6cg5s91"
]
}
Delete a Route
Delete a route
Path Parameters
- Name
routeId
- Type
- string
- Required
- required
- Enum
- Description
The unique identifier of a route
Request
curl -X DELETE https://api.netbird.io/api/routes/{routeId} \
-H 'Authorization: Token <TOKEN>'