# Update an Activation Template

Endpoint: PATCH /entities/activation_templates/{id}
Version: 1.0.0

## Path parameters:

  - `id` (integer, required)
    Activation Template to update

## Request fields (application/vnd.treasuredata.v1+json):

  - `id` (string)

  - `type` (string)
    Enum: "activation-template"

  - `attributes` (object)

  - `attributes.name` (string, required)

  - `attributes.description` (string)

  - `attributes.kind` (integer)
    0: batch, 1: batch_journey (default is 0)

  - `attributes.allColumns` (boolean)
    syndication all column flag  ('true' means  that you use all attribute data)

  - `attributes.columns` (array)
    Syndication column detail. Basic syntax is {"column": "alias_name", "source": {...}}. source accepts various definitions. See ColumnExpression/StringExpression for details. example value is using ColumnExpression without function property.
    Example: [{"column":"alias_name","source":{"column":"real_column_name"}}]

  - `attributes.columns.id` (string)

  - `attributes.columns.column` (string, required)

  - `attributes.columns.source` (any, required) — one of:
    - ColumnExpression:
      - `column` (string, required)
      - `customerGroup` (string,null)
      - `functions` (array,null) — one of:
        - variant 1:
          - `function` (string, required)
            Enum: "+", "-", "*", "/"
          - `arg` (number)
        - variant 2:
          - `function` (string, required)
            Enum: "replace"
          - `search` (string)
          - `replacement` (string,null)
        - variant 3:
          - `function` (string, required)
            Enum: "substr"
          - `start` (number)
          - `length` (number)
        - variant 4:
          - `function` (string, required)
            Enum: "regexp_extract"
          - `pattern` (string)
          - `group` (number)
        - variant 5:
          - `function` (string, required)
            Enum: "day_of_week", "from_iso8601_timestamp", "ln", "elapsed_days", "td_ip_to_least_specific_subdivision_name", "td_ip_to_country_name", "td_ip_to_city_name", "td_ip_to_connection_type", "td_ip_to_domain"
        - variant 6:
          - `function` (string, required)
            Enum: "cast_as_quantitative"
          - `default` (number, required)
        - variant 7:
          - `function` (string, required)
            Enum: "cast_as_categorical"
          - `default` (string, required)
        - variant 8:
          - `function` (string, required)
            Enum: "cast_as_categorical_array"
        - variant 9:
          - `function` (string, required)
            Enum: "if"
          - `op` (string)
            Enum: ">", "<", "<=", ">=", "=", "!=", "is", "is\\", "not"
          - `right_value` (number,null)
          - `then` (number)
          - `else` (number)
    - StringExpression:
      - `string` (string, required)
      - `parameters` (array) — one of:
        Values for the placeholders ($1, $2, $3, ...) in the string
        - variant 1:
          - `type` (string)
            Enum: "String"
          - `string` (string)
        - variant 2:
          - `type` (string)
            Enum: "Timestamp"
          - `format` (string)
        - variant 3:
          - `type` (string)
            Enum: "SegmentName", "SegmentId", "AudienceId", "FunnelName", "StageName"

  - `attributes.scheduleOption` (string)

  - `attributes.timezone` (string)

  - `attributes.startAt` (string,null)
    cdp-api will fill some value for old syndications with ScheduleType is not NoneType. '%Y-%M-%DT%h:%m:%s' is expected.

  - `attributes.endOn` (string,null)

  - `attributes.repeatUnit` (string)
    Setting an activation repetition cycle such as "day" or "week".
    Enum: "none", "minute", "hour", "day", "week", "month", "once"

  - `attributes.repeatFrequency` (integer)
    Setting an activation repeat frequency.
Currently, it is set only when the repeat unit is "minute". If the repeat unit is "minute", the interval is set in minutes.

  - `attributes.repeatSubFrequency` (array)
    Parameter for more detailed frequency settings. Values are array of integers.
