Skip to main content
Troubleshooting

Error codes

Every error the gateway returns carries a code. All codes with their meaning and remedy, by area.

A gateway error response is {"detail": "<message>", "code": "<code>", "params": {...}}. The UI shows the message in the current language, API clients branch on code, and params fills in the message.

Authentication and permissions

CodeMeaningRemedy
login_requiredNot signed in, or the session expiredSign in again
sso_identity_requiredSSO is on, but the request has no verified identitySign in through the SSO entry point; check oauth2-proxy
read_onlyA read-only role cannot make changesAsk an administrator
admin_role_requiredThe current role (params.role) has no admin rightsAsk an administrator
admin_group_requiredThe SSO account is not in an RST_RBAC_ADMIN_GROUPS groupAsk the IdP administrator
admin_session_or_token_requiredAdmin endpoints need a valid session or RST_ADMIN_TOKENSign in again, or send the token in the X-RST-Admin-Token header
admin_login_requiredAdmin actions require signing inSign in
metrics_token_requiredScraping /metrics needs a tokenSend RST_METRICS_TOKEN in the X-RST-Metrics-Token header (or Authorization: Bearer)
csrf_rejectedCross-site request refused; origin check failedAct from the product's own pages
rate_limitedRate limit hitWait params.seconds; raise RST_RATELIMIT_* for large teams

Sign-in and accounts

CodeMeaningRemedy
bad_credentialsWrong username or passwordNone
login_throttledToo many failed sign-insRetry in 5 minutes
default_password_refusedStill on the shipped password; remote sign-in refusedSet RST_ADMIN_PASSWORD_HASH and restart; a LAN lab may set RST_ALLOW_DEFAULT_PASSWORD=1
password_login_disabledPassword login is not enabledSign in through SSO
password_change_not_supportedOnly password-login accounts can change their password hereChange it in the identity provider
password_in_env_onlyOn a single-account deployment the password is in RST_ADMIN_PASSWORD_HASHPut a new hash in .env and restart
current_password_wrongThe current password is wrongNone
password_too_short, password_min_lengthUnder 8 charactersNone
user_db_not_configuredNo user table, so multiple accounts cannot be managedSet RST_USER_DB_URL
username_required, user_exists, user_not_foundAccount name empty, taken, or unknownNone
unknown_roleRole not among params.choicesNone
last_admin_locked, last_admin_undeletableThe last enabled administrator cannot be disabled, demoted, or deletedCreate another administrator first
cannot_disable_self, cannot_delete_selfYou cannot disable or delete your own accountAsk another administrator

License

CodeMeaningRemedy
feature_needs_standardparams.feature needs Professional or higherActivate a license
incident_report_needs_standardIncident reports need Professional or higherActivate a license
platform_checkup_needs_standardThe platform checkup needs Professional or higherActivate a license
feature_sealedNo license on this host, or the license lacks the feature, so the feature stays lockedActivate a license that includes it on the License page
reports_need_professionalReports need Professional or higherActivate a license
users_need_professionalCommunity allows 1 userActivate a Professional or Enterprise license
user_seats_exhaustedEnabled accounts have reached the users in the license (params.seats)Disable an account, or buy more users
license_invalidSignature, decryption, or tamper check failedAsk sales to re-issue
license_expiredExpired past the 7-day grace period; service lockedRenew
license_revokedThe license was revokedContact sales
license_heartbeat_lostNo heartbeat for 7 days; service lockedCheck network access to the license server
license_status_abnormalThe license is in an unexpected stateContact support
machine_id_unreadableHardware identity unreadable (params.reason)Check the /etc/machine-id mount
license_activate_failedActivation refused (params.reason: seats used up, fingerprint mismatch, wrong product, and so on)Act on the reason
license_activate_error, license_deactivate_errorActivation or deactivation failed (params.reason)Act on the reason

Elasticsearch and queries

CodeMeaningRemedy
es_unreachableCannot reach ElasticsearchCheck ES_URL, the network, and the certificate
es_auth_failedElasticsearch authentication failedCheck ES_USER and ES_PASSWORD, or ES_API_KEY
es_forbiddenThe account cannot access this indexAdd privileges to the Elasticsearch role
es_index_not_foundThe index does not existCheck the index or alias name, and whether it was rolled over and deleted
es_timeoutElasticsearch query timed outNarrow the time range or size; adjust RST_ES_TIMEOUT_S (default 30 s)
es_request_failedOther Elasticsearch error (params.reason)Act on the reason
es_audit_query_failed, es_resolve_index_failedAudit query or index resolution failed (params.reason)Act on the reason
index_not_whitelistedIndex outside RST_INDEX_WHITELIST (params.patterns)Add the pattern under Index allowlist in Settings
index_is_internalThe index is the product's own storage, not a query targetUse the matching page
no_queryable_indexNothing to queryCheck the data source connection or widen the allowlist
dsl_validation_failedThe query failed read-only validation (params.reason)Change the query
nothing_to_explainThe result has neither aggregations nor samplesNone

Models and knowledge base

