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

# Connect a component to an origin

> Sets the origin of a component, and of each matching descendant component, to the current version of another component, so the component can take that origin's later upgrades. The current version is the latest one for a component of the same client, and the published one for a component of another client. An origin the component already has is replaced. When the component already has the same origin at an older version, the request is refused; upgrade the component instead. Each child component of the origin must be present, by component name, at every level, and each matched component must have the same types, install and elements, such as controllers, triggers and flow steps, as its origin component; otherwise the request is refused and the error lists each difference. A component that would become its own origin is refused too. A child component that the origin does not have is allowed, and its own origin does not change. The request is also refused when the component uses an external element that the client added, such as an audience or a reward supplier. Settings, assets, sockets and facets are not compared. The connect records them as matching the origin's current version, so bring them to that version before you connect; otherwise the next upgrade keeps their old values as client changes. The connect saves the campaign's draft, so publish the campaign for the published version to carry the new origin. Nothing else on the component changes.

Fields omitted from the body are left unchanged, except `component_id`, which the request schema marks required and which every request must send.



## OpenAPI

````yaml /api-reference/management.json put /v1/components/{component_id}/origin
openapi: 3.0.1
info:
  description: >-
    Configuration endpoints for the Extole platform: campaigns, components,
    audiences, persons, rewards, reporting, integrations setup, and
    administrative tooling.


    ## Updating a resource


    `PUT` merges. A field you omit from the body is left at its stored value, so
    you do not need to read a resource and send it back whole in order to change
    one field. This is a deliberate departure from the HTTP convention that
    `PUT` replaces, and it holds across this API.


    Two qualifications, both visible on each operation's own request schema:


    - Some operations mark fields `required` in their request schema. Those must
    be sent on every request, whether or not you are changing them.

    - A field that holds a list or a map is replaced, not merged, when you
    supply it. Sending one entry of a collection stores that entry and drops the
    rest, so to change one member of a collection you must send the collection's
    other members alongside it.
  title: Management API
  version: '1.0'
servers:
  - description: Production
    url: https://api.extole.io
security:
  - HEADER: []
  - QUERY: []
  - COOKIE: []
tags:
  - name: Audiences
  - name: Authentication
  - name: Batch Jobs
  - name: Batch Jobs (Legacy)
  - name: Blocks
  - name: Campaigns
  - name: Components
  - name: Components Operations
  - name: Domains
  - name: Email
  - name: Erasure
  - name: Event Streams
  - name: Optout
  - name: Profiles
  - name: Promotion Links
  - name: Report Schedules
  - name: Report Types
  - name: Reports
  - name: Reward Suppliers
  - name: SFTP Servers
  - name: Security Keys
  - name: Settings
  - name: User Notifications
  - name: User Subscriptions
  - name: Users
  - name: Webhooks
paths:
  /v1/components/{component_id}/origin:
    put:
      tags:
        - Components
      summary: Connect a component to an origin
      description: >-
        Sets the origin of a component, and of each matching descendant
        component, to the current version of another component, so the component
        can take that origin's later upgrades. The current version is the latest
        one for a component of the same client, and the published one for a
        component of another client. An origin the component already has is
        replaced. When the component already has the same origin at an older
        version, the request is refused; upgrade the component instead. Each
        child component of the origin must be present, by component name, at
        every level, and each matched component must have the same types,
        install and elements, such as controllers, triggers and flow steps, as
        its origin component; otherwise the request is refused and the error
        lists each difference. A component that would become its own origin is
        refused too. A child component that the origin does not have is allowed,
        and its own origin does not change. The request is also refused when the
        component uses an external element that the client added, such as an
        audience or a reward supplier. Settings, assets, sockets and facets are
        not compared. The connect records them as matching the origin's current
        version, so bring them to that version before you connect; otherwise the
        next upgrade keeps their old values as client changes. The connect saves
        the campaign's draft, so publish the campaign for the published version
        to carry the new origin. Nothing else on the component changes.


        Fields omitted from the body are left unchanged, except `component_id`,
        which the request schema marks required and which every request must
        send.
      parameters:
        - in: path
          name: component_id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              component_id: component_id
            schema:
              $ref: '#/components/schemas/ComponentOriginRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComponentResponse'
          description: Successful response
        '400':
          content:
            application/json:
              examples:
                binding_error:
                  $ref: '#/components/examples/binding_error'
                campaign_build_failed:
                  $ref: '#/components/examples/campaign_build_failed'
                campaign_component_absolute_name_missing:
                  $ref: >-
                    #/components/examples/campaign_component_absolute_name_missing
                campaign_component_description_out_of_range:
                  $ref: >-
                    #/components/examples/campaign_component_description_out_of_range
                campaign_component_display_name_contains_illegal_character:
                  $ref: >-
                    #/components/examples/campaign_component_display_name_contains_illegal_character
                campaign_component_display_name_out_of_range:
                  $ref: >-
                    #/components/examples/campaign_component_display_name_out_of_range
                campaign_component_id_missing:
                  $ref: '#/components/examples/campaign_component_id_missing'
                campaign_component_name_already_in_use:
                  $ref: '#/components/examples/campaign_component_name_already_in_use'
                campaign_component_name_contains_illegal_character:
                  $ref: >-
                    #/components/examples/campaign_component_name_contains_illegal_character
                campaign_component_name_out_of_range:
                  $ref: '#/components/examples/campaign_component_name_out_of_range'
                campaign_component_type_operation_missing:
                  $ref: >-
                    #/components/examples/campaign_component_type_operation_missing
                campaign_component_type_validation_failed:
                  $ref: >-
                    #/components/examples/campaign_component_type_validation_failed
                campaign_concurrent_client_change_update:
                  $ref: >-
                    #/components/examples/campaign_concurrent_client_change_update
                campaign_concurrent_update:
                  $ref: '#/components/examples/campaign_concurrent_update'
                campaign_has_pending_changes:
                  $ref: '#/components/examples/campaign_has_pending_changes'
                campaign_locked:
                  $ref: '#/components/examples/campaign_locked'
                campaign_stale_version:
                  $ref: '#/components/examples/campaign_stale_version'
                campaign_version_malformed:
                  $ref: '#/components/examples/campaign_version_malformed'
                circular_component_reference:
                  $ref: '#/components/examples/circular_component_reference'
                client_key_name_already_in_use:
                  $ref: '#/components/examples/client_key_name_already_in_use'
                component_facets_not_found:
                  $ref: '#/components/examples/component_facets_not_found'
                component_ids_and_references_both_provided:
                  $ref: >-
                    #/components/examples/component_ids_and_references_both_provided
                component_not_found:
                  $ref: '#/components/examples/component_not_found'
                component_operation_method_missing:
                  $ref: '#/components/examples/component_operation_method_missing'
                component_operation_name_already_in_use:
                  $ref: >-
                    #/components/examples/component_operation_name_already_in_use
                component_operation_name_contains_illegal_character:
                  $ref: >-
                    #/components/examples/component_operation_name_contains_illegal_character
                component_operation_name_missing:
                  $ref: '#/components/examples/component_operation_name_missing'
                component_operation_name_out_of_range:
                  $ref: '#/components/examples/component_operation_name_out_of_range'
                component_operation_name_reserved:
                  $ref: '#/components/examples/component_operation_name_reserved'
                component_operation_parameter_invalid:
                  $ref: '#/components/examples/component_operation_parameter_invalid'
                component_operation_path_malformed:
                  $ref: '#/components/examples/component_operation_path_malformed'
                component_operation_path_missing:
                  $ref: '#/components/examples/component_operation_path_missing'
                component_operation_schema_invalid:
                  $ref: '#/components/examples/component_operation_schema_invalid'
                component_operation_schema_too_large:
                  $ref: '#/components/examples/component_operation_schema_too_large'
                component_operation_tag_length_out_of_range:
                  $ref: >-
                    #/components/examples/component_operation_tag_length_out_of_range
                component_operation_type_missing:
                  $ref: '#/components/examples/component_operation_type_missing'
                component_origin_component_id_missing:
                  $ref: '#/components/examples/component_origin_component_id_missing'
                component_origin_component_not_found:
                  $ref: '#/components/examples/component_origin_component_not_found'
                component_origin_is_component:
                  $ref: '#/components/examples/component_origin_is_component'
                component_origin_restricted_external_elements:
                  $ref: >-
                    #/components/examples/component_origin_restricted_external_elements
                component_origin_structure_mismatch:
                  $ref: '#/components/examples/component_origin_structure_mismatch'
                component_origin_upgrade_available:
                  $ref: '#/components/examples/component_origin_upgrade_available'
                component_owner_not_supported:
                  $ref: '#/components/examples/component_owner_not_supported'
                component_reference_still_pinned:
                  $ref: '#/components/examples/component_reference_still_pinned'
                component_reference_unmatched_on_publish:
                  $ref: >-
                    #/components/examples/component_reference_unmatched_on_publish
                component_state_not_supported:
                  $ref: '#/components/examples/component_state_not_supported'
                component_type_not_found:
                  $ref: '#/components/examples/component_type_not_found'
                controller_state_misconfiguration:
                  $ref: '#/components/examples/controller_state_misconfiguration'
                date_invalid:
                  $ref: '#/components/examples/date_invalid'
                excessive_component_reference:
                  $ref: '#/components/examples/excessive_component_reference'
                expression_invalid_syntax:
                  $ref: '#/components/examples/expression_invalid_syntax'
                external_element_is_referenced_by_active_configuration:
                  $ref: >-
                    #/components/examples/external_element_is_referenced_by_active_configuration
                external_element_not_found:
                  $ref: '#/components/examples/external_element_not_found'
                external_element_type_not_supported:
                  $ref: '#/components/examples/external_element_type_not_supported'
                external_elements_cannot_have_multiple_references:
                  $ref: >-
                    #/components/examples/external_elements_cannot_have_multiple_references
                invalid_campaign_id:
                  $ref: '#/components/examples/invalid_campaign_id'
                invalid_campaign_state:
                  $ref: '#/components/examples/invalid_campaign_state'
                invalid_campaign_version:
                  $ref: '#/components/examples/invalid_campaign_version'
                invalid_component_installed_into_socket:
                  $ref: >-
                    #/components/examples/invalid_component_installed_into_socket
                invalid_component_reference:
                  $ref: '#/components/examples/invalid_component_reference'
                invalid_component_reference_socket_name:
                  $ref: >-
                    #/components/examples/invalid_component_reference_socket_name
                invalid_external_component_reference:
                  $ref: '#/components/examples/invalid_external_component_reference'
                invalid_external_element_filter:
                  $ref: '#/components/examples/invalid_external_element_filter'
                invalid_incoming_url:
                  $ref: '#/components/examples/invalid_incoming_url'
                invalid_json:
                  $ref: '#/components/examples/invalid_json'
                invalid_parameter:
                  $ref: '#/components/examples/invalid_parameter'
                invalid_setting_filter:
                  $ref: '#/components/examples/invalid_setting_filter'
                invalid_uri_in_json:
                  $ref: '#/components/examples/invalid_uri_in_json'
                invalid_uri_in_query_parameter:
                  $ref: '#/components/examples/invalid_uri_in_query_parameter'
                lock_missing_lock_types:
                  $ref: '#/components/examples/lock_missing_lock_types'
                missing_request_body:
                  $ref: '#/components/examples/missing_request_body'
                orphan_external_component_reference:
                  $ref: '#/components/examples/orphan_external_component_reference'
                rebuild_campaigns_build_failed:
                  $ref: '#/components/examples/rebuild_campaigns_build_failed'
                redundant_component_reference:
                  $ref: '#/components/examples/redundant_component_reference'
                self_component_reference:
                  $ref: '#/components/examples/self_component_reference'
                unknown_source_clients:
                  $ref: '#/components/examples/unknown_source_clients'
                unlock_missing_lock_types:
                  $ref: '#/components/examples/unlock_missing_lock_types'
              schema:
                $ref: '#/components/schemas/RestExceptionResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              examples:
                method_unauthorized:
                  $ref: '#/components/examples/method_unauthorized'
              schema:
                $ref: '#/components/schemas/RestExceptionResponse'
          description: Unauthorized
        '402':
          content:
            application/json:
              examples:
                payment_required:
                  $ref: '#/components/examples/payment_required'
              schema:
                $ref: '#/components/schemas/RestExceptionResponse'
          description: Payment Required
        '403':
          content:
            application/json:
              examples:
                access_denied:
                  $ref: '#/components/examples/access_denied'
                method_unauthorized:
                  $ref: '#/components/examples/method_unauthorized'
                missing_access_token:
                  $ref: '#/components/examples/missing_access_token'
              schema:
                $ref: '#/components/schemas/RestExceptionResponse'
          description: Forbidden
        '415':
          content:
            application/json:
              examples:
                unsupported_media_type:
                  $ref: '#/components/examples/unsupported_media_type'
              schema:
                $ref: '#/components/schemas/RestExceptionResponse'
          description: Unsupported Media Type
        '429':
          content:
            application/json:
              examples:
                too_many_requests:
                  $ref: '#/components/examples/too_many_requests'
              schema:
                $ref: '#/components/schemas/RestExceptionResponse'
          description: Too Many Requests