Currently, this parameter is only valid for repeat unit "week".
For multiple days of the week, each value should be 1 to 7.
1: Monday, 2: Tuesday, 3: Wednesday, 4: Thursday, 5: Friday, 6: Saturday, 7: Sunday
    Example: [1,5,6]

  - `attributes.connectionId` (integer, required)

  - `attributes.connectorConfig` (object,null)

  - `attributes.notifyOn` (array)
    Enum: "onSuccess", "onFailure"

  - `attributes.emailRecipients` (array)

  - `attributes.state` (string, required)
    Enum: "draft", "published"

  - `attributes.nestedWorkflowProjectName` (string,null)

  - `attributes.nestedWorkflowName` (string,null)

  - `attributes.lockEnabled` (boolean)

  - `attributes.runAfterJourneyRefresh` (boolean)
    If true, this activation step will be executed immediately after the journey is refreshed. Only available for kind of journey.

  - `attributes.syndicationBehavior` (object,null)

  - `attributes.syndicationBehavior.columns` (array)
    Syndication column detail. Basic syntax is {"column": "alias_name", "source": {...}}. source accepts various definitions. See ColumnExpression/StringExpression for details. example value is using ColumnExpression without function property.
    Example: [{"column":"alias_name","source":{"column":"real_column_name"}}]

  - `attributes.syndicationBehavior.behaviorTableName` (string)
    Behavior table name which contains behavior records
    Example: "purchase_history"

  - `attributes.syndicationBehavior.joinRow` (integer,null)
    How much rows would be joined (value is N for Top-N join)
    Example: 3

  - `attributes.syndicationBehavior.joinStrategy` (string)
    Enum: "All", "First", "Last", "Top-N"

  - `attributes.syndicationBehavior.formatting` (string)
    Enum: "rows", "cols"

  - `attributes.syndicationBehavior.orderBy` (array)
    Example: [{"key":"purchased_at","order":"descending"},{"key":"price","order":"ascending"}]

  - `attributes.syndicationBehavior.orderBy.key` (string)
    Example: "purchased_at"

  - `attributes.syndicationBehavior.orderBy.order` (string)
    Enum: "ascending", "descending"

  - `attributes.fieldProperties` (object)
    activation template field properties

  - `attributes.fieldProperties.locked` (object, required)
    activation template field properties locked

  - `attributes.fieldProperties.locked.allColumns` (boolean)

  - `attributes.fieldProperties.locked.columns` (object)
    Example: {"b24bf298-4f8c-4e8a-8187-38f2efc781d9":{"column":true,"source":true,"lockDeleteColumn":false},"c97c5711-31dd-4563-aca9-795c0b429593":{"column":true,"source":true,"lockDeleteColumn":false}}

  - `attributes.fieldProperties.locked.connectionId` (boolean)

  - `attributes.fieldProperties.locked.connectorConfig` (object,null)
    Example: {"userDatabaseName":true,"userTableName":true,"legacy":false,"mode":false}

  - `attributes.fieldProperties.locked.activationActionsEnabled` (boolean)

  - `attributes.fieldProperties.locked.syndicationBehavior` (object,null)

  - `attributes.fieldProperties.locked.syndicationBehavior.tableName` (string)
    Behavior table name which contains behavior records
    Example: "purchase_history"

  - `attributes.fieldProperties.locked.syndicationBehavior.columns` (object)
    Example: {"0ae6e876-9d9d-4217-8be2-f8646000d0c2":{"column":true,"source":true,"lockDeleteColumn":false},"b71d422e-4f29-47d5-b072-7e598275a402":{"column":true,"source":true,"lockDeleteColumn":false}}

  - `attributes.fieldProperties.locked.syndicationBehavior.lockAddColumn` (boolean)

  - `attributes.fieldProperties.locked.syndicationBehavior.lockDeleteBehaviorTable` (boolean)

  - `attributes.fieldProperties.locked.syndicationBehavior.lockEditBehaviorTable` (boolean)

  - `attributes.fieldProperties.locked.syndicationBehavior.lockEditJoinRow` (boolean)

  - `attributes.fieldProperties.locked.syndicationBehavior.lockEditJoinStrategy` (boolean)

  - `attributes.fieldProperties.locked.syndicationBehavior.lockEditFormatting` (boolean)

  - `attributes.fieldProperties.locked.syndicationBehavior.lockEditOrderBy` (boolean)

  - `attributes.fieldProperties.locked.lockAddColumn` (boolean)

  - `attributes.fieldProperties.locked.lockAddString` (boolean)

  - `attributes.fieldProperties.locked.lockAddBehavior` (boolean)

  - `attributes.fieldProperties.locked.lockEditSchedule` (boolean)

  - `attributes.fieldProperties.locked.lockEditNotification` (boolean)

  - `attributes.fieldProperties.locked.lockEditWorkflowExecution` (boolean)

  - `attributes.fieldProperties.locked.lockEditSequentialActivation` (boolean)

  - `attributes.scheduleType` (string)
    Deprecated. Old parameter for setting schedule type. See/Use RepeatUnit instead.
    Enum: "cron", "daily", "hourly", "minutes_interval", "monthly", "none", "weekly"

  - `relationships` (object)

  - `relationships.parentFolder` (object)

  - `relationships.parentFolder.data` (object)

  - `relationships.parentFolder.data.id` (string, required)

  - `relationships.parentFolder.data.type` (string, required)
    Enum: "folder-segment"