CodeMeaningRemedy
llm_generation_failedModel generation failed (params.reason)Check the provider in AI settings
llm_timeoutModel call timed outRaise the provider timeout to 90 s or more; lower the clusters sent to the model from the default 30 to 10
llm_first_token_timeoutNo answer started within params.limit_s seconds; stoppedRephrase and retry, or lower the reasoning level
providers_emptyThe provider list is emptyConfigure at least one
model_requiredNo model givenNone
connection_test_failedConnection test failed (params.reason)Act on the reason
embedding_not_configuredNo embedding modelConfigure one under the knowledge-base embedding model in AI settings
kb_dims_mismatch, kb_dim_mismatchThe .rst_copilot_kb dimension differs from the current embedding modelSwitch back, or delete .rst_copilot_kb and upload the documents again
kb_upload_failed, kb_list_failed, kb_search_failed, kb_delete_failedKnowledge-base upload, listing, search, or delete failedRead the gateway log

Feature calls

CodeMeaning
investigation_failed, triage_failed, detection_rule_failed, report_generation_failed, incident_report_failed, platform_checkup_failed, alerts_aggregate_failedThat feature failed; params.reason has the detail
field_dict_failed, explain_log_failed, explain_result_failed, suggest_angles_failedField dictionary, log explanation, result explanation, or follow-up angle generation failed
detection_rule_rejectedThe detection rule was rejected (params.reason)
too_many_alertsAt most params.cap alerts per triage run
alerts_or_index_requiredTriage needs either alerts or index
incident_input_requiredAn incident report needs alert, alert_id, or investigation
conversation_not_found, analysis_record_not_foundConversation or analysis record missing or expired
failed_case_not_foundNo such failed case
kibana_link_failed, kibana_data_view_not_foundKibana deep link failed; Kibana has no data view for this index, or the gateway account lacks the Kibana Discover privilege (see Elasticsearch account permissions)
feedback_persist_failed, save_failed, persist_failedFeedback or data could not be written (params.reason)

Alerts and notifications

CodeMeaningRemedy
alert_webhook_disabledAlert webhook push is offSet RST_ALERT_WEBHOOK_SECRET
alert_webhook_token_invalidWrong X-RST-Alert-TokenCheck the Kibana connector header
alert_not_found, notify_target_not_foundNo such alert or destinationNone
push_failedDelivery failed (params.reason)Read the delivery log
delivery_not_retryableCannot resend (missing, or still queued or sending)None
webhook_url_required, webhook_must_be_https, webhook_host_invalid, dingtalk_path_invalid, feishu_url_must_be_https, feishu_host_not_allowed, feishu_path_invalid, slack_path_invalid, wecom_key_missingBot webhook URL empty or malformedCopy it verbatim from the bot settings
smtp_host_required, smtp_port_not_int, smtp_port_out_of_range, smtp_security_invalid, smtp_from_invalidMail server settings invalid; the port must be an integer from 1 to 65535None
recipients_required, recipient_invalidRecipients empty or malformedNone

Reports and subscriptions

CodeMeaning
start_after_endstart must be earlier than end
periods_not_array, unknown_periodPeriods must be an array of allowed values
name_requiredName is empty
unknown_channelChannel not among the allowed values
severity_threshold_invalidInvalid alert severity threshold
hour_not_int, hour_out_of_rangeThe send hour must be an integer from 0 to 23

Settings and audit

CodeMeaning
masking_mode_unavailableInvalid masking mode (params.choices)
es_url_not_string, es_url_invalidThe Elasticsearch URL is not a full http:// or https:// URL
syslog_url_invalidInvalid syslog URL (supported schemes in params.schemes)
audit_webhook_url_invalidThe audit forwarding URL is not a full http:// or https:// URL
audit_webhook_host_not_allowedForwarding target not in RST_AUDIT_WEBHOOK_ALLOWLIST
audit_webhook_host_refused, audit_webhook_host_link_localForwarding cannot target this host, including loopback and link-local addresses (169.254.169.254 is cloud instance metadata, not a SIEM)

Content packs, online update, and import

CodeMeaning
content_pack_rejectedContent pack failed signature, version, or compatibility checks (params.reason)
content_pack_apply_failedServer error while applying the content pack
no_release_to_downloadNo new release to download
release_download_failed, release_download_server_errorRelease download or staging failed
rollback_failed, rollback_server_errorRollback failed
import_failed, csv_import_failed, csv_text_missingImport failed, or the request has no CSV text

Baseline rules

CodeMeaning
rule_id_invalidRule ID must be 3 to 64 letters, digits, or . _ -
rule_title_requiredRule title is empty
rule_query_requiredThe collection query (osquery SQL) is empty
rule_judge_missingThe judge is missing
rule_needs_field, rule_needs_expectedThis operator needs a judge field or expected value
rule_eol_needs_queryThe eol operator needs a query that collects the OS version
rule_operator_invalid, rule_severity_invalidInvalid operator or severity
rule_shape_invalid, body_not_objectInvalid rule structure, or the body is not a JSON object
baseline_rule_not_foundRule missing, or delete failed

Request parameters

These codes mean the API request itself is incomplete or out of range. They do not normally appear when you work in the UI.

CodeMeaning
body_empty, body_not_jsonRequest body empty or not valid JSON
doc_empty, dsl_empty, alert_empty, investigation_empty, cluster_empty, markdown_empty, question_empty, query_empty, title_empty, content_emptyThat field is empty
index_required, doc_id_required, panels_required, content_token_requiredA required field is missing
alerts_not_listalerts must be an array
size_out_of_range, limit_out_of_range, top_k_out_of_rangeOut of range: 1 to 500, 1 to 200, and 1 to 50 respectively
offset_negativeoffset cannot be negative
state_kind_unknownUnknown state type
invalid_timeInvalid time value
invalid_requestOther request error (params.reason)

On this page