---
title: "Update signal"
method: PATCH
path: "/api/signals/{id}"
tags: ["Platform API"]
---

# Update signal

`PATCH /api/signals/{id}`

Update one UI-managed Outlit automation signal with a full signal configuration body.

## Path parameters

- `id` string, uuid, required

## Request body

- union
  - object
    - `kind` 'EVENT_MATCH', required
    - `name` string, required
    - `description` string, nullable
    - `definition` EventMatchSignalDefinition, required
      - `grain` 'organization' | 'customer' | 'segment', required
      - `subjectResolver` 'organization' | 'event_customer' | 'segment', required
      - `eventNames` string[], required
      - `eventChannels` EventChannel[]
      - `propertyConditions` SignalPropertyCondition[]
        - union
          - object
            - `key` string, required
            - `operator` 'exists', required
          - object
            - `key` string, required
            - `operator` 'equals' | 'not_equals', required
            - `value` union, required
              - …
          - object
            - `key` string, required
            - `operator` 'starts_with', required
            - `value` string, required
      - `conditionMode` 'ALL'
  - object
    - `kind` 'EVENT_PATTERN', required
    - `name` string, required
    - `description` string, nullable
    - `definition` AuthoredSignalDefinition, required
      - `schemaVersion` '2026-06-17', required
      - `subjectType` 'customer', required
      - `catalogSource` object
        - `provider` 'outlit', required
        - `key` string, required
        - `version` string, required
      - `detection` union, required
        - EventOccurredDetection
          - `type` 'event_occurred', required
          - `eventNames` string[], required
          - `eventChannels` EventChannel[]
          - `propertyConditions` SignalPropertyCondition[]
            - union
              - …
        - EventCountThresholdDetection
          - `type` 'event_count_threshold', required
          - `eventNames` string[], required
          - `eventChannels` EventChannel[]
          - `propertyConditions` SignalPropertyCondition[]
            - union
              - …
          - `threshold` object, required
            - `operator` '>=' | '>', required
            - `count` integer, required
          - `window` SignalWindow, required
            - `value` integer, required
            - `unit` 'hour' | 'day', required
        - EventAbsenceDetection
          - `type` 'event_absence', required
          - `eventNameMode` 'exact' | 'all_except'
          - `eventNames` string[]
          - `excludeEventNames` string[]
          - `eventChannels` EventChannel[]
          - `propertyConditions` SignalPropertyCondition[]
            - union
              - …
          - `window` object, required
            - `value` integer, required
            - `unit` 'day', required
        - CustomerActivityThresholdDetection
          - `type` 'customer_activity_threshold', required
          - `metric` 'active_days', required
          - `window` ActivityWindow, required
            - `value` integer, required
            - `unit` 'day', required
          - `operator` '<=' | '<' | '>=' | '>', required
          - `count` integer, required
          - `minimumObservedAgeDays` integer
        - CustomerActivityDropDetection
          - `type` 'customer_activity_drop', required
          - `metric` 'active_days', required
          - `window` ActivityWindow, required
            - `value` integer, required
            - `unit` 'day', required
          - `baselineWindow` ActivityWindow, required
            - `value` integer, required
            - `unit` 'day', required
          - `dropPercent` number, required
          - `minimumBaselineActiveDays` integer, required
          - `minimumBaselineEventCount` integer, required
        - RelatedUserInactivityDetection
          - `type` 'related_user_inactivity', required
          - `priorWindow` ActivityWindow, required
            - `value` integer, required
            - `unit` 'day', required
          - `inactiveWindow` ActivityWindow, required
            - `value` integer, required
            - `unit` 'day', required
          - `minimumPriorActiveDays` integer, required
          - `minimumPreviouslyActiveUsers` integer, required

## Response `200`

Signal was updated.

- UpdateSignalCommandSuccess
  - `ok` true, required
  - `commandId` 'signal.update', required
  - `commandVersion` 1, required
  - `correlationId` string, required
  - `result` object, required
    - `operationId` 'signal.update', required
    - `status` 'completed', required
    - `resources` CommandResource[], required
      - `type` string, required
      - `id` string, required
    - `data` object, required
      - `signal` SignalRead, required
        - `id` string, uuid, required
        - `key` string, required
        - `managedBy` 'UI' | 'CODE', required
        - `name` string, required
        - `description` string, nullable, required
        - `kind` 'EVENT_MATCH' | 'EVENT_PATTERN', required
        - `definition` unknown, required
        - `schemaVersion` string, required
        - `configHash` string, nullable, required
        - `archivedAt` string, date-time, nullable, required
        - `createdAt` string, date-time, required
        - `updatedAt` string, date-time, required
    - `warnings` string[], required
    - `auditId` string

## Other responses

- `400` — The request body failed command validation.
- `401` — Invalid or missing API key.
- `403` — The API key is valid but does not have the required agent write scope.
- `404` — No resource was found for the authenticated organization and requested id.
- `409` — The requested change conflicts with the current platform state.
- `500` — Internal server error.
- `503` — The platform could not complete the command.

## Changes

- **2026-06-29** `012f9a36abf9` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/outlitai/apis/outlit-api/changes/api/signals/:id/patch.md)

---

[API](https://skmtc.dev/outlitai/apis/outlit-api.md) · [All operations](https://skmtc.dev/outlitai/apis/outlit-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/outlitai/outlit-api/revisions/147173adbb3f/schema)