## Response 200 fields (application/json):

  - `data` (object, required)

  - `data.id` (string)

  - `data.type` (string)
    Enum: same as `type` (1 values)

  - `data.attributes` (object)

  - `data.attributes.audienceId` (string, required)

  - `data.attributes.name` (string, required)

  - `data.attributes.description` (string,null, required)

  - `data.attributes.kind` (integer)
    0: batch, 1: batch_journey

  - `data.attributes.allColumns` (boolean)
    activation all column flag  ('true' means that you use all attribute data)

  - `data.attributes.columns` (any)
    - `thisKeyNeverHit` (string)

  - `data.attributes.scheduleOption` (string,null)

  - `data.attributes.timezone` (string,null)

  - `data.attributes.startAt` (string,null)
    cdp-api will fill some value for old syndications with ScheduleType is not NoneType. '%Y-%M-%DT%h:%m:%s' is expected.

  - `data.attributes.endOn` (string,null)

  - `data.attributes.repeatUnit` (string)
    Setting an activation repetition cycle such as "day" or "week".
    Enum: same as `attributes.repeatUnit` (7 values)

  - `data.attributes.repeatFrequency` (integer)
    Setting an activation repeat frequency.
Currently, it is set only when the repeat unit is "minute". If the repeat unit is "minute", the interval is set in minutes.

  - `data.attributes.repeatSubFrequency` (array)
    Parameter for more detailed frequency settings. Values are array of integers.
