Skip to content

System Settings

GET /api/system-settings
PUT /api/system-settings

Required privilege: General Settings / View (read) ยท General Settings or Integrations Settings / Edit (write)

System settings control organisation-wide configuration including password policies, data integration connections, and external system integrations.


Settings Object

{
  "password_expiration_days": 90,
  "integrations": {
    "enabled": ["decision-manager", "google-sheets"],
    "decision_manager": {
      "enabled": true,
      "url": "https://dm.internal.acme.com",
      "api_key": "***"
    },
    "pg_portal": {
      "enabled": false,
      "url": null
    },
    "google_sheets": {
      "enabled": true,
      "spreadsheet_id": "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgVE2upms"
    },
    "sharepoint": {
      "enabled": false,
      "site_url": null,
      "library": null
    }
  },
  "archive": {
    "status": "active",
    "data_source": "primary"
  }
}

Configuration Sections

Password Policy

Field Type Description
password_expiration_days integer | null Days before passwords expire. null = no expiry

Integrations

Integration Fields Description
decision_manager enabled, url, api_key Decision Manager integration
pg_portal enabled, url PG Portal (Eka) configuration
google_sheets enabled, spreadsheet_id Google Sheets data source
sharepoint enabled, site_url, library SharePoint document library

Archive

Field Type Description
archive.status string Archive status: active, inactive
archive.data_source string Data source configuration

GET - Read Settings

curl -b cookies.txt "https://acme.knosc.com/api/system-settings"

PUT - Update Settings

PUT /api/system-settings HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: <csrf>

{
  "password_expiration_days": 90,
  "integrations": {
    "google_sheets": {
      "enabled": true,
      "spreadsheet_id": "your-spreadsheet-id"
    }
  }
}

Sensitive fields like api_key are write-only - they are masked (***) in GET responses.


Errors

Status Code Description
400 JSON.Invalid Malformed settings body
403 User.NotPrivileged Insufficient privilege