FastAPI v0.1.0
> Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
# Authentication
- oAuth2 authentication.
- Flow: password
- Token URL = [/api/v1/login](/api/v1/login)
|Scope|Scope Description|
|---|---|
Default
## root__get
> Code samples
```python
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('/', headers = headers)
print(r.json())
```
`GET /`
*Root*
> Example responses
> 200 Response
```json
null
```
Responses
|Status|Meaning|Description|Schema|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|Inline|
Response Schema
This operation does not require authentication
user
## logout_api_v1_logout_get
> Code samples
```python
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/api/v1/logout', headers = headers)
print(r.json())
```
`GET /api/v1/logout`
*Logout*
> Example responses
> 200 Response
```json
null
```
Responses
|Status|Meaning|Description|Schema|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|Inline|
|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|Not found|None|
Response Schema
To perform this operation, you must be authenticated by means of one of the following methods:
OAuth2PasswordBearer
## edit_api_v1_user_edit_post
> Code samples
```python
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/api/v1/user/edit', headers = headers)
print(r.json())
```
`POST /api/v1/user/edit`
*Edit*
> Body parameter
```json
{
"id": 0,
"username": "string",
"email": "string",
"full_name": "string",
"role": "string",
"password": "string"
}
```
Parameters
|Name|In|Type|Required|Description|
|---|---|---|---|---|
|body|body|[UserInDB](#schemauserindb)|true|none|
> Example responses
> 200 Response
```json
{
"id": 0,
"username": "string",
"email": "string",
"full_name": "string",
"role": "string"
}
```
Responses
|Status|Meaning|Description|Schema|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|[User](#schemauser)|
|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|Not found|None|
|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|
To perform this operation, you must be authenticated by means of one of the following methods:
OAuth2PasswordBearer
## login_api_v1_login_post
> Code samples
```python
import requests
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Accept': 'application/json'
}
r = requests.post('/api/v1/login', headers = headers)
print(r.json())
```
`POST /api/v1/login`
*Login*
> Body parameter
```yaml
username: string
password: string
```
Parameters
|Name|In|Type|Required|Description|
|---|---|---|---|---|
|body|body|[Body_login_api_v1_login_post](#schemabody_login_api_v1_login_post)|true|none|
> Example responses
> 200 Response
```json
{
"access_token": "string",
"token_type": "string",
"user": {
"id": 0,
"username": "string",
"email": "string",
"full_name": "string",
"role": "string"
}
}
```
Responses
|Status|Meaning|Description|Schema|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|[Token](#schematoken)|
|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|Not found|None|
|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|
This operation does not require authentication
## create_user_api_v1_users_create__post
> Code samples
```python
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/api/v1/users/create/', headers = headers)
print(r.json())
```
`POST /api/v1/users/create/`
*Create User*
> Body parameter
```json
{
"id": 0,
"username": "string",
"email": "string",
"full_name": "string",
"role": "string",
"password": "string"
}
```
Parameters
|Name|In|Type|Required|Description|
|---|---|---|---|---|
|body|body|[UserInDB](#schemauserindb)|true|none|
> Example responses
> 200 Response
```json
null
```
Responses
|Status|Meaning|Description|Schema|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|Inline|
|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|Not found|None|
|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|
Response Schema
To perform this operation, you must be authenticated by means of one of the following methods:
OAuth2PasswordBearer
server
## servers_all_api_v1_server_all_get
> Code samples
```python
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/api/v1/server/all', headers = headers)
print(r.json())
```
`GET /api/v1/server/all`
*Servers All*
> Example responses
> 200 Response
```json
[
{
"id": 0,
"address": "string",
"v6_address": "string",
"subnet": 0,
"v6_subnet": 0,
"interface": "string",
"listen_port": 0,
"endpoint": "string",
"private_key": "string",
"public_key": "string",
"is_running": true,
"configuration": "string",
"post_up": "string",
"post_down": "string",
"dns": "string",
"peers": []
}
]
```
Responses
|Status|Meaning|Description|Schema|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|Inline|
|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|Not found|None|
Response Schema
Status Code **200**
*Response Servers All Api V1 Server All Get*
|Name|Type|Required|Restrictions|Description|
|---|---|---|---|---|
|Response Servers All Api V1 Server All Get|[[WGServer](#schemawgserver)]|false|none|none|
|» WGServer|[WGServer](#schemawgserver)|false|none|none|
|»» id|integer|false|none|none|
|»» address|string|false|none|none|
|»» v6_address|string|false|none|none|
|»» subnet|integer|false|none|none|
|»» v6_subnet|integer|false|none|none|
|»» interface|string|true|none|none|
|»» listen_port|integer|false|none|none|
|»» endpoint|string|false|none|none|
|»» private_key|string|false|none|none|
|»» public_key|string|false|none|none|
|»» is_running|boolean|false|none|none|
|»» configuration|string|false|none|none|
|»» post_up|string|false|none|none|
|»» post_down|string|false|none|none|
|»» dns|string|false|none|none|
|»» peers|[[WGPeer](#schemawgpeer)]|false|none|none|
|»»» WGPeer|[WGPeer](#schemawgpeer)|false|none|none|
|»»»» id|integer|false|none|none|
|»»»» name|string|false|none|none|
|»»»» address|string|false|none|none|
|»»»» v6_address|string|false|none|none|
|»»»» private_key|string|false|none|none|
|»»»» public_key|string|false|none|none|
|»»»» shared_key|string|false|none|none|
|»»»» server_id|string|true|none|none|
|»»»» dns|string|false|none|none|
|»»»» allowed_ips|string|false|none|none|
|»»»» configuration|string|false|none|none|
To perform this operation, you must be authenticated by means of one of the following methods:
OAuth2PasswordBearer
## add_interface_api_v1_server_add_post
> Code samples
```python
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/api/v1/server/add', headers = headers)
print(r.json())
```
`POST /api/v1/server/add`
*Add Interface*
> Body parameter
```json
{
"id": 0,
"address": "string",
"v6_address": "string",
"subnet": 0,
"v6_subnet": 0,
"interface": "string",
"listen_port": 0,
"endpoint": "string",
"private_key": "string",
"public_key": "string",
"is_running": true,
"configuration": "string",
"post_up": "string",
"post_down": "string",
"dns": "string",
"peers": []
}
```
Parameters
|Name|In|Type|Required|Description|
|---|---|---|---|---|
|body|body|[WGServerAdd](#schemawgserveradd)|true|none|
> Example responses
> 200 Response
```json
{
"id": 0,
"address": "string",
"v6_address": "string",
"subnet": 0,
"v6_subnet": 0,
"interface": "string",
"listen_port": 0,
"endpoint": "string",
"private_key": "string",
"public_key": "string",
"is_running": true,
"configuration": "string",
"post_up": "string",
"post_down": "string",
"dns": "string",
"peers": []
}
```
Responses
|Status|Meaning|Description|Schema|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|[WGServer](#schemawgserver)|
|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|Not found|None|
|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|
To perform this operation, you must be authenticated by means of one of the following methods:
OAuth2PasswordBearer
## stop_server_api_v1_server_stop_post
> Code samples
```python
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/api/v1/server/stop', headers = headers)
print(r.json())
```
`POST /api/v1/server/stop`
*Stop Server*
> Body parameter
```json
{
"id": 0,
"address": "string",
"v6_address": "string",
"subnet": 0,
"v6_subnet": 0,
"interface": "string",
"listen_port": 0,
"endpoint": "string",
"private_key": "string",
"public_key": "string",
"is_running": true,
"configuration": "string",
"post_up": "string",
"post_down": "string",
"dns": "string",
"peers": []
}
```
Parameters
|Name|In|Type|Required|Description|
|---|---|---|---|---|
|body|body|[WGServer](#schemawgserver)|true|none|
> Example responses
> 200 Response
```json
{
"id": 0,
"address": "string",
"v6_address": "string",
"subnet": 0,
"v6_subnet": 0,
"interface": "string",
"listen_port": 0,
"endpoint": "string",
"private_key": "string",
"public_key": "string",
"is_running": true,
"configuration": "string",
"post_up": "string",
"post_down": "string",
"dns": "string",
"peers": []
}
```
Responses
|Status|Meaning|Description|Schema|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|[WGServer](#schemawgserver)|
|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|Not found|None|
|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|
To perform this operation, you must be authenticated by means of one of the following methods:
OAuth2PasswordBearer
## start_server_api_v1_server_start_post
> Code samples
```python
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/api/v1/server/start', headers = headers)
print(r.json())
```
`POST /api/v1/server/start`
*Start Server*
> Body parameter
```json
{
"id": 0,
"address": "string",
"v6_address": "string",
"subnet": 0,
"v6_subnet": 0,
"interface": "string",
"listen_port": 0,
"endpoint": "string",
"private_key": "string",
"public_key": "string",
"is_running": true,
"configuration": "string",
"post_up": "string",
"post_down": "string",
"dns": "string",
"peers": []
}
```
Parameters
|Name|In|Type|Required|Description|
|---|---|---|---|---|
|body|body|[WGServer](#schemawgserver)|true|none|
> Example responses
> 200 Response
```json
{
"id": 0,
"address": "string",
"v6_address": "string",
"subnet": 0,
"v6_subnet": 0,
"interface": "string",
"listen_port": 0,
"endpoint": "string",
"private_key": "string",
"public_key": "string",
"is_running": true,
"configuration": "string",
"post_up": "string",
"post_down": "string",
"dns": "string",
"peers": []
}
```
Responses
|Status|Meaning|Description|Schema|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|[WGServer](#schemawgserver)|
|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|Not found|None|
|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|
To perform this operation, you must be authenticated by means of one of the following methods:
OAuth2PasswordBearer
## restart_server_api_v1_server_restart_post
> Code samples
```python
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/api/v1/server/restart', headers = headers)
print(r.json())
```
`POST /api/v1/server/restart`
*Restart Server*
> Body parameter
```json
{
"id": 0,
"address": "string",
"v6_address": "string",
"subnet": 0,
"v6_subnet": 0,
"interface": "string",
"listen_port": 0,
"endpoint": "string",
"private_key": "string",
"public_key": "string",
"is_running": true,
"configuration": "string",
"post_up": "string",
"post_down": "string",
"dns": "string",
"peers": []
}
```
Parameters
|Name|In|Type|Required|Description|
|---|---|---|---|---|
|body|body|[WGServer](#schemawgserver)|true|none|
> Example responses
> 200 Response
```json
{
"id": 0,
"address": "string",
"v6_address": "string",
"subnet": 0,
"v6_subnet": 0,
"interface": "string",
"listen_port": 0,
"endpoint": "string",
"private_key": "string",
"public_key": "string",
"is_running": true,
"configuration": "string",
"post_up": "string",
"post_down": "string",
"dns": "string",
"peers": []
}
```
Responses
|Status|Meaning|Description|Schema|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|[WGServer](#schemawgserver)|
|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|Not found|None|
|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|
To perform this operation, you must be authenticated by means of one of the following methods:
OAuth2PasswordBearer
## delete_server_api_v1_server_delete_post
> Code samples
```python
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/api/v1/server/delete', headers = headers)
print(r.json())
```
`POST /api/v1/server/delete`
*Delete Server*
> Body parameter
```json
{
"id": 0,
"address": "string",
"v6_address": "string",
"subnet": 0,
"v6_subnet": 0,
"interface": "string",
"listen_port": 0,
"endpoint": "string",
"private_key": "string",
"public_key": "string",
"is_running": true,
"configuration": "string",
"post_up": "string",
"post_down": "string",
"dns": "string",
"peers": []
}
```
Parameters
|Name|In|Type|Required|Description|
|---|---|---|---|---|
|body|body|[WGServer](#schemawgserver)|true|none|
> Example responses
> 200 Response
```json
{
"id": 0,
"address": "string",
"v6_address": "string",
"subnet": 0,
"v6_subnet": 0,
"interface": "string",
"listen_port": 0,
"endpoint": "string",
"private_key": "string",
"public_key": "string",
"is_running": true,
"configuration": "string",
"post_up": "string",
"post_down": "string",
"dns": "string",
"peers": []
}
```
Responses
|Status|Meaning|Description|Schema|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|[WGServer](#schemawgserver)|
|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|Not found|None|
|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|
To perform this operation, you must be authenticated by means of one of the following methods:
OAuth2PasswordBearer
## stats_server_api_v1_server_stats_post
> Code samples
```python
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/api/v1/server/stats', headers = headers)
print(r.json())
```
`POST /api/v1/server/stats`
*Stats Server*
> Body parameter
```json
{
"id": 0,
"address": "string",
"v6_address": "string",
"subnet": 0,
"v6_subnet": 0,
"interface": "string",
"listen_port": 0,
"endpoint": "string",
"private_key": "string",
"public_key": "string",
"is_running": true,
"configuration": "string",
"post_up": "string",
"post_down": "string",
"dns": "string",
"peers": []
}
```
Parameters
|Name|In|Type|Required|Description|
|---|---|---|---|---|
|body|body|[WGServer](#schemawgserver)|true|none|
> Example responses
> 200 Response
```json
null
```
Responses
|Status|Meaning|Description|Schema|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|Inline|
|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|Not found|None|
|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|
Response Schema
To perform this operation, you must be authenticated by means of one of the following methods:
OAuth2PasswordBearer
## edit_server_api_v1_server_edit_post
> Code samples
```python
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/api/v1/server/edit', headers = headers)
print(r.json())
```
`POST /api/v1/server/edit`
*Edit Server*
> Body parameter
```json
{}
```
Parameters
|Name|In|Type|Required|Description|
|---|---|---|---|---|
|body|body|object|true|none|
> Example responses
> 200 Response
```json
{
"id": 0,
"address": "string",
"v6_address": "string",
"subnet": 0,
"v6_subnet": 0,
"interface": "string",
"listen_port": 0,
"endpoint": "string",
"private_key": "string",
"public_key": "string",
"is_running": true,
"configuration": "string",
"post_up": "string",
"post_down": "string",
"dns": "string",
"peers": []
}
```
Responses
|Status|Meaning|Description|Schema|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|[WGServer](#schemawgserver)|
|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|Not found|None|
|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|
To perform this operation, you must be authenticated by means of one of the following methods:
OAuth2PasswordBearer
## server_config_api_v1_server_config__server_id__get
> Code samples
```python
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/api/v1/server/config/{server_id}', headers = headers)
print(r.json())
```
`GET /api/v1/server/config/{server_id}`
*Server Config*
Parameters
|Name|In|Type|Required|Description|
|---|---|---|---|---|
|server_id|path|integer|true|none|
> Example responses
> 200 Response
```json
"string"
```
Responses
|Status|Meaning|Description|Schema|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|string|
|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|Not found|None|
|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|
To perform this operation, you must be authenticated by means of one of the following methods:
OAuth2PasswordBearer
peer
## add_peer_api_v1_peer_add_post
> Code samples
```python
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/api/v1/peer/add', headers = headers)
print(r.json())
```
`POST /api/v1/peer/add`
*Add Peer*
> Body parameter
```json
{
"server_interface": "string"
}
```
Parameters
|Name|In|Type|Required|Description|
|---|---|---|---|---|
|body|body|[WGPeerAdd](#schemawgpeeradd)|true|none|
> Example responses
> 200 Response
```json
{
"id": 0,
"name": "string",
"address": "string",
"v6_address": "string",
"private_key": "string",
"public_key": "string",
"shared_key": "string",
"server_id": "string",
"dns": "string",
"allowed_ips": "string",
"configuration": "string"
}
```
Responses
|Status|Meaning|Description|Schema|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|[WGPeer](#schemawgpeer)|
|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|Not found|None|
|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|
To perform this operation, you must be authenticated by means of one of the following methods:
OAuth2PasswordBearer
## delete_peer_api_v1_peer_delete_post
> Code samples
```python
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/api/v1/peer/delete', headers = headers)
print(r.json())
```
`POST /api/v1/peer/delete`
*Delete Peer*
> Body parameter
```json
{
"id": 0,
"name": "string",
"address": "string",
"v6_address": "string",
"private_key": "string",
"public_key": "string",
"shared_key": "string",
"server_id": "string",
"dns": "string",
"allowed_ips": "string",
"configuration": "string"
}
```
Parameters
|Name|In|Type|Required|Description|
|---|---|---|---|---|
|body|body|[WGPeer](#schemawgpeer)|true|none|
> Example responses
> 200 Response
```json
{
"id": 0,
"name": "string",
"address": "string",
"v6_address": "string",
"private_key": "string",
"public_key": "string",
"shared_key": "string",
"server_id": "string",
"dns": "string",
"allowed_ips": "string",
"configuration": "string"
}
```
Responses
|Status|Meaning|Description|Schema|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|[WGPeer](#schemawgpeer)|
|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|Not found|None|
|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|
To perform this operation, you must be authenticated by means of one of the following methods:
OAuth2PasswordBearer
## edit_peer_api_v1_peer_edit_post
> Code samples
```python
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/api/v1/peer/edit', headers = headers)
print(r.json())
```
`POST /api/v1/peer/edit`
*Edit Peer*
> Body parameter
```json
{
"id": 0,
"name": "string",
"address": "string",
"v6_address": "string",
"private_key": "string",
"public_key": "string",
"shared_key": "string",
"server_id": "string",
"dns": "string",
"allowed_ips": "string",
"configuration": "string"
}
```
Parameters
|Name|In|Type|Required|Description|
|---|---|---|---|---|
|body|body|[WGPeer](#schemawgpeer)|true|none|
> Example responses
> 200 Response
```json
null
```
Responses
|Status|Meaning|Description|Schema|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|Inline|
|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|Not found|None|
|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|Validation Error|[HTTPValidationError](#schemahttpvalidationerror)|
Response Schema
To perform this operation, you must be authenticated by means of one of the following methods:
OAuth2PasswordBearer
wg
## generate_psk_api_v1_wg_generate_psk_get
> Code samples
```python
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/api/v1/wg/generate_psk', headers = headers)
print(r.json())
```
`GET /api/v1/wg/generate_psk`
*Generate Psk*
> Example responses
> 200 Response
```json
{
"psk": "string"
}
```
Responses
|Status|Meaning|Description|Schema|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|[PSK](#schemapsk)|
|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|Not found|None|
To perform this operation, you must be authenticated by means of one of the following methods:
OAuth2PasswordBearer
## generate_key_pair_api_v1_wg_generate_keypair_get
> Code samples
```python
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/api/v1/wg/generate_keypair', headers = headers)
print(r.json())
```
`GET /api/v1/wg/generate_keypair`
*Generate Key Pair*
> Example responses
> 200 Response
```json
{
"public_key": "string",
"private_key": "string"
}
```
Responses
|Status|Meaning|Description|Schema|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful Response|[KeyPair](#schemakeypair)|
|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|Not found|None|
To perform this operation, you must be authenticated by means of one of the following methods:
OAuth2PasswordBearer
# Schemas
Body_login_api_v1_login_post
```json
{
"username": "string",
"password": "string"
}
```
Body_login_api_v1_login_post
### Properties
|Name|Type|Required|Restrictions|Description|
|---|---|---|---|---|
|username|string|true|none|none|
|password|string|true|none|none|
HTTPValidationError
```json
{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}
```
HTTPValidationError
### Properties
|Name|Type|Required|Restrictions|Description|
|---|---|---|---|---|
|detail|[[ValidationError](#schemavalidationerror)]|false|none|none|
KeyPair
```json
{
"public_key": "string",
"private_key": "string"
}
```
KeyPair
### Properties
|Name|Type|Required|Restrictions|Description|
|---|---|---|---|---|
|public_key|string|true|none|none|
|private_key|string|true|none|none|
PSK
```json
{
"psk": "string"
}
```
PSK
### Properties
|Name|Type|Required|Restrictions|Description|
|---|---|---|---|---|
|psk|string|true|none|none|
Token
```json
{
"access_token": "string",
"token_type": "string",
"user": {
"id": 0,
"username": "string",
"email": "string",
"full_name": "string",
"role": "string"
}
}
```
Token
### Properties
|Name|Type|Required|Restrictions|Description|
|---|---|---|---|---|
|access_token|string|true|none|none|
|token_type|string|true|none|none|
|user|[User](#schemauser)|true|none|none|
User
```json
{
"id": 0,
"username": "string",
"email": "string",
"full_name": "string",
"role": "string"
}
```
User
### Properties
|Name|Type|Required|Restrictions|Description|
|---|---|---|---|---|
|id|integer|false|none|none|
|username|string|true|none|none|
|email|string|false|none|none|
|full_name|string|false|none|none|
|role|string|false|none|none|
UserInDB
```json
{
"id": 0,
"username": "string",
"email": "string",
"full_name": "string",
"role": "string",
"password": "string"
}
```
UserInDB
### Properties
|Name|Type|Required|Restrictions|Description|
|---|---|---|---|---|
|id|integer|false|none|none|
|username|string|true|none|none|
|email|string|false|none|none|
|full_name|string|false|none|none|
|role|string|false|none|none|
|password|string|true|none|none|
ValidationError
```json
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
```
ValidationError
### Properties
|Name|Type|Required|Restrictions|Description|
|---|---|---|---|---|
|loc|[string]|true|none|none|
|msg|string|true|none|none|
|type|string|true|none|none|
WGPeer
```json
{
"id": 0,
"name": "string",
"address": "string",
"v6_address": "string",
"private_key": "string",
"public_key": "string",
"shared_key": "string",
"server_id": "string",
"dns": "string",
"allowed_ips": "string",
"configuration": "string"
}
```
WGPeer
### Properties
|Name|Type|Required|Restrictions|Description|
|---|---|---|---|---|
|id|integer|false|none|none|
|name|string|false|none|none|
|address|string|false|none|none|
|v6_address|string|false|none|none|
|private_key|string|false|none|none|
|public_key|string|false|none|none|
|shared_key|string|false|none|none|
|server_id|string|true|none|none|
|dns|string|false|none|none|
|allowed_ips|string|false|none|none|
|configuration|string|false|none|none|
WGPeerAdd
```json
{
"server_interface": "string"
}
```
WGPeerAdd
### Properties
|Name|Type|Required|Restrictions|Description|
|---|---|---|---|---|
|server_interface|string|true|none|none|
WGServer
```json
{
"id": 0,
"address": "string",
"v6_address": "string",
"subnet": 0,
"v6_subnet": 0,
"interface": "string",
"listen_port": 0,
"endpoint": "string",
"private_key": "string",
"public_key": "string",
"is_running": true,
"configuration": "string",
"post_up": "string",
"post_down": "string",
"dns": "string",
"peers": []
}
```
WGServer
### Properties
|Name|Type|Required|Restrictions|Description|
|---|---|---|---|---|
|id|integer|false|none|none|
|address|string|false|none|none|
|v6_address|string|false|none|none|
|subnet|integer|false|none|none|
|v6_subnet|integer|false|none|none|
|interface|string|true|none|none|
|listen_port|integer|false|none|none|
|endpoint|string|false|none|none|
|private_key|string|false|none|none|
|public_key|string|false|none|none|
|is_running|boolean|false|none|none|
|configuration|string|false|none|none|
|post_up|string|false|none|none|
|post_down|string|false|none|none|
|dns|string|false|none|none|
|peers|[[WGPeer](#schemawgpeer)]|false|none|none|
WGServerAdd
```json
{
"id": 0,
"address": "string",
"v6_address": "string",
"subnet": 0,
"v6_subnet": 0,
"interface": "string",
"listen_port": 0,
"endpoint": "string",
"private_key": "string",
"public_key": "string",
"is_running": true,
"configuration": "string",
"post_up": "string",
"post_down": "string",
"dns": "string",
"peers": []
}
```
WGServerAdd
### Properties
|Name|Type|Required|Restrictions|Description|
|---|---|---|---|---|
|id|integer|false|none|none|
|address|string|true|none|none|
|v6_address|string|false|none|none|
|subnet|integer|false|none|none|
|v6_subnet|integer|false|none|none|
|interface|string|true|none|none|
|listen_port|integer|true|none|none|
|endpoint|string|false|none|none|
|private_key|string|false|none|none|
|public_key|string|false|none|none|
|is_running|boolean|false|none|none|
|configuration|string|false|none|none|
|post_up|string|false|none|none|
|post_down|string|false|none|none|
|dns|string|false|none|none|
|peers|[[WGPeer](#schemawgpeer)]|false|none|none|