Currently, this parameter is only valid for repeat unit "week".
For multiple days of the week, each value should be 1 to 7.
1: Monday, 2: Tuesday, 3: Wednesday, 4: Thursday, 5: Friday, 6: Saturday, 7: Sunday
    Example: [1,5,6]

  - `data.attributes.connectionId` (string,null)

  - `data.attributes.connectorConfig` (object,null)

  - `data.attributes.notifyOn` (array)
    Enum: same as `attributes.notifyOn` (2 values)

  - `data.attributes.emailRecipients` (array)

  - `data.attributes.createdAt` (string, required)

  - `data.attributes.updatedAt` (string, required)

  - `data.attributes.state` (string)
    Enum: same as `attributes.state` (2 values)

  - `data.attributes.nestedWorkflowProjectName` (string,null)

  - `data.attributes.nestedWorkflowName` (string,null)

  - `data.attributes.activationActionsEnabled` (boolean)

  - `data.attributes.lockEnabled` (boolean)

  - `data.attributes.runAfterJourneyRefresh` (boolean,null)
    If true, this activation step will be executed immediately after the journey is refreshed. Only available for kind of journey.

  - `data.attributes.syndicationBehavior` (object,null)

  - `data.attributes.syndicationBehavior.columns` (array)
    Syndication column detail. Basic syntax is {"column": "alias_name", "source": {...}}. source accepts various definitions. See ColumnExpression/StringExpression for details. example value is using ColumnExpression without function property.
    Example: [{"column":"alias_name","source":{"column":"real_column_name"}}]

  - `data.attributes.syndicationBehavior.behaviorTableName` (string)
    Behavior table name which contains behavior records
    Example: "purchase_history"

  - `data.attributes.syndicationBehavior.joinRow` (integer,null)
    How much rows would be joined (value is N for Top-N join)
    Example: 3

  - `data.attributes.syndicationBehavior.joinStrategy` (string)
    Enum: same as `attributes.syndicationBehavior.joinStrategy` (4 values)

  - `data.attributes.syndicationBehavior.formatting` (string)
    Enum: same as `attributes.syndicationBehavior.formatting` (2 values)

  - `data.attributes.syndicationBehavior.orderBy` (array)
    Example: [{"key":"purchased_at","order":"descending"},{"key":"price","order":"ascending"}]

  - `data.attributes.syndicationBehavior.orderBy.key` (string)
    Example: "purchased_at"

  - `data.attributes.syndicationBehavior.orderBy.order` (string)
    Enum: same as `attributes.syndicationBehavior.orderBy.order` (2 values)

  - `data.attributes.fieldProperties` (object)
    activation template field properties

  - `data.attributes.activationCount` (integer)
    Number of related activations

  - `data.attributes.journeyCount` (integer)
    Number of related journeys

  - `data.attributes.available` (boolean)
    This template is available or not (It contains PBP PII BLOCKED columns or not)

  - `data.attributes.scheduleType` (string)
    Deprecated. Old parameter for setting schedule type. See/Use RepeatUnit instead.
    Enum: same as `attributes.scheduleType` (7 values)

  - `data.relationships` (object)

  - `data.relationships.parentFolder` (object)

  - `data.relationships.createdBy` (object)

  - `data.relationships.createdBy.data` (object,null)

  - `data.relationships.createdBy.data.id` (string, required)

  - `data.relationships.createdBy.data.type` (string, required)
    Enum: "user"

  - `data.relationships.updatedBy` (object)

  - `included` (array, required)

  - `included.id` (string, required)

  - `included.type` (string, required)
    Enum: same as `data.relationships.createdBy.data.type` (1 values)

  - `included.attributes` (object, required)

  - `included.attributes.tdUserId` (string, required)

  - `included.attributes.name` (string, required)

