Configuration
- GET /api/v2/configuration/groups
List configuration groups
Retrieves all configuration groups with pagination and optional keyword filtering
- Query Parameters:
keyword (string) – Filter groups by keyword
page (integer) – Page number (default: 1)
page_size (integer) – Page size (default: 50, max: 100)
- Status Codes:
200 OK – Successfully retrieved configuration groups
400 Bad Request – Invalid request parameters
401 Unauthorized – Unauthorized - missing or invalid token
403 Forbidden – Forbidden - CONFIGURATION_VIEW permission required
500 Internal Server Error – Internal server error
- GET /api/v2/configuration/list
List configurations
Retrieves configurations with advanced filtering and pagination. Search terms are matched against transformed configuration names and descriptions.
- Query Parameters:
name (string) – Exact configuration name
category (string) – Filter by category
group (string) – Filter by group
subgroup (string) – Filter by subgroup
keyword (string) – Search keyword (searches in name, description, and display text)
clusterid (string) – Filter by cluster ID
page (integer) – Page number (default: 1)
page_size (integer) – Page size (default: 50, max: 100)
listall (boolean) – List all configurations (default: true)
- Status Codes:
200 OK – Successfully retrieved configurations
400 Bad Request – Invalid request parameters
401 Unauthorized – Unauthorized - missing or invalid token
403 Forbidden – Forbidden - CONFIGURATION_VIEW permission required
500 Internal Server Error – Internal server error
- GET /api/v2/configuration/status
Health check
Returns the health status of the Configuration Manager API service
- Status Codes:
200 OK – Service is healthy and operational
- PUT /api/v2/configuration/update
Update configuration value
Updates a configuration value and logs the change to audit history
- Request JSON Object:
accountid (string)
clusterid (string)
domainid (string)
imagestoreuuid (string)
name (string) – (required)
storageid (string)
value (string) – (required)
zoneid (string)
- Status Codes:
200 OK – Configuration updated successfully
400 Bad Request – Invalid request body
401 Unauthorized – Unauthorized - missing or invalid token
403 Forbidden – Forbidden - CONFIGURATION_MANAGE permission required
500 Internal Server Error – Internal server error
- GET /configuration/smtp
Get the SMTP relay configuration
Returns the persisted SMTP settings so the admin UI can pre-populate its form. Password is never returned — has_password reports whether one has been set. When no config has been saved yet, configured=false and every string field is empty.
- Status Codes:
200 OK – OK
- Response JSON Object:
configured (boolean)
encryption (string)
from_address (string)
has_password (boolean)
host (string)
port (integer)
username (string)
- POST /configuration/smtp
Save the SMTP relay configuration
Persists the six SMTP settings (host, port, username, password, from_address, encryption) into public.smtp_config as a singleton row (ID=1). Validates the payload with mail.Config.ValidateStrict before writing — a rejected payload never touches storage.
- Request JSON Object:
encryption (string) – “none” | “starttls” | “ssl”; empty defaults to STARTTLS
from_address (string) – (required)
host (string) – (required)
password (string)
port (integer) – (required)
username (string)
- Status Codes:
200 OK – success=true
400 Bad Request – Invalid request body or validation failure
500 Internal Server Error – DB write failure
- POST /configuration/smtp/test
Test the SMTP relay connection
Overlays the request body on the persisted SMTP config, validates, and dials the relay. When send_probe=true a single test message is delivered to probe_recipient (or to the from_address if that is empty). Returns success=true on clean handshake, or {success:false, error:…} with the offending stage described.
- Request JSON Object:
encryption (string)
from_address (string)
host (string)
password (string)
port (integer)
probe_recipient (string) – empty defaults to self-loop
send_probe (boolean)
username (string)
- Status Codes:
200 OK – success=true on handshake+probe
400 Bad Request – Invalid request body or validation failure
502 Bad Gateway – SMTP handshake or send failed