List all Rules Deprecated

Returns a list of all rules. This will be deprecated in favour of /api/policies.

Request

GET
/api/rules
curl -X GET https://api.netbird.io/api/rules \
-H 'Accept: application/json' \
-H 'Authorization: Token <TOKEN>' 

Response

[
  {
    "id": "ch8i4ug6lnn4g9hqv7mg",
    "name": "Default",
    "description": "This is a default rule that allows connections between all the resources",
    "disabled": false,
    "flow": "bidirect",
    "sources": [
      {
        "id": "ch8i4ug6lnn4g9hqv7m0",
        "name": "devs",
        "peers_count": 2,
        "issued": "api"
      }
    ],
    "destinations": [
      {
        "id": "ch8i4ug6lnn4g9hqv7m0",
        "name": "devs",
        "peers_count": 2,
        "issued": "api"
      }
    ]
  }
]

Create a Rule Deprecated

Creates a rule. This will be deprecated in favour of /api/policies.

Request-Body Parameters

  • Name
    name
    Type
    string
    Required
    required
    Enum
    Description

    Rule name identifier

  • Name
    description
    Type
    string
    Required
    required
    Enum
    Description

    Rule friendly description

  • Name
    disabled
    Type
    boolean
    Required
    required
    Enum
    Description

    Rules status

  • Name
    flow
    Type
    string
    Required
    required
    Enum
    Description

    Rule flow, currently, only "bidirect" for bi-directional traffic is accepted

  • Name
    sources
    Type
    string[]
    Required
    optional
    Enum
    Description

    List of source group IDs

  • Name
    destinations
    Type
    string[]
    Required
    optional
    Enum
    Description

    List of destination group IDs

Request

POST
/api/rules
curl -X POST https://api.netbird.io/api/rules \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Authorization: Token <TOKEN>' \
--data-raw '{
  "name": "Default",
  "description": "This is a default rule that allows connections between all the resources",
  "disabled": false,
  "flow": "bidirect",
  "sources": [
    "ch8i4ug6lnn4g9hqv7m1"
  ],
  "destinations": [
    "ch8i4ug6lnn4g9hqv7m0"
  ]
}'

Response

{
  "id": "ch8i4ug6lnn4g9hqv7mg",
  "name": "Default",
  "description": "This is a default rule that allows connections between all the resources",
  "disabled": false,
  "flow": "bidirect",
  "sources": [
    {
      "id": "ch8i4ug6lnn4g9hqv7m0",
      "name": "devs",
      "peers_count": 2,
      "issued": "api"
    }
  ],
  "destinations": [
    {
      "id": "ch8i4ug6lnn4g9hqv7m0",
      "name": "devs",
      "peers_count": 2,
      "issued": "api"
    }
  ]
}

Retrieve a Rule Deprecated

Get information about a rules. This will be deprecated in favour of /api/policies/{policyID}.

Path Parameters

  • Name
    ruleId
    Type
    string
    Required
    required
    Enum
    Description

    The unique identifier of a rule

Request

GET
/api/rules/{ruleId}
curl -X GET https://api.netbird.io/api/rules/{ruleId} \
-H 'Accept: application/json' \
-H 'Authorization: Token <TOKEN>' 

Response

{
  "id": "ch8i4ug6lnn4g9hqv7mg",
  "name": "Default",
  "description": "This is a default rule that allows connections between all the resources",
  "disabled": false,
  "flow": "bidirect",
  "sources": [
    {
      "id": "ch8i4ug6lnn4g9hqv7m0",
      "name": "devs",
      "peers_count": 2,
      "issued": "api"
    }
  ],
  "destinations": [
    {
      "id": "ch8i4ug6lnn4g9hqv7m0",
      "name": "devs",
      "peers_count": 2,
      "issued": "api"
    }
  ]
}

Update a Rule Deprecated

Update/Replace a rule. This will be deprecated in favour of /api/policies/{policyID}.

Path Parameters

  • Name
    ruleId
    Type
    string
    Required
    required
    Enum
    Description

    The unique identifier of a rule

Request-Body Parameters

  • Name
    name
    Type
    string
    Required
    required
    Enum
    Description

    Rule name identifier

  • Name
    description
    Type
    string
    Required
    required
    Enum
    Description

    Rule friendly description

  • Name
    disabled
    Type
    boolean
    Required
    required
    Enum
    Description

    Rules status

  • Name
    flow
    Type
    string
    Required
    required
    Enum
    Description

    Rule flow, currently, only "bidirect" for bi-directional traffic is accepted

  • Name
    sources
    Type
    string[]
    Required
    optional
    Enum
    Description

    List of source group IDs

  • Name
    destinations
    Type
    string[]
    Required
    optional
    Enum
    Description

    List of destination group IDs

Request

PUT
/api/rules/{ruleId}
curl -X PUT https://api.netbird.io/api/rules/{ruleId} \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Authorization: Token <TOKEN>' \
--data-raw '{
  "name": "Default",
  "description": "This is a default rule that allows connections between all the resources",
  "disabled": false,
  "flow": "bidirect",
  "sources": [
    "ch8i4ug6lnn4g9hqv7m1"
  ],
  "destinations": [
    "ch8i4ug6lnn4g9hqv7m0"
  ]
}'

Response

{
  "id": "ch8i4ug6lnn4g9hqv7mg",
  "name": "Default",
  "description": "This is a default rule that allows connections between all the resources",
  "disabled": false,
  "flow": "bidirect",
  "sources": [
    {
      "id": "ch8i4ug6lnn4g9hqv7m0",
      "name": "devs",
      "peers_count": 2,
      "issued": "api"
    }
  ],
  "destinations": [
    {
      "id": "ch8i4ug6lnn4g9hqv7m0",
      "name": "devs",
      "peers_count": 2,
      "issued": "api"
    }
  ]
}

Delete a Rule Deprecated

Delete a rule. This will be deprecated in favour of /api/policies/{policyID}.

Path Parameters

  • Name
    ruleId
    Type
    string
    Required
    required
    Enum
    Description

    The unique identifier of a rule

Request

DELETE
/api/rules/{ruleId}
curl -X DELETE https://api.netbird.io/api/rules/{ruleId} \
-H 'Authorization: Token <TOKEN>'