> ## Documentation Index
> Fetch the complete documentation index at: https://outlit-codex-platform-actions-create-update-cli.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Update signal

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



## OpenAPI

````yaml /openapi.json patch /api/signals/{id}
openapi: 3.1.0
info:
  title: Outlit API
  summary: Public Outlit Platform and Ingest APIs.
  description: >-
    Canonical OpenAPI specification for the public Outlit API surfaces
    documented at docs.outlit.ai.
  version: 1.0.0
servers:
  - url: https://app.outlit.ai
security:
  - bearerAuth: []
tags:
  - name: Platform API
    description: >-
      Authenticated API key routes for customer intelligence tools and
      integration management.
  - name: Ingest API
    description: Public-key event ingestion routes used by Outlit SDKs.
paths:
  /api/signals/{id}:
    patch:
      tags:
        - Platform API
      summary: Update signal
      description: >-
        Update one UI-managed Outlit automation signal with a full signal
        configuration body.
      operationId: updateSignal
      parameters:
        - name: id
          in: path
          required: true
          description: Signal ID.
          schema:
            type: string
            format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSignalRequest'
            example:
              kind: EVENT_MATCH
              name: Workspace inactive
              description: null
              definition:
                grain: customer
                subjectResolver: event_customer
                eventNames:
                  - workspace_inactive
                propertyConditions: []
                conditionMode: ALL
      responses:
        '200':
          description: Signal was updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateSignalCommandSuccess'
        '400':
          description: The request body failed command validation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommandErrorEnvelope'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          description: >-
            The API key is valid but does not have the required agent write
            scope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommandErrorEnvelope'
        '404':
          description: >-
            No resource was found for the authenticated organization and
            requested id.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommandErrorEnvelope'
        '409':
          description: The requested change conflicts with the current platform state.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommandErrorEnvelope'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          description: The platform could not complete the command.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommandErrorEnvelope'
