---
title: "Put Signals Configuration"
method: PUT
path: "/v2/projects/{project_id}/runs/{run_id}/signals/configuration"
tags: ["signals-v2"]
---

# Put Signals Configuration

`PUT /v2/projects/{project_id}/runs/{run_id}/signals/configuration`

## Request

- Base URL: `https://api.galileo.ai`
- URL: `https://api.galileo.ai/v2/projects/{project_id}/runs/{run_id}/signals/configuration`
- Auth: one of:
  - API key in header `Splunk-AO-API-Key`
  - API key in header `Galileo-API-Key`
  - OAuth 2
    - Password
    - Token URL: `https://api.galileo.ai/login`
  - HTTP basic

Create or replace the Signals configuration for one log stream or experiment run.

## Path parameters

- `project_id` string, uuid4, required
- `run_id` string, uuid4, required

## Request body

- union
  - ExperimentSignalsConfigurationPut: Signal generation settings available for one experiment run.
    - `model` string, required: Model alias used for Signal generation.
    - `integration_id` string, uuid4, nullable: Integration selected to run this model.
    - `user_preferences` SignalsUserPreferences: Customer guidance considered when Signals are generated.
      - `focus_on` string: Problems the scan should prioritize.
      - `dont_focus_on` string: Expected behavior the scan should ignore.
  - LogStreamSignalsConfigurationPut: Complete Signal generation and scheduling settings for one log stream.
    - `model` string, required: Model alias used for Signal generation.
    - `integration_id` string, uuid4, nullable: Integration selected to run this model.
    - `user_preferences` SignalsUserPreferences: Customer guidance considered when Signals are generated.
      - `focus_on` string: Problems the scan should prioritize.
      - `dont_focus_on` string: Expected behavior the scan should ignore.
    - `run_mode` 'ON_DEMAND' | 'SCHEDULED', required: How a Signal scan starts.
    - `schedule` union: Cadence for scheduled scans.
      - CronSignalSchedule: Five-field cron schedule evaluated in an IANA time zone.
        - `type` 'CRON'
        - `cron` string, required: Five-field cron expression.
        - `timezone` string: IANA time zone used to evaluate the cron expression.
      - IntervalSignalSchedule: Fixed interval between scheduled Signal scans.
        - `type` 'INTERVAL'
        - `interval_hours` integer, required: Hours between scheduled scans.
        - `timezone` string: IANA time zone associated with the schedule.
    - `start_date` string, date, nullable: Date from which scheduled scans may run.
    - `end_date` string, date, nullable: Date after which scheduled scans stop.
    - `scheduled_runs_enabled` boolean: Whether the saved schedule currently submits scans.
    - `notification_severities` SignalSeverityLevel[]: Severity levels that send notifications when a Signal is created or updated.

## Response `200`

Successful Response

- SignalsConfigurationResponse
  - `data` SignalsConfiguration, required: Saved Signals configuration returned for one log stream or experiment run.
    - `id` string, uuid4, required
    - `project_id` string, uuid4, required
    - `run_id` string, uuid4, required
    - `run_mode` 'ON_DEMAND' | 'SCHEDULED', required: How a Signal scan starts.
    - `schedule` union, required
      - CronSignalSchedule: Five-field cron schedule evaluated in an IANA time zone.
        - `type` 'CRON'
        - `cron` string, required: Five-field cron expression.
        - `timezone` string: IANA time zone used to evaluate the cron expression.
      - IntervalSignalSchedule: Fixed interval between scheduled Signal scans.
        - `type` 'INTERVAL'
        - `interval_hours` integer, required: Hours between scheduled scans.
        - `timezone` string: IANA time zone associated with the schedule.
    - `start_date` string, date, nullable, required
    - `end_date` string, date, nullable, required
    - `scheduled_runs_enabled` boolean, required
    - `model` string, required
    - `integration_id` string, uuid4, nullable, required
    - `user_preferences` SignalsUserPreferences, required: Customer guidance considered when Signals are generated.
      - `focus_on` string: Problems the scan should prioritize.
      - `dont_focus_on` string: Expected behavior the scan should ignore.
    - `notification_severities` SignalSeverityLevel[], required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required

## Other responses

- `422`: Validation Error

## Changes

> 34 revisions in range; 2 not diffed.

- **2026-10-19** `0b20eade6391`: 1 breaking, 1 warning, 2 info
  - removed the enum value `MEDIUM` of the request property `anyOf[subschema #2: LogStreamSignalsConfigurationPut]/notification_severities/items/`
  - added the new `CRITICAL` enum value to the `data/notification_severities/items/` response property for the response status `200`
  - added the new `CRITICAL` enum value to the request property `anyOf[subschema #2: LogStreamSignalsConfigurationPut]/notification_severities/items/`
  - removed the `MEDIUM` enum value from the `data/notification_severities/items/` response property for the response status `200`
- **2026-10-14** `9a61e9b565b0`: 3 info
  - added the new optional request property `anyOf[subschema #1: ExperimentSignalsConfigurationPut]/integration_id`
  - added the new optional request property `anyOf[subschema #2: LogStreamSignalsConfigurationPut]/integration_id`
  - added the required property `data/integration_id` to the response with the `200` status
- **2026-10-03** `fede84842199`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/galileo/apis/galileo-api-server/changes/v2/projects/:project_id/runs/:run_id/signals/configuration/put.md)

---

[API](https://skmtc.dev/galileo/apis/galileo-api-server.md) - [All operations](https://skmtc.dev/galileo/apis/galileo-api-server/llms.txt) - [OpenAPI document](https://skmtc.dev/galileo/apis/galileo-api-server/revisions/a289cea1b504?raw)