## Response 400 fields (application/json):

  - `errors` (array, required) — one of:
    - JsonApiBadParameterError:
      - `code` (string, required)
        Error code in string
        Enum: "bad-parameter-error"
      - `status` (string, required)
        Status code for error
        Enum: "400"
      - `detail` (string, required)
        Detailed error message
        Example: "SegmentFolder View Permission Required"
      - `source` (object)
      - `source.pointer` (string, required)
        Pointer to invalid parameter
        Example: "/attributes/segments/"
      - `meta` (object)
      - `meta.parameterCode` (string, required)
        Detailed validation error code
        Enum: "SHOULD_BE_ARRAY", "INVALID_FORMAT"
    - JsonApiMaskedValueError:
      - `code` (string, required)
        Error code in string
        Enum: same as `code` in "JsonApiBadParameterError" (1 values)
      - `status` (string, required)
        Status code for error
        Enum: 400
      - `detail` (string, required)
        Detailed error message
        Example: "masked value is used"
      - `source` (object, required)
      - `source.pointer` (string, required)
        Pointer to invalid parameter
        Example: "/attributes/syndication/columns/0"
      - `meta` (object, required)
      - `meta.parameterCode` (string, required)
        Detailed validation error code
        Enum: "MASKED_VALUE_IS_USED"
    - JsonApiValidationError:
      - `code` (string, required)
        Error code in string
        Enum: "validation-error"
      - `status` (string, required)
        Status code for error
        Enum: same as `status` in "JsonApiBadParameterError" (1 values)
      - `detail` (string, required)
        Detailed error message
        Example: "Name has already been taken"
      - `source` (object, required)
      - `source.pointer` (string, required)
        Pointer to invalid model attribute
        Example: "/attributes/id"
      - `meta` (object, required)
      - `meta.validationCode` (string, required)
        Detailed validation error code
        Enum: "VIOLATES_UNIQUENESS_CONSTRAINT", "IS_TOO_SHORT", "IS_TOO_LONG", "CANNOT_BE_BLANK", "INVALID_FORMAT_OR_ASSOCIATION", "COMPOSITE_CONDITION_TOO_FEW_RULES_REFERENCED", "COMPOSITE_CONDITION_TOO_FEW_RULE_SETS_REFERENCED", "COMPOSITE_CONDITION_MISSING_RULE_IDENTIFIER", "COMPOSITE_CONDITION_SYNTAX_ERROR", "COMPOSITE_CONDITION_TOO_LONG_ALPHABETICAL_IDENTIFIER", "COMPOSITE_CONDITION_TOO_LONG_NUMERICAL_IDENTIFIER", "PREDICTIVE_SEGMENT_NOT_YET_SCORED", "PREDICTIVE_SEGMENT_NOT_YET_TRAINED", "IS_IMMUTABLE", "UNKNOWN", "TOO_MANY_BEHAVIOR_RULES", "INVALID_WINDOW_DURATION", "UNDEFINED_ENTRY_CRITERIA", "UNDEFINED_MILESTONE", "UNDEFINED_ACTIVATION_STEP", "UNDEFINED_WAIT_STEP", "UNDEFINED_EXIT_CRITERIA", "UNDEFINED_DECISION_CONDITION", "UNDEFINED_MERGE_POINT", "UNUSED_IN_ID_LINK", "TOO_MANY_PRIMARY_KNOWN_IDS", "TOO_LESS_PRIMARY_KNOWN_IDS", "TOO_MANY_RT_SEGMENTS"

## Response 403 fields (application/json):

  - `errors` (array, required)

  - `errors.code` (string, required)
    Error code in string
    Enum: "permission-error"

  - `errors.status` (string, required)
    Status code for error
    Enum: "403"

  - `errors.detail` (string, required)
    Detailed error message
    Example: "SegmentFolder View Permission Required"

  - `errors.meta` (object)
    Meta info for storing permissionCode. Note that in some cases, meta can be null.

  - `errors.meta.permissionCode` (string, required)
    Detailed validation error code
    Enum: "SEGMENT_FOLDER_VIEW_REQUIRED", "SEGMENT_FOLDER_EDIT_REQUIRED"

## Response 404 fields (application/json):

  - `errors` (array, required)

  - `errors.code` (string, required)
    Error code in string
    Enum: "record-not-found-error"

  - `errors.status` (string, required)
    Enum: "404"

  - `errors.detail` (string, required)
    Detailed error message
    Example: "Record not found"

## Response 422 fields (application/json):

  - `errors` (array, required)

  - `errors.code` (string, required)
    Error code in string
    Enum: "unprocessable-entity-error"

  - `errors.status` (string, required)
    Enum: "422"

  - `errors.meta` (object,null)

  - `errors.meta.unprocessableEntityCode` (string)
    Detailed error code
    Enum: "CANNOT_MOVE", "CANNOT_BE_JSONAPI"

  - `errors.detail` (string, required)
    Detailed error message
    Example: "parent_folder id parameter is required"

## Response 5XX fields (application/json):

  - `status` (integer, required)
    Error status

  - `error` (string, required)
    Error message

  - `details` (string)
    Detailed error message