components:
  schemas:
    UpdateSignalRequest:
      oneOf:
        - type: object
          required:
            - kind
            - name
            - definition
          properties:
            kind:
              type: string
              const: EVENT_MATCH
            name:
              type: string
              minLength: 1
              maxLength: 120
            description:
              type:
                - string
                - 'null'
              maxLength: 1000
              default: null
            definition:
              $ref: '#/components/schemas/EventMatchSignalDefinition'
          additionalProperties: false
        - type: object
          required:
            - kind
            - name
            - definition
          properties:
            kind:
              type: string
              const: EVENT_PATTERN
            name:
              type: string
              minLength: 1
              maxLength: 120
            description:
              type:
                - string
                - 'null'
              maxLength: 1000
              default: null
            definition:
              $ref: '#/components/schemas/AuthoredSignalDefinition'
          additionalProperties: false
    UpdateSignalCommandSuccess:
      type: object
      required:
        - ok
        - commandId
        - commandVersion
        - correlationId
        - result
      properties:
        ok:
          type: boolean
          const: true
        commandId:
          type: string
          const: signal.update
        commandVersion:
          type: integer
          const: 1
        correlationId:
          type: string
        result:
          allOf:
            - $ref: '#/components/schemas/CommandResultBase'
            - type: object
              properties:
                operationId:
                  type: string
                  const: signal.update
                data:
                  type: object
                  required:
                    - signal
                  properties:
                    signal:
                      $ref: '#/components/schemas/SignalRead'
                  additionalProperties: false
      additionalProperties: false
    CommandErrorEnvelope:
      type: object
      required:
        - ok
        - commandId
        - commandVersion
        - error
      properties:
        ok:
          type: boolean
          const: false
        commandId:
          type: string
        commandVersion:
          type: integer
          minimum: 1
        error:
          type: object
          required:
            - code
            - message
            - correlationId
            - retryable
          properties:
            code:
              type: string
              enum:
                - validation_failed
                - authorization_denied
                - conflict
                - not_found
                - rate_limited
                - transient_failure
            message:
              type: string
            correlationId:
              type: string
            retryable:
              type: boolean
            details:
              type: object
              additionalProperties: true
          additionalProperties: false
      additionalProperties: false
    EventMatchSignalDefinition:
      type: object
      required:
        - grain
        - subjectResolver
        - eventNames
      properties:
        grain:
          type: string
          enum:
            - organization
            - customer
            - segment
        subjectResolver:
          type: string
          enum:
            - organization
            - event_customer
            - segment
        eventNames:
          type: array
          items:
            type: string
            minLength: 1
          maxItems: 50
          minItems: 1
        eventChannels:
          type: array
          items:
            $ref: '#/components/schemas/EventChannel'
          maxItems: 9
        propertyConditions:
          type: array
          items:
            $ref: '#/components/schemas/SignalPropertyCondition'
          maxItems: 5
          default: []
        conditionMode:
          type: string
          const: ALL
          default: ALL
      additionalProperties: false
    AuthoredSignalDefinition:
      type: object
      required:
        - schemaVersion
        - subjectType
        - detection
      properties:
        schemaVersion:
          type: string
          const: '2026-06-17'
        subjectType:
          type: string
          const: customer
        catalogSource:
          type: object
          required:
            - provider
            - key
            - version
          properties:
            provider:
              type: string
              const: outlit
            key:
              type: string
              minLength: 1
              maxLength: 191
            version:
              type: string
              minLength: 1
              maxLength: 40
          additionalProperties: false
        detection:
          $ref: '#/components/schemas/SignalDetection'
      additionalProperties: false
    CommandResultBase:
      type: object
      required:
        - operationId
        - status
        - resources
        - data
        - warnings
      properties:
        operationId:
          type: string
        status:
          type: string
          const: completed
        resources:
          type: array
          items:
            $ref: '#/components/schemas/CommandResource'
        data:
          type: object
          additionalProperties: true
        warnings:
          type: array
          items:
            type: string
        auditId:
          type: string
      additionalProperties: false
    SignalRead:
      type: object
      required:
        - id
        - key
        - managedBy
        - name
        - description
        - kind
        - definition
        - schemaVersion
        - configHash
        - archivedAt
        - createdAt
        - updatedAt
      properties:
        id:
          type: string
          format: uuid
        key:
          type: string
        managedBy:
          $ref: '#/components/schemas/PlatformActionManagedBy'
        name:
          type: string
        description:
          type:
            - string
            - 'null'
        kind:
          $ref: '#/components/schemas/SignalKind'
        definition: {}
        schemaVersion:
          type: string
        configHash:
          type:
            - string
            - 'null'
        archivedAt:
          type:
            - string
            - 'null'
          format: date-time
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
      additionalProperties: false
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: string
        details:
          type: array
          items:
            $ref: '#/components/schemas/ValidationIssue'
      additionalProperties: true
    EventChannel:
      type: string
      enum:
        - PRODUCT
        - COMMUNICATION
        - MEETING
        - CRM
        - BILLING
        - SUPPORT
        - IDENTITY
        - DOCUMENT
        - SYSTEM
    SignalPropertyCondition:
      oneOf:
        - type: object
          required:
            - key
            - operator
          properties:
            key:
              type: string
              minLength: 1
              maxLength: 120
            operator:
              type: string
              const: exists
          additionalProperties: false
        - type: object
          required:
            - key
            - operator
            - value
          properties:
            key:
              type: string
              minLength: 1
              maxLength: 120
            operator:
              type: string
              enum:
                - equals
                - not_equals
            value:
              oneOf:
                - type: string
                - type: number
                - type: boolean
          additionalProperties: false
        - type: object
          required:
            - key
            - operator
            - value
          properties:
            key:
              type: string
              minLength: 1
              maxLength: 120
            operator:
              type: string
              const: starts_with
            value:
              type: string
          additionalProperties: false
    SignalDetection:
      oneOf:
        - $ref: '#/components/schemas/EventOccurredDetection'
        - $ref: '#/components/schemas/EventCountThresholdDetection'
        - $ref: '#/components/schemas/EventAbsenceDetection'
        - $ref: '#/components/schemas/CustomerActivityThresholdDetection'
        - $ref: '#/components/schemas/CustomerActivityDropDetection'
        - $ref: '#/components/schemas/RelatedUserInactivityDetection'
    CommandResource:
      type: object
      required:
        - type
        - id
      properties:
        type:
          type: string
        id:
          type: string
      additionalProperties: false
    PlatformActionManagedBy:
      type: string
      enum:
        - UI
        - CODE
    SignalKind:
      type: string
      enum:
        - EVENT_MATCH
        - EVENT_PATTERN
    ValidationIssue:
      type: object
      required:
        - path
        - message
      properties:
        path:
          type: array
          items:
            type:
              - string
              - number
        message:
          type: string
      additionalProperties: false
    EventOccurredDetection:
      type: object
      required:
        - type
        - eventNames
      properties:
        type:
          type: string
          const: event_occurred
        eventNames:
          type: array
          items:
            type: string
            minLength: 1
          maxItems: 50
          minItems: 1
        eventChannels:
          type: array
          items:
            $ref: '#/components/schemas/EventChannel'
          maxItems: 9
        propertyConditions:
          type: array
          items:
            $ref: '#/components/schemas/SignalPropertyCondition'
          maxItems: 5
          default: []
      additionalProperties: false
    EventCountThresholdDetection:
      type: object
      required:
        - type
        - eventNames
        - threshold
        - window
      properties:
        type:
          type: string
          const: event_count_threshold
        eventNames:
          type: array
          items:
            type: string
            minLength: 1
          maxItems: 50
          minItems: 1
        eventChannels:
          type: array
          items:
            $ref: '#/components/schemas/EventChannel'
          maxItems: 9
        propertyConditions:
          type: array
          items:
            $ref: '#/components/schemas/SignalPropertyCondition'
          maxItems: 5
          default: []
        threshold:
          type: object
          required:
            - operator
            - count
          properties:
            operator:
              type: string
              enum:
                - '>='
                - '>'
            count:
              type: integer
              minimum: 1
              maximum: 10000
          additionalProperties: false
        window:
          $ref: '#/components/schemas/SignalWindow'
      additionalProperties: false
    EventAbsenceDetection:
      type: object
      required:
        - type
        - window
      properties:
        type:
          type: string
          const: event_absence
        eventNameMode:
          type: string
          enum:
            - exact
            - all_except
        eventNames:
          type: array
          items:
            type: string
            minLength: 1
          maxItems: 50
          default: []
        excludeEventNames:
          type: array
          items:
            type: string
            minLength: 1
          maxItems: 50
        eventChannels:
          type: array
          items:
            $ref: '#/components/schemas/EventChannel'
          maxItems: 9
        propertyConditions:
          type: array
          items:
            $ref: '#/components/schemas/SignalPropertyCondition'
          maxItems: 5
          default: []
        window:
          type: object
          required:
            - value
            - unit
          properties:
            value:
              type: integer
              minimum: 1
              maximum: 30
            unit:
              type: string
              const: day
          additionalProperties: false
      additionalProperties: false
    CustomerActivityThresholdDetection:
      type: object
      required:
        - type
        - metric
        - window
        - operator
        - count
      properties:
        type:
          type: string
          const: customer_activity_threshold
        metric:
          type: string
          const: active_days
        window:
          $ref: '#/components/schemas/ActivityWindow'
        operator:
          type: string
          enum:
            - <=
            - <
            - '>='
            - '>'
        count:
          type: integer
          minimum: 0
          maximum: 365
        minimumObservedAgeDays:
          type: integer
          minimum: 1
          maximum: 365
      additionalProperties: false
    CustomerActivityDropDetection:
      type: object
      required:
        - type
        - metric
        - window
        - baselineWindow
        - dropPercent
        - minimumBaselineActiveDays
        - minimumBaselineEventCount
      properties:
        type:
          type: string
          const: customer_activity_drop
        metric:
          type: string
          const: active_days
        window:
          $ref: '#/components/schemas/ActivityWindow'
        baselineWindow:
          $ref: '#/components/schemas/ActivityWindow'
        dropPercent:
          type: number
          minimum: 1
          maximum: 100
        minimumBaselineActiveDays:
          type: integer
          minimum: 1
          maximum: 365
        minimumBaselineEventCount:
          type: integer
          minimum: 1
          maximum: 100000
      additionalProperties: false
    RelatedUserInactivityDetection:
      type: object
      required:
        - type
        - priorWindow
        - inactiveWindow
        - minimumPriorActiveDays
        - minimumPreviouslyActiveUsers
      properties:
        type:
          type: string
          const: related_user_inactivity
        priorWindow:
          $ref: '#/components/schemas/ActivityWindow'
        inactiveWindow:
          $ref: '#/components/schemas/ActivityWindow'
        minimumPriorActiveDays:
          type: integer
          minimum: 1
          maximum: 365
        minimumPreviouslyActiveUsers:
          type: integer
          minimum: 1
          maximum: 10000
      additionalProperties: false
    SignalWindow:
      type: object
      required:
        - value
        - unit
      properties:
        value:
          type: integer
          minimum: 1
          maximum: 365
        unit:
          type: string
          enum:
            - hour
            - day
      additionalProperties: false
    ActivityWindow:
      type: object
      required:
        - value
        - unit
      properties:
        value:
          type: integer
          minimum: 1
          maximum: 365
        unit:
          type: string
          const: day
      additionalProperties: false
  responses:
    Unauthorized:
      description: Invalid or missing API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error: Invalid credentials
    InternalServerError:
      description: Internal server error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error: Internal server error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Outlit API key using the Bearer ok_... format.

````