SystemInfo API

Overview

SystemInfo API is an API for retrieving Fess system information. You can view environment variables, Java system properties, Fess configuration properties, and bug report information.

Base URL

/api/admin/systeminfo

This API requires an access token with the Radmin-api permission. See Admin API Overview for authentication details.

Endpoint List

Method Path Description
GET / Get system information

Get System Information

Request

GET /api/admin/systeminfo

This endpoint accepts no query parameters.

Response

The response includes version indicating the product version, status indicating the processing result, and the following four property groups. Each property group is an array of objects that have label and value.

{
  "response": {
    "version": "15.9",
    "status": 0,
    "env_props": [
      {"label": "JAVA_HOME", "value": "/usr/lib/jvm/java-21"},
      {"label": "FESS_DICTIONARY_PATH", "value": "/var/lib/fess/dict"}
    ],
    "system_props": [
      {"label": "java.version", "value": "21.0.1"},
      {"label": "java.vendor", "value": "Oracle Corporation"},
      {"label": "os.name", "value": "Linux"},
      {"label": "user.dir", "value": "/opt/fess"}
    ],
    "fess_props": [
      {"label": "crawler.document.max.site.length", "value": "100"},
      {"label": "indexer.thread.dump.enabled", "value": "true"},
      {"label": "app.cipher.key", "value": "XXXXXXXX"}
    ],
    "bug_report_props": [
      {"label": "os.name", "value": "Linux"},
      {"label": "java.vm.version", "value": "21.0.1+12"}
    ]
  }
}

Response Fields

Field Description
version Fess product version (e.g. 15.9).
status Result code indicating the processing outcome. 0 means success.
env_props List of OS environment variables (array of label / value). The values obtained via System.getenv() are returned; sensitive items are masked (see the note below).
system_props List of Java system properties (array of label / value). The values obtained via System.getProperties() are returned; sensitive items are masked (see the note below).
fess_props List of Fess configuration properties (array of label / value). Includes values from fess_config.properties and system properties set via the admin UI. Sensitive items are masked (see note below).
bug_report_props List of information collected for bug reports (array of label / value). Includes key OS and Java runtime system properties (os.name, os.version, java.vm.version, etc.) and Fess system property values.

Note

In fess_props, env_props and system_props, the values of the following sensitive items are masked and returned as XXXXXXXX: http.proxy.password, search_engine.password, index.user.initial_password, ldap.admin.security.credentials, spnego.preauth.password, app.cipher.key, content_chunker.embedding.opensearch.password, and every item whose key ends with .client.id, .client.secret, .privatekey or .key.password, or matches content_chunker.embedding.*.api.key or rag.llm.*.api.key. A system property named fess.system.<key> or fess.config.<key> (the form used to pass a setting as a -D option) is masked under the same rule as <key>. In env_props and system_props, the value of such a sensitive -Dkey=value option inside a longer string (for example FESS_JAVA_OPTS or JAVA_TOOL_OPTIONS) is masked as well, and the rest of the string stays readable.

Warning

Only the keys above are masked. If you store a secret in an environment variable or a Java system property under any other name (for example DB_PASSWORD), it is NOT masked: the value is returned as-is and appears in the response.

Usage Examples

Get System Information

curl -X GET "http://localhost:8080/api/admin/systeminfo" \
     -H "Authorization: Bearer YOUR_TOKEN"

Extract a Specific System Property

# Extract only the value of java.version
curl -X GET "http://localhost:8080/api/admin/systeminfo" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     | jq -r '.response.system_props[] | select(.label == "java.version") | .value'

List Environment Variables

# Display environment variables in label=value format
curl -X GET "http://localhost:8080/api/admin/systeminfo" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     | jq -r '.response.env_props[] | "\(.label)=\(.value)"'

Reference