API cleanup (#824)

removed all PATCH endpoints
updated path parameters for all endpoints
removed not implemented endpoints for api doc
minor description updates
This commit is contained in:
pascal-fischer
2023-05-03 00:15:25 +02:00
committed by GitHub
parent 08db5f5a42
commit 59372ee159
20 changed files with 227 additions and 988 deletions

View File

@@ -6,8 +6,6 @@ info:
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
@@ -105,15 +103,15 @@ components:
UserCreateRequest:
type: object
properties:
role:
description: User's NetBird account role
type: string
email:
description: User's Email to send invite to
type: string
name:
description: User's full name
type: string
role:
description: User's NetBird account role
type: string
auto_groups:
description: Groups to auto-assign to peers registered by this user
type: array
@@ -343,6 +341,8 @@ components:
expires_in:
description: Expiration in days
type: integer
minimum: 1
maximum: 365
required:
- name
- expires_in
@@ -374,33 +374,6 @@ components:
$ref: '#/components/schemas/PeerMinimum'
required:
- peers
PatchMinimum:
type: object
properties:
op:
description: Patch operation type
type: string
enum: [ "replace","add","remove" ]
value:
description: Values to be applied
type: array
items:
type: string
required:
- op
- value
GroupPatchOperation:
allOf:
- $ref: '#/components/schemas/PatchMinimum'
- type: object
properties:
path:
description: Group field to update in form /<field>
type: string
enum: [ "name","peers" ]
required:
- path
RuleMinimum:
type: object
properties:
@@ -446,17 +419,6 @@ components:
required:
- sources
- destinations
RulePatchOperation:
allOf:
- $ref: '#/components/schemas/PatchMinimum'
- type: object
properties:
path:
description: Rule field to update in form /<field>
type: string
enum: [ "name","description","disabled","flow","sources","destinations" ]
required:
- path
PolicyRule:
type: object
properties:
@@ -585,17 +547,6 @@ components:
- id
- network_type
- $ref: '#/components/schemas/RouteRequest'
RoutePatchOperation:
allOf:
- $ref: '#/components/schemas/PatchMinimum'
- type: object
properties:
path:
description: Route field to update in form /<field>
type: string
enum: [ "network","network_id","description","enabled","peer","metric","masquerade", "groups" ]
required:
- path
Nameserver:
type: object
properties:
@@ -667,17 +618,6 @@ components:
required:
- id
- $ref: '#/components/schemas/NameserverGroupRequest'
NameserverGroupPatchOperation:
allOf:
- $ref: '#/components/schemas/PatchMinimum'
- type: object
properties:
path:
description: Nameserver group field to update in form /<field>
type: string
enum: [ "name", "description", "enabled", "groups", "nameservers", "primary", "domains" ]
required:
- path
DNSSettings:
type: object
properties:
@@ -761,15 +701,23 @@ components:
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: Returns a list of accounts of a user. Always returns a list of one account. Only available for admin users.
summary: Returns a list of accounts of a user. Always returns a list of one account.
tags: [ Accounts ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
responses:
'200':
description: A JSON array of accounts
@@ -787,19 +735,20 @@ paths:
"$ref": "#/components/responses/forbidden"
'500':
"$ref": "#/components/responses/internal_error"
/api/accounts/{id}:
/api/accounts/{accountId}:
put:
summary: Update information about an account
tags: [ Accounts ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
parameters:
- in: path
name: id
name: accountId
required: true
schema:
type: string
description: The Account ID
description: The unique identifier of an account
requestBody:
description: update an account
content:
@@ -832,12 +781,13 @@ paths:
tags: [ Users ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
parameters:
- in: query
name: service_user
schema:
type: boolean
description: Filters users and returns either normal users or service users
description: Filters users and returns either regular users or service users
responses:
'200':
description: A JSON array of Users
@@ -855,12 +805,12 @@ paths:
"$ref": "#/components/responses/forbidden"
'500':
"$ref": "#/components/responses/internal_error"
/api/users/:
post:
summary: Create a User (invite)
summary: Create a User (or invite)
tags: [ Users ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
requestBody:
description: User invite information
content:
@@ -882,19 +832,20 @@ paths:
"$ref": "#/components/responses/forbidden"
'500':
"$ref": "#/components/responses/internal_error"
/api/users/{id}:
/api/users/{userId}:
put:
summary: Update information about a User
tags: [ Users ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
parameters:
- in: path
name: id
name: userId
required: true
schema:
type: string
description: The User ID
description: The unique identifier of a user
requestBody:
description: User update
content:
@@ -923,11 +874,11 @@ paths:
- BearerAuth: [ ]
parameters:
- in: path
name: id
name: userId
required: true
schema:
type: string
description: The User ID
description: The unique identifier of a user
responses:
'200':
description: Delete status code
@@ -943,16 +894,17 @@ paths:
/api/users/{userId}/tokens:
get:
summary: Returns a list of all tokens for a user
tags: [ Tokens ]
tags: [ Users ]
security:
- BearerAuth: []
- TokenAuth: [ ]
parameters:
- in: path
name: userId
required: true
schema:
type: string
description: The User ID
description: The unique identifier of a user
responses:
'200':
description: A JSON Array of PersonalAccessTokens
@@ -971,17 +923,18 @@ paths:
'500':
"$ref": "#/components/responses/internal_error"
post:
summary: Create a new token
tags: [ Tokens ]
summary: Create a new token for a user
tags: [ Users ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
parameters:
- in: path
name: userId
required: true
schema:
type: string
description: The User ID
description: The unique identifier of a user
requestBody:
description: PersonalAccessToken create parameters
content:
@@ -1005,23 +958,24 @@ paths:
"$ref": "#/components/responses/internal_error"
/api/users/{userId}/tokens/{tokenId}:
get:
summary: Returns a specific token
tags: [ Tokens ]
summary: Returns a specific token for a user
tags: [ Users ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
parameters:
- in: path
name: userId
required: true
schema:
type: string
description: The User ID
description: The unique identifier of a user
- in: path
name: tokenId
required: true
schema:
type: string
description: The Token ID
description: The unique identifier of a token
responses:
'200':
description: A PersonalAccessTokens Object
@@ -1038,23 +992,24 @@ paths:
'500':
"$ref": "#/components/responses/internal_error"
delete:
summary: Delete a token
tags: [ Tokens ]
summary: Delete a token for a user
tags: [ Users ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
parameters:
- in: path
name: userId
required: true
schema:
type: string
description: The User ID
description: The unique identifier of a user
- in: path
name: tokenId
required: true
schema:
type: string
description: The Token ID
description: The unique identifier of a token
responses:
'200':
description: Delete status code
@@ -1073,6 +1028,7 @@ paths:
tags: [ Peers ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
responses:
'200':
description: A JSON Array of Peers
@@ -1090,19 +1046,20 @@ paths:
"$ref": "#/components/responses/forbidden"
'500':
"$ref": "#/components/responses/internal_error"
/api/peers/{id}:
/api/peers/{peerId}:
get:
summary: Get information about a peer
tags: [ Peers ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
parameters:
- in: path
name: id
name: peerId
required: true
schema:
type: string
description: The Peer ID
description: The unique identifier of a peer
responses:
'200':
description: A Peer object
@@ -1123,13 +1080,14 @@ paths:
tags: [ Peers ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
parameters:
- in: path
name: id
name: peerId
required: true
schema:
type: string
description: The Peer ID
description: The unique identifier of a peer
requestBody:
description: update a peer
content:
@@ -1167,13 +1125,14 @@ paths:
tags: [ Peers ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
parameters:
- in: path
name: id
name: peerId
required: true
schema:
type: string
description: The Peer ID
description: The unique identifier of a peer
responses:
'200':
description: Delete status code
@@ -1192,6 +1151,7 @@ paths:
tags: [ Setup Keys ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
responses:
'200':
description: A JSON Array of Setup keys
@@ -1214,6 +1174,7 @@ paths:
tags: [ Setup Keys ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
requestBody:
description: New Setup Key request
content:
@@ -1235,19 +1196,20 @@ paths:
"$ref": "#/components/responses/forbidden"
'500':
"$ref": "#/components/responses/internal_error"
/api/setup-keys/{id}:
/api/setup-keys/{keyId}:
get:
summary: Get information about a Setup Key
tags: [ Setup Keys ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
parameters:
- in: path
name: id
name: keyId
required: true
schema:
type: string
description: The Setup Key ID
description: The unique identifier of a setup key
responses:
'200':
description: A Setup Key object
@@ -1268,13 +1230,14 @@ paths:
tags: [ Setup Keys ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
parameters:
- in: path
name: id
name: keyId
required: true
schema:
type: string
description: The Setup Key ID
description: The unique identifier of a setup key
requestBody:
description: update to Setup Key
content:
@@ -1296,36 +1259,13 @@ paths:
"$ref": "#/components/responses/forbidden"
'500':
"$ref": "#/components/responses/internal_error"
delete:
summary: Delete a Setup Key
tags: [ Setup Keys ]
security:
- BearerAuth: [ ]
parameters:
- in: path
name: id
required: true
schema:
type: string
description: The Setup Key ID
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/groups:
get:
summary: Returns a list of all Groups
tags: [ Groups ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
responses:
'200':
description: A JSON Array of Groups
@@ -1348,6 +1288,7 @@ paths:
tags: [ Groups ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
requestBody:
description: New Group request
content:
@@ -1378,19 +1319,20 @@ paths:
"$ref": "#/components/responses/forbidden"
'500':
"$ref": "#/components/responses/internal_error"
/api/groups/{id}:
/api/groups/{groupId}:
get:
summary: Get information about a Group
tags: [ Groups ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
parameters:
- in: path
name: id
name: groupId
required: true
schema:
type: string
description: The Group ID
description: The unique identifier of a group
responses:
'200':
description: A Group object
@@ -1411,13 +1353,14 @@ paths:
tags: [ Groups ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
parameters:
- in: path
name: id
name: groupId
required: true
schema:
type: string
description: The Group ID
description: The unique identifier of a group
requestBody:
description: Update Group request
content:
@@ -1446,53 +1389,19 @@ paths:
"$ref": "#/components/responses/forbidden"
'500':
"$ref": "#/components/responses/internal_error"
patch:
summary: Update information about a Group
tags: [ Groups ]
security:
- BearerAuth: [ ]
parameters:
- in: path
name: id
required: true
schema:
type: string
description: The Group ID
requestBody:
description: Update Group request using a list of json patch objects
content:
'application/json':
schema:
type: array
items:
$ref: '#/components/schemas/GroupPatchOperation'
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
tags: [ Groups ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
parameters:
- in: path
name: id
name: groupId
required: true
schema:
type: string
description: The Group ID
description: The unique identifier of a group
responses:
'200':
description: Delete status code
@@ -1511,6 +1420,7 @@ paths:
tags: [ Rules ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
responses:
'200':
description: A JSON Array of Rules
@@ -1533,6 +1443,7 @@ paths:
tags: [ Rules ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
requestBody:
description: New Rule request
content:
@@ -1557,19 +1468,20 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/Rule'
/api/rules/{id}:
/api/rules/{ruleId}:
get:
summary: Get information about a Rules
tags: [ Rules ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
parameters:
- in: path
name: id
name: ruleId
required: true
schema:
type: string
description: The Rule ID
description: The unique identifier of a rule
responses:
'200':
description: A Rule object
@@ -1590,13 +1502,14 @@ paths:
tags: [ Rules ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
parameters:
- in: path
name: id
name: ruleId
required: true
schema:
type: string
description: The Rule ID
description: The unique identifier of a rule
requestBody:
description: Update Rule request
content:
@@ -1634,13 +1547,14 @@ paths:
tags: [ Rules ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
parameters:
- in: path
name: id
name: ruleId
required: true
schema:
type: string
description: The Rule ID
description: The unique identifier of a rule
responses:
'200':
description: Delete status code
@@ -1659,6 +1573,7 @@ paths:
tags: [ Policies ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
responses:
'200':
description: A JSON Array of Policies
@@ -1681,6 +1596,7 @@ paths:
tags: [ Policies ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
requestBody:
description: New Policy request
content:
@@ -1695,19 +1611,20 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/Policy'
/api/policies/{id}:
/api/policies/{policyId}:
get:
summary: Get information about a Policies
tags: [ Policies ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
parameters:
- in: path
name: id
name: policyId
required: true
schema:
type: string
description: The Policy ID
description: The unique identifier of a policy
responses:
'200':
description: A Policy object
@@ -1728,13 +1645,14 @@ paths:
tags: [ Policies ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
parameters:
- in: path
name: id
name: policyId
required: true
schema:
type: string
description: The Policy ID
description: The unique identifier of a policy
requestBody:
description: Update Policy request
content:
@@ -1762,13 +1680,14 @@ paths:
tags: [ Policies ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
parameters:
- in: path
name: id
name: policyId
required: true
schema:
type: string
description: The Policy ID
description: The unique identifier of a policy
responses:
'200':
description: Delete status code
@@ -1787,6 +1706,7 @@ paths:
tags: [ Routes ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
responses:
'200':
description: A JSON Array of Routes
@@ -1809,6 +1729,7 @@ paths:
tags: [ Routes ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
requestBody:
description: New Routes request
content:
@@ -1831,19 +1752,20 @@ paths:
'500':
"$ref": "#/components/responses/internal_error"
/api/routes/{id}:
/api/routes/{routeId}:
get:
summary: Get information about a Routes
tags: [ Routes ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
parameters:
- in: path
name: id
name: routeId
required: true
schema:
type: string
description: The Route ID
description: The unique identifier of a route
responses:
'200':
description: A Route object
@@ -1864,13 +1786,14 @@ paths:
tags: [ Routes ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
parameters:
- in: path
name: id
name: routeId
required: true
schema:
type: string
description: The Route ID
description: The unique identifier of a route
requestBody:
description: Update Route request
content:
@@ -1892,53 +1815,19 @@ paths:
"$ref": "#/components/responses/forbidden"
'500':
"$ref": "#/components/responses/internal_error"
patch:
summary: Update information about a Route
tags: [ Routes ]
security:
- BearerAuth: [ ]
parameters:
- in: path
name: id
required: true
schema:
type: string
description: The Route ID
requestBody:
description: Update Route request using a list of json patch objects
content:
'application/json':
schema:
type: array
items:
$ref: '#/components/schemas/RoutePatchOperation'
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
tags: [ Routes ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
parameters:
- in: path
name: id
name: routeId
required: true
schema:
type: string
description: The Route ID
description: The unique identifier of a route
responses:
'200':
description: Delete status code
@@ -1957,6 +1846,7 @@ paths:
tags: [ DNS ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
responses:
'200':
description: A JSON Array of Nameserver Groups
@@ -1979,6 +1869,7 @@ paths:
tags: [ DNS ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
requestBody:
description: New Nameserver Groups request
content:
@@ -2001,19 +1892,20 @@ paths:
'500':
"$ref": "#/components/responses/internal_error"
/api/dns/nameservers/{id}:
/api/dns/nameservers/{nsgroupId}:
get:
summary: Get information about a Nameserver Groups
tags: [ DNS ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
parameters:
- in: path
name: id
name: nsgroupId
required: true
schema:
type: string
description: The Nameserver Group ID
description: The unique identifier of a Nameserver Group
responses:
'200':
description: A Nameserver Group object
@@ -2034,13 +1926,14 @@ paths:
tags: [ DNS ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
parameters:
- in: path
name: id
name: nsgroupId
required: true
schema:
type: string
description: The Nameserver Group ID
description: The unique identifier of a Nameserver Group
requestBody:
description: Update Nameserver Group request
content:
@@ -2062,53 +1955,19 @@ paths:
"$ref": "#/components/responses/forbidden"
'500':
"$ref": "#/components/responses/internal_error"
patch:
summary: Update information about a Nameserver Group
tags: [ DNS ]
security:
- BearerAuth: [ ]
parameters:
- in: path
name: id
required: true
schema:
type: string
description: The Nameserver Group ID
requestBody:
description: Update Nameserver Group request using a list of json patch objects
content:
'application/json':
schema:
type: array
items:
$ref: '#/components/schemas/NameserverGroupPatchOperation'
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
tags: [ DNS ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
parameters:
- in: path
name: id
name: nsgroupId
required: true
schema:
type: string
description: The Nameserver Group ID
description: The unique identifier of a Nameserver Group
responses:
'200':
description: Delete status code
@@ -2128,6 +1987,7 @@ paths:
tags: [ DNS ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
responses:
'200':
description: A JSON Object of DNS Setting
@@ -2149,6 +2009,7 @@ paths:
tags: [ DNS ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
requestBody:
description: A DNS settings object
content:
@@ -2176,6 +2037,7 @@ paths:
tags: [ Events ]
security:
- BearerAuth: [ ]
- TokenAuth: [ ]
responses:
'200':
description: A JSON Array of Events