components:
  schemas:
    ComponentOriginRequest:
      properties:
        component_id:
          description: >-
            Id of the origin component to connect to, usually the component this
            one was copied from. The component connects to the origin's current
            version.
          type: string
      required:
        - component_id
      type: object
    ComponentResponse:
      description: >-
        Stored component definition. Field `display_name` is unevaluated and
        appears in buildtime-evaluatable form.
      properties:
        assets:
          items:
            $ref: '#/components/schemas/ComponentAssetResponse'
          type: array
        campaign_id:
          type: string
        campaign_state:
          type: string
        component_ids:
          items:
            type: string
          type: array
        component_references:
          items:
            $ref: '#/components/schemas/ComponentReferenceResponse'
          type: array
        created_date:
          $ref: '#/components/schemas/ZonedDateTime'
        description:
          type: string
        display_name:
          $ref: '#/components/schemas/DisplayNameInComponentResponse'
        facets:
          items:
            $ref: '#/components/schemas/CampaignComponentFacetResponse'
          type: array
        id:
          readOnly: true
          type: string
        install:
          $ref: '#/components/schemas/InstallInComponentResponse'
        installed_into_socket:
          type: string
        name:
          type: string
        origin:
          $ref: '#/components/schemas/ComponentOriginResponse'
        owner:
          enum:
            - CLIENT
            - EXTOLE
            - EXTOLE_BETA
          type: string
        source_client_id:
          type: string
        tags:
          items:
            type: string
          type: array
          uniqueItems: true
        type:
          type: string
        types:
          items:
            type: string
          type: array
        updated_date:
          $ref: '#/components/schemas/ZonedDateTime'
        upload_version:
          type: string
        variables:
          items:
            $ref: '#/components/schemas/CampaignComponentSettingResponse'
          type: array
        version:
          format: int32
          type: integer
      required:
        - assets
        - campaign_id
        - campaign_state
        - component_ids
        - component_references
        - created_date
        - description
        - display_name
        - facets
        - id
        - install
        - installed_into_socket
        - name
        - origin
        - owner
        - source_client_id
        - tags
        - type
        - types
        - updated_date
        - upload_version
        - variables
        - version
      type: object
    RestExceptionResponse:
      description: Represents the API error response
      properties:
        code:
          description: Specific error code for this error type, documented per endpoint
          type: string
        http_status_code:
          description: >-
            HTTP status code that was returned with this error, useful if client
            get response code
          format: int32
          type: integer
        message:
          description: User readable English description of the error
          type: string
        parameters:
          additionalProperties:
            description: >-
              Attributes related to the error, varies be error code, documented
              per endpoint
            type: object
          description: >-
            Attributes related to the error, varies be error code, documented
            per endpoint
          type: object
        unique_id:
          description: >-
            Unique id associated with this error, useful for discussions with
            Extole
          type: string
      required:
        - code
        - http_status_code
        - message
        - parameters
        - unique_id
      type: object
    ComponentAssetResponse:
      properties:
        description:
          type: string
        filename:
          type: string
        id:
          type: string
        name:
          type: string
        tags:
          items:
            type: string
          type: array
          uniqueItems: true
      type: object
    ComponentReferenceResponse:
      properties:
        component_id:
          type: string
        socket_names:
          items:
            type: string
          type: array
      type: object
    ZonedDateTime:
      description: >-
        [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) or
        [RFC 9557](https://datatracker.ietf.org/doc/html/rfc9557#section-4)
        date-time with a numeric [UTC
        offset](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) and
        an optional [IANA
        time-zone](https://datatracker.ietf.org/doc/html/rfc9557#section-4)
        suffix in square brackets. Precision up to milliseconds.
      example: '2025-10-24T02:00:00-07:00'
      pattern: >-
        ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,3})?(Z|[+-](?:[01][0-9]|2[0-3]):[0-5][0-9])(\[[^\]]+\])?$
      type: string
    DisplayNameInComponentResponse:
      description: >-
        The display name as configured: a literal value, or an expression
        (type:string) when defined dynamically. Buildtime expressions use
        [CampaignBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts).
      externalDocs:
        description: CampaignBuildtimeContext
        url: >-
          https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts
      oneOf:
        - description: Literal display name
          title: Static Value
          type: string
        - description: >-
            Handlebars expression with
            [CampaignBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts).
          example: handlebars@buildtime:{{displayName}}
          externalDocs:
            description: CampaignBuildtimeContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts
          pattern: ^handlebars@buildtime:.*
          title: Buildtime - Handlebars
          type: string
        - description: >-
            Javascript expression with
            [CampaignBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts).
          example: >-
            javascript@buildtime:function() { return
            context.getVariableContext().get('displayName');}
          externalDocs:
            description: CampaignBuildtimeContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts
          pattern: ^javascript@buildtime:.*
          title: Buildtime - Javascript
          type: string
    CampaignComponentFacetResponse:
      properties:
        name:
          type: string
        value:
          type: string
      type: object
    InstallInComponentResponse:
      description: >-
        The install as configured: a literal value, or an expression
        (type:string) when defined dynamically. Installtime expressions use
        [ComponentInstalltimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/component/install/ComponentInstalltimeContext.d.ts).
      externalDocs:
        description: ComponentInstalltimeContext
        url: >-
          https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/component/install/ComponentInstalltimeContext.d.ts
      oneOf:
        - description: Literal install
          title: Static Value
          type: object
        - description: >-
            Handlebars expression with
            [ComponentInstalltimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/component/install/ComponentInstalltimeContext.d.ts).
          example: handlebars@installtime:{{install}}
          externalDocs:
            description: ComponentInstalltimeContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/component/install/ComponentInstalltimeContext.d.ts
          pattern: ^handlebars@installtime:.*
          title: Installtime - Handlebars
          type: string
        - description: >-
            Javascript expression with
            [ComponentInstalltimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/component/install/ComponentInstalltimeContext.d.ts).
          example: >-
            javascript@installtime:function() { return
            context.getVariableContext().get('install');}
          externalDocs:
            description: ComponentInstalltimeContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/component/install/ComponentInstalltimeContext.d.ts
          pattern: ^javascript@installtime:.*
          title: Installtime - Javascript
          type: string
    ComponentOriginResponse:
      description: >-
        The component this one was copied from, at the version it had at the
        copy. A duplicate sets it. A copy of a copy in the same client keeps the
        first copy's origin. A change to the component's types, its install, its
        first-level elements other than child components, or the account-level
        elements it uses clears it. The component upgrade does not clear it. A
        component with no origin is offered no upgrade.
      properties:
        client_id:
          description: Id of the client that owns the origin component.
          type: string
        component_id:
          description: Id of the origin component.
          type: string
        component_version:
          description: >-
            Version the origin component had when this component was copied from
            it, or when an upgrade last brought this component to it.
          format: int32
          type: integer
      type: object
    CampaignComponentSettingResponse:
      discriminator:
        mapping:
          ADMIN_ICON: '#/components/schemas/CampaignComponentVariableResponse'
          AUDIENCE_ID: '#/components/schemas/CampaignComponentVariableResponse'
          AUDIENCE_ID_LIST: '#/components/schemas/CampaignComponentVariableResponse'
          BOOLEAN: '#/components/schemas/CampaignComponentVariableResponse'
          BROWSER_SIDE_JAVASCRIPT: '#/components/schemas/CampaignComponentVariableResponse'
          CLIENT_DOMAIN_ID: '#/components/schemas/CampaignComponentVariableResponse'
          CLIENT_DOMAIN_ID_LIST: '#/components/schemas/CampaignComponentVariableResponse'
          CLIENT_KEY: '#/components/schemas/CampaignComponentVariableResponse'
          CLIENT_KEY_FLOW: '#/components/schemas/CampaignComponentClientKeyFlowVariableResponse'
          COLOR: '#/components/schemas/CampaignComponentVariableResponse'
          COMPONENT_ID: '#/components/schemas/CampaignComponentComponentIdVariableResponse'
          COMPONENT_REFERENCE: >-
            #/components/schemas/CampaignComponentComponentReferenceVariableResponse
          COMPONENT_REFERENCE_LIST: >-
            #/components/schemas/CampaignComponentComponentReferenceVariableResponse
          COMPONENT_SETTING_LOOKUP: >-
            #/components/schemas/CampaignComponentComponentSettingLookupVariableResponse
          CSS: '#/components/schemas/CampaignComponentVariableResponse'
          DATE_TIME: '#/components/schemas/CampaignComponentVariableResponse'
          DELAY: '#/components/schemas/CampaignComponentVariableResponse'
          DELAY_LIST: '#/components/schemas/CampaignComponentVariableResponse'
          ENUM: '#/components/schemas/CampaignComponentEnumVariableResponse'
          ENUM_LIST: '#/components/schemas/CampaignComponentEnumListVariableResponse'
          EXTOLE_CLIENT_KEY: '#/components/schemas/CampaignComponentVariableResponse'
          FONT: '#/components/schemas/CampaignComponentVariableResponse'
          GLOB_COMPONENT_PATH: '#/components/schemas/CampaignComponentVariableResponse'
          HTML: '#/components/schemas/CampaignComponentVariableResponse'
          IMAGE: '#/components/schemas/CampaignComponentVariableResponse'
          INTEGER: '#/components/schemas/CampaignComponentVariableResponse'
          INTEGER_LIST: '#/components/schemas/CampaignComponentVariableResponse'
          JSON: '#/components/schemas/CampaignComponentVariableResponse'
          MULTI_SOCKET: '#/components/schemas/CampaignComponentSocketResponse'
          PARTNER_ENUM: '#/components/schemas/CampaignComponentPartnerEnumVariableResponse'
          PARTNER_ENUM_LIST: >-
            #/components/schemas/CampaignComponentPartnerEnumListVariableResponse
          PERSON_KEY_NAME: '#/components/schemas/CampaignComponentVariableResponse'
          REWARD_SUPPLIER_ID: '#/components/schemas/CampaignComponentVariableResponse'
          REWARD_SUPPLIER_ID_LIST: >-
            #/components/schemas/CampaignComponentRewardSupplierIdListVariableResponse
          SFTP_DIRECTORY: '#/components/schemas/CampaignComponentSftpDirectoryVariableResponse'
          SOCKET: '#/components/schemas/CampaignComponentSocketResponse'
          STRING: '#/components/schemas/CampaignComponentVariableResponse'
          STRING_LIST: '#/components/schemas/CampaignComponentVariableResponse'
          STRING_MAP: '#/components/schemas/CampaignComponentStringMapVariableResponse'
          TRIGGER_CONFIGURATION: >-
            #/components/schemas/CampaignComponentTriggerConfigurationVariableResponse
          URL: '#/components/schemas/CampaignComponentVariableResponse'
          WEBHOOK_ID: '#/components/schemas/CampaignComponentVariableResponse'
        propertyName: type
      oneOf:
        - allOf:
            - $ref: '#/components/schemas/CampaignComponentVariableResponse'
            - properties:
                type:
                  enum:
                    - ADMIN_ICON
                  type: string
              type: object
          title: ADMIN_ICON
        - allOf:
            - $ref: '#/components/schemas/CampaignComponentVariableResponse'
            - properties:
                type:
                  enum:
                    - AUDIENCE_ID
                  type: string
              type: object
          title: AUDIENCE_ID
        - allOf:
            - $ref: '#/components/schemas/CampaignComponentVariableResponse'
            - properties:
                type:
                  enum:
                    - AUDIENCE_ID_LIST
                  type: string
              type: object
          title: AUDIENCE_ID_LIST
        - allOf:
            - $ref: '#/components/schemas/CampaignComponentVariableResponse'
            - properties:
                type:
                  enum:
                    - BOOLEAN
                  type: string
              type: object
          title: BOOLEAN
        - allOf:
            - $ref: '#/components/schemas/CampaignComponentVariableResponse'
            - properties:
                type:
                  enum:
                    - BROWSER_SIDE_JAVASCRIPT
                  type: string
              type: object
          title: BROWSER_SIDE_JAVASCRIPT
        - allOf:
            - $ref: '#/components/schemas/CampaignComponentVariableResponse'
            - properties:
                type:
                  enum:
                    - CLIENT_DOMAIN_ID
                  type: string
              type: object
          title: CLIENT_DOMAIN_ID
        - allOf:
            - $ref: '#/components/schemas/CampaignComponentVariableResponse'
            - properties:
                type:
                  enum:
                    - CLIENT_DOMAIN_ID_LIST
                  type: string
              type: object
          title: CLIENT_DOMAIN_ID_LIST
        - allOf:
            - $ref: '#/components/schemas/CampaignComponentVariableResponse'
            - properties:
                type:
                  enum:
                    - CLIENT_KEY
                  type: string
              type: object
          title: CLIENT_KEY
        - $ref: '#/components/schemas/CampaignComponentClientKeyFlowVariableResponse'
        - allOf:
            - $ref: '#/components/schemas/CampaignComponentVariableResponse'
            - properties:
                type:
                  enum:
                    - COLOR
                  type: string
              type: object
          title: COLOR
        - $ref: '#/components/schemas/CampaignComponentComponentIdVariableResponse'
        - allOf:
            - $ref: >-
                #/components/schemas/CampaignComponentComponentReferenceVariableResponse
            - properties:
                type:
                  enum:
                    - COMPONENT_REFERENCE
                  type: string
              type: object
          title: COMPONENT_REFERENCE
        - allOf:
            - $ref: >-
                #/components/schemas/CampaignComponentComponentReferenceVariableResponse
            - properties:
                type:
                  enum:
                    - COMPONENT_REFERENCE_LIST
                  type: string
              type: object
          title: COMPONENT_REFERENCE_LIST
        - $ref: >-
            #/components/schemas/CampaignComponentComponentSettingLookupVariableResponse
        - allOf:
            - $ref: '#/components/schemas/CampaignComponentVariableResponse'
            - properties:
                type:
                  enum:
                    - CSS
                  type: string
              type: object
          title: CSS
        - allOf:
            - $ref: '#/components/schemas/CampaignComponentVariableResponse'
            - properties:
                type:
                  enum:
                    - DATE_TIME
                  type: string
              type: object
          title: DATE_TIME
        - allOf:
            - $ref: '#/components/schemas/CampaignComponentVariableResponse'
            - properties:
                type:
                  enum:
                    - DELAY
                  type: string
              type: object
          title: DELAY
        - allOf:
            - $ref: '#/components/schemas/CampaignComponentVariableResponse'
            - properties:
                type:
                  enum:
                    - DELAY_LIST
                  type: string
              type: object
          title: DELAY_LIST
        - $ref: '#/components/schemas/CampaignComponentEnumVariableResponse'
        - $ref: '#/components/schemas/CampaignComponentEnumListVariableResponse'
        - allOf:
            - $ref: '#/components/schemas/CampaignComponentVariableResponse'
            - properties:
                type:
                  enum:
                    - EXTOLE_CLIENT_KEY
                  type: string
              type: object
          title: EXTOLE_CLIENT_KEY
        - allOf:
            - $ref: '#/components/schemas/CampaignComponentVariableResponse'
            - properties:
                type:
                  enum:
                    - FONT
                  type: string
              type: object
          title: FONT
        - allOf:
            - $ref: '#/components/schemas/CampaignComponentVariableResponse'
            - properties:
                type:
                  enum:
                    - GLOB_COMPONENT_PATH
                  type: string
              type: object
          title: GLOB_COMPONENT_PATH
        - allOf:
            - $ref: '#/components/schemas/CampaignComponentVariableResponse'
            - properties:
                type:
                  enum:
                    - HTML
                  type: string
              type: object
          title: HTML
        - allOf:
            - $ref: '#/components/schemas/CampaignComponentVariableResponse'
            - properties:
                type:
                  enum:
                    - IMAGE
                  type: string
              type: object
          title: IMAGE
        - allOf:
            - $ref: '#/components/schemas/CampaignComponentVariableResponse'
            - properties:
                type:
                  enum:
                    - INTEGER
                  type: string
              type: object
          title: INTEGER
        - allOf:
            - $ref: '#/components/schemas/CampaignComponentVariableResponse'
            - properties:
                type:
                  enum:
                    - INTEGER_LIST
                  type: string
              type: object
          title: INTEGER_LIST
        - allOf:
            - $ref: '#/components/schemas/CampaignComponentVariableResponse'
            - properties:
                type:
                  enum:
                    - JSON
                  type: string
              type: object
          title: JSON
        - allOf:
            - $ref: '#/components/schemas/CampaignComponentSocketResponse'
            - properties:
                type:
                  enum:
                    - MULTI_SOCKET
                  type: string
              type: object
          title: MULTI_SOCKET
        - $ref: '#/components/schemas/CampaignComponentPartnerEnumVariableResponse'
        - $ref: >-
            #/components/schemas/CampaignComponentPartnerEnumListVariableResponse
        - allOf:
            - $ref: '#/components/schemas/CampaignComponentVariableResponse'
            - properties:
                type:
                  enum:
                    - PERSON_KEY_NAME
                  type: string
              type: object
          title: PERSON_KEY_NAME
        - allOf:
            - $ref: '#/components/schemas/CampaignComponentVariableResponse'
            - properties:
                type:
                  enum:
                    - REWARD_SUPPLIER_ID
                  type: string
              type: object
          title: REWARD_SUPPLIER_ID
        - $ref: >-
            #/components/schemas/CampaignComponentRewardSupplierIdListVariableResponse
        - $ref: '#/components/schemas/CampaignComponentSftpDirectoryVariableResponse'
        - allOf:
            - $ref: '#/components/schemas/CampaignComponentSocketResponse'
            - properties:
                type:
                  enum:
                    - SOCKET
                  type: string
              type: object
          title: SOCKET
        - allOf:
            - $ref: '#/components/schemas/CampaignComponentVariableResponse'
            - properties:
                type:
                  enum:
                    - STRING
                  type: string
              type: object
          title: STRING
        - allOf:
            - $ref: '#/components/schemas/CampaignComponentVariableResponse'
            - properties:
                type:
                  enum:
                    - STRING_LIST
                  type: string
              type: object
          title: STRING_LIST
        - $ref: '#/components/schemas/CampaignComponentStringMapVariableResponse'
        - $ref: >-
            #/components/schemas/CampaignComponentTriggerConfigurationVariableResponse
        - allOf:
            - $ref: '#/components/schemas/CampaignComponentVariableResponse'
            - properties:
                type:
                  enum:
                    - URL
                  type: string
              type: object
          title: URL
        - allOf:
            - $ref: '#/components/schemas/CampaignComponentVariableResponse'
            - properties:
                type:
                  enum:
                    - WEBHOOK_ID
                  type: string
              type: object
          title: WEBHOOK_ID
      required:
        - description
        - display_name
        - name
        - priority
        - tags
        - type
    CampaignComponentVariableResponse:
      allOf:
        - $ref: '#/components/schemas/CampaignComponentSettingResponseBase'
        - properties:
            source:
              description: >-
                Where this setting takes its value from. LOCAL uses the `values`
                stored on this component. INHERITED uses the same-named setting
                of the nearest ancestor component that is not itself INHERITED.
                PARAMETER uses the same-named parameter of the socket this
                component is installed into. For an INHERITED setting, `values`
                shows what is stored on this component, not the value in effect;
                the built setting reports that.
              enum:
                - INHERITED
                - LOCAL
                - PARAMETER
              type: string
            type:
              enum:
                - ADMIN_ICON
                - AUDIENCE_ID
                - AUDIENCE_ID_LIST
                - BOOLEAN
                - BROWSER_SIDE_JAVASCRIPT
                - CLIENT_DOMAIN_ID
                - CLIENT_DOMAIN_ID_LIST
                - CLIENT_KEY
                - COLOR
                - CSS
                - DATE_TIME
                - DELAY
                - DELAY_LIST
                - EXTOLE_CLIENT_KEY
                - FONT
                - GLOB_COMPONENT_PATH
                - HTML
                - IMAGE
                - INTEGER
                - INTEGER_LIST
                - JSON
                - PERSON_KEY_NAME
                - REWARD_SUPPLIER_ID
                - STRING
                - STRING_LIST
                - URL
                - WEBHOOK_ID
              type: string
            values:
              $ref: '#/components/schemas/ComponentSettingVariableValues'
          type: object
      type: object
    CampaignComponentClientKeyFlowVariableResponse:
      allOf:
        - $ref: '#/components/schemas/CampaignComponentSettingResponseBase'
        - properties:
            authorization_url:
              type: string
            client_secret_key_id:
              type: string
            redirect_url:
              type: string
            source:
              description: >-
                Where this setting takes its value from. LOCAL uses the `values`
                stored on this component. INHERITED uses the same-named setting
                of the nearest ancestor component that is not itself INHERITED.
                PARAMETER uses the same-named parameter of the socket this
                component is installed into. For an INHERITED setting, `values`
                shows what is stored on this component, not the value in effect;
                the built setting reports that.
              enum:
                - INHERITED
                - LOCAL
                - PARAMETER
              type: string
            type:
              enum:
                - CLIENT_KEY_FLOW
              type: string
            values:
              additionalProperties: true
              description: >-
                Open map of setting values keyed by value key. There is no fixed
                or maximum number of keys. Any string key may be present; each
                value uses the same shape for this setting's `type`. The
                properties listed here are common examples only and are not
                required.
              properties:
                default:
                  $ref: >-
                    #/components/schemas/DefaultInComponentSettingVariableValuesOpenApiDocumentation
                en:
                  $ref: >-
                    #/components/schemas/EnInComponentSettingVariableValuesOpenApiDocumentation
              type: object
          type: object
      description: >-
        Stored campaign component client key flow variable definition. Field
        `description` is unevaluated and appears in buildtime-evaluatable form.
      required:
        - authorization_url
        - client_secret_key_id
        - description
        - display_name
        - name
        - priority
        - redirect_url
        - source
        - tags
        - type
        - values
      title: CLIENT_KEY_FLOW
      type: object
    CampaignComponentComponentIdVariableResponse:
      allOf:
        - $ref: '#/components/schemas/CampaignComponentSettingResponseBase'
        - properties:
            filter:
              $ref: '#/components/schemas/ComponentIdFilterResponse'
            source:
              description: >-
                Where this setting takes its value from. LOCAL uses the `values`
                stored on this component. INHERITED uses the same-named setting
                of the nearest ancestor component that is not itself INHERITED.
                PARAMETER uses the same-named parameter of the socket this
                component is installed into. For an INHERITED setting, `values`
                shows what is stored on this component, not the value in effect;
                the built setting reports that.
              enum:
                - INHERITED
                - LOCAL
                - PARAMETER
              type: string
            type:
              enum:
                - COMPONENT_ID
              type: string
            values:
              additionalProperties: true
              description: >-
                Open map of setting values keyed by value key. There is no fixed
                or maximum number of keys. Any string key may be present; each
                value uses the same shape for this setting's `type`. The
                properties listed here are common examples only and are not
                required.
              properties:
                default:
                  $ref: >-
                    #/components/schemas/DefaultInComponentSettingVariableValuesOpenApiDocumentation
                en:
                  $ref: >-
                    #/components/schemas/EnInComponentSettingVariableValuesOpenApiDocumentation
              type: object
          type: object
      description: >-
        Stored campaign component component id variable definition. Field
        `description` is unevaluated and appears in buildtime-evaluatable form.
      required:
        - description
        - display_name
        - filter
        - name
        - priority
        - source
        - tags
        - type
        - values
      title: COMPONENT_ID
      type: object
    CampaignComponentComponentReferenceVariableResponse:
      allOf:
        - $ref: '#/components/schemas/CampaignComponentSettingResponseBase'
        - properties:
            boundary:
              $ref: '#/components/schemas/ComponentReferenceBoundaryResponse'
            component_type:
              description: Component type that can be selected by this variable.
              type: string
            lookup_strategy:
              $ref: '#/components/schemas/ComponentReferenceLookupStrategyResponse'
            selectable_filters:
              description: Filters that narrow the components available for selection.
              items:
                $ref: '#/components/schemas/SettingFilterResponse'
              type: array
            source:
              description: >-
                Where this setting takes its value from. LOCAL uses the `values`
                stored on this component. INHERITED uses the same-named setting
                of the nearest ancestor component that is not itself INHERITED.
                PARAMETER uses the same-named parameter of the socket this
                component is installed into. For an INHERITED setting, `values`
                shows what is stored on this component, not the value in effect;
                the built setting reports that.
              enum:
                - INHERITED
                - LOCAL
                - PARAMETER
              type: string
            type:
              enum:
                - COMPONENT_REFERENCE
                - COMPONENT_REFERENCE_LIST
              type: string
            unmatched_description:
              $ref: >-
                #/components/schemas/UnmatchedDescriptionInCampaignComponentComponentReferenceVariableResponse
            values:
              additionalProperties: true
              description: >-
                Open map of setting values keyed by value key. There is no fixed
                or maximum number of keys. Any string key may be present; each
                value uses the same shape for this setting's `type`. The
                properties listed here are common examples only and are not
                required.
              properties:
                default:
                  $ref: >-
                    #/components/schemas/DefaultInComponentSettingVariableValuesOpenApiDocumentation
                en:
                  $ref: >-
                    #/components/schemas/EnInComponentSettingVariableValuesOpenApiDocumentation
              type: object
          type: object
      description: >-
        Stored campaign component component reference variable definition.
        Fields `description` and `unmatched_description` are unevaluated and
        appear in buildtime-evaluatable form.
      required:
        - boundary
        - component_type
        - description
        - display_name
        - lookup_strategy
        - name
        - priority
        - selectable_filters
        - source
        - tags
        - type
        - unmatched_description
        - values
      type: object
    CampaignComponentComponentSettingLookupVariableResponse:
      allOf:
        - $ref: '#/components/schemas/CampaignComponentSettingResponseBase'
        - properties:
            capture_settings:
              items:
                type: string
              type: array
            captured_setting_values_description:
              $ref: >-
                #/components/schemas/CapturedSettingValuesDescriptionInCampaignComponentComponentSettingLookupVariableResponse
            filters:
              items:
                $ref: '#/components/schemas/SettingFilterResponse'
              type: array
            matching_filters:
              items:
                $ref: '#/components/schemas/SettingFilterResponse'
              type: array
            source:
              description: >-
                Where this setting takes its value from. LOCAL uses the `values`
                stored on this component. INHERITED uses the same-named setting
                of the nearest ancestor component that is not itself INHERITED.
                PARAMETER uses the same-named parameter of the socket this
                component is installed into. For an INHERITED setting, `values`
                shows what is stored on this component, not the value in effect;
                the built setting reports that.
              enum:
                - INHERITED
                - LOCAL
                - PARAMETER
              type: string
            type:
              enum:
                - COMPONENT_SETTING_LOOKUP
              type: string
            values:
              additionalProperties: true
              description: >-
                Open map of setting values keyed by value key. There is no fixed
                or maximum number of keys. Any string key may be present; each
                value uses the same shape for this setting's `type`. The
                properties listed here are common examples only and are not
                required.
              properties:
                default:
                  $ref: >-
                    #/components/schemas/DefaultInComponentSettingVariableValuesOpenApiDocumentation
                en:
                  $ref: >-
                    #/components/schemas/EnInComponentSettingVariableValuesOpenApiDocumentation
              type: object
          type: object
      description: >-
        Stored campaign component component setting lookup variable definition.
        Fields `description` and `captured_setting_values_description` are
        unevaluated and appear in buildtime-evaluatable form.
      required:
        - capture_settings
        - captured_setting_values_description
        - description
        - display_name
        - filters
        - matching_filters
        - name
        - priority
        - source
        - tags
        - type
        - values
      title: COMPONENT_SETTING_LOOKUP
      type: object
    CampaignComponentEnumVariableResponse:
      allOf:
        - $ref: '#/components/schemas/CampaignComponentSettingResponseBase'
        - properties:
            allowed_values:
              items:
                type: string
              type: array
            source:
              description: >-
                Where this setting takes its value from. LOCAL uses the `values`
                stored on this component. INHERITED uses the same-named setting
                of the nearest ancestor component that is not itself INHERITED.
                PARAMETER uses the same-named parameter of the socket this
                component is installed into. For an INHERITED setting, `values`
                shows what is stored on this component, not the value in effect;
                the built setting reports that.
              enum:
                - INHERITED
                - LOCAL
                - PARAMETER
              type: string
            type:
              enum:
                - ENUM
              type: string
            values:
              additionalProperties: true
              description: >-
                Open map of setting values keyed by value key. There is no fixed
                or maximum number of keys. Any string key may be present; each
                value uses the same shape for this setting's `type`. The
                properties listed here are common examples only and are not
                required.
              properties:
                default:
                  $ref: >-
                    #/components/schemas/DefaultInComponentSettingVariableValuesOpenApiDocumentation
                en:
                  $ref: >-
                    #/components/schemas/EnInComponentSettingVariableValuesOpenApiDocumentation
              type: object
          type: object
      description: >-
        Stored campaign component enum variable definition. Field `description`
        is unevaluated and appears in buildtime-evaluatable form.
      required:
        - allowed_values
        - description
        - display_name
        - name
        - priority
        - source
        - tags
        - type
        - values
      title: ENUM
      type: object
    CampaignComponentEnumListVariableResponse:
      allOf:
        - $ref: '#/components/schemas/CampaignComponentSettingResponseBase'
        - properties:
            allowed_values:
              items:
                type: string
              type: array
            source:
              description: >-
                Where this setting takes its value from. LOCAL uses the `values`
                stored on this component. INHERITED uses the same-named setting
                of the nearest ancestor component that is not itself INHERITED.
                PARAMETER uses the same-named parameter of the socket this
                component is installed into. For an INHERITED setting, `values`
                shows what is stored on this component, not the value in effect;
                the built setting reports that.
              enum:
                - INHERITED
                - LOCAL
                - PARAMETER
              type: string
            type:
              enum:
                - ENUM_LIST
              type: string
            values:
              additionalProperties: true
              description: >-
                Open map of setting values keyed by value key. There is no fixed
                or maximum number of keys. Any string key may be present; each
                value uses the same shape for this setting's `type`. The
                properties listed here are common examples only and are not
                required.
              properties:
                default:
                  $ref: >-
                    #/components/schemas/DefaultInComponentSettingVariableValuesOpenApiDocumentation
                en:
                  $ref: >-
                    #/components/schemas/EnInComponentSettingVariableValuesOpenApiDocumentation
              type: object
          type: object
      description: >-
        Stored campaign component enum list variable definition. Field
        `description` is unevaluated and appears in buildtime-evaluatable form.
      required:
        - allowed_values
        - description
        - display_name
        - name
        - priority
        - source
        - tags
        - type
        - values
      title: ENUM_LIST
      type: object
    CampaignComponentSocketResponse:
      allOf:
        - $ref: '#/components/schemas/CampaignComponentSettingResponseBase'
        - properties:
            filters:
              items:
                $ref: '#/components/schemas/SettingFilterResponse'
              type: array
            parameters:
              items:
                $ref: '#/components/schemas/CampaignComponentVariableResponse'
              type: array
            socketed_component_ids:
              items:
                type: string
              type: array
            type:
              enum:
                - MULTI_SOCKET
                - SOCKET
              type: string
          type: object
      description: >-
        Stored campaign component socket definition. Field `description` is
        unevaluated and appears in buildtime-evaluatable form.
      required:
        - description
        - display_name
        - filters
        - name
        - parameters
        - priority
        - socketed_component_ids
        - tags
        - type
      type: object
    CampaignComponentPartnerEnumVariableResponse:
      allOf:
        - $ref: '#/components/schemas/CampaignComponentSettingResponseBase'
        - properties:
            source:
              description: >-
                Where this setting takes its value from. LOCAL uses the `values`
                stored on this component. INHERITED uses the same-named setting
                of the nearest ancestor component that is not itself INHERITED.
                PARAMETER uses the same-named parameter of the socket this
                component is installed into. For an INHERITED setting, `values`
                shows what is stored on this component, not the value in effect;
                the built setting reports that.
              enum:
                - INHERITED
                - LOCAL
                - PARAMETER
              type: string
            type:
              enum:
                - PARTNER_ENUM
              type: string
            values:
              additionalProperties: true
              description: >-
                Open map of setting values keyed by value key. There is no fixed
                or maximum number of keys. Any string key may be present; each
                value uses the same shape for this setting's `type`. The
                properties listed here are common examples only and are not
                required.
              properties:
                default:
                  $ref: >-
                    #/components/schemas/DefaultInComponentSettingVariableValuesOpenApiDocumentation
                en:
                  $ref: >-
                    #/components/schemas/EnInComponentSettingVariableValuesOpenApiDocumentation
              type: object
            webhook_id:
              $ref: >-
                #/components/schemas/WebhookIdInCampaignComponentPartnerEnumVariableResponse
            options:
              items:
                $ref: '#/components/schemas/PartnerEnumListVariableOptionResponse'
              type: array
          type: object
      description: >-
        Stored campaign component partner enum variable definition. Fields
        `description` and `webhook_id` are unevaluated and appear in
        buildtime-evaluatable form.
      required:
        - description
        - display_name
        - name
        - options
        - priority
        - source
        - tags
        - type
        - values
        - webhook_id
      title: PARTNER_ENUM
      type: object
    CampaignComponentPartnerEnumListVariableResponse:
      allOf:
        - $ref: '#/components/schemas/CampaignComponentSettingResponseBase'
        - properties:
            source:
              description: >-
                Where this setting takes its value from. LOCAL uses the `values`
                stored on this component. INHERITED uses the same-named setting
                of the nearest ancestor component that is not itself INHERITED.
                PARAMETER uses the same-named parameter of the socket this
                component is installed into. For an INHERITED setting, `values`
                shows what is stored on this component, not the value in effect;
                the built setting reports that.
              enum:
                - INHERITED
                - LOCAL
                - PARAMETER
              type: string
            type:
              enum:
                - PARTNER_ENUM_LIST
              type: string
            values:
              additionalProperties: true
              description: >-
                Open map of setting values keyed by value key. There is no fixed
                or maximum number of keys. Any string key may be present; each
                value uses the same shape for this setting's `type`. The
                properties listed here are common examples only and are not
                required.
              properties:
                default:
                  $ref: >-
                    #/components/schemas/DefaultInComponentSettingVariableValuesOpenApiDocumentation
                en:
                  $ref: >-
                    #/components/schemas/EnInComponentSettingVariableValuesOpenApiDocumentation
              type: object
            webhook_id:
              $ref: >-
                #/components/schemas/WebhookIdInCampaignComponentPartnerEnumListVariableResponse
            options:
              items:
                $ref: '#/components/schemas/PartnerEnumListVariableOptionResponse'
              type: array
          type: object
      description: >-
        Stored campaign component partner enum list variable definition. Fields
        `description` and `webhook_id` are unevaluated and appear in
        buildtime-evaluatable form.
      required:
        - description
        - display_name
        - name
        - options
        - priority
        - source
        - tags
        - type
        - values
        - webhook_id
      title: PARTNER_ENUM_LIST
      type: object
    CampaignComponentRewardSupplierIdListVariableResponse:
      allOf:
        - $ref: '#/components/schemas/CampaignComponentSettingResponseBase'
        - properties:
            allowed_reward_supplier_ids:
              $ref: >-
                #/components/schemas/AllowedRewardSupplierIdsInCampaignComponentRewardSupplierIdListVariableResponse
            source:
              description: >-
                Where this setting takes its value from. LOCAL uses the `values`
                stored on this component. INHERITED uses the same-named setting
                of the nearest ancestor component that is not itself INHERITED.
                PARAMETER uses the same-named parameter of the socket this
                component is installed into. For an INHERITED setting, `values`
                shows what is stored on this component, not the value in effect;
                the built setting reports that.
              enum:
                - INHERITED
                - LOCAL
                - PARAMETER
              type: string
            type:
              enum:
                - REWARD_SUPPLIER_ID_LIST
              type: string
            values:
              additionalProperties: true
              description: >-
                Open map of setting values keyed by value key. There is no fixed
                or maximum number of keys. Any string key may be present; each
                value uses the same shape for this setting's `type`. The
                properties listed here are common examples only and are not
                required.
              properties:
                default:
                  $ref: >-
                    #/components/schemas/DefaultInComponentSettingVariableValuesOpenApiDocumentation
                en:
                  $ref: >-
                    #/components/schemas/EnInComponentSettingVariableValuesOpenApiDocumentation
              type: object
          type: object
      description: >-
        Stored campaign component reward supplier id list variable definition.
        Fields `description` and `allowed_reward_supplier_ids` are unevaluated
        and appear in buildtime-evaluatable form.
      required:
        - allowed_reward_supplier_ids
        - description
        - display_name
        - name
        - priority
        - source
        - tags
        - type
        - values
      title: REWARD_SUPPLIER_ID_LIST
      type: object
    CampaignComponentSftpDirectoryVariableResponse:
      allOf:
        - $ref: '#/components/schemas/CampaignComponentSettingResponseBase'
        - properties:
            source:
              description: >-
                Where this setting takes its value from. LOCAL uses the `values`
                stored on this component. INHERITED uses the same-named setting
                of the nearest ancestor component that is not itself INHERITED.
                PARAMETER uses the same-named parameter of the socket this
                component is installed into. For an INHERITED setting, `values`
                shows what is stored on this component, not the value in effect;
                the built setting reports that.
              enum:
                - INHERITED
                - LOCAL
                - PARAMETER
              type: string
            type:
              enum:
                - SFTP_DIRECTORY
              type: string
            values:
              $ref: >-
                #/components/schemas/ValuesMapInCampaignComponentVariableResponse
          type: object
      description: >-
        Stored campaign component sftp directory variable definition. Field
        `description` is unevaluated and appears in buildtime-evaluatable form.
      required:
        - description
        - display_name
        - name
        - priority
        - source
        - tags
        - type
        - values
      title: SFTP_DIRECTORY
      type: object
    CampaignComponentStringMapVariableResponse:
      allOf:
        - $ref: '#/components/schemas/CampaignComponentSettingResponseBase'
        - properties:
            allowed_keys:
              items:
                type: string
              type: array
            source:
              description: >-
                Where this setting takes its value from. LOCAL uses the `values`
                stored on this component. INHERITED uses the same-named setting
                of the nearest ancestor component that is not itself INHERITED.
                PARAMETER uses the same-named parameter of the socket this
                component is installed into. For an INHERITED setting, `values`
                shows what is stored on this component, not the value in effect;
                the built setting reports that.
              enum:
                - INHERITED
                - LOCAL
                - PARAMETER
              type: string
            type:
              enum:
                - STRING_MAP
              type: string
            values:
              additionalProperties: true
              description: >-
                Open map of setting values keyed by value key. There is no fixed
                or maximum number of keys. Any string key may be present; each
                value uses the same shape for this setting's `type`. The
                properties listed here are common examples only and are not
                required.
              properties:
                default:
                  $ref: >-
                    #/components/schemas/DefaultInComponentSettingVariableValuesOpenApiDocumentation
                en:
                  $ref: >-
                    #/components/schemas/EnInComponentSettingVariableValuesOpenApiDocumentation
              type: object
          type: object
      description: >-
        Stored campaign component string map variable definition. Field
        `description` is unevaluated and appears in buildtime-evaluatable form.
      required:
        - allowed_keys
        - description
        - display_name
        - name
        - priority
        - source
        - tags
        - type
        - values
      title: STRING_MAP
      type: object
    CampaignComponentTriggerConfigurationVariableResponse:
      allOf:
        - $ref: '#/components/schemas/CampaignComponentSettingResponseBase'
        - properties:
            allowed_keys:
              description: >-
                The keys the trigger configuration map's values are restricted
                to. Empty allows any key.
              items:
                type: string
              type: array
            source:
              description: >-
                Where this setting takes its value from. LOCAL uses the `values`
                stored on this component. INHERITED uses the same-named setting
                of the nearest ancestor component that is not itself INHERITED.
                PARAMETER uses the same-named parameter of the socket this
                component is installed into. For an INHERITED setting, `values`
                shows what is stored on this component, not the value in effect;
                the built setting reports that.
              enum:
                - INHERITED
                - LOCAL
                - PARAMETER
              type: string
            type:
              enum:
                - TRIGGER_CONFIGURATION
              type: string
            values:
              additionalProperties: true
              description: >-
                Open map of setting values keyed by value key. There is no fixed
                or maximum number of keys. Any string key may be present; each
                value uses the same shape for this setting's `type`. The
                properties listed here are common examples only and are not
                required.
              properties:
                default:
                  $ref: >-
                    #/components/schemas/DefaultInComponentSettingVariableValuesOpenApiDocumentation
                en:
                  $ref: >-
                    #/components/schemas/EnInComponentSettingVariableValuesOpenApiDocumentation
              type: object
          type: object
      description: >-
        Stored campaign component trigger configuration variable definition.
        Field `description` is unevaluated and appears in buildtime-evaluatable
        form.
      required:
        - allowed_keys
        - description
        - display_name
        - name
        - priority
        - source
        - tags
        - type
        - values
      title: TRIGGER_CONFIGURATION
      type: object
    CampaignComponentSettingResponseBase:
      properties:
        description:
          $ref: '#/components/schemas/DescriptionInCampaignComponentSettingResponse'
        display_name:
          type: string
        name:
          type: string
        priority:
          $ref: '#/components/schemas/DeweyDecimal'
        tags:
          items:
            type: string
          type: array
          uniqueItems: true
        type:
          enum:
            - ADMIN_ICON
            - AUDIENCE_ID
            - AUDIENCE_ID_LIST
            - BOOLEAN
            - BROWSER_SIDE_JAVASCRIPT
            - CLIENT_DOMAIN_ID
            - CLIENT_DOMAIN_ID_LIST
            - CLIENT_KEY
            - CLIENT_KEY_FLOW
            - COLOR
            - COMPONENT_ID
            - COMPONENT_REFERENCE
            - COMPONENT_REFERENCE_LIST
            - COMPONENT_SETTING_LOOKUP
            - CSS
            - DATE_TIME
            - DELAY
            - DELAY_LIST
            - ENUM
            - ENUM_LIST
            - EXTOLE_CLIENT_KEY
            - FONT
            - GLOB_COMPONENT_PATH
            - HTML
            - IMAGE
            - INTEGER
            - INTEGER_LIST
            - JSON
            - MULTI_SOCKET
            - PARTNER_ENUM
            - PARTNER_ENUM_LIST
            - PERSON_KEY_NAME
            - REWARD_SUPPLIER_ID
            - REWARD_SUPPLIER_ID_LIST
            - SFTP_DIRECTORY
            - SOCKET
            - STRING
            - STRING_LIST
            - STRING_MAP
            - TRIGGER_CONFIGURATION
            - URL
            - WEBHOOK_ID
          type: string
      type: object
    ComponentSettingVariableValues:
      additionalProperties: true
      description: >-
        Open map of setting values keyed by value key. There is no fixed or
        maximum number of keys. Any string key may be present; each value uses
        the same shape for this setting's `type`. The properties listed here are
        common examples only and are not required.
      properties:
        default:
          $ref: >-
            #/components/schemas/DefaultInComponentSettingVariableValuesOpenApiDocumentation
        en:
          $ref: >-
            #/components/schemas/EnInComponentSettingVariableValuesOpenApiDocumentation
      type: object
    DefaultInComponentSettingVariableValuesOpenApiDocumentation:
      description: >-
        Example value key. Fallback when no locale- or environment-specific key
        matches. Omitting `default` is valid when another key applies.
      oneOf:
        - description: Literal default
          title: Static Value
          type: object
        - description: >-
            Handlebars expression with
            [VariableBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/VariableBuildtimeContext.d.ts).
          example: handlebars@buildtime:{{default}}
          externalDocs:
            description: VariableBuildtimeContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/VariableBuildtimeContext.d.ts
          pattern: ^handlebars@buildtime:.*
          title: Buildtime - Handlebars
          type: string
        - description: >-
            Javascript expression with
            [VariableBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/VariableBuildtimeContext.d.ts).
          example: >-
            javascript@buildtime:function() { return
            context.getVariableContext().get('default');}
          externalDocs:
            description: VariableBuildtimeContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/VariableBuildtimeContext.d.ts
          pattern: ^javascript@buildtime:.*
          title: Buildtime - Javascript
          type: string
        - description: >-
            Handlebars expression with one of the contexts:
            [ApproveActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/approve/ApproveActionContext.d.ts),
            [AudienceMembershipTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/audience/membership/AudienceMembershipTriggerContext.d.ts),
            [ClientWebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/ClientWebhookRuntimeContext.d.ts),
            [ConsumerWebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/ConsumerWebhookRuntimeContext.d.ts),
            [CreativeActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/creative/CreativeActionContext.d.ts),
            [DisplayActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/display/DisplayActionContext.d.ts),
            [DisplayActionResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/display/DisplayActionResponseContext.d.ts),
            [EarnedRewardEvaluationContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/reward/EarnedRewardEvaluationContext.d.ts),
            [EmailActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/email/EmailActionContext.d.ts),
            [EmailV2ActionContentContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/email/v2/EmailV2ActionContentContext.d.ts),
            [EmailV2ActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/email/v2/EmailV2ActionContext.d.ts),
            [EmailV2ActionResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/email/v2/EmailV2ActionResponseContext.d.ts),
            [ExpireRewardActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/expire/reward/ExpireRewardActionContext.d.ts),
            [ExpressionActionCommandContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/expression/ExpressionActionCommandContext.d.ts),
            [ExpressionActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/expression/ExpressionActionContext.d.ts),
            [ExpressionTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/expression/ExpressionTriggerContext.d.ts),
            [FireAsPersonActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/fire/as/person/FireAsPersonActionContext.d.ts),
            [HasPriorRewardTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/has/prior/reward/HasPriorRewardTriggerContext.d.ts),
            [HasPriorStepTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/has/prior/step/HasPriorStepTriggerContext.d.ts),
            [IncentivizeActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/incentivize/IncentivizeActionContext.d.ts),
            [IncentivizeStatusUpdateActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/incentivize/status/update/IncentivizeStatusUpdateActionContext.d.ts),
            [JourneyKeyContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/journey/JourneyKeyContext.d.ts),
            [LegacyQualityRuleTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/legacy/quality/LegacyQualityRuleTriggerContext.d.ts),
            [PartnerWebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/PartnerWebhookRuntimeContext.d.ts),
            [PrehandlerActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerActionContext.d.ts),
            [PrehandlerConditionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerConditionContext.d.ts),
            [PrehandlerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerContext.d.ts),
            [RewardActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/reward/RewardActionContext.d.ts),
            [RewardHasPriorRewardTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/has/prior/reward/RewardHasPriorRewardTriggerContext.d.ts),
            [RewardWebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/reward/RewardWebhookRuntimeContext.d.ts),
            [ScheduleActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/schedule/ScheduleActionContext.d.ts),
            [SignalActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/signal/SignalActionContext.d.ts),
            [StepActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/StepActionContext.d.ts),
            [StepBuilderContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/builder/StepBuilderContext.d.ts),
            [StepContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/StepContext.d.ts),
            [StepDataContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/data/StepDataContext.d.ts),
            [StepHasPriorStepTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/has/prior/step/StepHasPriorStepTriggerContext.d.ts),
            [StepTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/StepTriggerContext.d.ts),
            [VariableRuntimeCreativeActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/runtime/VariableRuntimeCreativeActionContext.d.ts),
            [WebhookActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/webhook/WebhookActionContext.d.ts),
            [WebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/WebhookRuntimeContext.d.ts).
          example: handlebars@runtime:{{default}}
          pattern: ^handlebars@runtime:.*
          title: Runtime - Handlebars
          type: string
        - description: >-
            Javascript expression with one of the contexts:
            [ApproveActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/approve/ApproveActionContext.d.ts),
            [AudienceMembershipTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/audience/membership/AudienceMembershipTriggerContext.d.ts),
            [ClientWebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/ClientWebhookRuntimeContext.d.ts),
            [ConsumerWebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/ConsumerWebhookRuntimeContext.d.ts),
            [CreativeActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/creative/CreativeActionContext.d.ts),
            [DisplayActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/display/DisplayActionContext.d.ts),
            [DisplayActionResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/display/DisplayActionResponseContext.d.ts),
            [EarnedRewardEvaluationContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/reward/EarnedRewardEvaluationContext.d.ts),
            [EmailActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/email/EmailActionContext.d.ts),
            [EmailV2ActionContentContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/email/v2/EmailV2ActionContentContext.d.ts),
            [EmailV2ActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/email/v2/EmailV2ActionContext.d.ts),
            [EmailV2ActionResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/email/v2/EmailV2ActionResponseContext.d.ts),
            [ExpireRewardActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/expire/reward/ExpireRewardActionContext.d.ts),
            [ExpressionActionCommandContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/expression/ExpressionActionCommandContext.d.ts),
            [ExpressionActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/expression/ExpressionActionContext.d.ts),
            [ExpressionTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/expression/ExpressionTriggerContext.d.ts),
            [FireAsPersonActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/fire/as/person/FireAsPersonActionContext.d.ts),
            [HasPriorRewardTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/has/prior/reward/HasPriorRewardTriggerContext.d.ts),
            [HasPriorStepTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/has/prior/step/HasPriorStepTriggerContext.d.ts),
            [IncentivizeActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/incentivize/IncentivizeActionContext.d.ts),
            [IncentivizeStatusUpdateActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/incentivize/status/update/IncentivizeStatusUpdateActionContext.d.ts),
            [JourneyKeyContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/journey/JourneyKeyContext.d.ts),
            [LegacyQualityRuleTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/legacy/quality/LegacyQualityRuleTriggerContext.d.ts),
            [PartnerWebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/PartnerWebhookRuntimeContext.d.ts),
            [PrehandlerActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerActionContext.d.ts),
            [PrehandlerConditionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerConditionContext.d.ts),
            [PrehandlerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerContext.d.ts),
            [RewardActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/reward/RewardActionContext.d.ts),
            [RewardHasPriorRewardTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/has/prior/reward/RewardHasPriorRewardTriggerContext.d.ts),
            [RewardWebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/reward/RewardWebhookRuntimeContext.d.ts),
            [ScheduleActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/schedule/ScheduleActionContext.d.ts),
            [SignalActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/signal/SignalActionContext.d.ts),
            [StepActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/StepActionContext.d.ts),
            [StepBuilderContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/builder/StepBuilderContext.d.ts),
            [StepContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/StepContext.d.ts),
            [StepDataContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/data/StepDataContext.d.ts),
            [StepHasPriorStepTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/has/prior/step/StepHasPriorStepTriggerContext.d.ts),
            [StepTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/StepTriggerContext.d.ts),
            [VariableRuntimeCreativeActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/runtime/VariableRuntimeCreativeActionContext.d.ts),
            [WebhookActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/webhook/WebhookActionContext.d.ts),
            [WebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/WebhookRuntimeContext.d.ts).
          example: javascript@runtime:function() { return context.get('default');}
          pattern: ^javascript@runtime:.*
          title: Runtime - Javascript
          type: string
    EnInComponentSettingVariableValuesOpenApiDocumentation:
      description: >-
        Example locale value key. Use any locale or environment code as the key;
        `en` is shown only as a representative example.
      oneOf:
        - description: Literal en
          title: Static Value
          type: object
        - description: >-
            Handlebars expression with
            [VariableBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/VariableBuildtimeContext.d.ts).
          example: handlebars@buildtime:{{en}}
          externalDocs:
            description: VariableBuildtimeContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/VariableBuildtimeContext.d.ts
          pattern: ^handlebars@buildtime:.*
          title: Buildtime - Handlebars
          type: string
        - description: >-
            Javascript expression with
            [VariableBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/VariableBuildtimeContext.d.ts).
          example: >-
            javascript@buildtime:function() { return
            context.getVariableContext().get('en');}
          externalDocs:
            description: VariableBuildtimeContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/VariableBuildtimeContext.d.ts
          pattern: ^javascript@buildtime:.*
          title: Buildtime - Javascript
          type: string
        - description: >-
            Handlebars expression with one of the contexts:
            [ApproveActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/approve/ApproveActionContext.d.ts),
            [AudienceMembershipTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/audience/membership/AudienceMembershipTriggerContext.d.ts),
            [ClientWebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/ClientWebhookRuntimeContext.d.ts),
            [ConsumerWebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/ConsumerWebhookRuntimeContext.d.ts),
            [CreativeActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/creative/CreativeActionContext.d.ts),
            [DisplayActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/display/DisplayActionContext.d.ts),
            [DisplayActionResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/display/DisplayActionResponseContext.d.ts),
            [EarnedRewardEvaluationContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/reward/EarnedRewardEvaluationContext.d.ts),
            [EmailActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/email/EmailActionContext.d.ts),
            [EmailV2ActionContentContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/email/v2/EmailV2ActionContentContext.d.ts),
            [EmailV2ActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/email/v2/EmailV2ActionContext.d.ts),
            [EmailV2ActionResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/email/v2/EmailV2ActionResponseContext.d.ts),
            [ExpireRewardActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/expire/reward/ExpireRewardActionContext.d.ts),
            [ExpressionActionCommandContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/expression/ExpressionActionCommandContext.d.ts),
            [ExpressionActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/expression/ExpressionActionContext.d.ts),
            [ExpressionTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/expression/ExpressionTriggerContext.d.ts),
            [FireAsPersonActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/fire/as/person/FireAsPersonActionContext.d.ts),
            [HasPriorRewardTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/has/prior/reward/HasPriorRewardTriggerContext.d.ts),
            [HasPriorStepTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/has/prior/step/HasPriorStepTriggerContext.d.ts),
            [IncentivizeActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/incentivize/IncentivizeActionContext.d.ts),
            [IncentivizeStatusUpdateActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/incentivize/status/update/IncentivizeStatusUpdateActionContext.d.ts),
            [JourneyKeyContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/journey/JourneyKeyContext.d.ts),
            [LegacyQualityRuleTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/legacy/quality/LegacyQualityRuleTriggerContext.d.ts),
            [PartnerWebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/PartnerWebhookRuntimeContext.d.ts),
            [PrehandlerActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerActionContext.d.ts),
            [PrehandlerConditionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerConditionContext.d.ts),
            [PrehandlerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerContext.d.ts),
            [RewardActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/reward/RewardActionContext.d.ts),
            [RewardHasPriorRewardTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/has/prior/reward/RewardHasPriorRewardTriggerContext.d.ts),
            [RewardWebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/reward/RewardWebhookRuntimeContext.d.ts),
            [ScheduleActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/schedule/ScheduleActionContext.d.ts),
            [SignalActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/signal/SignalActionContext.d.ts),
            [StepActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/StepActionContext.d.ts),
            [StepBuilderContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/builder/StepBuilderContext.d.ts),
            [StepContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/StepContext.d.ts),
            [StepDataContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/data/StepDataContext.d.ts),
            [StepHasPriorStepTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/has/prior/step/StepHasPriorStepTriggerContext.d.ts),
            [StepTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/StepTriggerContext.d.ts),
            [VariableRuntimeCreativeActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/runtime/VariableRuntimeCreativeActionContext.d.ts),
            [WebhookActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/webhook/WebhookActionContext.d.ts),
            [WebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/WebhookRuntimeContext.d.ts).
          example: handlebars@runtime:{{en}}
          pattern: ^handlebars@runtime:.*
          title: Runtime - Handlebars
          type: string
        - description: >-
            Javascript expression with one of the contexts:
            [ApproveActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/approve/ApproveActionContext.d.ts),
            [AudienceMembershipTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/audience/membership/AudienceMembershipTriggerContext.d.ts),
            [ClientWebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/ClientWebhookRuntimeContext.d.ts),
            [ConsumerWebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/ConsumerWebhookRuntimeContext.d.ts),
            [CreativeActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/creative/CreativeActionContext.d.ts),
            [DisplayActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/display/DisplayActionContext.d.ts),
            [DisplayActionResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/display/DisplayActionResponseContext.d.ts),
            [EarnedRewardEvaluationContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/reward/EarnedRewardEvaluationContext.d.ts),
            [EmailActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/email/EmailActionContext.d.ts),
            [EmailV2ActionContentContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/email/v2/EmailV2ActionContentContext.d.ts),
            [EmailV2ActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/email/v2/EmailV2ActionContext.d.ts),
            [EmailV2ActionResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/email/v2/EmailV2ActionResponseContext.d.ts),
            [ExpireRewardActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/expire/reward/ExpireRewardActionContext.d.ts),
            [ExpressionActionCommandContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/expression/ExpressionActionCommandContext.d.ts),
            [ExpressionActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/expression/ExpressionActionContext.d.ts),
            [ExpressionTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/expression/ExpressionTriggerContext.d.ts),
            [FireAsPersonActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/fire/as/person/FireAsPersonActionContext.d.ts),
            [HasPriorRewardTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/has/prior/reward/HasPriorRewardTriggerContext.d.ts),
            [HasPriorStepTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/has/prior/step/HasPriorStepTriggerContext.d.ts),
            [IncentivizeActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/incentivize/IncentivizeActionContext.d.ts),
            [IncentivizeStatusUpdateActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/incentivize/status/update/IncentivizeStatusUpdateActionContext.d.ts),
            [JourneyKeyContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/journey/JourneyKeyContext.d.ts),
            [LegacyQualityRuleTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/legacy/quality/LegacyQualityRuleTriggerContext.d.ts),
            [PartnerWebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/PartnerWebhookRuntimeContext.d.ts),
            [PrehandlerActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerActionContext.d.ts),
            [PrehandlerConditionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerConditionContext.d.ts),
            [PrehandlerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerContext.d.ts),
            [RewardActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/reward/RewardActionContext.d.ts),
            [RewardHasPriorRewardTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/has/prior/reward/RewardHasPriorRewardTriggerContext.d.ts),
            [RewardWebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/reward/RewardWebhookRuntimeContext.d.ts),
            [ScheduleActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/schedule/ScheduleActionContext.d.ts),
            [SignalActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/signal/SignalActionContext.d.ts),
            [StepActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/StepActionContext.d.ts),
            [StepBuilderContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/builder/StepBuilderContext.d.ts),
            [StepContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/StepContext.d.ts),
            [StepDataContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/data/StepDataContext.d.ts),
            [StepHasPriorStepTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/has/prior/step/StepHasPriorStepTriggerContext.d.ts),
            [StepTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/StepTriggerContext.d.ts),
            [VariableRuntimeCreativeActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/runtime/VariableRuntimeCreativeActionContext.d.ts),
            [WebhookActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/webhook/WebhookActionContext.d.ts),
            [WebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/WebhookRuntimeContext.d.ts).
          example: javascript@runtime:function() { return context.get('en');}
          pattern: ^javascript@runtime:.*
          title: Runtime - Javascript
          type: string
    ComponentIdFilterResponse:
      properties:
        component_types:
          items:
            type: string
          type: array
          uniqueItems: true
      type: object
    ComponentReferenceBoundaryResponse:
      description: Boundary that limits where selectable components are resolved from.
      discriminator:
        mapping:
          ANCESTOR_TYPE: '#/components/schemas/AncestorTypeComponentReferenceBoundaryResponse'
          PATH: '#/components/schemas/PathComponentReferenceBoundaryResponse'
        propertyName: type
      oneOf:
        - $ref: '#/components/schemas/AncestorTypeComponentReferenceBoundaryResponse'
        - $ref: '#/components/schemas/PathComponentReferenceBoundaryResponse'
    ComponentReferenceLookupStrategyResponse:
      description: Lookup strategy used to match selectable components.
      discriminator:
        mapping:
          CAMPAIGN_PATH: >-
            #/components/schemas/CampaignPathComponentReferenceLookupStrategyResponse
          EXPRESSION: >-
            #/components/schemas/ExpressionComponentReferenceLookupStrategyResponse
        propertyName: type
      oneOf:
        - $ref: >-
            #/components/schemas/CampaignPathComponentReferenceLookupStrategyResponse
        - $ref: >-
            #/components/schemas/ExpressionComponentReferenceLookupStrategyResponse
    SettingFilterResponse:
      discriminator:
        mapping:
          COMPONENT_TYPE: '#/components/schemas/ComponentTypeSettingFilterResponse'
          EXPRESSION: '#/components/schemas/ExpressionSettingFilterResponse'
          FACET: '#/components/schemas/ComponentFacetSettingFilterResponse'
        propertyName: type
      oneOf:
        - $ref: '#/components/schemas/ComponentTypeSettingFilterResponse'
        - $ref: '#/components/schemas/ExpressionSettingFilterResponse'
        - $ref: '#/components/schemas/ComponentFacetSettingFilterResponse'
    UnmatchedDescriptionInCampaignComponentComponentReferenceVariableResponse:
      description: >-
        Description shown when a saved reference no longer matches a selectable
        component. Buildtime expressions use
        [CampaignBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts).
      externalDocs:
        description: CampaignBuildtimeContext
        url: >-
          https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts
      oneOf:
        - description: Literal unmatched description
          title: Static Value
          type: string
        - description: >-
            Handlebars expression with
            [CampaignBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts).
          example: handlebars@buildtime:{{unmatchedDescription}}
          externalDocs:
            description: CampaignBuildtimeContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts
          pattern: ^handlebars@buildtime:.*
          title: Buildtime - Handlebars
          type: string
        - description: >-
            Javascript expression with
            [CampaignBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts).
          example: >-
            javascript@buildtime:function() { return
            context.getVariableContext().get('unmatchedDescription');}
          externalDocs:
            description: CampaignBuildtimeContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts
          pattern: ^javascript@buildtime:.*
          title: Buildtime - Javascript
          type: string
    CapturedSettingValuesDescriptionInCampaignComponentComponentSettingLookupVariableResponse:
      description: >-
        The captured setting values description as configured: a literal value,
        or an expression (type:string) when defined dynamically. Buildtime
        expressions use
        [CampaignBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts).
      externalDocs:
        description: CampaignBuildtimeContext
        url: >-
          https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts
      oneOf:
        - allOf:
            - type: string
            - not:
                anyOf:
                  - pattern: ^handlebars@buildtime:.*
                    type: string
                  - pattern: ^javascript@buildtime:.*
                    type: string
              type: string
          description: Literal captured setting values description
          title: Static Value
        - description: >-
            Handlebars expression with
            [CampaignBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts).
          example: handlebars@buildtime:{{capturedSettingValuesDescription}}
          externalDocs:
            description: CampaignBuildtimeContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts
          pattern: ^handlebars@buildtime:.*
          title: Buildtime - Handlebars
          type: string
        - description: >-
            Javascript expression with
            [CampaignBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts).
          example: >-
            javascript@buildtime:function() { return
            context.getVariableContext().get('capturedSettingValuesDescription');}
          externalDocs:
            description: CampaignBuildtimeContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts
          pattern: ^javascript@buildtime:.*
          title: Buildtime - Javascript
          type: string
    WebhookIdInCampaignComponentPartnerEnumVariableResponse:
      description: >-
        The webhook id as configured: a literal value, or an expression
        (type:string) when defined dynamically. Buildtime expressions use
        [CampaignBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts).
      externalDocs:
        description: CampaignBuildtimeContext
        url: >-
          https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts
      oneOf:
        - description: Literal webhook id
          title: Static Value
          type: string
        - description: >-
            Handlebars expression with
            [CampaignBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts).
          example: handlebars@buildtime:{{webhookId}}
          externalDocs:
            description: CampaignBuildtimeContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts
          pattern: ^handlebars@buildtime:.*
          title: Buildtime - Handlebars
          type: string
        - description: >-
            Javascript expression with
            [CampaignBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts).
          example: >-
            javascript@buildtime:function() { return
            context.getVariableContext().get('webhookId');}
          externalDocs:
            description: CampaignBuildtimeContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts
          pattern: ^javascript@buildtime:.*
          title: Buildtime - Javascript
          type: string
    PartnerEnumListVariableOptionResponse:
      properties:
        id:
          type: string
        name:
          type: string
      type: object
    WebhookIdInCampaignComponentPartnerEnumListVariableResponse:
      description: >-
        The webhook id as configured: a literal value, or an expression
        (type:string) when defined dynamically. Buildtime expressions use
        [CampaignBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts).
      externalDocs:
        description: CampaignBuildtimeContext
        url: >-
          https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts
      oneOf:
        - description: Literal webhook id
          title: Static Value
          type: string
        - description: >-
            Handlebars expression with
            [CampaignBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts).
          example: handlebars@buildtime:{{webhookId}}
          externalDocs:
            description: CampaignBuildtimeContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts
          pattern: ^handlebars@buildtime:.*
          title: Buildtime - Handlebars
          type: string
        - description: >-
            Javascript expression with
            [CampaignBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts).
          example: >-
            javascript@buildtime:function() { return
            context.getVariableContext().get('webhookId');}
          externalDocs:
            description: CampaignBuildtimeContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts
          pattern: ^javascript@buildtime:.*
          title: Buildtime - Javascript
          type: string
    AllowedRewardSupplierIdsInCampaignComponentRewardSupplierIdListVariableResponse:
      description: >-
        The allowed reward supplier ids as configured: a literal value, or an
        expression (type:string) when defined dynamically. Buildtime expressions
        use
        [CampaignBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts).
      externalDocs:
        description: CampaignBuildtimeContext
        url: >-
          https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts
      oneOf:
        - description: Literal allowed reward supplier ids
          items:
            type: string
          title: Static Value
          type: array
        - description: >-
            Handlebars expression with
            [CampaignBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts).
          example: handlebars@buildtime:{{allowedRewardSupplierIds}}
          externalDocs:
            description: CampaignBuildtimeContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts
          pattern: ^handlebars@buildtime:.*
          title: Buildtime - Handlebars
          type: string
        - description: >-
            Javascript expression with
            [CampaignBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts).
          example: >-
            javascript@buildtime:function() { return
            context.getVariableContext().get('allowedRewardSupplierIds');}
          externalDocs:
            description: CampaignBuildtimeContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts
          pattern: ^javascript@buildtime:.*
          title: Buildtime - Javascript
          type: string
    ValuesMapInCampaignComponentVariableResponse:
      additionalProperties:
        $ref: '#/components/schemas/ValuesInCampaignComponentVariableResponse'
      description: >-
        The setting's values, keyed by locale with `default` as the fallback
        key. Each static value is an object with the required string properties
        `sftp_destination_id` and `directory_path`. An evaluatable expression
        that resolves to that same shape is also supported.
      type: object
    DescriptionInCampaignComponentSettingResponse:
      description: >-
        The description as configured: a literal value, or an expression
        (type:string) when defined dynamically. Buildtime expressions use
        [CampaignBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts).
      externalDocs:
        description: CampaignBuildtimeContext
        url: >-
          https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts
      oneOf:
        - description: Literal description
          title: Static Value
          type: string
        - description: >-
            Handlebars expression with
            [CampaignBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts).
          example: handlebars@buildtime:{{description}}
          externalDocs:
            description: CampaignBuildtimeContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts
          pattern: ^handlebars@buildtime:.*
          title: Buildtime - Handlebars
          type: string
        - description: >-
            Javascript expression with
            [CampaignBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts).
          example: >-
            javascript@buildtime:function() { return
            context.getVariableContext().get('description');}
          externalDocs:
            description: CampaignBuildtimeContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/CampaignBuildtimeContext.d.ts
          pattern: ^javascript@buildtime:.*
          title: Buildtime - Javascript
          type: string
    DeweyDecimal:
      example: '10'
      type: string
    AncestorTypeComponentReferenceBoundaryResponse:
      allOf:
        - $ref: '#/components/schemas/ComponentReferenceBoundaryResponseBase'
        - properties:
            ancestor_type:
              description: >-
                Ancestor component type that defines the selectable component
                boundary.
              type: string
            type:
              enum:
                - ANCESTOR_TYPE
              type: string
          type: object
      description: >-
        Boundary that resolves selectable components within the nearest matching
        ancestor component type.
      required:
        - ancestor_type
        - type
      title: ANCESTOR_TYPE
      type: object
    PathComponentReferenceBoundaryResponse:
      allOf:
        - $ref: '#/components/schemas/ComponentReferenceBoundaryResponseBase'
        - properties:
            path:
              $ref: >-
                #/components/schemas/PathInPathComponentReferenceBoundaryResponse
            type:
              enum:
                - PATH
              type: string
          type: object
      description: >-
        Boundary that resolves selectable components within an evaluated
        component path.
      required:
        - path
        - type
      title: PATH
      type: object
    CampaignPathComponentReferenceLookupStrategyResponse:
      allOf:
        - $ref: '#/components/schemas/ComponentReferenceLookupStrategyResponseBase'
        - properties:
            type:
              enum:
                - CAMPAIGN_PATH
              type: string
          type: object
      description: >-
        Default lookup strategy: matches candidates using their in-campaign
        path.
      required:
        - type
      title: CAMPAIGN_PATH
      type: object
    ExpressionComponentReferenceLookupStrategyResponse:
      allOf:
        - $ref: '#/components/schemas/ComponentReferenceLookupStrategyResponseBase'
        - properties:
            keys:
              description: Keys used to match selectable components.
              items:
                $ref: '#/components/schemas/ComponentReferenceLookupKeyResponse'
              type: array
            type:
              enum:
                - EXPRESSION
              type: string
          type: object
      description: >-
        Lookup strategy that matches candidates using declared keys, each
        evaluated per candidate component.
      required:
        - keys
        - type
      title: EXPRESSION
      type: object
    ComponentTypeSettingFilterResponse:
      allOf:
        - $ref: '#/components/schemas/SettingFilterResponseBase'
        - properties:
            component_type:
              type: string
            type:
              enum:
                - COMPONENT_TYPE
              type: string
          type: object
      required:
        - component_type
        - type
      title: COMPONENT_TYPE
      type: object
    ExpressionSettingFilterResponse:
      allOf:
        - $ref: '#/components/schemas/SettingFilterResponseBase'
        - properties:
            expression:
              $ref: '#/components/schemas/ExpressionInExpressionSettingFilterResponse'
            type:
              enum:
                - EXPRESSION
              type: string
          type: object
      description: >-
        Stored expression setting filter definition. Field `expression` is
        unevaluated and appears in buildtime-evaluatable form.
      required:
        - expression
        - type
      title: EXPRESSION
      type: object
    ComponentFacetSettingFilterResponse:
      allOf:
        - $ref: '#/components/schemas/SettingFilterResponseBase'
        - properties:
            name:
              type: string
            type:
              enum:
                - FACET
              type: string
            value:
              type: string
          type: object
      required:
        - name
        - type
        - value
      title: FACET
      type: object
    ValuesInCampaignComponentVariableResponse:
      description: >-
        The setting's values, keyed by locale with `default` as the fallback
        key. Each static value is an object with the required string properties
        `sftp_destination_id` and `directory_path`. An evaluatable expression
        that resolves to that same shape is also supported. Buildtime
        expressions use
        [VariableBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/VariableBuildtimeContext.d.ts).
        Runtime expressions use one of the contexts:
        [ApproveActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/approve/ApproveActionContext.d.ts),
        [AudienceMembershipTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/audience/membership/AudienceMembershipTriggerContext.d.ts),
        [ClientWebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/ClientWebhookRuntimeContext.d.ts),
        [ConsumerWebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/ConsumerWebhookRuntimeContext.d.ts),
        [CreativeActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/creative/CreativeActionContext.d.ts),
        [DisplayActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/display/DisplayActionContext.d.ts),
        [DisplayActionResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/display/DisplayActionResponseContext.d.ts),
        [EarnedRewardEvaluationContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/reward/EarnedRewardEvaluationContext.d.ts),
        [EmailActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/email/EmailActionContext.d.ts),
        [EmailV2ActionContentContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/email/v2/EmailV2ActionContentContext.d.ts),
        [EmailV2ActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/email/v2/EmailV2ActionContext.d.ts),
        [EmailV2ActionResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/email/v2/EmailV2ActionResponseContext.d.ts),
        [ExpireRewardActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/expire/reward/ExpireRewardActionContext.d.ts),
        [ExpressionActionCommandContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/expression/ExpressionActionCommandContext.d.ts),
        [ExpressionActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/expression/ExpressionActionContext.d.ts),
        [ExpressionTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/expression/ExpressionTriggerContext.d.ts),
        [FireAsPersonActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/fire/as/person/FireAsPersonActionContext.d.ts),
        [HasPriorRewardTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/has/prior/reward/HasPriorRewardTriggerContext.d.ts),
        [HasPriorStepTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/has/prior/step/HasPriorStepTriggerContext.d.ts),
        [IncentivizeActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/incentivize/IncentivizeActionContext.d.ts),
        [IncentivizeStatusUpdateActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/incentivize/status/update/IncentivizeStatusUpdateActionContext.d.ts),
        [JourneyKeyContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/journey/JourneyKeyContext.d.ts),
        [LegacyQualityRuleTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/legacy/quality/LegacyQualityRuleTriggerContext.d.ts),
        [PartnerWebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/PartnerWebhookRuntimeContext.d.ts),
        [PrehandlerActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerActionContext.d.ts),
        [PrehandlerConditionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerConditionContext.d.ts),
        [PrehandlerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerContext.d.ts),
        [RewardActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/reward/RewardActionContext.d.ts),
        [RewardHasPriorRewardTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/has/prior/reward/RewardHasPriorRewardTriggerContext.d.ts),
        [RewardWebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/reward/RewardWebhookRuntimeContext.d.ts),
        [ScheduleActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/schedule/ScheduleActionContext.d.ts),
        [SignalActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/signal/SignalActionContext.d.ts),
        [StepActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/StepActionContext.d.ts),
        [StepBuilderContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/builder/StepBuilderContext.d.ts),
        [StepContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/StepContext.d.ts),
        [StepDataContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/data/StepDataContext.d.ts),
        [StepHasPriorStepTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/has/prior/step/StepHasPriorStepTriggerContext.d.ts),
        [StepTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/StepTriggerContext.d.ts),
        [VariableRuntimeCreativeActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/runtime/VariableRuntimeCreativeActionContext.d.ts),
        [WebhookActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/webhook/WebhookActionContext.d.ts),
        [WebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/WebhookRuntimeContext.d.ts).
      oneOf:
        - description: Literal values
          title: Static Value
          type: object
        - description: >-
            Handlebars expression with
            [VariableBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/VariableBuildtimeContext.d.ts).
          example: handlebars@buildtime:{{values}}
          externalDocs:
            description: VariableBuildtimeContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/VariableBuildtimeContext.d.ts
          pattern: ^handlebars@buildtime:.*
          title: Buildtime - Handlebars
          type: string
        - description: >-
            Javascript expression with
            [VariableBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/VariableBuildtimeContext.d.ts).
          example: >-
            javascript@buildtime:function() { return
            context.getVariableContext().get('values');}
          externalDocs:
            description: VariableBuildtimeContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/VariableBuildtimeContext.d.ts
          pattern: ^javascript@buildtime:.*
          title: Buildtime - Javascript
          type: string
        - description: >-
            Handlebars expression with one of the contexts:
            [ApproveActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/approve/ApproveActionContext.d.ts),
            [AudienceMembershipTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/audience/membership/AudienceMembershipTriggerContext.d.ts),
            [ClientWebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/ClientWebhookRuntimeContext.d.ts),
            [ConsumerWebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/ConsumerWebhookRuntimeContext.d.ts),
            [CreativeActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/creative/CreativeActionContext.d.ts),
            [DisplayActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/display/DisplayActionContext.d.ts),
            [DisplayActionResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/display/DisplayActionResponseContext.d.ts),
            [EarnedRewardEvaluationContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/reward/EarnedRewardEvaluationContext.d.ts),
            [EmailActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/email/EmailActionContext.d.ts),
            [EmailV2ActionContentContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/email/v2/EmailV2ActionContentContext.d.ts),
            [EmailV2ActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/email/v2/EmailV2ActionContext.d.ts),
            [EmailV2ActionResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/email/v2/EmailV2ActionResponseContext.d.ts),
            [ExpireRewardActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/expire/reward/ExpireRewardActionContext.d.ts),
            [ExpressionActionCommandContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/expression/ExpressionActionCommandContext.d.ts),
            [ExpressionActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/expression/ExpressionActionContext.d.ts),
            [ExpressionTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/expression/ExpressionTriggerContext.d.ts),
            [FireAsPersonActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/fire/as/person/FireAsPersonActionContext.d.ts),
            [HasPriorRewardTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/has/prior/reward/HasPriorRewardTriggerContext.d.ts),
            [HasPriorStepTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/has/prior/step/HasPriorStepTriggerContext.d.ts),
            [IncentivizeActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/incentivize/IncentivizeActionContext.d.ts),
            [IncentivizeStatusUpdateActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/incentivize/status/update/IncentivizeStatusUpdateActionContext.d.ts),
            [JourneyKeyContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/journey/JourneyKeyContext.d.ts),
            [LegacyQualityRuleTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/legacy/quality/LegacyQualityRuleTriggerContext.d.ts),
            [PartnerWebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/PartnerWebhookRuntimeContext.d.ts),
            [PrehandlerActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerActionContext.d.ts),
            [PrehandlerConditionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerConditionContext.d.ts),
            [PrehandlerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerContext.d.ts),
            [RewardActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/reward/RewardActionContext.d.ts),
            [RewardHasPriorRewardTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/has/prior/reward/RewardHasPriorRewardTriggerContext.d.ts),
            [RewardWebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/reward/RewardWebhookRuntimeContext.d.ts),
            [ScheduleActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/schedule/ScheduleActionContext.d.ts),
            [SignalActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/signal/SignalActionContext.d.ts),
            [StepActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/StepActionContext.d.ts),
            [StepBuilderContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/builder/StepBuilderContext.d.ts),
            [StepContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/StepContext.d.ts),
            [StepDataContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/data/StepDataContext.d.ts),
            [StepHasPriorStepTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/has/prior/step/StepHasPriorStepTriggerContext.d.ts),
            [StepTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/StepTriggerContext.d.ts),
            [VariableRuntimeCreativeActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/runtime/VariableRuntimeCreativeActionContext.d.ts),
            [WebhookActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/webhook/WebhookActionContext.d.ts),
            [WebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/WebhookRuntimeContext.d.ts).
          example: handlebars@runtime:{{values}}
          pattern: ^handlebars@runtime:.*
          title: Runtime - Handlebars
          type: string
        - description: >-
            Javascript expression with one of the contexts:
            [ApproveActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/approve/ApproveActionContext.d.ts),
            [AudienceMembershipTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/audience/membership/AudienceMembershipTriggerContext.d.ts),
            [ClientWebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/ClientWebhookRuntimeContext.d.ts),
            [ConsumerWebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/ConsumerWebhookRuntimeContext.d.ts),
            [CreativeActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/creative/CreativeActionContext.d.ts),
            [DisplayActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/display/DisplayActionContext.d.ts),
            [DisplayActionResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/display/DisplayActionResponseContext.d.ts),
            [EarnedRewardEvaluationContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/reward/EarnedRewardEvaluationContext.d.ts),
            [EmailActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/email/EmailActionContext.d.ts),
            [EmailV2ActionContentContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/email/v2/EmailV2ActionContentContext.d.ts),
            [EmailV2ActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/email/v2/EmailV2ActionContext.d.ts),
            [EmailV2ActionResponseContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/email/v2/EmailV2ActionResponseContext.d.ts),
            [ExpireRewardActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/expire/reward/ExpireRewardActionContext.d.ts),
            [ExpressionActionCommandContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/expression/ExpressionActionCommandContext.d.ts),
            [ExpressionActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/expression/ExpressionActionContext.d.ts),
            [ExpressionTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/expression/ExpressionTriggerContext.d.ts),
            [FireAsPersonActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/fire/as/person/FireAsPersonActionContext.d.ts),
            [HasPriorRewardTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/has/prior/reward/HasPriorRewardTriggerContext.d.ts),
            [HasPriorStepTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/has/prior/step/HasPriorStepTriggerContext.d.ts),
            [IncentivizeActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/incentivize/IncentivizeActionContext.d.ts),
            [IncentivizeStatusUpdateActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/incentivize/status/update/IncentivizeStatusUpdateActionContext.d.ts),
            [JourneyKeyContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/journey/JourneyKeyContext.d.ts),
            [LegacyQualityRuleTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/legacy/quality/LegacyQualityRuleTriggerContext.d.ts),
            [PartnerWebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/PartnerWebhookRuntimeContext.d.ts),
            [PrehandlerActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerActionContext.d.ts),
            [PrehandlerConditionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerConditionContext.d.ts),
            [PrehandlerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/prehandler/PrehandlerContext.d.ts),
            [RewardActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/reward/RewardActionContext.d.ts),
            [RewardHasPriorRewardTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/has/prior/reward/RewardHasPriorRewardTriggerContext.d.ts),
            [RewardWebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/reward/RewardWebhookRuntimeContext.d.ts),
            [ScheduleActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/schedule/ScheduleActionContext.d.ts),
            [SignalActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/signal/SignalActionContext.d.ts),
            [StepActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/StepActionContext.d.ts),
            [StepBuilderContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/builder/StepBuilderContext.d.ts),
            [StepContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/StepContext.d.ts),
            [StepDataContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/data/StepDataContext.d.ts),
            [StepHasPriorStepTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/has/prior/step/StepHasPriorStepTriggerContext.d.ts),
            [StepTriggerContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/trigger/StepTriggerContext.d.ts),
            [VariableRuntimeCreativeActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/runtime/VariableRuntimeCreativeActionContext.d.ts),
            [WebhookActionContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/step/action/webhook/WebhookActionContext.d.ts),
            [WebhookRuntimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/webhook/WebhookRuntimeContext.d.ts).
          example: javascript@runtime:function() { return context.get('values');}
          pattern: ^javascript@runtime:.*
          title: Runtime - Javascript
          type: string
    ComponentReferenceBoundaryResponseBase:
      properties:
        type:
          description: >-
            How the boundary containing selectable components is derived.
            ANCESTOR_TYPE takes the nearest ancestor of the configured component
            type. PATH takes the component matched by a configured absolute
            path.
          enum:
            - ANCESTOR_TYPE
            - PATH
          type: string
      type: object
    PathInPathComponentReferenceBoundaryResponse:
      description: >-
        Path expression, evaluated at build or install time, that defines the
        selectable component boundary. Buildtime expressions use
        [ComponentReferenceBoundaryPathContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/ComponentReferenceBoundaryPathContext.d.ts).
      externalDocs:
        description: ComponentReferenceBoundaryPathContext
        url: >-
          https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/ComponentReferenceBoundaryPathContext.d.ts
      oneOf:
        - allOf:
            - type: string
            - not:
                anyOf:
                  - pattern: ^handlebars@buildtime:.*
                    type: string
                  - pattern: ^javascript@buildtime:.*
                    type: string
              type: string
          description: Literal path
          title: Static Value
        - description: >-
            Handlebars expression with
            [ComponentReferenceBoundaryPathContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/ComponentReferenceBoundaryPathContext.d.ts).
          example: handlebars@buildtime:{{path}}
          externalDocs:
            description: ComponentReferenceBoundaryPathContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/ComponentReferenceBoundaryPathContext.d.ts
          pattern: ^handlebars@buildtime:.*
          title: Buildtime - Handlebars
          type: string
        - description: >-
            Javascript expression with
            [ComponentReferenceBoundaryPathContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/ComponentReferenceBoundaryPathContext.d.ts).
          example: >-
            javascript@buildtime:function() { return
            context.getVariableContext().get('path');}
          externalDocs:
            description: ComponentReferenceBoundaryPathContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/ComponentReferenceBoundaryPathContext.d.ts
          pattern: ^javascript@buildtime:.*
          title: Buildtime - Javascript
          type: string
    ComponentReferenceLookupStrategyResponseBase:
      properties:
        type:
          description: >-
            How candidate components are matched against a saved reference.
            CAMPAIGN_PATH (the default) matches candidates by their in-campaign
            path. EXPRESSION matches candidates using declared keys, each
            evaluated per candidate.
          enum:
            - CAMPAIGN_PATH
            - EXPRESSION
          type: string
      type: object
    ComponentReferenceLookupKeyResponse:
      description: >-
        Configured component attribute, evaluated per candidate component, used
        for reference matching.
      properties:
        expression:
          $ref: >-
            #/components/schemas/ExpressionInExpressionComponentReferenceLookupStrategyResponse
        match:
          description: >-
            How a configured component reference key is matched. Values are
            compared as whole values, never as substrings. EQUALS requires a
            component's values for the key to be exactly the declared set,
            compared case-sensitively. EQUALS_IGNORE_CASE applies the same set
            equality ignoring case. CONTAINS requires a component's values to
            include every declared value, ignoring case, and allows the
            component to carry further values beyond those declared.
          enum:
            - CONTAINS
            - EQUALS
            - EQUALS_IGNORE_CASE
          type: string
        name:
          description: Name of this key, unique among the lookup strategy's keys.
          type: string
        type:
          description: >-
            The declared setting type of this key's evaluated value, driving how
            it is compared. Any setting type is accepted and compared as
            evaluated, except STRING and COMPONENT_ID, which collapse a
            list-valued result to its first element before comparing.
          enum:
            - ADMIN_ICON
            - AUDIENCE_ID
            - AUDIENCE_ID_LIST
            - BOOLEAN
            - BROWSER_SIDE_JAVASCRIPT
            - CLIENT_DOMAIN_ID
            - CLIENT_DOMAIN_ID_LIST
            - CLIENT_KEY
            - CLIENT_KEY_FLOW
            - COLOR
            - COMPONENT_ID
            - COMPONENT_REFERENCE
            - COMPONENT_REFERENCE_LIST
            - COMPONENT_SETTING_LOOKUP
            - CSS
            - DATE_TIME
            - DELAY
            - DELAY_LIST
            - ENUM
            - ENUM_LIST
            - EXTOLE_CLIENT_KEY
            - FONT
            - GLOB_COMPONENT_PATH
            - HTML
            - IMAGE
            - INTEGER
            - INTEGER_LIST
            - JSON
            - MULTI_SOCKET
            - PARTNER_ENUM
            - PARTNER_ENUM_LIST
            - PERSON_KEY_NAME
            - REWARD_SUPPLIER_ID
            - REWARD_SUPPLIER_ID_LIST
            - SFTP_DIRECTORY
            - SOCKET
            - STRING
            - STRING_LIST
            - STRING_MAP
            - TRIGGER_CONFIGURATION
            - URL
            - WEBHOOK_ID
          type: string
      required:
        - expression
        - match
        - name
        - type
      type: object
    SettingFilterResponseBase:
      properties:
        type:
          enum:
            - COMPONENT_TYPE
            - EXPRESSION
            - FACET
          type: string
      type: object
    ExpressionInExpressionSettingFilterResponse:
      description: >-
        The expression as configured: a literal value, or an expression
        (type:string) when defined dynamically. Buildtime expressions use
        [SettingFilterBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/SettingFilterBuildtimeContext.d.ts).
      externalDocs:
        description: SettingFilterBuildtimeContext
        url: >-
          https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/SettingFilterBuildtimeContext.d.ts
      oneOf:
        - description: Literal expression
          title: Static Value
          type: boolean
        - description: >-
            Handlebars expression with
            [SettingFilterBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/SettingFilterBuildtimeContext.d.ts).
          example: handlebars@buildtime:{{expression}}
          externalDocs:
            description: SettingFilterBuildtimeContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/SettingFilterBuildtimeContext.d.ts
          pattern: ^handlebars@buildtime:.*
          title: Buildtime - Handlebars
          type: string
        - description: >-
            Javascript expression with
            [SettingFilterBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/SettingFilterBuildtimeContext.d.ts).
          example: >-
            javascript@buildtime:function() { return
            context.getVariableContext().get('expression');}
          externalDocs:
            description: SettingFilterBuildtimeContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/SettingFilterBuildtimeContext.d.ts
          pattern: ^javascript@buildtime:.*
          title: Buildtime - Javascript
          type: string
    ExpressionInExpressionComponentReferenceLookupStrategyResponse:
      description: >-
        Expression evaluated per candidate component to produce this key's
        value. Runtime expressions use
        [ComponentReferenceLookupStrategyContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/ComponentReferenceLookupStrategyContext.d.ts).
      externalDocs:
        description: ComponentReferenceLookupStrategyContext
        url: >-
          https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/ComponentReferenceLookupStrategyContext.d.ts
      oneOf:
        - description: Literal expression
          title: Static Value
          type: object
        - description: >-
            Handlebars expression with
            [ComponentReferenceLookupStrategyContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/ComponentReferenceLookupStrategyContext.d.ts).
          example: handlebars@runtime:{{expression}}
          externalDocs:
            description: ComponentReferenceLookupStrategyContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/ComponentReferenceLookupStrategyContext.d.ts
          pattern: ^handlebars@runtime:.*
          title: Runtime - Handlebars
          type: string
        - description: >-
            Javascript expression with
            [ComponentReferenceLookupStrategyContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/ComponentReferenceLookupStrategyContext.d.ts).
          example: javascript@runtime:function() { return context.get('expression');}
          externalDocs:
            description: ComponentReferenceLookupStrategyContext
            url: >-
              https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/campaign/ComponentReferenceLookupStrategyContext.d.ts
          pattern: ^javascript@runtime:.*
          title: Runtime - Javascript
          type: string
  examples:
    binding_error:
      summary: binding_error
      value:
        code: binding_error
        http_status_code: 400
        message: Argument is not of the expected type
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    campaign_build_failed:
      summary: campaign_build_failed
      value:
        code: campaign_build_failed
        http_status_code: 400
        message: Campaign build failed
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    campaign_component_absolute_name_missing:
      summary: campaign_component_absolute_name_missing
      value:
        code: campaign_component_absolute_name_missing
        http_status_code: 400
        message: Campaign component absolute name is missing
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    campaign_component_description_out_of_range:
      summary: campaign_component_description_out_of_range
      value:
        code: campaign_component_description_out_of_range
        http_status_code: 400
        message: Campaign component description length is out of range
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    campaign_component_display_name_contains_illegal_character:
      summary: campaign_component_display_name_contains_illegal_character
      value:
        code: campaign_component_display_name_contains_illegal_character
        http_status_code: 400
        message: >-
          Campaign component display name can only contain alphanumeric, dash,
          underscore, whitespace, asterisk, hash, dollar characters
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    campaign_component_display_name_out_of_range:
      summary: campaign_component_display_name_out_of_range
      value:
        code: campaign_component_display_name_out_of_range
        http_status_code: 400
        message: Campaign component display name length is out of range
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    campaign_component_id_missing:
      summary: campaign_component_id_missing
      value:
        code: campaign_component_id_missing
        http_status_code: 400
        message: Campaign component id is missing
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    campaign_component_name_already_in_use:
      summary: campaign_component_name_already_in_use
      value:
        code: campaign_component_name_already_in_use
        http_status_code: 400
        message: Campaign component name is already used by another component
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    campaign_component_name_contains_illegal_character:
      summary: campaign_component_name_contains_illegal_character
      value:
        code: campaign_component_name_contains_illegal_character
        http_status_code: 400
        message: >-
          Campaign component name can only contain alphanumeric, dash and
          underscore characters
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    campaign_component_name_out_of_range:
      summary: campaign_component_name_out_of_range
      value:
        code: campaign_component_name_out_of_range
        http_status_code: 400
        message: Campaign component name length is out of range
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    campaign_component_type_operation_missing:
      summary: campaign_component_type_operation_missing
      value:
        code: campaign_component_type_operation_missing
        http_status_code: 400
        message: >-
          Campaign component is missing an operation required by its component
          type
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    campaign_component_type_validation_failed:
      summary: campaign_component_type_validation_failed
      value:
        code: campaign_component_type_validation_failed
        http_status_code: 400
        message: Campaign component type validation failed
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    campaign_concurrent_client_change_update:
      summary: campaign_concurrent_client_change_update
      value:
        code: campaign_concurrent_client_change_update
        http_status_code: 400
        message: >-
          Could not perform the operation. A client wide configuration change is
          rebuilding this campaign. Retry once it completes
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    campaign_concurrent_update:
      summary: campaign_concurrent_update
      value:
        code: campaign_concurrent_update
        http_status_code: 400
        message: >-
          Could not perform the operation. Campaign is currently updated by
          other process/user
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    campaign_has_pending_changes:
      summary: campaign_has_pending_changes
      value:
        code: campaign_has_pending_changes
        http_status_code: 400
        message: Could not perform the operation. Campaign has pending changes
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    campaign_locked:
      summary: campaign_locked
      value:
        code: campaign_locked
        http_status_code: 400
        message: Could not perform the operation. The campaign is locked
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    campaign_stale_version:
      summary: campaign_stale_version
      value:
        code: campaign_stale_version
        http_status_code: 400
        message: You can only modify the latest version of the campaign
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    campaign_version_malformed:
      summary: campaign_version_malformed
      value:
        code: campaign_version_malformed
        http_status_code: 400
        message: Campaign version is malformed
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    circular_component_reference:
      summary: circular_component_reference
      value:
        code: circular_component_reference
        http_status_code: 400
        message: Circular campaign component reference is not allowed
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    client_key_name_already_in_use:
      summary: client_key_name_already_in_use
      value:
        code: client_key_name_already_in_use
        http_status_code: 400
        message: Client key name is already used by another client key
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    component_facets_not_found:
      summary: component_facets_not_found
      value:
        code: component_facets_not_found
        http_status_code: 400
        message: Component facets not found
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    component_ids_and_references_both_provided:
      summary: component_ids_and_references_both_provided
      value:
        code: component_ids_and_references_both_provided
        http_status_code: 400
        message: Only one of componentIds or componentReferences may be provided
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    component_not_found:
      summary: component_not_found
      value:
        code: component_not_found
        http_status_code: 400
        message: Component not found
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    component_operation_method_missing:
      summary: component_operation_method_missing
      value:
        code: component_operation_method_missing
        http_status_code: 400
        message: Component operation method is missing
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    component_operation_name_already_in_use:
      summary: component_operation_name_already_in_use
      value:
        code: component_operation_name_already_in_use
        http_status_code: 400
        message: >-
          Component operation name is already used by another operation on this
          component
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    component_operation_name_contains_illegal_character:
      summary: component_operation_name_contains_illegal_character
      value:
        code: component_operation_name_contains_illegal_character
        http_status_code: 400
        message: >-
          Component operation name can only contain lowercase alphanumeric, dash
          and underscore characters
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    component_operation_name_missing:
      summary: component_operation_name_missing
      value:
        code: component_operation_name_missing
        http_status_code: 400
        message: Component operation name is missing
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    component_operation_name_out_of_range:
      summary: component_operation_name_out_of_range
      value:
        code: component_operation_name_out_of_range
        http_status_code: 400
        message: Component operation name length is out of range
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    component_operation_name_reserved:
      summary: component_operation_name_reserved
      value:
        code: component_operation_name_reserved
        http_status_code: 400
        message: Component operation name is a reserved keyword
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    component_operation_parameter_invalid:
      summary: component_operation_parameter_invalid
      value:
        code: component_operation_parameter_invalid
        http_status_code: 400
        message: Component operation parameter is invalid
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    component_operation_path_malformed:
      summary: component_operation_path_malformed
      value:
        code: component_operation_path_malformed
        http_status_code: 400
        message: Component operation path is malformed
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    component_operation_path_missing:
      summary: component_operation_path_missing
      value:
        code: component_operation_path_missing
        http_status_code: 400
        message: Component operation path is missing
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    component_operation_schema_invalid:
      summary: component_operation_schema_invalid
      value:
        code: component_operation_schema_invalid
        http_status_code: 400
        message: >-
          Component operation schema is not a valid JSON Schema draft 2020-12
          document
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    component_operation_schema_too_large:
      summary: component_operation_schema_too_large
      value:
        code: component_operation_schema_too_large
        http_status_code: 400
        message: Component operation schema serialized length is out of range
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    component_operation_tag_length_out_of_range:
      summary: component_operation_tag_length_out_of_range
      value:
        code: component_operation_tag_length_out_of_range
        http_status_code: 400
        message: Component operation tag length is out of range
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    component_operation_type_missing:
      summary: component_operation_type_missing
      value:
        code: component_operation_type_missing
        http_status_code: 400
        message: Component operation type is missing
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    component_origin_component_id_missing:
      summary: component_origin_component_id_missing
      value:
        code: component_origin_component_id_missing
        http_status_code: 400
        message: The id of the origin component is required.
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    component_origin_component_not_found:
      summary: component_origin_component_not_found
      value:
        code: component_origin_component_not_found
        http_status_code: 400
        message: The origin component was not found.
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    component_origin_is_component:
      summary: component_origin_is_component
      value:
        code: component_origin_is_component
        http_status_code: 400
        message: A component cannot be its own origin.
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    component_origin_restricted_external_elements:
      summary: component_origin_restricted_external_elements
      value:
        code: component_origin_restricted_external_elements
        http_status_code: 400
        message: >-
          The component uses external elements that the client added, so it
          cannot take an origin's upgrades.
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    component_origin_structure_mismatch:
      summary: component_origin_structure_mismatch
      value:
        code: component_origin_structure_mismatch
        http_status_code: 400
        message: The component's structure differs from the origin component.
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    component_origin_upgrade_available:
      summary: component_origin_upgrade_available
      value:
        code: component_origin_upgrade_available
        http_status_code: 400
        message: >-
          The component already has this origin at an older version. Upgrade the
          component instead.
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    component_owner_not_supported:
      summary: component_owner_not_supported
      value:
        code: component_owner_not_supported
        http_status_code: 400
        message: Component owner not supported
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    component_reference_still_pinned:
      summary: component_reference_still_pinned
      value:
        code: component_reference_still_pinned
        http_status_code: 400
        message: >-
          Component is still pinned by a component-reference setting in a
          published campaign
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    component_reference_unmatched_on_publish:
      summary: component_reference_unmatched_on_publish
      value:
        code: component_reference_unmatched_on_publish
        http_status_code: 400
        message: >-
          Campaign cannot be published while it holds a component-reference pin
          that no longer resolves
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    component_state_not_supported:
      summary: component_state_not_supported
      value:
        code: component_state_not_supported
        http_status_code: 400
        message: Component state not supported
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    component_type_not_found:
      summary: component_type_not_found
      value:
        code: component_type_not_found
        http_status_code: 400
        message: Component type was not found
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    controller_state_misconfiguration:
      summary: controller_state_misconfiguration
      value:
        code: controller_state_misconfiguration
        http_status_code: 400
        message: A controller has not properly configured state
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    date_invalid:
      summary: date_invalid
      value:
        code: date_invalid
        http_status_code: 400
        message: Date is invalid or not ISO-8601 compliant
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    excessive_component_reference:
      summary: excessive_component_reference
      value:
        code: excessive_component_reference
        http_status_code: 400
        message: Root campaign component may have at most one reference
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    expression_invalid_syntax:
      summary: expression_invalid_syntax
      value:
        code: expression_invalid_syntax
        http_status_code: 400
        message: Campaign build failed due expression invalid syntax
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    external_element_is_referenced_by_active_configuration:
      summary: external_element_is_referenced_by_active_configuration
      value:
        code: external_element_is_referenced_by_active_configuration
        http_status_code: 400
        message: External element is referenced by active configuration
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    external_element_not_found:
      summary: external_element_not_found
      value:
        code: external_element_not_found
        http_status_code: 400
        message: External element not found
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    external_element_type_not_supported:
      summary: external_element_type_not_supported
      value:
        code: external_element_type_not_supported
        http_status_code: 400
        message: External element type not supported
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    external_elements_cannot_have_multiple_references:
      summary: external_elements_cannot_have_multiple_references
      value:
        code: external_elements_cannot_have_multiple_references
        http_status_code: 400
        message: External elements cannot have multiple references
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    invalid_campaign_id:
      summary: invalid_campaign_id
      value:
        code: invalid_campaign_id
        http_status_code: 400
        message: Invalid Campaign Id
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    invalid_campaign_state:
      summary: invalid_campaign_state
      value:
        code: invalid_campaign_state
        http_status_code: 400
        message: Invalid campaign state
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    invalid_campaign_version:
      summary: invalid_campaign_version
      value:
        code: invalid_campaign_version
        http_status_code: 400
        message: Invalid Campaign Version
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    invalid_component_installed_into_socket:
      summary: invalid_component_installed_into_socket
      value:
        code: invalid_component_installed_into_socket
        http_status_code: 400
        message: Invalid component installed into socket
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    invalid_component_reference:
      summary: invalid_component_reference
      value:
        code: invalid_component_reference
        http_status_code: 400
        message: Unknown referenced campaign component
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    invalid_component_reference_socket_name:
      summary: invalid_component_reference_socket_name
      value:
        code: invalid_component_reference_socket_name
        http_status_code: 400
        message: Invalid component reference socket name
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    invalid_external_component_reference:
      summary: invalid_external_component_reference
      value:
        code: invalid_external_component_reference
        http_status_code: 400
        message: Unknown external referenced campaign component
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    invalid_external_element_filter:
      summary: invalid_external_element_filter
      value:
        code: invalid_external_element_filter
        http_status_code: 400
        message: 'Invalid external element filter, expected format: type:id'
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    invalid_incoming_url:
      summary: invalid_incoming_url
      value:
        code: invalid_incoming_url
        http_status_code: 400
        message: Incoming URL is an invalid URI
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    invalid_json:
      summary: invalid_json
      value:
        code: invalid_json
        http_status_code: 400
        message: JSON is invalid
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    invalid_parameter:
      summary: invalid_parameter
      value:
        code: invalid_parameter
        http_status_code: 400
        message: Parameter is invalid.
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    invalid_setting_filter:
      summary: invalid_setting_filter
      value:
        code: invalid_setting_filter
        http_status_code: 400
        message: >-
          Invalid setting filter, expected format: name:value; backslash escapes
          the next character (e.g. \, \: \\)
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    invalid_uri_in_json:
      summary: invalid_uri_in_json
      value:
        code: invalid_uri_in_json
        http_status_code: 400
        message: Invalid URI in JSON
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    invalid_uri_in_query_parameter:
      summary: invalid_uri_in_query_parameter
      value:
        code: invalid_uri_in_query_parameter
        http_status_code: 400
        message: Invalid URI in query parameter
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    lock_missing_lock_types:
      summary: lock_missing_lock_types
      value:
        code: lock_missing_lock_types
        http_status_code: 400
        message: Unable to unlock, lock types should be specified
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    missing_request_body:
      summary: missing_request_body
      value:
        code: missing_request_body
        http_status_code: 400
        message: Missing request body
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    orphan_external_component_reference:
      summary: orphan_external_component_reference
      value:
        code: orphan_external_component_reference
        http_status_code: 400
        message: Orphan external referenced campaign component
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    rebuild_campaigns_build_failed:
      summary: rebuild_campaigns_build_failed
      value:
        code: rebuild_campaigns_build_failed
        http_status_code: 400
        message: Rebuild campaigns build failed
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    redundant_component_reference:
      summary: redundant_component_reference
      value:
        code: redundant_component_reference
        http_status_code: 400
        message: Same reference defined multiple times
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    self_component_reference:
      summary: self_component_reference
      value:
        code: self_component_reference
        http_status_code: 400
        message: Self campaign component reference is not allowed
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    unknown_source_clients:
      summary: unknown_source_clients
      value:
        code: unknown_source_clients
        http_status_code: 400
        message: Some source client ids are unknown
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    unlock_missing_lock_types:
      summary: unlock_missing_lock_types
      value:
        code: unlock_missing_lock_types
        http_status_code: 400
        message: Unable to lock, lock types should be specified
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    method_unauthorized:
      summary: method_unauthorized
      value:
        code: method_unauthorized
        http_status_code: 401
        message: Unauthorized access to this endpoint
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    payment_required:
      summary: payment_required
      value:
        code: payment_required
        http_status_code: 402
        message: The access_token provided is associated with an unpaid account.
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    access_denied:
      summary: access_denied
      value:
        code: access_denied
        http_status_code: 403
        message: >-
          The access_token provided is not permitted to access the specified
          resource.
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    missing_access_token:
      summary: missing_access_token
      value:
        code: missing_access_token
        http_status_code: 403
        message: No access_token was provided with this request.
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    unsupported_media_type:
      summary: unsupported_media_type
      value:
        code: unsupported_media_type
        http_status_code: 415
        message: Request had an unsupported or no media type
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
    too_many_requests:
      summary: too_many_requests
      value:
        code: too_many_requests
        http_status_code: 429
        message: >-
          The server is unable to process your request at the moment, please
          retry later.
        parameters: {}
        unique_id: 00000000-0000-0000-0000-000000000000
  securitySchemes:
    HEADER:
      in: header
      name: Authorization
      type: apiKey
      x-bearer-format: bearer
    QUERY:
      in: query
      name: access_token
      type: apiKey
    COOKIE:
      in: cookie
      name: extole_token
      type: apiKey

````

## Related topics

- [Upgrade a component](https://docs.extole.com/api-reference/components/upgrade-a-component.md)
- [Get available component upgrades](https://docs.extole.com/api-reference/components/get-available-component-upgrades.md)
- [Delete a component](https://docs.extole.com/api-reference/components/delete-a-component.md)
- [Get a component](https://docs.extole.com/api-reference/components/get-a-component.md)
- [List components](https://docs.extole.com/api-reference/components/list-components.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.