Skip to main content
Platform settings are global infrastructure configuration managed by the platform owner tenant. They store channel provider credentials (email, SMS, push) and other infrastructure settings. Encrypted values are masked in responses. Admin only, platform owner tenant only.

GET /api/v1/platform-settings

Retrieve platform settings, optionally filtered by category.

Query Parameters

ParameterTypeRequiredDescription
categorystringNoSettings category (e.g., email, sms, push). Omit to get all categories

Response — Single Category

{
  "smtp_host": "smtp.sendgrid.net",
  "smtp_port": "587",
  "smtp_user": "apikey",
  "smtp_password": "****",
  "from_email": "noreply@kaireonai.com"
}

Response — All Categories

{
  "email": {
    "smtp_host": "smtp.sendgrid.net",
    "smtp_port": "587"
  },
  "sms": {
    "provider": "twilio",
    "account_sid": "AC..."
  },
  "push": {
    "provider": "firebase"
  }
}

PUT /api/v1/platform-settings

Update platform settings for a category. Admin only, platform owner tenant only.

Request Body

FieldTypeRequiredDescription
categorystringYesSettings category
settingsarrayYesArray of setting objects
settings[].keystringYesSetting key
settings[].valuestringYesSetting value
settings[].encryptedbooleanNoWhether to encrypt the value at rest
settings[].descriptionstringNoHuman-readable description

Example

curl -X PUT https://playground.kaireonai.com/api/v1/platform-settings \
  -H "Content-Type: application/json" \
  -H "X-Tenant-Id: default" \
  -d '{
    "category": "email",
    "settings": [
      { "key": "smtp_host", "value": "smtp.sendgrid.net" },
      { "key": "smtp_port", "value": "587" },
      { "key": "smtp_password", "value": "SG.xxx", "encrypted": true }
    ]
  }'

Response

{ "ok": true }
When email, SMS, or push settings are updated, channel providers are automatically reloaded to pick up the new credentials.