2023-05-03 19:00:56 +02:00
openapi : 3.0.1
servers :
2023-05-09 17:45:59 +02:00
- url : https://api.netbird.io
2023-05-03 19:00:56 +02:00
description : Default server
info :
title : NetBird REST API
description : API to manipulate groups, rules, policies and retrieve information about peers and users
version : 0.0.1
tags :
- name : Users
description : Interact with and view information about users.
- name : Tokens
description : Interact with and view information about tokens.
- 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.
- name : Rules
description : Interact with and view information about rules.
- name : Policies
description : Interact with and view information about policies.
- name : Routes
description : Interact with and view information about routes.
- name : DNS
description : Interact with and view information about DNS configuration.
- name : Events
description : View information about the account and network events.
- name : Accounts
description : View information about the accounts.
components :
schemas :
Account :
properties :
id :
description : Account ID
type : string
2023-05-05 18:00:13 +02:00
example : ch8i4ug6lnn4g9hqv7l0
2023-05-03 19:00:56 +02:00
settings :
$ref : '#/components/schemas/AccountSettings'
required :
- id
- settings
AccountSettings :
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-05 18:00:13 +02:00
example : true
2023-05-03 19:00:56 +02:00
peer_login_expiration :
description : Period of time after which peer login expires (seconds).
type : integer
2023-05-05 18:00:13 +02:00
example : 43200
2023-05-03 19:00:56 +02:00
required :
- peer_login_expiration_enabled
- peer_login_expiration
User :
type : object
properties :
id :
description : User ID
type : string
2023-05-05 18:00:13 +02:00
example : google-oauth2|277474792786460067937
2023-05-03 19:00:56 +02:00
email :
description : User's email address
type : string
2023-05-05 18:00:13 +02:00
example : demo@netbird.io
2023-05-03 19:00:56 +02:00
name :
description : User's name from idp provider
type : string
2023-05-05 18:00:13 +02:00
example : Tom Schulz
2023-05-03 19:00:56 +02:00
role :
description : User's NetBird account role
type : string
2023-05-05 18:00:13 +02:00
example : admin
2023-05-03 19:00:56 +02:00
status :
description : User's status
type : string
enum : [ "active" , "invited" , "disabled" ]
2023-05-05 18:00:13 +02:00
example : active
2023-05-03 19:00:56 +02:00
auto_groups :
description : Groups to auto-assign to peers registered by this user
type : array
items :
type : string
2023-05-05 18:00:13 +02:00
example : devs
2023-05-03 19:00:56 +02:00
is_current :
description : Is true if authenticated user is the same as this user
type : boolean
readOnly : true
2023-05-05 18:00:13 +02:00
example : true
2023-05-03 19:00:56 +02:00
is_service_user :
description : Is true if this user is a service user
type : boolean
readOnly : true
2023-05-05 18:00:13 +02:00
example : false
2023-05-03 19:00:56 +02:00
required :
- id
- email
- name
- role
- auto_groups
- status
UserRequest :
type : object
properties :
role :
description : User's NetBird account role
type : string
2023-05-05 18:00:13 +02:00
example : admin
2023-05-03 19:00:56 +02:00
auto_groups :
description : Groups to auto-assign to peers registered by this user
type : array
items :
type : string
2023-05-05 18:00:13 +02:00
example : devs
2023-05-03 19:00:56 +02:00
required :
- role
- auto_groups
UserCreateRequest :
type : object
properties :
email :
description : User's Email to send invite to
type : string
2023-05-05 18:00:13 +02:00
example : demo@netbird.io
2023-05-03 19:00:56 +02:00
name :
description : User's full name
type : string
2023-05-05 18:00:13 +02:00
example : Tom Schulz
2023-05-03 19:00:56 +02:00
role :
description : User's NetBird account role
type : string
2023-05-05 18:00:13 +02:00
example : admin
2023-05-03 19:00:56 +02:00
auto_groups :
description : Groups to auto-assign to peers registered by this user
type : array
items :
type : string
2023-05-05 18:00:13 +02:00
example : devs
2023-05-03 19:00:56 +02:00
is_service_user :
description : Is true if this user is a service user
type : boolean
2023-05-05 18:00:13 +02:00
example : false
2023-05-03 19:00:56 +02:00
required :
- role
- auto_groups
- is_service_user
PeerMinimum :
type : object
properties :
id :
description : Peer ID
type : string
2023-05-05 18:00:13 +02:00
example : chacbco6lnnbn6cg5s90
2023-05-03 19:00:56 +02:00
name :
description : Peer's hostname
type : string
2023-05-05 18:00:13 +02:00
example : stage-host-1
2023-05-03 19:00:56 +02:00
required :
- id
- name
PeerRequest :
type : object
properties :
name :
type : string
2023-05-05 18:00:13 +02:00
example : stage-host-1
2023-05-03 19:00:56 +02:00
ssh_enabled :
type : boolean
2023-05-05 18:00:13 +02:00
example : true
2023-05-03 19:00:56 +02:00
login_expiration_enabled :
type : boolean
2023-05-05 18:00:13 +02:00
example : false
2023-05-03 19:00:56 +02:00
required :
- name
- ssh_enabled
- login_expiration_enabled
Peer :
allOf :
- $ref : '#/components/schemas/PeerMinimum'
- type : object
properties :
ip :
description : Peer's IP address
type : string
2023-05-05 18:00:13 +02:00
example : 10.64.0.1
2023-05-03 19:00:56 +02:00
connected :
description : Peer to Management connection status
type : boolean
2023-05-05 18:00:13 +02:00
example : true
2023-05-03 19:00:56 +02:00
last_seen :
description : Last time peer connected to Netbird's management service
type : string
format : date-time
2023-05-05 18:00:13 +02:00
example : 2023-05-05T10:05:26.420578Z
2023-05-03 19:00:56 +02:00
os :
description : Peer's operating system and version
type : string
2023-05-05 18:00:13 +02:00
example : Darwin 13.2.1
2023-05-03 19:00:56 +02:00
version :
description : Peer's daemon or cli version
type : string
2023-05-05 18:00:13 +02:00
example : 0.14.0
2023-05-03 19:00:56 +02:00
groups :
description : Groups that the peer belongs to
type : array
items :
$ref : '#/components/schemas/GroupMinimum'
ssh_enabled :
description : Indicates whether SSH server is enabled on this peer
type : boolean
2023-05-05 18:00:13 +02:00
example : true
2023-05-03 19:00:56 +02:00
user_id :
description : User ID of the user that enrolled this peer
type : string
2023-05-05 18:00:13 +02:00
example : google-oauth2|277474792786460067937
2023-05-03 19:00:56 +02:00
hostname :
description : Hostname of the machine
type : string
2023-05-05 18:00:13 +02:00
example : stage-host-1
2023-05-03 19:00:56 +02:00
ui_version :
description : Peer's desktop UI version
type : string
2023-05-05 18:00:13 +02:00
example : 0.14.0
2023-05-03 19:00:56 +02: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-05 18:00:13 +02:00
example : stage-host-1.netbird.cloud
2023-05-03 19:00:56 +02:00
login_expiration_enabled :
description : Indicates whether peer login expiration has been enabled or not
type : boolean
2023-05-05 18:00:13 +02:00
example : false
2023-05-03 19:00:56 +02:00
login_expired :
description : Indicates whether peer's login expired or not
type : boolean
2023-05-05 18:00:13 +02:00
example : false
2023-05-03 19:00:56 +02:00
last_login :
description : Last time this peer performed log in (authentication). E.g., user authenticated.
type : string
format : date-time
2023-05-05 18:00:13 +02:00
example : 2023-05-05T09:00:35.477782Z
2023-05-03 19:00:56 +02:00
required :
- ip
- connected
- last_seen
- os
- version
- groups
- ssh_enabled
- hostname
- dns_label
- login_expiration_enabled
- login_expired
- last_login
SetupKey :
type : object
properties :
id :
description : Setup Key ID
type : string
2023-05-05 18:00:13 +02:00
example : 2531583362
2023-05-03 19:00:56 +02:00
key :
description : Setup Key value
type : string
2023-05-05 18:00:13 +02:00
example : A616097E-FCF0-48FA-9354-CA4A61142761
2023-05-03 19:00:56 +02:00
name :
description : Setup key name identifier
type : string
2023-05-05 18:00:13 +02:00
example : Default key
2023-05-03 19:00:56 +02:00
expires :
description : Setup Key expiration date
type : string
format : date-time
2023-05-05 18:00:13 +02:00
example : 2023-06-01T14:47:22.291057Z
2023-05-03 19:00:56 +02:00
type :
description : Setup key type, one-off for single time usage and reusable
type : string
2023-05-05 18:00:13 +02:00
example : reusable
2023-05-03 19:00:56 +02:00
valid :
description : Setup key validity status
type : boolean
2023-05-05 18:00:13 +02:00
example : true
2023-05-03 19:00:56 +02:00
revoked :
description : Setup key revocation status
type : boolean
2023-05-05 18:00:13 +02:00
example : false
2023-05-03 19:00:56 +02:00
used_times :
description : Usage count of setup key
type : integer
2023-05-05 18:00:13 +02:00
example : 2
2023-05-03 19:00:56 +02:00
last_used :
description : Setup key last usage date
type : string
format : date-time
2023-05-05 18:00:13 +02:00
example : 2023-05-05T09:00:35.477782Z
2023-05-03 19:00:56 +02:00
state :
description : Setup key status, "valid", "overused","expired" or "revoked"
type : string
2023-05-05 18:00:13 +02:00
example : valid
2023-05-03 19:00:56 +02:00
auto_groups :
description : Setup key groups to auto-assign to peers registered with this key
type : array
items :
type : string
2023-05-05 18:00:13 +02:00
example : "devs"
2023-05-03 19:00:56 +02:00
updated_at :
description : Setup key last update date
type : string
format : date-time
2023-05-05 18:00:13 +02:00
example : 2023-05-05T09:00:35.477782Z
2023-05-03 19:00:56 +02: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-05 18:00:13 +02:00
example : 0
2023-05-03 19:00:56 +02:00
required :
- id
- key
- name
- expires
- type
- valid
- revoked
- used_times
- last_used
- state
- auto_groups
- updated_at
- usage_limit
SetupKeyRequest :
type : object
properties :
name :
description : Setup Key name
type : string
2023-05-05 18:00:13 +02:00
example : Default key
2023-05-03 19:00:56 +02:00
type :
description : Setup key type, one-off for single time usage and reusable
type : string
2023-05-05 18:00:13 +02:00
example : reusable
2023-05-03 19:00:56 +02:00
expires_in :
description : Expiration time in seconds
type : integer
2023-05-05 18:00:13 +02:00
example : 43200
2023-05-03 19:00:56 +02:00
revoked :
description : Setup key revocation status
type : boolean
2023-05-05 18:00:13 +02:00
example : false
2023-05-03 19:00:56 +02:00
auto_groups :
description : Setup key groups to auto-assign to peers registered with this key
type : array
items :
type : string
2023-05-05 18:00:13 +02:00
example : "devs"
2023-05-03 19:00:56 +02: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-05 18:00:13 +02:00
example : 0
2023-05-03 19:00:56 +02:00
required :
- name
- type
- expires_in
- revoked
- auto_groups
- usage_limit
PersonalAccessToken :
type : object
properties :
id :
description : ID of a token
type : string
2023-05-05 18:00:13 +02:00
example : ch8i54g6lnn4g9hqv7n0
2023-05-03 19:00:56 +02:00
name :
description : Name of the token
type : string
2023-05-05 18:00:13 +02:00
example : My first token
2023-05-03 19:00:56 +02:00
expiration_date :
description : Date the token expires
type : string
format : date-time
2023-05-05 18:00:13 +02:00
example : 2023-05-05T14:38:28.977616Z
2023-05-03 19:00:56 +02:00
created_by :
description : User ID of the user who created the token
type : string
2023-05-05 18:00:13 +02:00
example : google-oauth2|277474792786460067937
2023-05-03 19:00:56 +02:00
created_at :
description : Date the token was created
type : string
format : date-time
2023-05-05 18:00:13 +02:00
example : 2023-05-02T14:48:20.465209Z
2023-05-03 19:00:56 +02:00
last_used :
description : Date the token was last used
type : string
format : date-time
2023-05-05 18:00:13 +02:00
example : 2023-05-04T12:45:25.9723616Z
2023-05-03 19:00:56 +02:00
required :
- id
- name
- expiration_date
- created_by
- created_at
PersonalAccessTokenGenerated :
type : object
properties :
plain_token :
description : Plain text representation of the generated token
type : string
2023-05-05 18:00:13 +02:00
example : 2023-05-02T14:48:20.465209Z
2023-05-03 19:00:56 +02:00
personal_access_token :
$ref : '#/components/schemas/PersonalAccessToken'
required :
- plain_token
- personal_access_token
PersonalAccessTokenRequest :
type : object
properties :
name :
description : Name of the token
type : string
2023-05-05 18:00:13 +02:00
example : My first token
2023-05-03 19:00:56 +02:00
expires_in :
description : Expiration in days
type : integer
minimum : 1
maximum : 365
2023-05-05 18:00:13 +02:00
example : 30
2023-05-03 19:00:56 +02:00
required :
- name
- expires_in
GroupMinimum :
type : object
properties :
id :
description : Group ID
type : string
2023-05-05 18:00:13 +02:00
example : ch8i4ug6lnn4g9hqv7m0
2023-05-03 19:00:56 +02:00
name :
description : Group Name identifier
type : string
2023-05-05 18:00:13 +02:00
example : devs
2023-05-03 19:00:56 +02:00
peers_count :
description : Count of peers associated to the group
type : integer
2023-05-05 18:00:13 +02:00
example : 2
2023-05-03 19:00:56 +02:00
required :
- id
- name
- peers_count
GroupRequest :
type : object
properties :
name :
type : string
description : Group name identifier
2023-05-05 18:00:13 +02:00
example : devs
2023-05-03 19:00:56 +02:00
peers :
type : array
description : List of peers ids
items :
type : string
2023-05-05 18:00:13 +02:00
example : "ch8i4ug6lnn4g9hqv7m1"
2023-05-03 19:00:56 +02:00
required :
- name
Group :
allOf :
- $ref : '#/components/schemas/GroupMinimum'
- type : object
properties :
peers :
description : List of peers object
type : array
items :
$ref : '#/components/schemas/PeerMinimum'
required :
- peers
RuleMinimum :
type : object
properties :
name :
description : Rule name identifier
type : string
2023-05-05 18:00:13 +02:00
example : Default
2023-05-03 19:00:56 +02:00
description :
description : Rule friendly description
type : string
2023-05-05 18:00:13 +02:00
example : This is a default rule that allows connections between all the resources
2023-05-03 19:00:56 +02:00
disabled :
description : Rules status
type : boolean
2023-05-05 18:00:13 +02:00
example : false
2023-05-03 19:00:56 +02:00
flow :
description : Rule flow, currently, only "bidirect" for bi-directional traffic is accepted
type : string
2023-05-05 18:00:13 +02:00
example : bidirect
2023-05-03 19:00:56 +02:00
required :
- name
- description
- disabled
- flow
RuleRequest :
allOf :
- $ref : '#/components/schemas/RuleMinimum'
- type : object
properties :
sources :
type : array
description : List of source groups
items :
type : string
2023-05-05 18:00:13 +02:00
example : "ch8i4ug6lnn4g9hqv7m1"
2023-05-03 19:00:56 +02:00
destinations :
type : array
description : List of destination groups
items :
type : string
2023-05-05 18:00:13 +02:00
example : "ch8i4ug6lnn4g9hqv7m0"
2023-05-03 19:00:56 +02:00
Rule :
allOf :
- type : object
properties :
id :
description : Rule ID
type : string
2023-05-05 18:00:13 +02:00
example : ch8i4ug6lnn4g9hqv7mg
2023-05-03 19:00:56 +02:00
required :
- id
- $ref : '#/components/schemas/RuleMinimum'
- type : object
properties :
sources :
description : Rule source groups
type : array
items :
$ref : '#/components/schemas/GroupMinimum'
destinations :
description : Rule destination groups
type : array
items :
$ref : '#/components/schemas/GroupMinimum'
required :
- sources
- destinations
PolicyRule :
type : object
properties :
id :
description : Rule ID
type : string
2023-05-05 18:00:13 +02:00
example : ch8i4ug6lnn4g9hqv7mg
2023-05-03 19:00:56 +02:00
name :
description : Rule name identifier
type : string
2023-05-05 18:00:13 +02:00
example : Default
2023-05-03 19:00:56 +02:00
description :
description : Rule friendly description
type : string
2023-05-05 18:00:13 +02:00
example : This is a default rule that allows connections between all the resources
2023-05-03 19:00:56 +02:00
enabled :
description : Rules status
type : boolean
2023-05-05 18:00:13 +02:00
example : true
2023-05-03 19:00:56 +02:00
sources :
description : policy source groups
type : array
items :
$ref : '#/components/schemas/GroupMinimum'
destinations :
description : policy destination groups
type : array
items :
$ref : '#/components/schemas/GroupMinimum'
action :
description : policy accept or drops packets
type : string
enum : [ "accept" , "drop" ]
2023-05-05 18:00:13 +02:00
example : accept
2023-05-03 19:00:56 +02:00
required :
- name
- sources
- destinations
- action
- enabled
PolicyMinimum :
type : object
properties :
name :
description : Policy name identifier
type : string
2023-05-05 18:00:13 +02:00
example : ch8i4ug6lnn4g9hqv7mg
2023-05-03 19:00:56 +02:00
description :
description : Policy friendly description
type : string
2023-05-05 18:00:13 +02:00
example : This is a default policy that allows connections between all the resources
2023-05-03 19:00:56 +02:00
enabled :
description : Policy status
type : boolean
2023-05-05 18:00:13 +02:00
example : true
2023-05-03 19:00:56 +02:00
query :
description : Policy Rego query
type : string
2023-05-05 18:00:13 +02:00
example : package netbird\n\nall[rule] {\n is_peer_in_any_group([\"ch8i4ug6lnn4g9hqv7m0\",\"ch8i4ug6lnn4g9hqv7m0\"])\n rule := {\n rules_from_group(\"ch8i4ug6lnn4g9hqv7m0\", \"dst\", \"accept\", \"\"),\n rules_from_group(\"ch8i4ug6lnn4g9hqv7m0\", \"src\", \"accept\", \"\"),\n }[_][_]\n}\n
2023-05-03 19:00:56 +02:00
rules :
description : Policy rule object for policy UI editor
type : array
items :
$ref : '#/components/schemas/PolicyRule'
required :
- name
- description
- enabled
- query
- rules
Policy :
allOf :
- $ref : '#/components/schemas/PolicyMinimum'
- type : object
properties :
id :
description : Policy ID
type : string
2023-05-05 18:00:13 +02:00
example : ch8i4ug6lnn4g9hqv7mg
2023-05-03 19:00:56 +02:00
required :
- id
RouteRequest :
type : object
properties :
description :
description : Route description
type : string
2023-05-05 18:00:13 +02:00
example : My first route
2023-05-03 19:00:56 +02:00
network_id :
description : Route network identifier, to group HA routes
type : string
maxLength : 40
minLength : 1
2023-05-05 18:00:13 +02:00
example : Route 1
2023-05-03 19:00:56 +02:00
enabled :
description : Route status
type : boolean
2023-05-05 18:00:13 +02:00
example : true
2023-05-03 19:00:56 +02:00
peer :
description : Peer Identifier associated with route
type : string
2023-05-05 18:00:13 +02:00
example : chacbco6lnnbn6cg5s91
2023-05-03 19:00:56 +02:00
network :
description : Network range in CIDR format
type : string
2023-05-05 18:00:13 +02:00
example : 10.64.0.0 /24
2023-05-03 19:00:56 +02:00
metric :
description : Route metric number. Lowest number has higher priority
type : integer
maximum : 9999
minimum : 1
2023-05-05 18:00:13 +02:00
example : 9999
2023-05-03 19:00:56 +02:00
masquerade :
description : Indicate if peer should masquerade traffic to this route's prefix
type : boolean
2023-05-05 18:00:13 +02:00
example : true
2023-05-03 19:00:56 +02:00
groups :
description : Route group tag groups
type : array
items :
type : string
2023-05-05 18:00:13 +02:00
example : "chacdk86lnnboviihd70"
2023-05-03 19:00:56 +02:00
required :
- id
- description
- network_id
- enabled
- peer
- network
- metric
- masquerade
- groups
Route :
allOf :
- type : object
properties :
id :
description : Route Id
type : string
2023-05-05 18:00:13 +02:00
example : chacdk86lnnboviihd7g
2023-05-03 19:00:56 +02:00
network_type :
description : Network type indicating if it is IPv4 or IPv6
type : string
2023-05-05 18:00:13 +02:00
example : IPv4
2023-05-03 19:00:56 +02:00
required :
- id
- network_type
- $ref : '#/components/schemas/RouteRequest'
Nameserver :
type : object
properties :
ip :
description : Nameserver IP
type : string
2023-05-05 18:00:13 +02:00
example : 8.8.8.8
2023-05-03 19:00:56 +02:00
ns_type :
description : Nameserver Type
type : string
enum : [ "udp" ]
2023-05-05 18:00:13 +02:00
example : udp
2023-05-03 19:00:56 +02:00
port :
description : Nameserver Port
type : integer
2023-05-05 18:00:13 +02:00
example : 53
2023-05-03 19:00:56 +02:00
required :
- ip
- ns_type
- port
NameserverGroupRequest :
type : object
properties :
name :
description : Nameserver group name
type : string
maxLength : 40
minLength : 1
2023-05-05 18:00:13 +02:00
example : Google DNS
2023-05-03 19:00:56 +02:00
description :
description : Nameserver group description
type : string
2023-05-05 18:00:13 +02:00
example : Google DNS servers
2023-05-03 19:00:56 +02:00
nameservers :
description : Nameserver group
minLength : 1
maxLength : 2
type : array
items :
$ref : '#/components/schemas/Nameserver'
enabled :
description : Nameserver group status
type : boolean
2023-05-05 18:00:13 +02:00
example : true
2023-05-03 19:00:56 +02:00
groups :
description : Nameserver group tag groups
type : array
items :
type : string
2023-05-05 18:00:13 +02:00
example : ch8i4ug6lnn4g9hqv7m0
2023-05-03 19:00:56 +02:00
primary :
description : Nameserver group primary status
type : boolean
2023-05-05 18:00:13 +02:00
example : true
2023-05-03 19:00:56 +02:00
domains :
description : Nameserver group domain list
type : array
items :
type : string
minLength : 1
maxLength : 255
2023-05-05 18:00:13 +02:00
example : "example.com"
2023-05-03 19:00:56 +02:00
required :
- name
- description
- nameservers
- enabled
- groups
- primary
- domains
NameserverGroup :
allOf :
- type : object
properties :
id :
description : Nameserver group ID
type : string
2023-05-05 18:00:13 +02:00
example : ch8i4ug6lnn4g9hqv7m0
2023-05-03 19:00:56 +02:00
required :
- id
- $ref : '#/components/schemas/NameserverGroupRequest'
DNSSettings :
type : object
properties :
disabled_management_groups :
description : Groups whose DNS management is disabled
type : array
items :
type : string
2023-05-05 18:00:13 +02:00
example : ch8i4ug6lnn4g9hqv7m0
2023-05-03 19:00:56 +02:00
required :
- disabled_management_groups
Event :
type : object
properties :
id :
description : Event unique identifier
type : string
2023-05-05 18:00:13 +02:00
example : 10
2023-05-03 19:00:56 +02:00
timestamp :
description : The date and time when the event occurred
type : string
format : date-time
2023-05-05 18:00:13 +02:00
example : 2023-05-05T10:04:37.473542Z
2023-05-03 19:00:56 +02:00
activity :
description : The activity that occurred during the event
type : string
2023-05-05 18:00:13 +02:00
example : Route created
2023-05-03 19:00:56 +02: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" ,
"user.role.update" ,
"setupkey.peer.add" , "setupkey.add" , "setupkey.update" , "setupkey.revoke" , "setupkey.overuse" ,
"setupkey.group.delete" , "setupkey.group.add" ,
"rule.add" , "rule.delete" , "rule.update" ,
"policy.add" , "policy.delete" , "policy.update" ,
"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" ,
"route.add" , "route.delete" , "route.update" ,
"nameserver.group.add" , "nameserver.group.delete" , "nameserver.group.update" ,
"peer.ssh.disable" , "peer.ssh.enable" , "peer.rename" , "peer.login.expiration.disable" , "peer.login.expiration.enable" ,
"service.user.create" , "personal.access.token.create" , "service.user.delete" , "personal.access.token.delete" ]
2023-05-05 18:00:13 +02:00
example : route.add
2023-05-03 19:00:56 +02: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-05 18:00:13 +02:00
example : google-oauth2|123456789012345678901
2023-05-03 19:00:56 +02: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-05 18:00:13 +02:00
example : chad9d86lnnc59g18ou0
2023-05-03 19:00:56 +02:00
meta :
description : The metadata of the event
type : object
additionalProperties :
type : string
2023-05-05 18:00:13 +02:00
example : { "name": "my route", "network_range": "10.64.0.0/24", "peer_id": "chacbco6lnnbn6cg5s91" }
2023-05-03 19:00:56 +02:00
required :
- id
- timestamp
- activity
- activity_code
- initiator_id
- target_id
- meta
responses :
not_found :
description : Resource not found
content : { }
validation_failed_simple :
description : Validation failed
content : { }
bad_request :
description : Bad Request
content : { }
internal_error :
description : Internal Server Error
content : { }
validation_failed :
description : Validation failed
content : { }
forbidden :
description : Forbidden
content : { }
requires_authentication :
description : Requires authentication
content : { }
securitySchemes :
BearerAuth :
type : http
scheme : bearer
bearerFormat : JWT
TokenAuth :
type : apiKey
in : header
name : Authorization
description : >-
Enter the token with the `Token` prefix, e.g. "Token nbp_F3f0d.....".
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
paths :
/api/accounts :
get :
summary : List all Accounts
description : Returns a list of accounts of a user. Always returns a list of one account.
tags : [ Accounts ]
operationId : getAccounts
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
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"
/api/accounts/{accountId}:
put :
summary : Update an Account
description : Update information about an account
tags : [ Accounts ]
operationId : updateAccount
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : accountId
required : true
schema :
type : string
description : The unique identifier of an account
requestBody :
description : update an account
content :
'application/json' :
schema :
$ref : '#/components/schemas/AccountSettings'
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"
/api/users :
get :
summary : List all Users
description : Returns a list of all users
tags : [ Users ]
operationId : getUsers
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : query
name : service_user
schema :
type : boolean
description : Filters users and returns either regular users or service users
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"
post :
summary : Create a User
description : Creates a new service user or sends an invite to a regular user
tags : [ Users ]
operationId : createUser
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
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"
/api/users/{userId}:
put :
summary : Update a User
description : Update information about a User
tags : [ Users ]
operationId : updateUser
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : userId
required : true
schema :
type : string
description : The unique identifier of a user
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"
'403' :
"$ref": "#/components/responses/forbidden"
'500' :
"$ref": "#/components/responses/internal_error"
delete :
summary : Delete a User
description : Delete a User
tags : [ Users ]
operationId : deleteUser
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : userId
required : true
schema :
type : string
description : The unique identifier of a user
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/users/{userId}/tokens:
get :
summary : List all Tokens
description : Returns a list of all tokens for a user
tags : [ Tokens ]
operationId : getTokens
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : userId
required : true
schema :
type : string
description : The unique identifier of a user
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 :
summary : Create a Token
description : Create a new token for a user
tags : [ Tokens ]
operationId : createToken
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : userId
required : true
schema :
type : string
description : The unique identifier of a user
requestBody :
description : PersonalAccessToken create parameters
content :
application/json :
schema :
$ref : '#/components/schemas/PersonalAccessTokenRequest'
responses :
'200' :
description : The token in plain text
content :
application/json :
schema :
$ref : '#/components/schemas/PersonalAccessTokenGenerated'
'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 :
summary : Retrieve a Token
description : Returns a specific token for a user
tags : [ Tokens ]
operationId : getToken
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : userId
required : true
schema :
type : string
description : The unique identifier of a user
- in : path
name : tokenId
required : true
schema :
type : string
description : The unique identifier of a token
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 :
summary : Delete a Token
description : Delete a token for a user
tags : [ Tokens ]
operationId : deleteToken
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : userId
required : true
schema :
type : string
description : The unique identifier of a user
- in : path
name : tokenId
required : true
schema :
type : string
description : The unique identifier of a token
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/peers :
get :
summary : List all Peers
description : Returns a list of all peers
tags : [ Peers ]
operationId : getPeers
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
responses :
'200' :
description : A JSON Array of Peers
content :
application/json :
schema :
type : array
items :
$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"
/api/peers/{peerId}:
get :
summary : Retrieve a Peer
description : Get information about a peer
tags : [ Peers ]
operationId : getPeer
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : peerId
required : true
schema :
type : string
description : The unique identifier of a peer
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 :
summary : Update a Peer
description : Update information about a peer
tags : [ Peers ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : peerId
required : true
schema :
type : string
description : The unique identifier of a peer
requestBody :
description : update a peer
content :
'application/json' :
schema :
$ref : '#/components/schemas/PeerRequest'
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 :
summary : Delete a Peer
description : Delete a peer
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 : 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/setup-keys :
get :
summary : List all Setup Keys
description : Returns a list of all Setup Keys
tags : [ Setup Keys ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
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 :
summary : Create a Setup Key
description : Creates a Setup Key
tags : [ Setup Keys ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
requestBody :
description : New Setup Key request
content :
'application/json' :
schema :
$ref : '#/components/schemas/SetupKeyRequest'
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"
/api/setup-keys/{keyId}:
get :
summary : Retrieve a Setup Key
description : Get information about a Setup Key
tags : [ Setup Keys ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : keyId
required : true
schema :
type : string
description : The unique identifier of a setup key
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 :
summary : Update a Setup Key
description : Update information about a Setup Key
tags : [ Setup Keys ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : keyId
required : true
schema :
type : string
description : The unique identifier of a setup key
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 :
summary : List all Groups
description : Returns a list of all Groups
tags : [ Groups ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
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 :
summary : Create a Group
description : Creates a Group
tags : [ Groups ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
requestBody :
description : New Group request
content :
'application/json' :
schema :
$ref : '#/components/schemas/GroupRequest'
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"
/api/groups/{groupId}:
get :
summary : Retrieve a Group
description : Get information about a Group
tags : [ Groups ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : groupId
required : true
schema :
type : string
description : The unique identifier of a group
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 :
summary : Update a Group
description : Update/Replace a Group
tags : [ Groups ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : groupId
required : true
schema :
type : string
description : The unique identifier of a group
requestBody :
description : Update Group request
content :
'application/json' :
schema :
$ref : '#/components/schemas/GroupRequest'
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
description : Delete a Group
tags : [ Groups ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : groupId
required : true
schema :
type : string
description : The unique identifier of a group
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/rules :
get :
summary : List all Rules
description : Returns a list of all Rules
tags : [ Rules ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
responses :
'200' :
description : A JSON Array of Rules
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Rule'
'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 Rule
description : Creates a Rule
tags : [ Rules ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
requestBody :
description : New Rule request
content :
'application/json' :
schema :
$ref : '#/components/schemas/RuleRequest'
responses :
'200' :
description : A Rule Object
content :
application/json :
schema :
$ref : '#/components/schemas/Rule'
/api/rules/{ruleId}:
get :
summary : Retrieve a Rule
description : Get information about a Rules
tags : [ Rules ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : ruleId
required : true
schema :
type : string
description : The unique identifier of a rule
responses :
'200' :
description : A Rule object
content :
application/json :
schema :
$ref : '#/components/schemas/Rule'
'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 Rule
description : Update/Replace a Rule
tags : [ Rules ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : ruleId
required : true
schema :
type : string
description : The unique identifier of a rule
requestBody :
description : Update Rule request
content :
'application/json' :
schema :
$ref : '#/components/schemas/RuleRequest'
responses :
'200' :
description : A Rule object
content :
application/json :
schema :
$ref : '#/components/schemas/Rule'
'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 Rule
description : Delete a Rule
tags : [ Rules ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : ruleId
required : true
schema :
type : string
description : The unique identifier of a rule
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/policies :
get :
summary : List all Policies
description : Returns a list of all Policies
tags : [ Policies ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
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 :
summary : Create a Policy
description : Creates a Policy
tags : [ Policies ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
requestBody :
description : New Policy request
content :
'application/json' :
schema :
$ref : '#/components/schemas/PolicyMinimum'
responses :
'200' :
description : A Policy Object
content :
application/json :
schema :
$ref : '#/components/schemas/Policy'
/api/policies/{policyId}:
get :
summary : Retrieve a Policy
description : Get information about a Policies
tags : [ Policies ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : policyId
required : true
schema :
type : string
description : The unique identifier of a policy
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 :
summary : Update a Policy
description : Update/Replace a Policy
tags : [ Policies ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : policyId
required : true
schema :
type : string
description : The unique identifier of a policy
requestBody :
description : Update Policy request
content :
'application/json' :
schema :
$ref : '#/components/schemas/PolicyMinimum'
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"
delete :
summary : Delete a Policy
description : Delete a Policy
tags : [ Policies ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : policyId
required : true
schema :
type : string
description : The unique identifier of a policy
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/routes :
get :
summary : List all Routes
description : Returns a list of all routes
tags : [ Routes ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
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 :
summary : Create a Route
description : Creates a Route
tags : [ Routes ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
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"
/api/routes/{routeId}:
get :
summary : Retrieve a Route
description : Get information about a Routes
tags : [ Routes ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : routeId
required : true
schema :
type : string
description : The unique identifier of a route
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 :
summary : Update a Route
description : Update/Replace a Route
tags : [ Routes ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : routeId
required : true
schema :
type : string
description : The unique identifier of a route
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
description : Delete a Route
tags : [ Routes ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : routeId
required : true
schema :
type : string
description : The unique identifier of a route
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 :
summary : List all Nameserver Groups
description : Returns a list of all Nameserver Groups
tags : [ DNS ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
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 :
summary : Create a Nameserver Group
description : Creates a Nameserver Group
tags : [ DNS ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
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"
/api/dns/nameservers/{nsgroupId}:
get :
summary : Retrieve a Nameserver Group
description : Get information about a Nameserver Groups
tags : [ DNS ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : nsgroupId
required : true
schema :
type : string
description : The unique identifier of a Nameserver Group
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 :
summary : Update a Nameserver Group
description : Update/Replace a Nameserver Group
tags : [ DNS ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : nsgroupId
required : true
schema :
type : string
description : The unique identifier of a Nameserver Group
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 :
summary : Delete a Nameserver Group
description : Delete a Nameserver Group
tags : [ DNS ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
parameters :
- in : path
name : nsgroupId
required : true
schema :
type : string
description : The unique identifier of a Nameserver Group
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/settings :
get :
summary : Retrieve DNS Settings
description : Returns a DNS settings object
tags : [ DNS ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
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 :
summary : Update DNS Settings
description : Updates a DNS settings object
tags : [ DNS ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
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"
/api/events :
get :
summary : List all Events
description : Returns a list of all events
tags : [ Events ]
security :
- BearerAuth : [ ]
- TokenAuth : [ ]
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"
'500' :
"$ref": "#/components/responses/internal_error"