API
HyperSec HyperCollector API
The HyperSec HyperCollector API is provided by the collector-api service. The service by default is bound to http://localhost:3001.
Get the JWT for a user with data from OAuth2 request form body.
password
""
POST /api/v1/auth/login HTTP/1.1
Host:
Content-Type: application/x-www-form-urlencoded
Accept: */*
Content-Length: 123
"grant_type='text'&username='text'&password='text'&scope=''&client_id='text'&client_secret='text'&otp='text'"
{
"access_token": "text",
"token_type": "text"
}
Fetch the current logged-in user.
GET /api/v1/auth/me HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"first_name": "text",
"surname": "text",
"email": "[email protected]",
"is_superuser": false,
"is_approved": false,
"otp_secret": "text",
"id": 1
}
Create new user without the need to be logged in.
false
false
POST /api/v1/auth/signup HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 142
{
"first_name": "text",
"surname": "text",
"email": "[email protected]",
"is_superuser": false,
"is_approved": false,
"otp_secret": "text",
"password": "text"
}
{
"first_name": "text",
"surname": "text",
"email": "[email protected]",
"is_superuser": false,
"is_approved": false,
"otp_secret": "text",
"id": 1
}
password change for authenticated user
PUT /api/v1/usermgmt/password?email=text¤t_password=text&new_password=text HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"first_name": "text",
"surname": "text",
"email": "[email protected]",
"is_superuser": false,
"is_approved": false,
"otp_secret": "text"
}
for admin-role only: Fetch the all users
GET /api/v1/usermgmt/users HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"users": [
{
"first_name": "text",
"surname": "text",
"email": "[email protected]",
"is_superuser": false,
"is_approved": false,
"otp_secret": "text"
}
]
}
for admin-role only: update user
false
false
PUT /api/v1/usermgmt/users?email=text HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 99
{
"first_name": "text",
"surname": "text",
"is_superuser": false,
"is_approved": false,
"otp_secret": "text"
}
{
"first_name": "text",
"surname": "text",
"email": "[email protected]",
"is_superuser": false,
"is_approved": false,
"otp_secret": "text"
}
for admin-role only: Fetch the all pending users
GET /api/v1/usermgmt/users/pending HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"users": [
{
"first_name": "text",
"surname": "text",
"email": "[email protected]",
"is_superuser": false,
"is_approved": false,
"otp_secret": "text"
}
]
}
for admin-role only: Fetch the all approved users
GET /api/v1/usermgmt/users/approved HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"users": [
{
"first_name": "text",
"surname": "text",
"email": "[email protected]",
"is_superuser": false,
"is_approved": false,
"otp_secret": "text"
}
]
}
Update the system hostname.
PUT /api/v1/system/hostname HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 19
{
"hostname": "text"
}
{
"hostname": "text"
}
Update the system hostname.
PUT /api/v1/system/org_id HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 17
{
"org_id": "text"
}
{
"org_id": "text"
}
Update the system hostname.
PUT /api/v1/system/site_id HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 18
{
"site_id": "text"
}
{
"site_id": "text"
}
Update the system hostname.
PUT /api/v1/system/timezone HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 19
{
"timezone": "text"
}
{
"timezone": "text"
}
Get IP Usage Information for system
GET /api/v1/system/users HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"users": [
{
"username": "text",
"terminal": "text",
"host": "text",
"logged_in": "text",
"duration": "text",
"active": false
}
]
}
Retrieve partition usage on the system (real partitions)
GET /api/v1/system/partitions HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
Successful Response
{
"partitions": [
{
"mount_point": "text",
"disk_total_bytes": 1,
"disk_total_human_readable": "text",
"disk_used_bytes": 1,
"disk_used_human_readable": "text",
"disk_free_bytes": 1,
"disk_free_human_readable": "text",
"disk_usage_percent": 1
}
]
}
Fetch all system information in one hit
GET /api/v1/system/ HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"users": [
{
"username": "text",
"terminal": "text",
"host": "text",
"logged_in": "text",
"duration": "text",
"active": false
}
],
"partitions": [
{
"mount_point": "text",
"disk_total_bytes": 1,
"disk_total_human_readable": "text",
"disk_used_bytes": 1,
"disk_used_human_readable": "text",
"disk_free_bytes": 1,
"disk_free_human_readable": "text",
"disk_usage_percent": 1
}
],
"ip_addresses": [
"text"
],
"uptime": {
"secs": 1,
"human_readable": "text"
},
"hostname": "text"
}
Setup Network Time Protocol
POST /api/v1/networks/ntp HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 54
{
"ip_addresses": [
{
"ip_address": "text",
"port": "text"
}
]
}
{
"ip_addresses": [
{
"id": 1,
"ip_address": "text",
"port": "text"
}
]
}
Delete Network Time Protocol
DELETE /api/v1/networks/ntp?ip_address=text HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"detail": "NTP with IP Address: {ip_address} deleted."
}
Get all Network Time Protocol
GET /api/v1/networks/ntps HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
Successful Response
{
"ip_addresses": [
{
"id": 1,
"ip_address": "text",
"port": "text"
}
]
}
Get all Domain Name Systems
GET /api/v1/networks/dns HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
Successful Response
{
"result": [
{
"id": 1,
"ip_address": "text",
"port": "text"
}
]
}
Add Domain Name System
POST /api/v1/networks/dns HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 51
{
"hostnames": [
{
"ip_address": "text",
"port": "text"
}
]
}
{
"result": [
{
"id": 1,
"ip_address": "text",
"port": "text"
}
]
}
Delete Domain Name System
DELETE /api/v1/networks/dns?ip_address=text HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"detail": "DNS with IP Address: {ip_address} deleted."
}
Route all traffic
POST /api/v1/networks/static-route HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 55
{
"routes": [
{
"to": "text",
"via": "text",
"device": "text"
}
]
}
{
"routes": [
{
"id": 1,
"to": "text",
"via": "text",
"device": "text"
}
]
}
Delete Static Route
DELETE /api/v1/networks/static-route?static_route_id=1 HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"detail": "StaticRoute with ID: {id} deleted."
}
Get all Static Routes
GET /api/v1/networks/static-routes HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
Successful Response
{
"routes": [
{
"id": 1,
"to": "text",
"via": "text",
"device": "text"
}
]
}
Get IP Address Event Receiver and Management Interfaces
GET /api/v1/networks/ip-mgmt HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
Successful Response
{
"ip_management": [
{
"type": "text",
"iface": "text",
"family": "text",
"ip_address": "text",
"netmask": "text",
"gateway": "text"
}
]
}
Add IP Address Event Receiver and Management Interfaces
POST /api/v1/networks/ip-mgmt HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 190
{
"mgmt": {
"iface": "text",
"family": "text",
"ip_address": "text",
"netmask": "text",
"gateway": "text"
},
"event": {
"iface": "text",
"family": "text",
"ip_address": "text",
"netmask": "text",
"gateway": "text"
}
}
{
"ip_management": [
{
"type": "text",
"iface": "text",
"family": "text",
"ip_address": "text",
"netmask": "text",
"gateway": "text"
}
]
}
Update ip management in the database.
PUT /api/v1/networks/ip-mgmt HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 190
{
"mgmt": {
"iface": "text",
"family": "text",
"ip_address": "text",
"netmask": "text",
"gateway": "text"
},
"event": {
"iface": "text",
"family": "text",
"ip_address": "text",
"netmask": "text",
"gateway": "text"
}
}
{
"ip_management": [
{
"type": "text",
"iface": "text",
"family": "text",
"ip_address": "text",
"netmask": "text",
"gateway": "text"
}
]
}
Delete IP Management Data
mgmt or event
DELETE /api/v1/networks/ip-mgmt HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"detail": "IPMgmt with type: {type} deleted."
}
Fetch all syslog port mappings
GET /api/v1/syslog/port HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
Successful Response
{
"results": [
{
"id": 1,
"port": 1,
"label": "text",
"protocols": [
{
"protocol": "text"
}
]
}
]
}
Create a new syslog port listener in the database.
POST /api/v1/syslog/port HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 66
{
"id": 1,
"port": 1,
"label": "text",
"protocols": [
{
"protocol": "text"
}
]
}
{
"id": 1,
"port": 1,
"label": "text",
"protocols": [
{
"protocol": "text"
}
]
}
Update a syslog port listener in the database.
PUT /api/v1/syslog/port HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 66
{
"id": 1,
"port": 1,
"label": "text",
"protocols": [
{
"protocol": "text"
}
]
}
{
"id": 1,
"port": 1,
"label": "text",
"protocols": [
{
"protocol": "text"
}
]
}
DELETE /api/v1/syslog/port/{port} HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"detail": "Syslog Port with Port: {port} deleted."
}
Fetch a single service by Name
GET /api/v1/service/{name} HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"name": "service name",
"type": "either source or sink",
"module": "module",
"enabled": false,
"is_default": false,
"tls": {
"enabled": false,
"verify_hostname": false,
"verify_certificate": false,
"passphrase": ""
},
"certificates": [
{
"filename": "text",
"id": 1,
"type": "text",
"filesize": 0,
"data": "text",
"created": "2025-06-21T18:18:53.548Z",
"modified": "2025-06-21T18:18:53.548Z"
}
],
"events": {
"static_events": [
{
"id": 1,
"type": "text"
}
],
"syslog_ports": [
{
"id": 1,
"port": 1,
"label": "text",
"protocols": [
{
"protocol": "text"
}
]
}
]
},
"modules": {
"sink": {
"http": {
"uri": "text",
"method": "text",
"compression": "text",
"strategy": "text",
"auth_user": "text",
"auth_password": "text",
"auth_token": "text"
},
"kafka": {
"bootstrap_servers": "text",
"compression": "text",
"topic": "text",
"sasl": true,
"sasl_mechanism": "text",
"sasl_username": "text",
"sasl_password": "text"
},
"aws_s3": {
"bucket": "text",
"ssekms_key_id": "text",
"storage_class": "text",
"compression": "text",
"endpoint": "text",
"key_prefix": "text",
"region": "text",
"auth_access_key_id": "text",
"auth_secret_access_key": "text"
},
"vector": {
"address": "text"
},
"splunk_hec_logs": {
"endpoint": "text"
},
"elasticsearch_sink": {
"api_version": "text",
"endpoints": [],
"mode": "text",
"bulk_action": "text",
"bulk_index": "text",
"data_stream_type": "text",
"data_stream_dataset": "text",
"data_stream_namespace": "text",
"pipeline": "text",
"tls_verify_certificate": true,
"tls_verify_hostname": true
},
"clickhouse": {
"endpoint": "text",
"table": "text"
}
},
"source": [
{}
]
}
}
Update service in the database.
service name
either source or sink
module
false
false
PUT /api/v1/service/{name} HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1403
{
"name": "service name",
"type": "either source or sink",
"module": "module",
"enabled": false,
"is_default": false,
"tls": {
"enabled": false,
"verify_hostname": false,
"verify_certificate": false,
"passphrase": ""
},
"certificates": [
{
"filename": "text"
}
],
"events": {
"static_events": [
{
"id": 1
}
],
"syslog_ports": [
{
"id": 1
}
]
},
"modules": {
"sink": {
"http": {
"uri": "text",
"method": "text",
"compression": "text",
"strategy": "text",
"auth_user": "text",
"auth_password": "text",
"auth_token": "text"
},
"kafka": {
"bootstrap_servers": "text",
"compression": "text",
"topic": "text",
"sasl": true,
"sasl_mechanism": "text",
"sasl_username": "text",
"sasl_password": "text"
},
"aws_s3": {
"bucket": "text",
"ssekms_key_id": "text",
"storage_class": "text",
"compression": "text",
"endpoint": "text",
"key_prefix": "text",
"region": "text",
"auth_access_key_id": "text",
"auth_secret_access_key": "text"
},
"vector": {
"address": "text"
},
"splunk_hec_logs": {
"endpoint": "text"
},
"elasticsearch_sink": {
"api_version": "text",
"endpoints": [],
"mode": "default, bulk, options: bulk, datastream",
"bulk_action": "index, create, or template",
"bulk_index": "string or template",
"data_stream_type": "string or template",
"data_stream_dataset": "string or template",
"data_stream_namespace": "string or template",
"pipeline": "pipeline-name",
"tls_verify_certificate": false,
"tls_verify_hostname": false
},
"clickhouse": {
"endpoint": "text",
"table": "text"
}
},
"source": [
{
"source_type": "nxlog",
"address": "0.0.0.0",
"port": 8000
}
]
}
}
{
"name": "service name",
"type": "either source or sink",
"module": "module",
"enabled": false,
"is_default": false,
"tls": {
"enabled": false,
"verify_hostname": false,
"verify_certificate": false,
"passphrase": ""
},
"certificates": [
{
"filename": "text",
"id": 1,
"type": "text",
"filesize": 0,
"data": "text",
"created": "2025-06-21T18:18:53.548Z",
"modified": "2025-06-21T18:18:53.548Z"
}
],
"events": {
"static_events": [
{
"id": 1,
"type": "text"
}
],
"syslog_ports": [
{
"id": 1,
"port": 1,
"label": "text",
"protocols": [
{
"protocol": "text"
}
]
}
]
},
"modules": {
"sink": {
"http": {
"uri": "text",
"method": "text",
"compression": "text",
"strategy": "text",
"auth_user": "text",
"auth_password": "text",
"auth_token": "text"
},
"kafka": {
"bootstrap_servers": "text",
"compression": "text",
"topic": "text",
"sasl": true,
"sasl_mechanism": "text",
"sasl_username": "text",
"sasl_password": "text"
},
"aws_s3": {
"bucket": "text",
"ssekms_key_id": "text",
"storage_class": "text",
"compression": "text",
"endpoint": "text",
"key_prefix": "text",
"region": "text",
"auth_access_key_id": "text",
"auth_secret_access_key": "text"
},
"vector": {
"address": "text"
},
"splunk_hec_logs": {
"endpoint": "text"
},
"elasticsearch_sink": {
"api_version": "text",
"endpoints": [],
"mode": "text",
"bulk_action": "text",
"bulk_index": "text",
"data_stream_type": "text",
"data_stream_dataset": "text",
"data_stream_namespace": "text",
"pipeline": "text",
"tls_verify_certificate": true,
"tls_verify_hostname": true
},
"clickhouse": {
"endpoint": "text",
"table": "text"
}
},
"source": [
{}
]
}
}
Delete service in the database.
DELETE /api/v1/service/{name} HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"detail": "Service with Name: {name} deleted."
}
Fetch all services
GET /api/v1/service/ HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
Successful Response
{
"results": [
{
"name": "service name",
"type": "either source or sink",
"module": "module",
"enabled": false,
"is_default": false,
"tls": {
"enabled": false,
"verify_hostname": false,
"verify_certificate": false,
"passphrase": ""
},
"certificates": [
{
"filename": "text",
"id": 1,
"type": "text",
"filesize": 0,
"data": "text",
"created": "2025-06-21T18:18:53.548Z",
"modified": "2025-06-21T18:18:53.548Z"
}
],
"events": {
"static_events": [
{
"id": 1,
"type": "text"
}
],
"syslog_ports": [
{
"id": 1,
"port": 1,
"label": "text",
"protocols": [
{
"protocol": "text"
}
]
}
]
},
"modules": {
"sink": {
"http": {
"uri": "text",
"method": "text",
"compression": "text",
"strategy": "text",
"auth_user": "text",
"auth_password": "text",
"auth_token": "text"
},
"kafka": {
"bootstrap_servers": "text",
"compression": "text",
"topic": "text",
"sasl": true,
"sasl_mechanism": "text",
"sasl_username": "text",
"sasl_password": "text"
},
"aws_s3": {
"bucket": "text",
"ssekms_key_id": "text",
"storage_class": "text",
"compression": "text",
"endpoint": "text",
"key_prefix": "text",
"region": "text",
"auth_access_key_id": "text",
"auth_secret_access_key": "text"
},
"vector": {
"address": "text"
},
"splunk_hec_logs": {
"endpoint": "text"
},
"elasticsearch_sink": {
"api_version": "text",
"endpoints": [],
"mode": "text",
"bulk_action": "text",
"bulk_index": "text",
"data_stream_type": "text",
"data_stream_dataset": "text",
"data_stream_namespace": "text",
"pipeline": "text",
"tls_verify_certificate": true,
"tls_verify_hostname": true
},
"clickhouse": {
"endpoint": "text",
"table": "text"
}
},
"source": [
{}
]
}
}
]
}
Create a new syslog port listener in the database.
service name
either source or sink
module
false
false
POST /api/v1/service/ HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1403
{
"name": "service name",
"type": "either source or sink",
"module": "module",
"enabled": false,
"is_default": false,
"tls": {
"enabled": false,
"verify_hostname": false,
"verify_certificate": false,
"passphrase": ""
},
"certificates": [
{
"filename": "text"
}
],
"events": {
"static_events": [
{
"id": 1
}
],
"syslog_ports": [
{
"id": 1
}
]
},
"modules": {
"sink": {
"http": {
"uri": "text",
"method": "text",
"compression": "text",
"strategy": "text",
"auth_user": "text",
"auth_password": "text",
"auth_token": "text"
},
"kafka": {
"bootstrap_servers": "text",
"compression": "text",
"topic": "text",
"sasl": true,
"sasl_mechanism": "text",
"sasl_username": "text",
"sasl_password": "text"
},
"aws_s3": {
"bucket": "text",
"ssekms_key_id": "text",
"storage_class": "text",
"compression": "text",
"endpoint": "text",
"key_prefix": "text",
"region": "text",
"auth_access_key_id": "text",
"auth_secret_access_key": "text"
},
"vector": {
"address": "text"
},
"splunk_hec_logs": {
"endpoint": "text"
},
"elasticsearch_sink": {
"api_version": "text",
"endpoints": [],
"mode": "default, bulk, options: bulk, datastream",
"bulk_action": "index, create, or template",
"bulk_index": "string or template",
"data_stream_type": "string or template",
"data_stream_dataset": "string or template",
"data_stream_namespace": "string or template",
"pipeline": "pipeline-name",
"tls_verify_certificate": false,
"tls_verify_hostname": false
},
"clickhouse": {
"endpoint": "text",
"table": "text"
}
},
"source": [
{
"source_type": "nxlog",
"address": "0.0.0.0",
"port": 8000
}
]
}
}
{
"name": "service name",
"type": "either source or sink",
"module": "module",
"enabled": false,
"is_default": false,
"tls": {
"enabled": false,
"verify_hostname": false,
"verify_certificate": false,
"passphrase": ""
},
"certificates": [
{
"filename": "text",
"id": 1,
"type": "text",
"filesize": 0,
"data": "text",
"created": "2025-06-21T18:18:53.548Z",
"modified": "2025-06-21T18:18:53.548Z"
}
],
"events": {
"static_events": [
{
"id": 1,
"type": "text"
}
],
"syslog_ports": [
{
"id": 1,
"port": 1,
"label": "text",
"protocols": [
{
"protocol": "text"
}
]
}
]
},
"modules": {
"sink": {
"http": {
"uri": "text",
"method": "text",
"compression": "text",
"strategy": "text",
"auth_user": "text",
"auth_password": "text",
"auth_token": "text"
},
"kafka": {
"bootstrap_servers": "text",
"compression": "text",
"topic": "text",
"sasl": true,
"sasl_mechanism": "text",
"sasl_username": "text",
"sasl_password": "text"
},
"aws_s3": {
"bucket": "text",
"ssekms_key_id": "text",
"storage_class": "text",
"compression": "text",
"endpoint": "text",
"key_prefix": "text",
"region": "text",
"auth_access_key_id": "text",
"auth_secret_access_key": "text"
},
"vector": {
"address": "text"
},
"splunk_hec_logs": {
"endpoint": "text"
},
"elasticsearch_sink": {
"api_version": "text",
"endpoints": [],
"mode": "text",
"bulk_action": "text",
"bulk_index": "text",
"data_stream_type": "text",
"data_stream_dataset": "text",
"data_stream_namespace": "text",
"pipeline": "text",
"tls_verify_certificate": true,
"tls_verify_hostname": true
},
"clickhouse": {
"endpoint": "text",
"table": "text"
}
},
"source": [
{}
]
}
}
Upload/Create new certificate
An enumeration.
POST /api/v1/certs/upload HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: multipart/form-data
Accept: */*
Content-Length: 53
{
"file": "binary",
"file_type": "certificate_authority"
}
{
"id": 1,
"filename": "text",
"type": "text",
"filesize": 1,
"data": "text",
"file_extension": "text",
"created": "2025-06-21T18:18:53.548Z",
"modified": "2025-06-21T18:18:53.548Z"
}
Update filename in the database.
PUT /api/v1/certs/{id} HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 19
{
"filename": "text"
}
{
"id": 1,
"filename": "text",
"type": "text",
"filesize": 1,
"data": "text",
"file_extension": "text",
"created": "2025-06-21T18:18:53.548Z",
"modified": "2025-06-21T18:18:53.548Z"
}
Delete certificates in the database and on disk.
DELETE /api/v1/certs/{id}?cert_id=1 HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"id": 1,
"filename": "text",
"type": "text",
"filesize": 1,
"data": "text",
"file_extension": "text",
"created": "2025-06-21T18:18:53.548Z",
"modified": "2025-06-21T18:18:53.548Z"
}
Download certificate in the database.
GET /api/v1/certs/download/{id} HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"details": "Download File link should be available on successful request"
}
Fetch all syslog port mappings
GET /api/v1/certs/ HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
Successful Response
{
"results": [
{
"id": 1,
"filename": "text",
"type": "text",
"filesize": 1,
"data": "text",
"file_extension": "text",
"created": "2025-06-21T18:18:53.548Z",
"modified": "2025-06-21T18:18:53.548Z"
}
]
}
Restore Collector configuration from your configuration backup file (.yaml).
POST /api/v1/hypercloud/restore HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: multipart/form-data
Accept: */*
Content-Length: 24
{
"config_yaml": "binary"
}
No content
Run ansible-playbook on config yml
POST /api/v1/hypercloud/ansible HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
Successful Response
{}
Fetch all dynamic_events available for sinks (syslog ports)
GET /api/v1/events/dynamic HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
Successful Response
{
"results": [
{
"id": 1,
"port": 1,
"label": "text",
"protocols": [
{
"protocol": "text"
}
]
}
]
}
Get vpn file details
GET /api/v1/vpn HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
Successful Response
{
"id": 1,
"filename": "filename.ovpn",
"created": "2025-06-21T18:18:53.548Z",
"modified": "2025-06-21T18:18:53.548Z",
"filesize": 0,
"autoconnect": false,
"console": {
"forward": false,
"remote_address": "0.0.0.0",
"remote_port": 0,
"listen_address": "0.0.0.0",
"listen_port": 0
},
"ANY_ADDITIONAL_PROPERTY": []
}
Upload/Create new VPN config file
POST /api/v1/vpn HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: multipart/form-data
Accept: */*
Content-Length: 17
{
"file": "binary"
}
{
"id": 1,
"filename": "filename.ovpn",
"created": "2025-06-21T18:18:53.548Z",
"modified": "2025-06-21T18:18:53.548Z",
"filesize": 0,
"autoconnect": false,
"console": {
"forward": false,
"remote_address": "0.0.0.0",
"remote_port": 0,
"listen_address": "0.0.0.0",
"listen_port": 0
}
}
Update VPN Settings or Filename in the database and on disk.
false
PUT /api/v1/vpn HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 153
{
"filename": "text",
"autoconnect": false,
"console": {
"forward": false,
"remote_address": "0.0.0.0",
"remote_port": 0,
"listen_address": "0.0.0.0",
"listen_port": 0
}
}
{
"id": 1,
"filename": "filename.ovpn",
"created": "2025-06-21T18:18:53.548Z",
"modified": "2025-06-21T18:18:53.548Z",
"filesize": 0,
"autoconnect": false,
"console": {
"forward": false,
"remote_address": "0.0.0.0",
"remote_port": 0,
"listen_address": "0.0.0.0",
"listen_port": 0
}
}
Run command on vpn file
start
Possible values: POST /api/v1/vpn/run HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"detail": "{action} command has been successful ran on vpn file"
}
Fetch all advanced_settings
GET /api/v1/advanced/ HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
Successful Response
[
{
"id": 1,
"label": "text",
"value": "text",
"description": "text",
"default_value": "text"
}
]
Update advanced settings in the database.
PUT /api/v1/advanced/ HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 84
[
{
"id": 1,
"label": "text",
"value": "text",
"description": "text",
"default_value": "text"
}
]
[
{
"id": 1,
"label": "text",
"value": "text",
"description": "text",
"default_value": "text"
}
]
Create a new advanced setting in the database.
POST /api/v1/advanced/setting HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 75
{
"label": "text",
"value": "text",
"description": "text",
"default_value": "text"
}
{
"label": "text",
"value": "text",
"description": "text",
"default_value": "text"
}
Delete Advanced Settings
DELETE /api/v1/advanced/setting?label=text HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"detail": "Advanced Setting with Label: {label} deleted."
}
Last updated