2024-02-20 09:59:56 +01:00
openapi : 3.1 .0
2023-05-26 15:32:52 +02:00
servers :
- url : https://api.netbird.io
description : Default server
2022-06-14 10:32:54 +02:00
info :
title : NetBird REST API
2023-03-13 15:14:18 +01:00
description : API to manipulate groups, rules, policies and retrieve information about peers and users
2022-06-14 10:32:54 +02:00
version : 0.0 .1
tags :
- name : Users
description : Interact with and view information about users.
2023-05-26 15:32:52 +02:00
- name : Tokens
description : Interact with and view information about tokens.
2022-06-14 10:32:54 +02:00
- name : Peers
description : Interact with and view information about peers.
- name : Setup Keys
description : Interact with and view information about setup keys.
- name : Groups
description : Interact with and view information about groups.
2023-03-13 15:14:18 +01:00
- name : Policies
description : Interact with and view information about policies.
2024-02-20 09:59:56 +01:00
- name : Posture Checks
description : Interact with and view information about posture checks.
2022-08-20 19:11:54 +02:00
- name : Routes
description : Interact with and view information about routes.
2022-10-10 11:06:54 +02:00
- name : DNS
description : Interact with and view information about DNS configuration.
2023-01-02 15:11:32 +01:00
- name : Events
description : View information about the account and network events.
2023-02-16 12:00:41 +01:00
- name : Accounts
description : View information about the accounts.
2022-06-14 10:32:54 +02:00
components :
schemas :
2023-02-16 12:00:41 +01:00
Account :
2023-06-02 01:09:18 +02:00
type : object
2023-02-16 12:00:41 +01:00
properties :
id :
description : Account ID
type : string
2023-05-26 15:32:52 +02:00
example : ch8i4ug6lnn4g9hqv7l0
2023-02-16 12:00:41 +01:00
settings :
$ref : '#/components/schemas/AccountSettings'
required :
- id
- settings
AccountSettings :
2023-06-02 01:09:18 +02:00
type : object
2023-02-16 12:00:41 +01:00
properties :
peer_login_expiration_enabled :
description : Enables or disables peer login expiration globally. After peer's login has expired the user has to log in (authenticate). Applies only to peers that were added by a user (interactive SSO login).
type : boolean
2023-05-26 15:32:52 +02:00
example : true
2023-02-16 12:00:41 +01:00
peer_login_expiration :
description : Period of time after which peer login expires (seconds).
type : integer
2023-05-26 15:32:52 +02:00
example : 43200
2024-03-27 16:11:45 +01:00
regular_users_view_blocked :
description : Allows blocking regular users from viewing parts of the system.
type : boolean
example : true
2023-08-07 17:44:51 +02:00
groups_propagation_enabled :
description : Allows propagate the new user auto groups to peers that belongs to the user
type : boolean
example : true
2023-06-27 16:51:05 +02:00
jwt_groups_enabled :
description : Allows extract groups from JWT claim and add it to account groups.
type : boolean
example : true
jwt_groups_claim_name :
description : Name of the claim from which we extract groups names to add it to account groups.
type : string
example : "roles"
2023-12-11 16:59:15 +01:00
jwt_allow_groups :
description : List of groups to which users are allowed access
type : array
items :
type : string
example : Administrators
2023-11-28 11:44:08 +01:00
extra :
$ref : '#/components/schemas/AccountExtraSettings'
2023-02-16 12:00:41 +01:00
required :
- peer_login_expiration_enabled
- peer_login_expiration
2024-03-27 16:11:45 +01:00
- regular_users_view_blocked
2023-11-28 11:44:08 +01:00
AccountExtraSettings :
type : object
properties :
peer_approval_enabled :
2023-12-04 19:02:16 +01:00
description : (Cloud only) Enables or disables peer approval globally. If enabled, all peers added will be in pending state until approved by an admin.
2023-11-28 11:44:08 +01:00
type : boolean
example : true
2023-06-02 01:09:18 +02:00
AccountRequest :
type : object
properties :
settings :
$ref : '#/components/schemas/AccountSettings'
required :
- settings
2022-06-14 10:32:54 +02:00
User :
type : object
properties :
id :
description : User ID
type : string
2023-05-26 15:32:52 +02:00
example : google-oauth2|277474792786460067937
2022-06-14 10:32:54 +02:00
email :
description : User's email address
type : string
2023-05-26 15:32:52 +02:00
example : demo@netbird.io
2022-06-14 10:32:54 +02:00
name :
description : User's name from idp provider
type : string
2023-05-26 15:32:52 +02:00
example : Tom Schulz
2022-06-14 10:32:54 +02:00
role :
2022-09-22 09:06:32 +02:00
description : User's NetBird account role
2022-06-14 10:32:54 +02:00
type : string
2023-05-26 15:32:52 +02:00
example : admin
2022-10-13 18:26:31 +02:00
status :
description : User's status
type : string
2023-05-11 18:09:36 +02:00
enum : [ "active" , "invited" , "blocked" ]
2023-05-26 15:32:52 +02:00
example : active
2023-08-18 19:23:11 +02:00
last_login :
description : Last time this user performed a login to the dashboard
type : string
format : date-time
2024-02-29 13:09:43 +01:00
example : "2023-05-05T09:00:35.477782Z"
2022-09-22 09:06:32 +02:00
auto_groups :
2023-12-08 11:39:33 +01:00
description : Group IDs to auto-assign to peers registered by this user
2022-09-22 09:06:32 +02:00
type : array
items :
type : string
2023-12-08 11:39:33 +01:00
example : ch8i4ug6lnn4g9hqv7m0
2023-02-03 21:47:20 +01:00
is_current :
description : Is true if authenticated user is the same as this user
type : boolean
readOnly : true
2023-05-26 15:32:52 +02:00
example : true
2023-04-22 12:57:51 +02:00
is_service_user :
description : Is true if this user is a service user
type : boolean
readOnly : true
2023-05-26 15:32:52 +02:00
example : false
2023-05-11 18:09:36 +02:00
is_blocked :
description : Is true if this user is blocked. Blocked users can't use the system
type : boolean
2023-05-26 15:32:52 +02:00
example : false
2023-11-01 11:04:17 +01:00
issued :
description : How user was issued by API or Integration
type : string
example : api
2024-03-27 16:11:45 +01:00
permissions :
$ref : '#/components/schemas/UserPermissions'
2022-06-14 10:32:54 +02:00
required :
2023-01-02 15:11:32 +01:00
- id
- email
- name
- role
- auto_groups
- status
2023-05-11 18:09:36 +02:00
- is_blocked
2024-03-27 16:11:45 +01:00
UserPermissions :
type : object
properties :
dashboard_view :
description : User's permission to view the dashboard
type : string
enum : [ "limited" , "blocked" , "full" ]
example : limited
2022-09-22 09:06:32 +02:00
UserRequest :
type : object
properties :
2022-09-23 14:18:42 +02:00
role :
description : User's NetBird account role
type : string
2023-05-26 15:32:52 +02:00
example : admin
2022-09-22 09:06:32 +02:00
auto_groups :
2023-12-08 11:39:33 +01:00
description : Group IDs to auto-assign to peers registered by this user
2022-09-22 09:06:32 +02:00
type : array
items :
type : string
2023-12-08 11:39:33 +01:00
example : ch8i4ug6lnn4g9hqv7m0
2023-05-11 18:09:36 +02:00
is_blocked :
description : If set to true then user is blocked and can't use the system
type : boolean
2023-05-26 15:32:52 +02:00
example : false
2022-09-22 09:06:32 +02:00
required :
2022-09-23 14:18:42 +02:00
- role
2022-09-22 09:06:32 +02:00
- auto_groups
2023-05-11 18:09:36 +02:00
- is_blocked
2022-10-13 18:26:31 +02:00
UserCreateRequest :
type : object
properties :
email :
description : User's Email to send invite to
type : string
2023-05-26 15:32:52 +02:00
example : demo@netbird.io
2022-10-13 18:26:31 +02:00
name :
description : User's full name
type : string
2023-05-26 15:32:52 +02:00
example : Tom Schulz
2023-05-03 00:15:25 +02:00
role :
description : User's NetBird account role
type : string
2023-05-26 15:32:52 +02:00
example : admin
2022-10-13 18:26:31 +02:00
auto_groups :
2023-12-08 11:39:33 +01:00
description : Group IDs to auto-assign to peers registered by this user
2022-10-13 18:26:31 +02:00
type : array
items :
type : string
2023-12-08 11:39:33 +01:00
example : ch8i4ug6lnn4g9hqv7m0
2023-04-22 12:57:51 +02:00
is_service_user :
description : Is true if this user is a service user
type : boolean
2023-05-26 15:32:52 +02:00
example : false
2022-10-13 18:26:31 +02:00
required :
- role
- auto_groups
2023-04-22 12:57:51 +02:00
- is_service_user
2022-06-14 10:32:54 +02:00
PeerMinimum :
type : object
properties :
id :
description : Peer ID
type : string
2023-05-26 15:32:52 +02:00
example : chacbco6lnnbn6cg5s90
2022-06-14 10:32:54 +02:00
name :
description : Peer's hostname
type : string
2023-05-26 15:32:52 +02:00
example : stage-host-1
2022-06-14 10:32:54 +02:00
required :
2023-01-02 15:11:32 +01:00
- id
- name
2023-05-26 15:32:52 +02:00
PeerRequest :
type : object
properties :
name :
type : string
example : stage-host-1
ssh_enabled :
type : boolean
example : true
login_expiration_enabled :
type : boolean
example : false
2023-11-28 11:44:08 +01:00
approval_required :
description : (Cloud only) Indicates whether peer needs approval
type : boolean
example : true
2023-05-26 15:32:52 +02:00
required :
- name
- ssh_enabled
- login_expiration_enabled
2024-09-12 15:19:27 +02:00
Peer :
2022-06-14 10:32:54 +02:00
allOf :
- $ref : '#/components/schemas/PeerMinimum'
- type : object
properties :
ip :
description : Peer's IP address
type : string
2023-05-26 15:32:52 +02:00
example : 10.64 .0 .1
2024-02-20 09:59:56 +01:00
connection_ip :
description : Peer's public connection IP address
type : string
example : 35.64 .0 .1
2022-06-14 10:32:54 +02:00
connected :
description : Peer to Management connection status
type : boolean
2023-05-26 15:32:52 +02:00
example : true
2022-06-14 10:32:54 +02:00
last_seen :
description : Last time peer connected to Netbird's management service
type : string
format : date-time
2024-02-29 13:09:43 +01:00
example : "2023-05-05T10:05:26.420578Z"
2022-06-14 10:32:54 +02:00
os :
description : Peer's operating system and version
type : string
2023-05-26 15:32:52 +02:00
example : Darwin 13.2.1
2024-02-20 09:59:56 +01:00
kernel_version :
description : Peer's operating system kernel version
type : string
example : 23.2 .0
geoname_id :
description : Unique identifier from the GeoNames database for a specific geographical location.
type : integer
example : 2643743
2022-06-14 10:32:54 +02:00
version :
description : Peer's daemon or cli version
type : string
2023-05-26 15:32:52 +02:00
example : 0.14 .0
2022-06-14 10:32:54 +02:00
groups :
description : Groups that the peer belongs to
type : array
items :
$ref : '#/components/schemas/GroupMinimum'
2022-06-23 17:04:53 +02:00
ssh_enabled :
description : Indicates whether SSH server is enabled on this peer
type : boolean
2023-05-26 15:32:52 +02:00
example : true
2022-09-26 18:02:45 +02:00
user_id :
description : User ID of the user that enrolled this peer
type : string
2023-05-26 15:32:52 +02:00
example : google-oauth2|277474792786460067937
2022-09-26 18:02:45 +02:00
hostname :
description : Hostname of the machine
type : string
2023-05-26 15:32:52 +02:00
example : stage-host-1
2022-09-26 18:02:45 +02:00
ui_version :
description : Peer's desktop UI version
type : string
2023-05-26 15:32:52 +02:00
example : 0.14 .0
2022-11-07 15:38:21 +01:00
dns_label :
description : Peer's DNS label is the parsed peer name for domain resolution. It is used to form an FQDN by appending the account's domain to the peer label. e.g. peer-dns-label.netbird.cloud
type : string
2023-05-26 15:32:52 +02:00
example : stage-host-1.netbird.cloud
2023-02-14 10:14:00 +01:00
login_expiration_enabled :
description : Indicates whether peer login expiration has been enabled or not
type : boolean
2023-05-26 15:32:52 +02:00
example : false
2023-02-14 10:14:00 +01:00
login_expired :
description : Indicates whether peer's login expired or not
type : boolean
2023-05-26 15:32:52 +02:00
example : false
2023-02-14 10:14:00 +01:00
last_login :
description : Last time this peer performed log in (authentication). E.g., user authenticated.
type : string
format : date-time
2024-02-29 13:09:43 +01:00
example : "2023-05-05T09:00:35.477782Z"
2023-11-28 11:44:08 +01:00
approval_required :
description : (Cloud only) Indicates whether peer needs approval
type : boolean
example : true
2024-02-20 09:59:56 +01:00
country_code :
$ref : '#/components/schemas/CountryCode'
city_name :
$ref : '#/components/schemas/CityName'
2024-05-06 14:49:03 +02:00
serial_number :
description : System serial number
type : string
example : "C02XJ0J0JGH7"
2022-06-14 10:32:54 +02:00
required :
2024-02-21 15:06:42 +01:00
- city_name
2023-01-02 15:11:32 +01:00
- connected
2024-02-21 15:06:42 +01:00
- connection_ip
- country_code
- dns_label
- geoname_id
2023-01-02 15:11:32 +01:00
- groups
- hostname
2024-02-21 15:06:42 +01:00
- ip
- kernel_version
- last_login
- last_seen
2023-02-14 10:14:00 +01:00
- login_expiration_enabled
- login_expired
2024-02-21 15:06:42 +01:00
- os
- ssh_enabled
- user_id
- version
- ui_version
2024-03-27 18:48:48 +01:00
- approval_required
2024-05-06 14:49:03 +02:00
- serial_number
2023-11-07 14:38:36 +01:00
AccessiblePeer :
allOf :
- $ref : '#/components/schemas/PeerMinimum'
- type : object
properties :
ip :
description : Peer's IP address
type : string
example : 10.64 .0 .1
dns_label :
description : Peer's DNS label is the parsed peer name for domain resolution. It is used to form an FQDN by appending the account's domain to the peer label. e.g. peer-dns-label.netbird.cloud
type : string
example : stage-host-1.netbird.cloud
user_id :
description : User ID of the user that enrolled this peer
type : string
example : google-oauth2|277474792786460067937
2024-09-12 15:19:27 +02:00
os :
description : Peer's operating system and version
type : string
example : linux
country_code :
$ref : '#/components/schemas/CountryCode'
city_name :
$ref : '#/components/schemas/CityName'
geoname_id :
description : Unique identifier from the GeoNames database for a specific geographical location.
type : integer
example : 2643743
connected :
description : Peer to Management connection status
type : boolean
example : true
last_seen :
description : Last time peer connected to Netbird's management service
type : string
format : date-time
example : "2023-05-05T10:05:26.420578Z"
2023-11-07 14:38:36 +01:00
required :
- ip
- dns_label
- user_id
2024-09-12 15:19:27 +02:00
- os
- country_code
- city_name
- geoname_id
- connected
- last_seen
2023-11-07 14:38:36 +01:00
PeerBatch :
allOf :
2024-09-12 15:19:27 +02:00
- $ref : '#/components/schemas/Peer'
2023-11-07 14:38:36 +01:00
- type : object
properties :
accessible_peers_count :
description : Number of accessible peers
type : integer
example : 5
required :
- accessible_peers_count
2022-06-14 10:32:54 +02:00
SetupKey :
type : object
properties :
id :
description : Setup Key ID
type : string
2023-05-26 15:32:52 +02:00
example : 2531583362
2022-06-14 10:32:54 +02:00
key :
description : Setup Key value
type : string
2023-05-26 15:32:52 +02:00
example : A616097E-FCF0-48FA-9354-CA4A61142761
2022-06-14 10:32:54 +02:00
name :
description : Setup key name identifier
type : string
2023-05-26 15:32:52 +02:00
example : Default key
2022-06-14 10:32:54 +02:00
expires :
description : Setup Key expiration date
type : string
format : date-time
2024-02-29 13:09:43 +01:00
example : "2023-06-01T14:47:22.291057Z"
2022-06-14 10:32:54 +02:00
type :
description : Setup key type, one-off for single time usage and reusable
type : string
2023-05-26 15:32:52 +02:00
example : reusable
2022-06-14 10:32:54 +02:00
valid :
description : Setup key validity status
type : boolean
2023-05-26 15:32:52 +02:00
example : true
2022-06-14 10:32:54 +02:00
revoked :
description : Setup key revocation status
type : boolean
2023-05-26 15:32:52 +02:00
example : false
2022-06-14 10:32:54 +02:00
used_times :
description : Usage count of setup key
type : integer
2023-05-26 15:32:52 +02:00
example : 2
2022-06-14 10:32:54 +02:00
last_used :
description : Setup key last usage date
type : string
format : date-time
2024-02-29 13:09:43 +01:00
example : "2023-05-05T09:00:35.477782Z"
2022-06-14 10:32:54 +02:00
state :
description : Setup key status, "valid", "overused","expired" or "revoked"
type : string
2023-05-26 15:32:52 +02:00
example : valid
2022-09-11 23:16:40 +02:00
auto_groups :
2023-08-02 17:50:00 +02:00
description : List of group IDs to auto-assign to peers registered with this key
2022-09-11 23:16:40 +02:00
type : array
items :
type : string
2023-12-08 11:39:33 +01:00
example : "ch8i4ug6lnn4g9hqv7m0"
2022-09-11 23:16:40 +02:00
updated_at :
description : Setup key last update date
type : string
format : date-time
2024-02-29 13:09:43 +01:00
example : "2023-05-05T09:00:35.477782Z"
2022-12-05 13:09:59 +01:00
usage_limit :
description : A number of times this key can be used. The value of 0 indicates the unlimited usage.
type : integer
2023-05-26 15:32:52 +02:00
example : 0
2023-09-04 11:37:39 +02:00
ephemeral :
description : Indicate that the peer will be ephemeral or not
type : boolean
example : true
2022-06-14 10:32:54 +02:00
required :
2023-01-02 15:11:32 +01:00
- id
- key
- name
- expires
- type
- valid
- revoked
- used_times
- last_used
- state
- auto_groups
- updated_at
- usage_limit
2023-09-04 11:37:39 +02:00
- ephemeral
2022-06-14 10:32:54 +02:00
SetupKeyRequest :
type : object
properties :
name :
description : Setup Key name
type : string
2023-05-26 15:32:52 +02:00
example : Default key
2022-06-14 10:32:54 +02:00
type :
description : Setup key type, one-off for single time usage and reusable
type : string
2023-05-26 15:32:52 +02:00
example : reusable
2022-06-14 10:32:54 +02:00
expires_in :
description : Expiration time in seconds
type : integer
2023-08-04 23:54:51 +02:00
minimum : 86400
maximum : 31536000
example : 86400
2022-06-14 10:32:54 +02:00
revoked :
description : Setup key revocation status
type : boolean
2023-05-26 15:32:52 +02:00
example : false
2022-09-11 23:16:40 +02:00
auto_groups :
2023-08-02 17:50:00 +02:00
description : List of group IDs to auto-assign to peers registered with this key
2022-09-11 23:16:40 +02:00
type : array
items :
type : string
2023-12-08 11:39:33 +01:00
example : "ch8i4ug6lnn4g9hqv7m0"
2022-12-05 13:09:59 +01:00
usage_limit :
description : A number of times this key can be used. The value of 0 indicates the unlimited usage.
type : integer
2023-05-26 15:32:52 +02:00
example : 0
2023-09-04 11:37:39 +02:00
ephemeral :
description : Indicate that the peer will be ephemeral or not
type : boolean
example : true
2022-06-14 10:32:54 +02:00
required :
- name
- type
- expires_in
- revoked
2022-09-11 23:16:40 +02:00
- auto_groups
2022-12-05 13:09:59 +01:00
- usage_limit
2024-08-01 17:13:58 +02:00
CreateSetupKeyRequest :
type : object
properties :
name :
description : Setup Key name
type : string
example : Default key
type :
description : Setup key type, one-off for single time usage and reusable
type : string
example : reusable
expires_in :
description : Expiration time in seconds
type : integer
minimum : 86400
maximum : 31536000
example : 86400
auto_groups :
description : List of group IDs to auto-assign to peers registered with this key
type : array
items :
type : string
example : "ch8i4ug6lnn4g9hqv7m0"
usage_limit :
description : A number of times this key can be used. The value of 0 indicates the unlimited usage.
type : integer
example : 0
ephemeral :
description : Indicate that the peer will be ephemeral or not
type : boolean
example : true
required :
- name
- type
- expires_in
- auto_groups
- usage_limit
2023-03-21 16:02:19 +01:00
PersonalAccessToken :
type : object
properties :
id :
description : ID of a token
type : string
2023-05-26 15:32:52 +02:00
example : ch8i54g6lnn4g9hqv7n0
2023-03-27 16:28:49 +02:00
name :
description : Name of the token
2023-03-21 16:02:19 +01:00
type : string
2023-05-26 15:32:52 +02:00
example : My first token
2023-03-21 16:02:19 +01:00
expiration_date :
description : Date the token expires
type : string
format : date-time
2024-02-29 13:09:43 +01:00
example : "2023-05-05T14:38:28.977616Z"
2023-03-21 16:02:19 +01:00
created_by :
description : User ID of the user who created the token
type : string
2023-05-26 15:32:52 +02:00
example : google-oauth2|277474792786460067937
2023-03-21 16:02:19 +01:00
created_at :
description : Date the token was created
type : string
format : date-time
2024-02-29 13:09:43 +01:00
example : "2023-05-02T14:48:20.465209Z"
2023-03-21 16:02:19 +01:00
last_used :
description : Date the token was last used
type : string
format : date-time
2024-02-29 13:09:43 +01:00
example : "2023-05-04T12:45:25.9723616Z"
2023-03-21 16:02:19 +01:00
required :
- id
2023-03-27 16:28:49 +02:00
- name
2023-03-21 16:02:19 +01:00
- expiration_date
- created_by
- created_at
2023-03-28 14:47:15 +02:00
PersonalAccessTokenGenerated :
type : object
properties :
plain_token :
description : Plain text representation of the generated token
type : string
2023-05-26 15:32:52 +02:00
example : 2023-05-02T14:48:20.465209Z
2023-03-28 14:47:15 +02:00
personal_access_token :
$ref : '#/components/schemas/PersonalAccessToken'
required :
- plain_token
- personal_access_token
2023-03-21 16:02:19 +01:00
PersonalAccessTokenRequest :
type : object
properties :
2023-03-27 16:28:49 +02:00
name :
description : Name of the token
2023-03-21 16:02:19 +01:00
type : string
2023-05-26 15:32:52 +02:00
example : My first token
2023-03-21 16:02:19 +01:00
expires_in :
description : Expiration in days
type : integer
2023-05-03 00:15:25 +02:00
minimum : 1
maximum : 365
2023-05-26 15:32:52 +02:00
example : 30
2023-03-21 16:02:19 +01:00
required :
2023-03-27 16:28:49 +02:00
- name
2023-03-21 16:02:19 +01:00
- expires_in
2022-06-14 10:32:54 +02:00
GroupMinimum :
type : object
properties :
id :
description : Group ID
type : string
2023-05-26 15:32:52 +02:00
example : ch8i4ug6lnn4g9hqv7m0
2022-06-14 10:32:54 +02:00
name :
description : Group Name identifier
type : string
2023-05-26 15:32:52 +02:00
example : devs
2022-06-14 10:32:54 +02:00
peers_count :
description : Count of peers associated to the group
type : integer
2023-05-26 15:32:52 +02:00
example : 2
2023-06-27 16:51:05 +02:00
issued :
2024-03-17 11:13:39 +01:00
description : How the group was issued (api, integration, jwt)
type : string
enum : [ "api" , "integration" , "jwt" ]
example : api
2022-06-14 10:32:54 +02:00
required :
2023-01-02 15:11:32 +01:00
- id
- name
- peers_count
2023-05-26 15:32:52 +02:00
GroupRequest :
type : object
properties :
name :
type : string
description : Group name identifier
example : devs
peers :
type : array
description : List of peers ids
items :
type : string
2023-06-02 01:50:15 +02:00
example : "ch8i4ug6lnn4g9hqv7m1"
2023-05-26 15:32:52 +02:00
required :
- name
2022-06-14 10:32:54 +02:00
Group :
allOf :
- $ref : '#/components/schemas/GroupMinimum'
- type : object
properties :
peers :
description : List of peers object
type : array
items :
$ref : '#/components/schemas/PeerMinimum'
required :
2023-01-02 15:11:32 +01:00
- peers
2023-05-29 16:00:18 +02:00
PolicyRuleMinimum :
2023-03-13 15:14:18 +01:00
type : object
properties :
id :
2023-05-29 16:00:18 +02:00
description : Policy rule ID
2023-03-13 15:14:18 +01:00
type : string
2023-05-26 15:32:52 +02:00
example : ch8i4ug6lnn4g9hqv7mg
2023-03-13 15:14:18 +01:00
name :
2023-05-29 16:00:18 +02:00
description : Policy rule name identifier
2023-03-13 15:14:18 +01:00
type : string
2023-05-26 15:32:52 +02:00
example : Default
2023-03-13 15:14:18 +01:00
description :
2023-05-29 16:00:18 +02:00
description : Policy rule friendly description
2023-03-13 15:14:18 +01:00
type : string
2023-05-26 15:32:52 +02:00
example : This is a default rule that allows connections between all the resources
2023-03-13 15:14:18 +01:00
enabled :
2023-05-29 16:00:18 +02:00
description : Policy rule status
2023-03-13 15:14:18 +01:00
type : boolean
2023-06-02 01:50:15 +02:00
example : true
2023-03-13 15:14:18 +01:00
action :
2023-05-29 16:00:18 +02:00
description : Policy rule accept or drops packets
2023-03-13 15:14:18 +01:00
type : string
enum : [ "accept" , "drop" ]
2023-06-02 01:50:15 +02:00
example : "accept"
2023-05-29 16:00:18 +02:00
bidirectional :
description : Define if the rule is applicable in both directions, sources, and destinations.
type : boolean
example : true
protocol :
description : Policy rule type of the traffic
type : string
enum : [ "all" , "tcp" , "udp" , "icmp" ]
example : "tcp"
ports :
description : Policy rule affected ports or it ranges list
type : array
items :
type : string
2023-06-02 01:50:15 +02:00
example : "80"
2023-03-13 15:14:18 +01:00
required :
- name
- enabled
2023-05-29 16:00:18 +02:00
- bidirectional
- protocol
- action
PolicyRuleUpdate :
allOf :
- $ref : '#/components/schemas/PolicyRuleMinimum'
- type : object
properties :
sources :
2023-12-08 11:39:33 +01:00
description : Policy rule source group IDs
2023-05-29 16:00:18 +02:00
type : array
items :
type : string
2023-06-02 01:50:15 +02:00
example : "ch8i4ug6lnn4g9hqv797"
2023-05-29 16:00:18 +02:00
destinations :
2023-12-08 11:39:33 +01:00
description : Policy rule destination group IDs
2023-05-29 16:00:18 +02:00
type : array
items :
type : string
2023-06-02 01:50:15 +02:00
example : "ch8i4ug6lnn4g9h7v7m0"
2023-05-29 16:00:18 +02:00
required :
- sources
- destinations
PolicyRule :
allOf :
- $ref : '#/components/schemas/PolicyRuleMinimum'
- type : object
properties :
sources :
2023-12-08 11:39:33 +01:00
description : Policy rule source group IDs
2023-05-29 16:00:18 +02:00
type : array
items :
$ref : '#/components/schemas/GroupMinimum'
destinations :
2023-12-08 11:39:33 +01:00
description : Policy rule destination group IDs
2023-05-29 16:00:18 +02:00
type : array
items :
$ref : '#/components/schemas/GroupMinimum'
required :
- sources
- destinations
2023-03-13 15:14:18 +01:00
PolicyMinimum :
type : object
properties :
2023-05-29 16:00:18 +02:00
id :
description : Policy ID
type : string
2023-06-02 01:50:15 +02:00
example : ch8i4ug6lnn4g9hqv7mg
2023-03-13 15:14:18 +01:00
name :
description : Policy name identifier
type : string
2023-05-26 15:32:52 +02:00
example : ch8i4ug6lnn4g9hqv7mg
2023-03-13 15:14:18 +01:00
description :
description : Policy friendly description
type : string
2023-05-26 15:32:52 +02:00
example : This is a default policy that allows connections between all the resources
2023-03-13 15:14:18 +01:00
enabled :
description : Policy status
type : boolean
2023-05-26 15:32:52 +02:00
example : true
2023-03-13 15:14:18 +01:00
required :
- name
- description
- enabled
2023-05-29 16:00:18 +02:00
PolicyUpdate :
allOf :
- $ref : '#/components/schemas/PolicyMinimum'
- type : object
properties :
2024-02-20 09:59:56 +01:00
source_posture_checks :
description : Posture checks ID's applied to policy source groups
type : array
items :
type : string
example : "chacdk86lnnboviihd70"
2023-05-29 16:00:18 +02:00
rules :
description : Policy rule object for policy UI editor
type : array
items :
$ref : '#/components/schemas/PolicyRuleUpdate'
required :
- rules
2023-03-13 15:14:18 +01:00
Policy :
allOf :
- $ref : '#/components/schemas/PolicyMinimum'
- type : object
properties :
2024-02-20 09:59:56 +01:00
source_posture_checks :
description : Posture checks ID's applied to policy source groups
type : array
items :
type : string
example : "chacdk86lnnboviihd70"
2023-05-29 16:00:18 +02:00
rules :
description : Policy rule object for policy UI editor
type : array
items :
$ref : '#/components/schemas/PolicyRule'
2023-03-13 15:14:18 +01:00
required :
2023-05-29 16:00:18 +02:00
- rules
2024-02-20 09:59:56 +01:00
- source_posture_checks
PostureCheck :
type : object
properties :
id :
description : Posture check ID
type : string
example : ch8i4ug6lnn4g9hqv7mg
name :
description : Posture check unique name identifier
type : string
example : Default
description :
description : Posture check friendly description
type : string
example : This checks if the peer is running required NetBird's version
checks :
$ref : '#/components/schemas/Checks'
required :
- id
- name
- checks
Checks :
description : List of objects that perform the actual checks
type : object
properties :
nb_version_check :
$ref : '#/components/schemas/NBVersionCheck'
os_version_check :
$ref : '#/components/schemas/OSVersionCheck'
geo_location_check :
$ref : '#/components/schemas/GeoLocationCheck'
2024-02-27 11:59:48 +01:00
peer_network_range_check :
$ref : '#/components/schemas/PeerNetworkRangeCheck'
2024-06-13 13:24:24 +02:00
process_check :
$ref : '#/components/schemas/ProcessCheck'
2024-02-20 09:59:56 +01:00
NBVersionCheck :
description : Posture check for the version of NetBird
type : object
$ref : '#/components/schemas/MinVersionCheck'
OSVersionCheck :
description : Posture check for the version of operating system
type : object
properties :
android :
description : Minimum version of Android
$ref : '#/components/schemas/MinVersionCheck'
darwin :
$ref : '#/components/schemas/MinVersionCheck'
ios :
description : Minimum version of iOS
$ref : '#/components/schemas/MinVersionCheck'
linux :
description : Minimum Linux kernel version
$ref : '#/components/schemas/MinKernelVersionCheck'
windows :
description : Minimum Windows kernel build version
$ref : '#/components/schemas/MinKernelVersionCheck'
example :
android :
min_version : "13"
ios :
min_version : "17.3.1"
darwin :
min_version : "14.2.1"
linux :
min_kernel_version : "5.3.3"
windows :
min_kernel_version : "10.0.1234"
MinVersionCheck :
description : Posture check for the version of operating system
type : object
properties :
min_version :
description : Minimum acceptable version
type : string
example : "14.3"
required :
- min_version
MinKernelVersionCheck :
description : Posture check with the kernel version
type : object
properties :
min_kernel_version :
description : Minimum acceptable version
type : string
example : "6.6.12"
required :
- min_kernel_version
GeoLocationCheck :
description : Posture check for geo location
type : object
properties :
locations :
description : List of geo locations to which the policy applies
type : array
items :
$ref : '#/components/schemas/Location'
action :
description : Action to take upon policy match
type : string
enum : [ "allow" , "deny" ]
example : "allow"
required :
- locations
- action
2024-02-27 11:59:48 +01:00
PeerNetworkRangeCheck :
description : Posture check for allow or deny access based on peer local network addresses
2024-02-22 17:22:43 +01:00
type : object
properties :
ranges :
2024-02-27 11:59:48 +01:00
description : List of peer network ranges in CIDR notation
2024-02-22 17:22:43 +01:00
type : array
items :
type : string
2024-09-23 10:02:03 +02:00
example : [ "192.168.1.0/24" , "10.0.0.0/8" , "2001:db8:1234:1a00::/56" ]
2024-02-22 17:22:43 +01:00
action :
description : Action to take upon policy match
type : string
enum : [ "allow" , "deny" ]
example : "allow"
required :
- ranges
- action
2024-06-13 13:24:24 +02:00
ProcessCheck :
description : Posture Check for binaries exist and are running in the peer’ s system
type : object
properties :
processes :
type : array
items :
$ref : '#/components/schemas/Process'
required :
- processes
Process :
description : Describes the operational activity within a peer's system.
type : object
properties :
linux_path :
description : Path to the process executable file in a Linux operating system
type : string
example : "/usr/local/bin/netbird"
mac_path :
description : Path to the process executable file in a Mac operating system
type : string
example : "/Applications/NetBird.app/Contents/MacOS/netbird"
windows_path :
description : Path to the process executable file in a Windows operating system
type : string
example : "C:\ProgramData\NetBird\netbird.exe"
2024-02-20 09:59:56 +01:00
Location :
description : Describe geographical location information
type : object
properties :
country_code :
$ref : '#/components/schemas/CountryCode'
city_name :
$ref : '#/components/schemas/CityName'
required :
- country_code
CountryCode :
description : 2 -letter ISO 3166-1 alpha-2 code that represents the country
type : string
example : "DE"
CityName :
description : Commonly used English name of the city
type : string
example : "Berlin"
Country :
description : Describe country geographical location information
type : object
properties :
country_name :
description : Commonly used English name of the country
type : string
example : "Germany"
country_code :
2024-02-29 13:09:43 +01:00
$ref : '#/components/schemas/CountryCode'
2024-02-20 09:59:56 +01:00
required :
- country_name
- country_code
City :
description : Describe city geographical location information
type : object
properties :
geoname_id :
description : Integer ID of the record in GeoNames database
type : integer
example : 2950158
city_name :
description : Commonly used English name of the city
type : string
example : "Berlin"
required :
- geoname_id
- city_name
PostureCheckUpdate :
type : object
properties :
name :
description : Posture check name identifier
type : string
example : Default
description :
description : Posture check friendly description
type : string
example : This checks if the peer is running required NetBird's version
checks :
$ref : '#/components/schemas/Checks'
required :
- name
- description
2022-08-20 19:11:54 +02:00
RouteRequest :
2022-06-14 10:32:54 +02:00
type : object
properties :
2022-08-20 19:11:54 +02:00
description :
description : Route description
2022-06-14 10:32:54 +02:00
type : string
2023-05-26 15:32:52 +02:00
example : My first route
2022-08-22 14:10:24 +02:00
network_id :
description : Route network identifier, to group HA routes
type : string
maxLength : 40
minLength : 1
2023-05-26 15:32:52 +02:00
example : Route 1
2022-08-20 19:11:54 +02:00
enabled :
description : Route status
type : boolean
2023-05-26 15:32:52 +02:00
example : true
2022-08-20 19:11:54 +02:00
peer :
2023-09-28 14:32:36 +02:00
description : Peer Identifier associated with route. This property can not be set together with `peer_groups`
2022-06-14 10:32:54 +02:00
type : string
2023-05-26 15:32:52 +02:00
example : chacbco6lnnbn6cg5s91
2023-09-28 14:32:36 +02:00
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
2022-08-22 14:10:24 +02:00
network :
2024-06-13 13:24:24 +02:00
description : Network range in CIDR format, Conflicts with domains
2022-08-20 19:11:54 +02:00
type : string
2023-05-26 15:32:52 +02:00
example : 10.64 .0 .0 /24
2024-06-13 13:24:24 +02:00
domains :
2024-09-02 17:40:34 +02:00
description : Domain list to be dynamically resolved. Max of 32 domains can be added per route configuration. Conflicts with network
2024-06-13 13:24:24 +02:00
type : array
items :
type : string
minLength : 1
2024-09-02 17:40:34 +02:00
maxLength : 32
2024-06-13 13:24:24 +02:00
example : "example.com"
2022-08-20 19:11:54 +02:00
metric :
description : Route metric number. Lowest number has higher priority
type : integer
maximum : 9999
minimum : 1
2023-05-26 15:32:52 +02:00
example : 9999
2022-08-20 19:11:54 +02:00
masquerade :
description : Indicate if peer should masquerade traffic to this route's prefix
type : boolean
2023-05-26 15:32:52 +02:00
example : true
2022-12-06 10:11:57 +01:00
groups :
2023-12-08 11:39:33 +01:00
description : Group IDs containing routing peers
2022-12-06 10:11:57 +01:00
type : array
items :
type : string
2023-05-26 15:32:52 +02:00
example : "chacdk86lnnboviihd70"
2024-06-13 13:24:24 +02:00
keep_route :
description : Indicate if the route should be kept after a domain doesn't resolve that IP anymore
type : boolean
example : true
2022-06-14 10:32:54 +02:00
required :
2022-08-20 19:11:54 +02:00
- id
- description
2022-08-22 14:10:24 +02:00
- network_id
2022-08-20 19:11:54 +02:00
- enabled
2023-09-28 14:32:36 +02:00
# Only one property has to be set
#- peer
#- peer_groups
2024-06-13 13:24:24 +02:00
# Only one property has to be set
#- network
#- domains
2022-08-20 19:11:54 +02:00
- metric
- masquerade
2022-12-06 10:11:57 +01:00
- groups
2024-06-13 13:24:24 +02:00
- keep_route
2022-08-20 19:11:54 +02:00
Route :
allOf :
- type : object
properties :
id :
description : Route Id
type : string
2023-05-26 15:32:52 +02:00
example : chacdk86lnnboviihd7g
2022-08-22 14:10:24 +02:00
network_type :
2024-06-13 13:24:24 +02:00
description : Network type indicating if it is a domain route or a IPv4/IPv6 route
2022-08-20 19:11:54 +02:00
type : string
2023-05-26 15:32:52 +02:00
example : IPv4
2022-08-20 19:11:54 +02:00
required :
- id
2022-08-22 14:10:24 +02:00
- network_type
2022-08-20 19:11:54 +02:00
- $ref : '#/components/schemas/RouteRequest'
2022-10-10 11:06:54 +02:00
Nameserver :
type : object
properties :
ip :
description : Nameserver IP
type : string
2023-05-26 15:32:52 +02:00
example : 8.8 .8 .8
2022-10-10 11:06:54 +02:00
ns_type :
description : Nameserver Type
type : string
2023-01-02 15:11:32 +01:00
enum : [ "udp" ]
2023-05-26 15:32:52 +02:00
example : udp
2022-10-10 11:06:54 +02:00
port :
description : Nameserver Port
type : integer
2023-05-26 15:32:52 +02:00
example : 53
2022-10-10 11:06:54 +02:00
required :
- ip
- ns_type
- port
NameserverGroupRequest :
type : object
properties :
name :
2023-12-08 11:39:33 +01:00
description : Name of nameserver group name
2022-10-10 11:06:54 +02:00
type : string
maxLength : 40
minLength : 1
2023-05-26 15:32:52 +02:00
example : Google DNS
2022-10-10 11:06:54 +02:00
description :
2023-12-08 11:39:33 +01:00
description : Description of the nameserver group
2022-10-10 11:06:54 +02:00
type : string
2023-05-26 15:32:52 +02:00
example : Google DNS servers
2022-10-10 11:06:54 +02:00
nameservers :
2023-12-08 11:39:33 +01:00
description : Nameserver list
2022-10-10 11:06:54 +02:00
minLength : 1
2024-02-19 14:29:20 +01:00
maxLength : 3
2022-10-10 11:06:54 +02:00
type : array
items :
$ref : '#/components/schemas/Nameserver'
enabled :
description : Nameserver group status
type : boolean
2023-05-26 15:32:52 +02:00
example : true
2022-10-10 11:06:54 +02:00
groups :
2023-12-08 11:39:33 +01:00
description : Distribution group IDs that defines group of peers that will use this nameserver group
2022-10-10 11:06:54 +02:00
type : array
items :
type : string
2023-05-26 15:32:52 +02:00
example : ch8i4ug6lnn4g9hqv7m0
2022-11-03 18:39:37 +01:00
primary :
2023-12-08 11:39:33 +01:00
description : Defines if a nameserver group is primary that resolves all domains. It should be true only if domains list is empty.
2022-11-03 18:39:37 +01:00
type : boolean
2023-05-26 15:32:52 +02:00
example : true
2022-11-03 18:39:37 +01:00
domains :
2023-12-08 11:39:33 +01:00
description : Match domain list. It should be empty only if primary is true.
2022-11-03 18:39:37 +01:00
type : array
items :
type : string
minLength : 1
maxLength : 255
2023-05-26 15:32:52 +02:00
example : "example.com"
2023-10-19 19:32:42 +02:00
search_domains_enabled :
2023-12-08 11:39:33 +01:00
description : Search domain status for match domains. It should be true only if domains list is not empty.
2023-10-19 19:32:42 +02:00
type : boolean
example : true
2022-10-10 11:06:54 +02:00
required :
- name
- description
- nameservers
- enabled
- groups
2022-11-03 18:39:37 +01:00
- primary
- domains
2023-10-19 19:32:42 +02:00
- search_domains_enabled
2022-10-10 11:06:54 +02:00
NameserverGroup :
allOf :
- type : object
properties :
id :
description : Nameserver group ID
type : string
2023-05-26 15:32:52 +02:00
example : ch8i4ug6lnn4g9hqv7m0
2022-10-10 11:06:54 +02:00
required :
- id
- $ref : '#/components/schemas/NameserverGroupRequest'
2023-01-17 17:34:40 +01:00
DNSSettings :
type : object
properties :
disabled_management_groups :
description : Groups whose DNS management is disabled
type : array
items :
type : string
2023-05-26 15:32:52 +02:00
example : ch8i4ug6lnn4g9hqv7m0
2023-01-17 17:34:40 +01:00
required :
- disabled_management_groups
2023-01-02 15:11:32 +01:00
Event :
type : object
properties :
id :
description : Event unique identifier
type : string
2023-05-26 15:32:52 +02:00
example : 10
2023-01-02 15:11:32 +01:00
timestamp :
description : The date and time when the event occurred
type : string
format : date-time
2024-02-29 13:09:43 +01:00
example : "2023-05-05T10:04:37.473542Z"
2023-01-02 15:11:32 +01:00
activity :
description : The activity that occurred during the event
type : string
2023-05-26 15:32:52 +02:00
example : Route created
2023-01-02 15:11:32 +01:00
activity_code :
description : The string code of the activity that occurred during the event
type : string
enum : [ "user.peer.delete" , "user.join" , "user.invite" , "user.peer.add" , "user.group.add" , "user.group.delete" ,
2023-08-17 14:04:04 +02:00
"user.role.update" , "user.block" , "user.unblock" , "user.peer.login" ,
2023-01-02 15:11:32 +01:00
"setupkey.peer.add" , "setupkey.add" , "setupkey.update" , "setupkey.revoke" , "setupkey.overuse" ,
2023-01-17 17:34:40 +01:00
"setupkey.group.delete" , "setupkey.group.add" ,
2023-01-02 15:11:32 +01:00
"rule.add" , "rule.delete" , "rule.update" ,
2023-03-13 15:14:18 +01:00
"policy.add" , "policy.delete" , "policy.update" ,
2023-02-16 15:36:36 +01:00
"group.add" , "group.update" , "dns.setting.disabled.management.group.add" , "dns.setting.disabled.management.group.delete" ,
"account.create" , "account.setting.peer.login.expiration.update" , "account.setting.peer.login.expiration.disable" , "account.setting.peer.login.expiration.enable" ,
2023-01-25 16:29:59 +01:00
"route.add" , "route.delete" , "route.update" ,
"nameserver.group.add" , "nameserver.group.delete" , "nameserver.group.update" ,
2023-08-17 14:04:04 +02:00
"peer.ssh.disable" , "peer.ssh.enable" , "peer.rename" , "peer.login.expiration.disable" , "peer.login.expiration.enable" , "peer.login.expire" ,
2023-05-26 15:32:52 +02:00
"service.user.create" , "personal.access.token.create" , "service.user.delete" , "personal.access.token.delete" ]
example : route.add
2023-01-02 15:11:32 +01:00
initiator_id :
description : The ID of the initiator of the event. E.g., an ID of a user that triggered the event.
type : string
2023-05-26 15:32:52 +02:00
example : google-oauth2|123456789012345678901
2023-09-23 10:47:49 +02:00
initiator_name :
description : The name of the initiator of the event.
type : string
example : John Doe
2023-09-19 18:08:40 +02:00
initiator_email :
description : The e-mail address of the initiator of the event. E.g., an e-mail of a user that triggered the event.
type : string
example : demo@netbird.io
2023-01-02 15:11:32 +01:00
target_id :
description : The ID of the target of the event. E.g., an ID of the peer that a user removed.
type : string
2023-05-26 15:32:52 +02:00
example : chad9d86lnnc59g18ou0
2023-01-02 15:11:32 +01:00
meta :
description : The metadata of the event
type : object
additionalProperties :
type : string
2023-05-26 15:32:52 +02:00
example : { "name": "my route", "network_range": "10.64.0.0/24", "peer_id": "chacbco6lnnbn6cg5s91" }
2023-01-02 15:11:32 +01:00
required :
- id
- timestamp
- activity
- activity_code
- initiator_id
2023-09-23 10:47:49 +02:00
- initiator_name
2023-09-19 18:08:40 +02:00
- initiator_email
2023-01-02 15:11:32 +01:00
- target_id
- meta
2022-06-14 10:32:54 +02:00
responses :
not_found :
description : Resource not found
2023-01-02 15:11:32 +01:00
content : { }
2022-06-14 10:32:54 +02:00
validation_failed_simple :
description : Validation failed
2023-01-02 15:11:32 +01:00
content : { }
2022-06-14 10:32:54 +02:00
bad_request :
description : Bad Request
2023-01-02 15:11:32 +01:00
content : { }
2022-06-14 10:32:54 +02:00
internal_error :
description : Internal Server Error
content : { }
validation_failed :
description : Validation failed
2023-01-02 15:11:32 +01:00
content : { }
2022-06-14 10:32:54 +02:00
forbidden :
description : Forbidden
2023-01-02 15:11:32 +01:00
content : { }
2022-06-14 10:32:54 +02:00
requires_authentication :
description : Requires authentication
2023-01-02 15:11:32 +01:00
content : { }
2022-06-14 10:32:54 +02:00
securitySchemes :
BearerAuth :
type : http
scheme : bearer
bearerFormat : JWT
2023-05-03 00:15:25 +02:00
TokenAuth :
type : apiKey
in : header
name : Authorization
description : >-
Enter the token with the `Token` prefix, e.g. "Token nbp_F3f0d.....".
2022-06-14 10:32:54 +02:00
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2022-06-14 10:32:54 +02:00
paths :
2023-02-16 12:00:41 +01:00
/api/accounts :
get :
2023-06-02 01:32:48 +02:00
summary : List all Accounts
2023-05-26 15:32:52 +02:00
description : Returns a list of accounts of a user. Always returns a list of one account.
2023-02-16 12:00:41 +01:00
tags : [ Accounts ]
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2023-02-16 12:00:41 +01:00
responses :
'200' :
description : A JSON array of accounts
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Account'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
2023-05-03 00:15:25 +02:00
/api/accounts/{accountId}:
2023-11-28 14:23:38 +01:00
delete :
summary : Delete an Account
2024-03-17 11:13:39 +01:00
description : Deletes an account and all its resources. Only account owners can delete accounts.
2023-11-28 14:23:38 +01:00
tags : [ Accounts ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : accountId
required : true
schema :
type : string
description : The unique identifier of an account
responses :
'200' :
description : Delete account 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"
2023-02-16 12:00:41 +01:00
put :
2023-06-02 01:32:48 +02:00
summary : Update an Account
2023-05-26 15:32:52 +02:00
description : Update information about an account
2023-02-16 12:00:41 +01:00
tags : [ Accounts ]
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2023-02-16 12:00:41 +01:00
parameters :
- in : path
2023-05-03 00:15:25 +02:00
name : accountId
2023-02-16 12:00:41 +01:00
required : true
schema :
type : string
2023-05-03 00:15:25 +02:00
description : The unique identifier of an account
2023-02-16 12:00:41 +01:00
requestBody :
description : update an account
content :
'application/json' :
schema :
2023-06-02 01:09:18 +02:00
$ref : '#/components/schemas/AccountRequest'
2023-02-16 12:00:41 +01:00
responses :
'200' :
description : An Account object
content :
application/json :
schema :
$ref : '#/components/schemas/Account'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
2022-06-14 10:32:54 +02:00
/api/users :
get :
2023-06-02 01:32:48 +02:00
summary : List all Users
2023-05-26 15:32:52 +02:00
description : Returns a list of all users
2023-01-02 15:11:32 +01:00
tags : [ Users ]
2022-06-14 10:32:54 +02:00
security :
2023-01-02 15:11:32 +01:00
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2023-04-22 12:57:51 +02:00
parameters :
- in : query
name : service_user
schema :
type : boolean
2023-05-03 00:15:25 +02:00
description : Filters users and returns either regular users or service users
2022-06-14 10:32:54 +02:00
responses :
'200' :
description : A JSON array of Users
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/User'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
2022-10-13 18:26:31 +02:00
post :
2023-06-02 01:32:48 +02:00
summary : Create a User
2023-05-26 15:32:52 +02:00
description : Creates a new service user or sends an invite to a regular user
2023-01-02 15:11:32 +01:00
tags : [ Users ]
2022-10-13 18:26:31 +02:00
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2022-10-13 18:26:31 +02:00
requestBody :
description : User invite information
content :
'application/json' :
schema :
$ref : '#/components/schemas/UserCreateRequest'
responses :
'200' :
description : A User object
content :
application/json :
schema :
$ref : '#/components/schemas/User'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
2023-05-03 00:15:25 +02:00
/api/users/{userId}:
2022-09-22 09:06:32 +02:00
put :
2023-06-02 01:32:48 +02:00
summary : Update a User
2023-05-26 15:32:52 +02:00
description : Update information about a User
2023-01-02 15:11:32 +01:00
tags : [ Users ]
2022-09-22 09:06:32 +02:00
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2022-09-22 09:06:32 +02:00
parameters :
- in : path
2023-05-03 00:15:25 +02:00
name : userId
2022-09-22 09:06:32 +02:00
required : true
schema :
type : string
2023-05-03 00:15:25 +02:00
description : The unique identifier of a user
2022-09-22 09:06:32 +02:00
requestBody :
description : User update
content :
'application/json' :
schema :
$ref : '#/components/schemas/UserRequest'
responses :
'200' :
description : A User object
content :
application/json :
schema :
$ref : '#/components/schemas/User'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
2023-03-21 16:02:19 +01:00
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
2023-04-22 12:57:51 +02:00
delete :
2023-09-28 21:53:28 +02:00
summary : Delete a User
description : This method removes a user from accessing the system. For this leaves the IDP user intact unless the `--user-delete-from-idp` is passed to management startup.
2023-04-22 12:57:51 +02:00
tags : [ Users ]
security :
- BearerAuth : [ ]
2023-05-26 15:32:52 +02:00
- TokenAuth : [ ]
2023-04-22 12:57:51 +02:00
parameters :
- in : path
2023-05-03 00:15:25 +02:00
name : userId
2023-04-22 12:57:51 +02:00
required : true
schema :
type : string
2023-05-03 00:15:25 +02:00
description : The unique identifier of a user
2023-04-22 12:57:51 +02:00
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"
2023-03-21 16:02:19 +01:00
/api/users/{userId}/tokens:
get :
2023-06-02 01:32:48 +02:00
summary : List all Tokens
2023-05-26 15:32:52 +02:00
description : Returns a list of all tokens for a user
tags : [ Tokens ]
2023-03-21 16:02:19 +01:00
security :
2023-05-26 15:32:52 +02:00
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2023-03-21 16:02:19 +01:00
parameters :
- in : path
name : userId
required : true
schema :
type : string
2023-05-03 00:15:25 +02:00
description : The unique identifier of a user
2023-03-21 16:02:19 +01:00
responses :
'200' :
description : A JSON Array of PersonalAccessTokens
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/PersonalAccessToken'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
post :
2023-06-02 01:32:48 +02:00
summary : Create a Token
2023-05-26 15:32:52 +02:00
description : Create a new token for a user
tags : [ Tokens ]
2023-03-21 16:02:19 +01:00
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2023-03-21 16:02:19 +01:00
parameters :
- in : path
name : userId
required : true
schema :
type : string
2023-05-03 00:15:25 +02:00
description : The unique identifier of a user
2023-03-21 16:02:19 +01:00
requestBody :
description : PersonalAccessToken create parameters
content :
application/json :
schema :
$ref : '#/components/schemas/PersonalAccessTokenRequest'
responses :
'200' :
description : The token in plain text
content :
2023-03-28 14:47:15 +02:00
application/json :
2023-03-21 16:02:19 +01:00
schema :
2023-03-28 14:47:15 +02:00
$ref : '#/components/schemas/PersonalAccessTokenGenerated'
2023-03-21 16:02:19 +01:00
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
/api/users/{userId}/tokens/{tokenId}:
get :
2023-06-02 01:32:48 +02:00
summary : Retrieve a Token
2023-05-26 15:32:52 +02:00
description : Returns a specific token for a user
tags : [ Tokens ]
2023-03-21 16:02:19 +01:00
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2023-03-21 16:02:19 +01:00
parameters :
- in : path
name : userId
required : true
schema :
type : string
2023-05-03 00:15:25 +02:00
description : The unique identifier of a user
2023-03-21 16:02:19 +01:00
- in : path
name : tokenId
required : true
schema :
type : string
2023-05-03 00:15:25 +02:00
description : The unique identifier of a token
2023-03-21 16:02:19 +01:00
responses :
'200' :
description : A PersonalAccessTokens Object
content :
application/json :
schema :
$ref : '#/components/schemas/PersonalAccessToken'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
delete :
2023-06-02 01:32:48 +02:00
summary : Delete a Token
2023-05-26 15:32:52 +02:00
description : Delete a token for a user
tags : [ Tokens ]
2023-03-21 16:02:19 +01:00
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2023-03-21 16:02:19 +01:00
parameters :
- in : path
name : userId
required : true
schema :
type : string
2023-05-03 00:15:25 +02:00
description : The unique identifier of a user
2023-03-21 16:02:19 +01:00
- in : path
name : tokenId
required : true
schema :
type : string
2023-05-03 00:15:25 +02:00
description : The unique identifier of a token
2023-03-21 16:02:19 +01:00
responses :
'200' :
description : Delete status code
content : { }
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
2022-09-22 09:06:32 +02:00
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
2023-07-03 12:20:19 +02:00
/api/users/{userId}/invite:
post :
summary : Resend user invitation
description : Resend user invitation
tags : [ Users ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : userId
required : true
schema :
type : string
description : The unique identifier of a user
responses :
'200' :
description : Invite 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"
2022-06-14 10:32:54 +02:00
/api/peers :
get :
2023-06-02 01:32:48 +02:00
summary : List all Peers
2023-05-26 15:32:52 +02:00
description : Returns a list of all peers
2023-01-02 15:11:32 +01:00
tags : [ Peers ]
2022-06-14 10:32:54 +02:00
security :
2023-01-02 15:11:32 +01:00
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2022-06-14 10:32:54 +02:00
responses :
'200' :
description : A JSON Array of Peers
content :
application/json :
schema :
type : array
items :
2023-11-07 14:38:36 +01:00
$ref : '#/components/schemas/PeerBatch'
2022-06-14 10:32:54 +02:00
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
2023-05-03 00:15:25 +02:00
/api/peers/{peerId}:
2022-06-14 10:32:54 +02:00
get :
2023-06-02 01:32:48 +02:00
summary : Retrieve a Peer
2023-05-26 15:32:52 +02:00
description : Get information about a peer
2023-01-02 15:11:32 +01:00
tags : [ Peers ]
2022-06-14 10:32:54 +02:00
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2022-06-14 10:32:54 +02:00
parameters :
- in : path
2023-05-03 00:15:25 +02:00
name : peerId
2022-06-14 10:32:54 +02:00
required : true
schema :
type : string
2023-05-03 00:15:25 +02:00
description : The unique identifier of a peer
2022-06-14 10:32:54 +02:00
responses :
'200' :
description : A Peer object
content :
application/json :
schema :
$ref : '#/components/schemas/Peer'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
put :
2023-06-02 01:32:48 +02:00
summary : Update a Peer
2023-05-26 15:32:52 +02:00
description : Update information about a peer
2023-01-02 15:11:32 +01:00
tags : [ Peers ]
2022-06-14 10:32:54 +02:00
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2022-06-14 10:32:54 +02:00
parameters :
- in : path
2023-05-03 00:15:25 +02:00
name : peerId
2022-06-14 10:32:54 +02:00
required : true
schema :
type : string
2023-05-03 00:15:25 +02:00
description : The unique identifier of a peer
2022-06-14 10:32:54 +02:00
requestBody :
2023-02-14 10:14:00 +01:00
description : update a peer
2022-06-14 10:32:54 +02:00
content :
'application/json' :
schema :
2023-05-26 15:32:52 +02:00
$ref : '#/components/schemas/PeerRequest'
2022-06-14 10:32:54 +02:00
responses :
'200' :
description : A Peer object
content :
application/json :
schema :
$ref : '#/components/schemas/Peer'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
delete :
2023-06-02 01:32:48 +02:00
summary : Delete a Peer
2023-05-26 15:32:52 +02:00
description : Delete a peer
2023-01-02 15:11:32 +01:00
tags : [ Peers ]
2022-06-14 10:32:54 +02:00
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2022-06-14 10:32:54 +02:00
parameters :
- in : path
2023-05-03 00:15:25 +02:00
name : peerId
2022-06-14 10:32:54 +02:00
required : true
schema :
type : string
2023-05-03 00:15:25 +02:00
description : The unique identifier of a peer
2022-06-14 10:32:54 +02:00
responses :
'200' :
description : Delete status code
2023-01-02 15:11:32 +01:00
content : { }
2022-06-14 10:32:54 +02:00
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
2024-09-12 15:19:27 +02:00
/api/peers/{peerId}/accessible-peers:
get :
summary : List accessible Peers
description : Returns a list of peers that the specified peer can connect to within the network.
tags : [ Peers ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : peerId
required : true
schema :
type : string
description : The unique identifier of a peer
responses :
'200' :
description : A JSON Array of Accessible Peers
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/AccessiblePeer'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
2022-06-14 10:32:54 +02:00
/api/setup-keys :
get :
2023-06-02 01:32:48 +02:00
summary : List all Setup Keys
2023-05-26 15:32:52 +02:00
description : Returns a list of all Setup Keys
2023-01-02 15:11:32 +01:00
tags : [ Setup Keys ]
2022-06-14 10:32:54 +02:00
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2022-06-14 10:32:54 +02:00
responses :
'200' :
description : A JSON Array of Setup keys
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/SetupKey'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
post :
2023-06-02 01:32:48 +02:00
summary : Create a Setup Key
2023-05-29 16:00:18 +02:00
description : Creates a setup key
2023-01-02 15:11:32 +01:00
tags : [ Setup Keys ]
2022-06-14 10:32:54 +02:00
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2022-06-14 10:32:54 +02:00
requestBody :
description : New Setup Key request
content :
'application/json' :
schema :
2024-08-01 17:13:58 +02:00
$ref : '#/components/schemas/CreateSetupKeyRequest'
2022-06-14 10:32:54 +02:00
responses :
'200' :
description : A Setup Keys Object
content :
application/json :
schema :
$ref : '#/components/schemas/SetupKey'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
2023-05-03 00:15:25 +02:00
/api/setup-keys/{keyId}:
2022-06-14 10:32:54 +02:00
get :
2023-06-02 01:32:48 +02:00
summary : Retrieve a Setup Key
2023-05-29 16:00:18 +02:00
description : Get information about a setup key
2023-01-02 15:11:32 +01:00
tags : [ Setup Keys ]
2022-06-14 10:32:54 +02:00
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2022-06-14 10:32:54 +02:00
parameters :
- in : path
2023-05-03 00:15:25 +02:00
name : keyId
2022-06-14 10:32:54 +02:00
required : true
schema :
type : string
2023-05-03 00:15:25 +02:00
description : The unique identifier of a setup key
2022-06-14 10:32:54 +02:00
responses :
'200' :
description : A Setup Key object
content :
application/json :
schema :
$ref : '#/components/schemas/SetupKey'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
put :
2023-06-02 01:32:48 +02:00
summary : Update a Setup Key
2023-05-29 16:00:18 +02:00
description : Update information about a setup key
2023-01-02 15:11:32 +01:00
tags : [ Setup Keys ]
2022-06-14 10:32:54 +02:00
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2022-06-14 10:32:54 +02:00
parameters :
- in : path
2023-05-03 00:15:25 +02:00
name : keyId
2022-06-14 10:32:54 +02:00
required : true
schema :
type : string
2023-05-03 00:15:25 +02:00
description : The unique identifier of a setup key
2022-06-14 10:32:54 +02:00
requestBody :
description : update to Setup Key
content :
'application/json' :
schema :
$ref : '#/components/schemas/SetupKeyRequest'
responses :
'200' :
description : A Setup Key object
content :
application/json :
schema :
$ref : '#/components/schemas/SetupKey'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
/api/groups :
get :
2023-06-02 01:32:48 +02:00
summary : List all Groups
2023-05-29 16:00:18 +02:00
description : Returns a list of all groups
2023-01-02 15:11:32 +01:00
tags : [ Groups ]
2022-06-14 10:32:54 +02:00
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2022-06-14 10:32:54 +02:00
responses :
'200' :
description : A JSON Array of Groups
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Group'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
post :
2023-06-02 01:32:48 +02:00
summary : Create a Group
2023-05-29 16:00:18 +02:00
description : Creates a group
2023-01-02 15:11:32 +01:00
tags : [ Groups ]
2022-06-14 10:32:54 +02:00
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2022-06-14 10:32:54 +02:00
requestBody :
description : New Group request
content :
'application/json' :
schema :
2023-05-26 15:32:52 +02:00
$ref : '#/components/schemas/GroupRequest'
2022-06-14 10:32:54 +02:00
responses :
'200' :
description : A Group Object
content :
application/json :
schema :
$ref : '#/components/schemas/Group'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
2023-05-03 00:15:25 +02:00
/api/groups/{groupId}:
2022-06-14 10:32:54 +02:00
get :
2023-06-02 01:32:48 +02:00
summary : Retrieve a Group
2023-05-29 16:00:18 +02:00
description : Get information about a group
2023-01-02 15:11:32 +01:00
tags : [ Groups ]
2022-06-14 10:32:54 +02:00
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2022-06-14 10:32:54 +02:00
parameters :
- in : path
2023-05-03 00:15:25 +02:00
name : groupId
2022-06-14 10:32:54 +02:00
required : true
schema :
type : string
2023-05-03 00:15:25 +02:00
description : The unique identifier of a group
2022-06-14 10:32:54 +02:00
responses :
'200' :
description : A Group object
content :
application/json :
schema :
$ref : '#/components/schemas/Group'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
put :
2023-06-02 01:32:48 +02:00
summary : Update a Group
2023-05-29 16:00:18 +02:00
description : Update/Replace a group
2023-01-02 15:11:32 +01:00
tags : [ Groups ]
2022-06-14 10:32:54 +02:00
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2022-06-14 10:32:54 +02:00
parameters :
- in : path
2023-05-03 00:15:25 +02:00
name : groupId
2022-06-14 10:32:54 +02:00
required : true
schema :
type : string
2023-05-03 00:15:25 +02:00
description : The unique identifier of a group
2022-06-14 10:32:54 +02:00
requestBody :
description : Update Group request
content :
'application/json' :
schema :
2023-05-26 15:32:52 +02:00
$ref : '#/components/schemas/GroupRequest'
2022-06-14 10:32:54 +02:00
responses :
'200' :
description : A Group object
content :
application/json :
schema :
$ref : '#/components/schemas/Group'
'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 Group
2023-05-29 16:00:18 +02:00
description : Delete a group
2023-01-02 15:11:32 +01:00
tags : [ Groups ]
2022-06-14 10:32:54 +02:00
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2022-06-14 10:32:54 +02:00
parameters :
- in : path
2023-05-03 00:15:25 +02:00
name : groupId
2022-06-14 10:32:54 +02:00
required : true
schema :
type : string
2023-05-03 00:15:25 +02:00
description : The unique identifier of a group
2022-06-14 10:32:54 +02:00
responses :
'200' :
description : Delete status code
2023-01-02 15:11:32 +01:00
content : { }
2022-06-14 10:32:54 +02:00
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
2023-03-13 15:14:18 +01:00
/api/policies :
get :
2023-06-02 01:32:48 +02:00
summary : List all Policies
2023-05-29 16:00:18 +02:00
description : Returns a list of all policies
2023-03-13 15:14:18 +01:00
tags : [ Policies ]
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2023-03-13 15:14:18 +01:00
responses :
'200' :
description : A JSON Array of Policies
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Policy'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
post :
2023-06-02 01:32:48 +02:00
summary : Create a Policy
2023-05-29 16:00:18 +02:00
description : Creates a policy
2023-03-13 15:14:18 +01:00
tags : [ Policies ]
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2022-06-14 10:32:54 +02:00
requestBody :
2023-03-13 15:14:18 +01:00
description : New Policy request
2022-06-14 10:32:54 +02:00
content :
'application/json' :
schema :
2023-05-29 16:00:18 +02:00
$ref : '#/components/schemas/PolicyUpdate'
2022-06-14 10:32:54 +02:00
responses :
'200' :
2023-03-13 15:14:18 +01:00
description : A Policy Object
2022-06-14 10:32:54 +02:00
content :
application/json :
schema :
2023-03-13 15:14:18 +01:00
$ref : '#/components/schemas/Policy'
2023-05-03 00:15:25 +02:00
/api/policies/{policyId}:
2023-03-13 15:14:18 +01:00
get :
2023-06-02 01:32:48 +02:00
summary : Retrieve a Policy
2023-05-26 15:32:52 +02:00
description : Get information about a Policies
2023-03-13 15:14:18 +01:00
tags : [ Policies ]
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2023-03-13 15:14:18 +01:00
parameters :
- in : path
2023-05-03 00:15:25 +02:00
name : policyId
2023-03-13 15:14:18 +01:00
required : true
schema :
type : string
2023-05-03 00:15:25 +02:00
description : The unique identifier of a policy
2023-03-13 15:14:18 +01:00
responses :
'200' :
description : A Policy object
content :
application/json :
schema :
$ref : '#/components/schemas/Policy'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
put :
2023-06-02 01:32:48 +02:00
summary : Update a Policy
2023-05-26 15:32:52 +02:00
description : Update/Replace a Policy
2023-03-13 15:14:18 +01:00
tags : [ Policies ]
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2023-03-13 15:14:18 +01:00
parameters :
- in : path
2023-05-03 00:15:25 +02:00
name : policyId
2023-03-13 15:14:18 +01:00
required : true
schema :
type : string
2023-05-03 00:15:25 +02:00
description : The unique identifier of a policy
2023-03-13 15:14:18 +01:00
requestBody :
description : Update Policy request
content :
'application/json' :
schema :
2023-05-29 16:00:18 +02:00
$ref : '#/components/schemas/PolicyUpdate'
2023-03-13 15:14:18 +01:00
responses :
'200' :
description : A Policy object
content :
application/json :
schema :
$ref : '#/components/schemas/Policy'
2022-06-14 10:32:54 +02:00
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
delete :
2023-03-13 15:14:18 +01:00
summary : Delete a Policy
2023-05-29 16:00:18 +02:00
description : Delete a policy
2023-03-13 15:14:18 +01:00
tags : [ Policies ]
2022-06-14 10:32:54 +02:00
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2022-06-14 10:32:54 +02:00
parameters :
- in : path
2023-05-03 00:15:25 +02:00
name : policyId
2022-06-14 10:32:54 +02:00
required : true
schema :
type : string
2023-05-03 00:15:25 +02:00
description : The unique identifier of a policy
2022-06-14 10:32:54 +02:00
responses :
'200' :
description : Delete status code
2023-01-02 15:11:32 +01:00
content : { }
2022-06-14 10:32:54 +02:00
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
2022-08-20 19:11:54 +02:00
'500' :
"$ref": "#/components/responses/internal_error"
/api/routes :
get :
2023-06-02 01:32:48 +02:00
summary : List all Routes
2023-05-26 15:32:52 +02:00
description : Returns a list of all routes
2022-08-20 19:11:54 +02:00
tags : [ Routes ]
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2022-08-20 19:11:54 +02:00
responses :
'200' :
description : A JSON Array of Routes
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Route'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
post :
2023-06-02 01:32:48 +02:00
summary : Create a Route
2023-05-26 15:32:52 +02:00
description : Creates a Route
2022-08-20 19:11:54 +02:00
tags : [ Routes ]
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2022-08-20 19:11:54 +02:00
requestBody :
description : New Routes request
content :
'application/json' :
schema :
$ref : '#/components/schemas/RouteRequest'
responses :
'200' :
description : A Route Object
content :
application/json :
schema :
$ref : '#/components/schemas/Route'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
2023-05-03 00:15:25 +02:00
/api/routes/{routeId}:
2022-08-20 19:11:54 +02:00
get :
2023-06-02 01:32:48 +02:00
summary : Retrieve a Route
2023-05-26 15:32:52 +02:00
description : Get information about a Routes
2022-08-20 19:11:54 +02:00
tags : [ Routes ]
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2022-08-20 19:11:54 +02:00
parameters :
- in : path
2023-05-03 00:15:25 +02:00
name : routeId
2022-08-20 19:11:54 +02:00
required : true
schema :
type : string
2023-05-03 00:15:25 +02:00
description : The unique identifier of a route
2022-08-20 19:11:54 +02:00
responses :
'200' :
description : A Route object
content :
application/json :
schema :
$ref : '#/components/schemas/Route'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
put :
2023-06-02 01:32:48 +02:00
summary : Update a Route
2023-05-26 15:32:52 +02:00
description : Update/Replace a Route
2022-08-20 19:11:54 +02:00
tags : [ Routes ]
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2022-08-20 19:11:54 +02:00
parameters :
- in : path
2023-05-03 00:15:25 +02:00
name : routeId
2022-08-20 19:11:54 +02:00
required : true
schema :
type : string
2023-05-03 00:15:25 +02:00
description : The unique identifier of a route
2022-08-20 19:11:54 +02:00
requestBody :
description : Update Route request
content :
application/json :
schema :
$ref : '#/components/schemas/RouteRequest'
responses :
'200' :
description : A Route object
content :
application/json :
schema :
$ref : '#/components/schemas/Route'
'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 Route
2023-05-29 16:00:18 +02:00
description : Delete a route
2022-08-20 19:11:54 +02:00
tags : [ Routes ]
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2022-08-20 19:11:54 +02:00
parameters :
- in : path
2023-05-03 00:15:25 +02:00
name : routeId
2022-08-20 19:11:54 +02:00
required : true
schema :
type : string
2023-05-03 00:15:25 +02:00
description : The unique identifier of a route
2022-10-10 11:06:54 +02:00
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/dns/nameservers :
get :
2023-06-02 01:32:48 +02:00
summary : List all Nameserver Groups
2023-05-26 15:32:52 +02:00
description : Returns a list of all Nameserver Groups
2022-10-10 11:06:54 +02:00
tags : [ DNS ]
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2022-10-10 11:06:54 +02:00
responses :
'200' :
description : A JSON Array of Nameserver Groups
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/NameserverGroup'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
post :
2023-06-02 01:32:48 +02:00
summary : Create a Nameserver Group
2023-05-26 15:32:52 +02:00
description : Creates a Nameserver Group
2022-10-10 11:06:54 +02:00
tags : [ DNS ]
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2022-10-10 11:06:54 +02:00
requestBody :
description : New Nameserver Groups request
content :
'application/json' :
schema :
$ref : '#/components/schemas/NameserverGroupRequest'
responses :
'200' :
description : A Nameserver Groups Object
content :
application/json :
schema :
$ref : '#/components/schemas/NameserverGroup'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
2023-05-03 00:15:25 +02:00
/api/dns/nameservers/{nsgroupId}:
2022-10-10 11:06:54 +02:00
get :
2023-06-02 01:32:48 +02:00
summary : Retrieve a Nameserver Group
2023-05-26 15:32:52 +02:00
description : Get information about a Nameserver Groups
2022-10-10 11:06:54 +02:00
tags : [ DNS ]
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2022-10-10 11:06:54 +02:00
parameters :
- in : path
2023-05-03 00:15:25 +02:00
name : nsgroupId
2022-10-10 11:06:54 +02:00
required : true
schema :
type : string
2023-05-03 00:15:25 +02:00
description : The unique identifier of a Nameserver Group
2022-10-10 11:06:54 +02:00
responses :
'200' :
description : A Nameserver Group object
content :
application/json :
schema :
$ref : '#/components/schemas/NameserverGroup'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
put :
2023-06-02 01:32:48 +02:00
summary : Update a Nameserver Group
2023-05-26 15:32:52 +02:00
description : Update/Replace a Nameserver Group
2022-10-10 11:06:54 +02:00
tags : [ DNS ]
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2022-10-10 11:06:54 +02:00
parameters :
- in : path
2023-05-03 00:15:25 +02:00
name : nsgroupId
2022-10-10 11:06:54 +02:00
required : true
schema :
type : string
2023-05-03 00:15:25 +02:00
description : The unique identifier of a Nameserver Group
2022-10-10 11:06:54 +02:00
requestBody :
description : Update Nameserver Group request
content :
application/json :
schema :
$ref : '#/components/schemas/NameserverGroupRequest'
responses :
'200' :
description : A Nameserver Group object
content :
application/json :
schema :
$ref : '#/components/schemas/NameserverGroup'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
delete :
2023-06-02 01:32:48 +02:00
summary : Delete a Nameserver Group
2023-05-26 15:32:52 +02:00
description : Delete a Nameserver Group
2022-10-10 11:06:54 +02:00
tags : [ DNS ]
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2022-10-10 11:06:54 +02:00
parameters :
- in : path
2023-05-03 00:15:25 +02:00
name : nsgroupId
2022-10-10 11:06:54 +02:00
required : true
schema :
type : string
2023-05-03 00:15:25 +02:00
description : The unique identifier of a Nameserver Group
2022-08-20 19:11:54 +02:00
responses :
'200' :
description : Delete status code
content : { }
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
2023-01-02 15:11:32 +01:00
'500' :
"$ref": "#/components/responses/internal_error"
2023-01-17 17:34:40 +01:00
/api/dns/settings :
get :
2023-05-29 16:00:18 +02:00
summary : Retrieve DNS settings
2023-05-26 15:32:52 +02:00
description : Returns a DNS settings object
2023-01-17 17:34:40 +01:00
tags : [ DNS ]
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2023-01-17 17:34:40 +01:00
responses :
'200' :
description : A JSON Object of DNS Setting
content :
application/json :
schema :
items :
$ref : '#/components/schemas/DNSSettings'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
put :
2023-06-02 01:32:48 +02:00
summary : Update DNS Settings
2023-05-26 15:32:52 +02:00
description : Updates a DNS settings object
2023-01-17 17:34:40 +01:00
tags : [ DNS ]
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2023-01-17 17:34:40 +01:00
requestBody :
description : A DNS settings object
content :
'application/json' :
schema :
$ref : '#/components/schemas/DNSSettings'
responses :
'200' :
description : A JSON Object of DNS Setting
content :
application/json :
schema :
$ref : '#/components/schemas/DNSSettings'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
2023-01-02 15:11:32 +01:00
/api/events :
get :
2023-06-02 01:32:48 +02:00
summary : List all Events
2023-05-26 15:32:52 +02:00
description : Returns a list of all events
2023-01-02 15:11:32 +01:00
tags : [ Events ]
security :
- BearerAuth : [ ]
2023-05-03 00:15:25 +02:00
- TokenAuth : [ ]
2023-01-02 15:11:32 +01:00
responses :
'200' :
description : A JSON Array of Events
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Event'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
2022-06-14 10:32:54 +02:00
'500' :
2023-02-03 21:47:20 +01:00
"$ref": "#/components/responses/internal_error"
2024-02-20 09:59:56 +01:00
/api/posture-checks :
get :
summary : List all Posture Checks
description : Returns a list of all posture checks
tags : [ "Posture Checks" ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
responses :
'200' :
description : A JSON Array of posture checks
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/PostureCheck'
'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 Posture Check
description : Creates a posture check
tags : [ "Posture Checks" ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
requestBody :
description : New posture check request
content :
'application/json' :
schema :
$ref : '#/components/schemas/PostureCheckUpdate'
responses :
'200' :
description : A posture check Object
content :
application/json :
schema :
$ref : '#/components/schemas/PostureCheck'
/api/posture-checks/{postureCheckId}:
get :
summary : Retrieve a Posture Check
description : Get information about a posture check
tags : [ "Posture Checks" ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : postureCheckId
required : true
schema :
type : string
description : The unique identifier of a posture check
responses :
'200' :
description : A posture check object
content :
application/json :
schema :
$ref : '#/components/schemas/PostureCheck'
'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 Posture Check
description : Update/Replace a posture check
tags : [ "Posture Checks" ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : postureCheckId
required : true
schema :
type : string
description : The unique identifier of a posture check
requestBody :
description : Update Rule request
content :
'application/json' :
schema :
$ref : '#/components/schemas/PostureCheckUpdate'
responses :
'200' :
description : A posture check object
content :
application/json :
schema :
$ref : '#/components/schemas/PostureCheck'
'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 Posture Check
description : Delete a posture check
tags : [ "Posture Checks" ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : postureCheckId
required : true
schema :
type : string
description : The unique identifier of a posture check
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/locations/countries :
get :
summary : List all country codes
description : Get list of all country in 2-letter ISO 3166-1 alpha-2 codes
tags : [ "Geo Locations" ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
responses :
'200' :
description : List of country codes
content :
application/json :
schema :
type : array
items :
type : string
example : "DE"
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
/api/locations/countries/{country}/cities:
get :
summary : List all city names by country
description : Get a list of all English city names for a given country code
tags : [ "Geo Locations" ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : country
required : true
schema :
$ref : '#/components/schemas/Country'
responses :
'200' :
description : List of city names
content :
application/json :
schema :
$ref : '#/components/schemas/City'
'400' :
"$ref": "#/components/responses/bad_request"
'401' :
"$ref": "#/components/responses/requires_authentication"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
2024-09-02 17:40:34 +02:00
"$ref": "#/components/responses/internal_error"