Skip to main content
All settings endpoints require admin authentication.

Get All Settings

Get an overview of all system settings.
curl -X GET https://api.stellarstack.io/settings \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

cloudflare
object
subdomains
object
email
object
branding
object
autoShutdown
object

Cloudflare Settings

Get Cloudflare Settings

curl -X GET https://api.stellarstack.io/settings/cloudflare \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

apiToken
string
Masked API token (”********” if set, "" if not set)
hasApiToken
boolean
Whether an API token is configured
zoneId
string
Cloudflare zone ID
domain
string
Domain name
enabled
boolean
Whether Cloudflare integration is enabled

Update Cloudflare Settings

curl -X PATCH https://api.stellarstack.io/settings/cloudflare \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "apiToken": "your-cloudflare-token",
    "zoneId": "zone-id",
    "domain": "stellarstack.io",
    "enabled": true
  }'

Request Body

apiToken
string
Cloudflare API token (send ”********” to keep existing)
zoneId
string
Cloudflare zone ID
domain
string
Domain name
enabled
boolean
Enable/disable integration

Test Cloudflare Connection

curl -X POST https://api.stellarstack.io/settings/cloudflare/test \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

success
boolean
Whether connection test succeeded
zone
object
Zone information if successful
error
string
Error message if test failed

Subdomain Settings

Get Subdomain Settings

curl -X GET https://api.stellarstack.io/settings/subdomains \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

enabled
boolean
Whether subdomain system is enabled
baseDomain
string
Base domain for subdomains
autoProvision
boolean
Whether to automatically provision DNS
dnsProvider
string
DNS provider: “cloudflare” or “manual”

Update Subdomain Settings

curl -X PATCH https://api.stellarstack.io/settings/subdomains \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "enabled": true,
    "baseDomain": "stellarstack.io",
    "autoProvision": true,
    "dnsProvider": "cloudflare"
  }'

Request Body

enabled
boolean
Enable/disable subdomain system
baseDomain
string
Base domain
autoProvision
boolean
Auto-provision DNS records
dnsProvider
string
DNS provider: “cloudflare” or “manual”

Email Settings

Get Email Settings

curl -X GET https://api.stellarstack.io/settings/email \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

provider
string
Email provider: “smtp”, “resend”, “sendgrid”, “mailgun”
fromEmail
string
From email address
fromName
string
From name
smtp
object
SMTP configuration (password masked)
apiKey
string
Masked API key (”********” if set)
hasApiKey
boolean
Whether an API key is configured

Update Email Settings

curl -X PATCH https://api.stellarstack.io/settings/email \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "provider": "smtp",
    "fromEmail": "[email protected]",
    "fromName": "StellarStack",
    "smtp": {
      "host": "smtp.example.com",
      "port": 587,
      "secure": true,
      "username": "user",
      "password": "pass"
    }
  }'

Request Body

provider
string
Email provider
fromEmail
string
From email address (must be valid email)
fromName
string
From name
smtp
object
SMTP configuration
apiKey
string
API key for providers like Resend, SendGrid, Mailgun (send ”********” to keep existing)

Test Email Configuration

curl -X POST https://api.stellarstack.io/settings/email/test \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "testEmail": "[email protected]"
  }'

Request Body

testEmail
string
required
Email address to send test email to

Response

success
boolean
Whether test email was sent successfully
message
string
Success message
error
string
Error message if test failed

Branding Settings

Get Branding Settings

curl -X GET https://api.stellarstack.io/settings/branding \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

appName
string
Application name (1-50 characters)
logoUrl
string
Logo URL
faviconUrl
string
Favicon URL
primaryColor
string
Primary color (hex format)
supportEmail
string
Support email address
supportUrl
string
Support URL
termsUrl
string
Terms of service URL
privacyUrl
string
Privacy policy URL
Footer text (max 200 characters)
customCss
string
Custom CSS (max 10000 characters)

Update Branding Settings

curl -X PATCH https://api.stellarstack.io/settings/branding \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "appName": "My Server Panel",
    "primaryColor": "#3b82f6",
    "supportEmail": "[email protected]"
  }'

Request Body

appName
string
Application name (1-50 characters)
logoUrl
string
Logo URL (must be valid URL or null)
faviconUrl
string
Favicon URL (must be valid URL or null)
primaryColor
string
Primary color (must be hex format like #3b82f6)
supportEmail
string
Support email (must be valid email)
supportUrl
string
Support URL (must be valid URL or null)
termsUrl
string
Terms URL (must be valid URL or null)
privacyUrl
string
Privacy URL (must be valid URL or null)
Footer text (max 200 characters)
customCss
string
Custom CSS (max 10000 characters)

Get Public Branding

Public endpoint for frontend to retrieve branding (no authentication required).
curl -X GET https://api.stellarstack.io/settings/branding/public

Response

Returns public-safe branding information (excludes customCss for security).

Auto-Shutdown Settings

Get Auto-Shutdown Settings

curl -X GET https://api.stellarstack.io/settings/auto-shutdown \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

enabled
boolean
Whether auto-shutdown is enabled globally
timeout
number
Inactivity timeout in minutes (1-10080, default 60)

Update Auto-Shutdown Settings

curl -X PATCH https://api.stellarstack.io/settings/auto-shutdown \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "enabled": true,
    "timeout": 120
  }'

Request Body

enabled
boolean
Enable/disable auto-shutdown globally
timeout
number
Timeout in minutes (1-10080, where 10080 = 7 days)

Build docs developers (and LLMs) love