> ## Documentation Index
> Fetch the complete documentation index at: https://docs.siftstack.com/llms.txt
> Use this file to discover all available pages before exploring further.

# UpdateAutomationTrigger

> Update select fields of an existing automation trigger.



## OpenAPI

````yaml /openapi.json patch /api/v1/automation-triggers
openapi: 3.0.0
info:
  title: Sift API
  version: '1.0'
servers:
  - url: https://api.siftstack.com
    description: Production
  - url: https://gov.api.siftstack.com
    description: Gov
security:
  - BearerAuth: []
tags:
  - name: TagService
    description: Service to programmatically interact with [tags](/glossary#tag).
  - name: CampaignService
  - name: ProtobufDescriptorService
    description: >-
      Service to programmatically interact with protobuf descriptors used for
      protobuf ingestion.
    externalDocs:
      description: Read more about what protobuf ingestion.
      url: /ingestion/protobuf_ingestion
  - name: AnnotationLogService
    description: >-
      Service to programmatically interact with [annotation
      logs](/glossary#annotation).
    externalDocs:
      description: Read more about annotations.
      url: >-
        https://customer.support.siftstack.com/servicedesk/customer/portal/2/article/265486685
  - name: MetadataService
  - name: DlqErrorsService
  - name: RuleService
    description: Service to programmatically interact with rules.
    externalDocs:
      description: Read more about what rules are.
      url: >-
        https://customer.support.siftstack.com/servicedesk/customer/portal/2/article/265421102
  - name: WebhookService
  - name: UserDefinedFunctionService
  - name: ReportTemplateService
  - name: RemoteFileService
  - name: PingService
  - name: FamilyService
    description: Service to programmatically interact with family configurations.
  - name: ExternalSyncService
  - name: ReportService
  - name: NotificationService
    description: Service to programmatically interact with in-app notifications.
  - name: ChannelSchemaService
    description: Service to programmatically interact with channel schemas
  - name: IngestService
  - name: UserService
    description: Service to programmatically interact with user objects.
  - name: TestReportService
    description: Service to manage test reports
  - name: PrincipalAttributeService
    description: Service to manage ABAC principal attributes.
  - name: ChannelService
    description: Service to programmatically interact with [channels](/glossary#channel).
    externalDocs:
      description: Read more about what channels are.
      url: >-
        https://customer.support.siftstack.com/servicedesk/customer/portal/2/article/265453943
  - name: DataImportService
  - name: ExportService
  - name: PolicyService
    description: Service to manage ABAC policies.
  - name: ApiKeyService
  - name: CommentService
    description: >-
      Service to programmatically interact with comments attached to resources
      in the platform.
  - name: JobService
  - name: UserGroupService
  - name: ResourceAttributeService
    description: Service to manage ABAC resource attributes (entity attributes).
  - name: AutomationService
  - name: ViewService
    description: Service to programmatically interact with views.
    externalDocs:
      description: Read more about what views are.
      url: >-
        https://customer.support.siftstack.com/servicedesk/customer/portal/2/article/298188809
  - name: UnitService
  - name: DocsService
  - name: RoleService
  - name: SavedSearchService
  - name: RuleEvaluationService
    description: Service to evaluate rules.
    externalDocs:
      description: Read more about what rules are.
      url: >-
        https://customer.support.siftstack.com/servicedesk/customer/portal/2/article/265421102
  - name: RunService
    description: Service to programmatically interact with [runs](/glossary#run).
    externalDocs:
      description: Read more about what runs are.
      url: >-
        https://customer.support.siftstack.com/servicedesk/customer/portal/2/article/265454053
  - name: PanelConfigurationService
    description: Service to programmatically interact with panel configurations.
  - name: IngestionConfigService
    description: >-
      Service to programmatically interact with [ingestion
      configs](/glossary#ingestion-config).
    externalDocs:
      description: Read more about what ingestion configs are.
      url: /ingestion/creating-amend-ingestion-config
  - name: CalculatedChannelService
  - name: CalculatedChannelsService
    description: Service to programmatically interact with calculated channels.
    externalDocs:
      description: Read more about calculated channels.
      url: >-
        https://customer.support.siftstack.com/servicedesk/customer/portal/2/article/265421153
  - name: AnnotationService
    description: Service to programmatically interact with annotations.
    externalDocs:
      description: Read more about annotations.
      url: >-
        https://customer.support.siftstack.com/servicedesk/customer/portal/2/article/265486685
  - name: DataService
    description: Service to query data
  - name: MeService
  - name: AssetService
    description: Service to programmatically interact with [assets](/glossary#asset).
    externalDocs:
      description: Read more about what assets are.
      url: /data-model
paths:
  /api/v1/automation-triggers:
    patch:
      tags:
        - AutomationService
      summary: UpdateAutomationTrigger
      description: Update select fields of an existing automation trigger.
      operationId: AutomationService_UpdateAutomationTrigger
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1UpdateAutomationTriggerRequest'
        description: >-
          The request for a call to `AutomationService_UpdateAutomationTrigger`.

          The trigger's `automation_trigger_id` is used to identify the row;
          every

          other field is applied only when named in `update_mask`.
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1UpdateAutomationTriggerResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
components:
  schemas:
    v1UpdateAutomationTriggerRequest:
      type: object
      properties:
        automationTrigger:
          $ref: '#/components/schemas/v1AutomationTrigger'
        updateMask:
          type: string
      description: |-
        The request for a call to `AutomationService_UpdateAutomationTrigger`.
        The trigger's `automation_trigger_id` is used to identify the row; every
        other field is applied only when named in `update_mask`.
      required:
        - automationTrigger
        - updateMask
    v1UpdateAutomationTriggerResponse:
      type: object
      properties:
        automationTrigger:
          $ref: '#/components/schemas/v1AutomationTrigger'
      description: |-
        The response of a call to `AutomationService_UpdateAutomationTrigger`.
        To archive a trigger, include `archived_date` in the mask and set the
        field. To unarchive, include `archived_date` in the mask and clear it.
      required:
        - automationTrigger
    rpcStatus:
      type: object
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
        details:
          type: array
          items:
            $ref: '#/components/schemas/protobufAny'
    v1AutomationTrigger:
      type: object
      properties:
        automationTriggerId:
          type: string
        organizationId:
          type: string
        canvasId:
          type: string
        name:
          type: string
        matchFilter:
          $ref: '#/components/schemas/v1AutomationTriggerMatchFilter'
        userId:
          type: string
          description: |-
            Impersonation user materialized at create time. Recheck happens at
            dispatch when the automation worker impersonates this user for the
            EvaluateCanvas call.
        actionKind:
          $ref: '#/components/schemas/v1AutomationTriggerActionKind'
        actionParams:
          $ref: '#/components/schemas/v1AutomationTriggerActionParams'
        isEnabled:
          type: boolean
        archivedDate:
          type: string
          format: date-time
        isArchived:
          type: boolean
        createdDate:
          type: string
          format: date-time
        modifiedDate:
          type: string
          format: date-time
        createdByUserId:
          type: string
        modifiedByUserId:
          type: string
      required:
        - automationTriggerId
        - organizationId
        - canvasId
        - name
        - matchFilter
        - userId
        - actionKind
        - isEnabled
        - isArchived
        - createdDate
        - modifiedDate
        - createdByUserId
        - modifiedByUserId
    protobufAny:
      type: object
      properties:
        '@type':
          type: string
          description: >-
            A URL/resource name that uniquely identifies the type of the
            serialized

            protocol buffer message. This string must contain at least

            one "/" character. The last segment of the URL's path must represent

            the fully qualified name of the type (as in

            `path/google.protobuf.Duration`). The name should be in a canonical
            form

            (e.g., leading "." is not accepted).


            In practice, teams usually precompile into the binary all types that
            they

            expect it to use in the context of Any. However, for URLs which use
            the

            scheme `http`, `https`, or no scheme, one can optionally set up a
            type

            server that maps type URLs to message definitions as follows:


            * If no scheme is provided, `https` is assumed.

            * An HTTP GET on the URL must yield a [google.protobuf.Type][]
              value in binary format, or produce an error.
            * Applications are allowed to cache lookup results based on the
              URL, or have them precompiled into a binary to avoid any
              lookup. Therefore, binary compatibility needs to be preserved
              on changes to types. (Use versioned type names to manage
              breaking changes.)

            Note: this functionality is not currently available in the official

            protobuf release, and it is not used for type URLs beginning with

            type.googleapis.com. As of May 2023, there are no widely used type
            server

            implementations and no plans to implement one.


            Schemes other than `http`, `https` (or the empty scheme) might be

            used with implementation specific semantics.
      additionalProperties: {}
      description: >-
        `Any` contains an arbitrary serialized protocol buffer message along
        with a

        URL that describes the type of the serialized message.


        Protobuf library provides support to pack/unpack Any values in the form

        of utility functions or additional generated methods of the Any type.


        Example 1: Pack and unpack a message in C++.

            Foo foo = ...;
            Any any;
            any.PackFrom(foo);
            ...
            if (any.UnpackTo(&foo)) {
              ...
            }

        Example 2: Pack and unpack a message in Java.

            Foo foo = ...;
            Any any = Any.pack(foo);
            ...
            if (any.is(Foo.class)) {
              foo = any.unpack(Foo.class);
            }
            // or ...
            if (any.isSameTypeAs(Foo.getDefaultInstance())) {
              foo = any.unpack(Foo.getDefaultInstance());
            }

         Example 3: Pack and unpack a message in Python.

            foo = Foo(...)
            any = Any()
            any.Pack(foo)
            ...
            if any.Is(Foo.DESCRIPTOR):
              any.Unpack(foo)
              ...

         Example 4: Pack and unpack a message in Go

             foo := &pb.Foo{...}
             any, err := anypb.New(foo)
             if err != nil {
               ...
             }
             ...
             foo := &pb.Foo{}
             if err := any.UnmarshalTo(foo); err != nil {
               ...
             }

        The pack methods provided by protobuf library will by default use

        'type.googleapis.com/full.type.name' as the type URL and the unpack

        methods only use the fully qualified type name after the last '/'

        in the type URL, for example "foo.bar.com/x/y.z" will yield type

        name "y.z".


        JSON

        ====

        The JSON representation of an `Any` value uses the regular

        representation of the deserialized, embedded message, with an

        additional field `@type` which contains the type URL. Example:

            package google.profile;
            message Person {
              string first_name = 1;
              string last_name = 2;
            }

            {
              "@type": "type.googleapis.com/google.profile.Person",
              "firstName": <string>,
              "lastName": <string>
            }

        If the embedded message type is well-known and has a custom JSON

        representation, that representation will be embedded adding a field

        `value` which holds the custom JSON in addition to the `@type`

        field. Example (for message [google.protobuf.Duration][]):

            {
              "@type": "type.googleapis.com/google.protobuf.Duration",
              "value": "1.212s"
            }
    v1AutomationTriggerMatchFilter:
      type: object
      properties:
        assetIds:
          type: array
          items:
            type: string
        nameMatch:
          $ref: '#/components/schemas/v1AutomationTriggerRunNameMatch'
      description: >-
        AutomationTriggerMatchFilter is the selector evaluated asynchronously

        after StopRun. StopRun inserts an automation_source_event (RUN_STOP);
        the

        automation_worker then pages through the org's enabled, non-archived

        automation_triggers and enqueues a row for each trigger whose

        match_filter accepts the run (the trigger's canvas_id identifies which

        canvas to evaluate later — runs themselves have no canvas association).

        Empty asset_ids matches any asset; absent name_match matches any name.

        Name matching for STARTS_WITH / ENDS_WITH / CONTAINS is
        case-insensitive;

        REGEX uses Go regexp semantics (add (?i) for case-insensitive patterns).
    v1AutomationTriggerActionKind:
      type: string
      enum:
        - AUTOMATION_TRIGGER_ACTION_KIND_UNSPECIFIED
        - AUTOMATION_TRIGGER_ACTION_KIND_CANVAS_EVALUATION
      default: AUTOMATION_TRIGGER_ACTION_KIND_UNSPECIFIED
      description: >-
        AutomationTriggerActionKind is what an automation trigger does when it
        fires.

        v1 supports `AUTOMATION_TRIGGER_ACTION_KIND_CANVAS_EVALUATION` only; the

        enum is kept so future dispatch types (webhook, email, ...) can be added

        without a breaking change.
    v1AutomationTriggerActionParams:
      type: object
      properties:
        canvasEvaluation:
          $ref: '#/components/schemas/v1CanvasEvaluationActionParams'
      description: >-
        AutomationTriggerActionParams is the public action_params shape. oneof
        by

        action kind so future dispatch types (webhook, email, ...) don't fall
        back

        to google.protobuf.Struct.
    v1AutomationTriggerRunNameMatch:
      type: object
      properties:
        kind:
          $ref: '#/components/schemas/v1AutomationTriggerRunNameMatchKind'
        value:
          type: string
      description: AutomationTriggerRunNameMatch expresses a filter against runs.name.
      required:
        - kind
        - value
    v1CanvasEvaluationActionParams:
      type: object
      properties:
        canvasVersionId:
          type: string
        paramJson:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/v1AutomationTriggerParamValue'
      description: >-
        CanvasEvaluationActionParams is the typed template for

        AUTOMATION_TRIGGER_ACTION_KIND_CANVAS_EVALUATION. Wildcards in
        param_json

        are resolved into automation_triggered_events.action_params_snapshot;

        the automation worker pass-throughs that snapshot to EvaluateCanvas.
      required:
        - canvasVersionId
    v1AutomationTriggerRunNameMatchKind:
      type: string
      enum:
        - AUTOMATION_TRIGGER_RUN_NAME_MATCH_KIND_UNSPECIFIED
        - AUTOMATION_TRIGGER_RUN_NAME_MATCH_KIND_STARTS_WITH
        - AUTOMATION_TRIGGER_RUN_NAME_MATCH_KIND_ENDS_WITH
        - AUTOMATION_TRIGGER_RUN_NAME_MATCH_KIND_CONTAINS
        - AUTOMATION_TRIGGER_RUN_NAME_MATCH_KIND_REGEX
      default: AUTOMATION_TRIGGER_RUN_NAME_MATCH_KIND_UNSPECIFIED
      description: |-
        AutomationTriggerRunNameMatchKind is the operator on runs.name in an
        automation trigger match filter.
    v1AutomationTriggerParamValue:
      type: object
      properties:
        literal: {}
        source:
          $ref: '#/components/schemas/v1AutomationTriggerParamSource'
      description: |-
        AutomationTriggerParamValue is one canvas param: a JSON literal or a
        run-scoped wildcard source. Prefer this over ad-hoc `{"source":"..."}`
        objects in a free-form Struct.
    v1AutomationTriggerParamSource:
      type: string
      enum:
        - AUTOMATION_TRIGGER_PARAM_SOURCE_UNSPECIFIED
        - AUTOMATION_TRIGGER_PARAM_SOURCE_TRIGGERING_RUN
        - AUTOMATION_TRIGGER_PARAM_SOURCE_TRIGGERING_RUN_ASSETS
      default: AUTOMATION_TRIGGER_PARAM_SOURCE_UNSPECIFIED
      description: >-
        AutomationTriggerParamSource is a wildcard resolved against the
        triggering

        run when the match job builds action_params_snapshot.

         - AUTOMATION_TRIGGER_PARAM_SOURCE_TRIGGERING_RUN: Resolves to the triggering run's run_id (string).
         - AUTOMATION_TRIGGER_PARAM_SOURCE_TRIGGERING_RUN_ASSETS: Resolves to the triggering run's asset_ids (string array).
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````