Extole Campaigns API

The Campaigns API from Extole — 31 operation(s) for campaigns.

OpenAPI Specification

extole-campaigns-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  description: 'Consumer-to-Extole integration endpoints: consumer event submission, zone rendering, profile management, and SDK-backing operations for browser and native app environments.'
  title: Integration API - Consumer to Extole Audiences Campaigns API
  version: '1.0'
servers:
- description: Production
  url: https://{brand}.extole.io
  variables:
    brand:
      default: yourcompany
      description: Your Extole client subdomain (e.g. 'mycompany' for mycompany.extole.io)
security:
- HEADER: []
- QUERY: []
- COOKIE: []
tags:
- name: Campaigns
paths:
  /v2/campaign-summaries:
    get:
      description: Returns lightweight read-only summaries of campaigns, including id, name, state, and dates. Supports filtering via query parameters.
      operationId: listCampaignSummaries
      parameters:
      - in: query
        name: version
        schema:
          type: string
      - in: query
        name: program_type
        schema:
          type: string
      - in: query
        name: tags
        schema:
          items:
            type: string
          type: array
          uniqueItems: true
      - in: query
        name: labels
        schema:
          items:
            type: string
          type: array
          uniqueItems: true
      - in: query
        name: program_label
        schema:
          type: string
      - in: query
        name: states
        schema:
          items:
            enum:
            - ARCHIVED
            - ENDED
            - LIVE
            - NOT_LAUNCHED
            - PAUSED
            - STOPPED
            type: string
          type: array
          uniqueItems: true
      - in: query
        name: include_archived
        schema:
          type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/CampaignSummaryResponse'
                type: array
          description: Successful response
        '400':
          content:
            application/json:
              examples:
                binding_error:
                  $ref: '#/components/examples/binding_error'
                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_version_malformed:
                  $ref: '#/components/examples/campaign_version_malformed'
                date_invalid:
                  $ref: '#/components/examples/date_invalid'
                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_json:
                  $ref: '#/components/examples/invalid_json'
                invalid_parameter:
                  $ref: '#/components/examples/invalid_parameter'
                lock_missing_lock_types:
                  $ref: '#/components/examples/lock_missing_lock_types'
                missing_request_body:
                  $ref: '#/components/examples/missing_request_body'
                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
      summary: List campaign summaries
      tags:
      - Campaigns
      x-extole-bundle: management
      x-extole-visibility: visible
  /v2/campaign-summaries/{campaignId}{version}:
    get:
      description: Returns a lightweight read-only summary of the specified campaign, including id, name, state, and dates.
      operationId: getCampaignSummary
      parameters:
      - in: path
        name: campaignId
        required: true
        schema:
          type: string
      - in: path
        name: version
        required: true
        schema:
          pattern: (/version/.+)?
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignSummaryResponse'
          description: Successful response
        '400':
          content:
            application/json:
              examples:
                binding_error:
                  $ref: '#/components/examples/binding_error'
                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_version_malformed:
                  $ref: '#/components/examples/campaign_version_malformed'
                date_invalid:
                  $ref: '#/components/examples/date_invalid'
                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_json:
                  $ref: '#/components/examples/invalid_json'
                invalid_parameter:
                  $ref: '#/components/examples/invalid_parameter'
                lock_missing_lock_types:
                  $ref: '#/components/examples/lock_missing_lock_types'
                missing_request_body:
                  $ref: '#/components/examples/missing_request_body'
                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
      summary: Get a campaign summary
      tags:
      - Campaigns
      x-extole-bundle: management
      x-extole-visibility: visible
  /v2/campaigns:
    get:
      description: Returns campaigns for the calling client, filtered and ordered by the supplied query parameters. Supports filtering by state (draft, published, archived), label, and date range. Use `GET /v2/campaigns/built` for fully evaluated runtime forms.
      operationId: listCampaigns
      parameters:
      - in: query
        name: version
        schema:
          type: string
      - in: query
        name: reward_supplier_id
        schema:
          type: string
      - in: query
        name: tags
        schema:
          items:
            type: string
          type: array
          uniqueItems: true
      - in: query
        name: include_archived
        schema:
          type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/CampaignResponse'
                type: array
          description: Successful response
        '400':
          content:
            application/json:
              examples:
                binding_error:
                  $ref: '#/components/examples/binding_error'
                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_version_malformed:
                  $ref: '#/components/examples/campaign_version_malformed'
                date_invalid:
                  $ref: '#/components/examples/date_invalid'
                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_json:
                  $ref: '#/components/examples/invalid_json'
                invalid_parameter:
                  $ref: '#/components/examples/invalid_parameter'
                lock_missing_lock_types:
                  $ref: '#/components/examples/lock_missing_lock_types'
                missing_request_body:
                  $ref: '#/components/examples/missing_request_body'
                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
      summary: List campaigns
      tags:
      - Campaigns
      x-extole-bundle: management
      x-extole-visibility: visible
    post:
      description: Creates a new campaign by importing a campaign ZIP archive previously exported via `GET /v2/campaigns/{id}.zip`. All components, controllers, flow steps, and creative assets contained in the archive are imported and the new campaign is created in DRAFT state with a server-assigned id.
      operationId: uploadNewCampaignArchive
      requestBody:
        content:
          multipart/form-data:
            example:
              file:
                creationDate: '2025-10-24T09:00:00.000Z'
                fileName: fileName
                modificationDate: '2025-10-24T09:00:00.000Z'
                name: name
                parameters:
                  parameters_key: parameters_key
                readDate: '2025-10-24T09:00:00.000Z'
                size: 1
                type: type
            schema:
              properties:
                file:
                  $ref: '#/components/schemas/FormDataContentDisposition'
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignResponse'
          description: Successful response
        '400':
          content:
            application/json:
              examples:
                action_count_invalid:
                  $ref: '#/components/examples/action_count_invalid'
                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_not_found:
                  $ref: '#/components/examples/campaign_component_not_found'
                campaign_component_type_validation_failed:
                  $ref: '#/components/examples/campaign_component_type_validation_failed'
                campaign_concurrent_update:
                  $ref: '#/components/examples/campaign_concurrent_update'
                campaign_controller_duplicate_controller:
                  $ref: '#/components/examples/campaign_controller_duplicate_controller'
                campaign_controller_invalid_enabled_on_state:
                  $ref: '#/components/examples/campaign_controller_invalid_enabled_on_state'
                campaign_controller_missing_event_trigger:
                  $ref: '#/components/examples/campaign_controller_missing_event_trigger'
                campaign_controller_missing_journey_name:
                  $ref: '#/components/examples/campaign_controller_missing_journey_name'
                campaign_controller_name_contains_illegal_character:
                  $ref: '#/components/examples/campaign_controller_name_contains_illegal_character'
                campaign_controller_name_missing:
                  $ref: '#/components/examples/campaign_controller_name_missing'
                campaign_controller_name_out_of_range:
                  $ref: '#/components/examples/campaign_controller_name_out_of_range'
                campaign_controller_name_same_as_a_default_controller_name:
                  $ref: '#/components/examples/campaign_controller_name_same_as_a_default_controller_name'
                campaign_controller_too_many_journey_names:
                  $ref: '#/components/examples/campaign_controller_too_many_journey_names'
                campaign_flow_step_app_description_length_out_of_range:
                  $ref: '#/components/examples/campaign_flow_step_app_description_length_out_of_range'
                campaign_flow_step_app_name_length_out_of_range:
                  $ref: '#/components/examples/campaign_flow_step_app_name_length_out_of_range'
                campaign_flow_step_app_name_missing:
                  $ref: '#/components/examples/campaign_flow_step_app_name_missing'
                campaign_flow_step_app_type_missing:
                  $ref: '#/components/examples/campaign_flow_step_app_type_missing'
                campaign_flow_step_app_type_name_length_out_of_range:
                  $ref: '#/components/examples/campaign_flow_step_app_type_name_length_out_of_range'
                campaign_flow_step_app_type_name_missing:
                  $ref: '#/components/examples/campaign_flow_step_app_type_name_missing'
                campaign_flow_step_description_length_out_of_range:
                  $ref: '#/components/examples/campaign_flow_step_description_length_out_of_range'
                campaign_flow_step_flow_path_invalid:
                  $ref: '#/components/examples/campaign_flow_step_flow_path_invalid'
                campaign_flow_step_flow_path_length_out_of_range:
                  $ref: '#/components/examples/campaign_flow_step_flow_path_length_out_of_range'
                campaign_flow_step_flow_path_missing:
                  $ref: '#/components/examples/campaign_flow_step_flow_path_missing'
                campaign_flow_step_icon_color_length_out_of_range:
                  $ref: '#/components/examples/campaign_flow_step_icon_color_length_out_of_range'
                campaign_flow_step_icon_type_length_out_of_range:
                  $ref: '#/components/examples/campaign_flow_step_icon_type_length_out_of_range'
                campaign_flow_step_icon_type_missing:
                  $ref: '#/components/examples/campaign_flow_step_icon_type_missing'
                campaign_flow_step_metric_description_length_out_of_range:
                  $ref: '#/components/examples/campaign_flow_step_metric_description_length_out_of_range'
                campaign_flow_step_metric_duplicate_exists:
                  $ref: '#/components/examples/campaign_flow_step_metric_duplicate_exists'
                campaign_flow_step_metric_expression_invalid:
                  $ref: '#/components/examples/campaign_flow_step_metric_expression_invalid'
                campaign_flow_step_metric_expression_length_out_of_range:
                  $ref: '#/components/examples/campaign_flow_step_metric_expression_length_out_of_range'
                campaign_flow_step_metric_expression_missing:
                  $ref: '#/components/examples/campaign_flow_step_metric_expression_missing'
                campaign_flow_step_metric_name_length_out_of_range:
                  $ref: '#/components/examples/campaign_flow_step_metric_name_length_out_of_range'
                campaign_flow_step_metric_name_missing:
                  $ref: '#/components/examples/campaign_flow_step_metric_name_missing'
                campaign_flow_step_metric_tags_missing:
                  $ref: '#/components/examples/campaign_flow_step_metric_tags_missing'
                campaign_flow_step_metric_unit_length_out_of_range:
                  $ref: '#/components/examples/campaign_flow_step_metric_unit_length_out_of_range'
                campaign_flow_step_metric_unit_missing:
                  $ref: '#/components/examples/campaign_flow_step_metric_unit_missing'
                campaign_flow_step_name_length_out_of_range:
                  $ref: '#/components/examples/campaign_flow_step_name_length_out_of_range'
                campaign_flow_step_sequence_invalid:
                  $ref: '#/components/examples/campaign_flow_step_sequence_invalid'
                campaign_flow_step_sequence_missing:
                  $ref: '#/components/examples/campaign_flow_step_sequence_missing'
                campaign_flow_step_step_name_length_out_of_range:
                  $ref: '#/components/examples/campaign_flow_step_step_name_length_out_of_range'
                campaign_flow_step_step_name_missing:
                  $ref: '#/components/examples/campaign_flow_step_step_name_missing'
                campaign_flow_step_word_length_out_of_range:
                  $ref: '#/components/examples/campaign_flow_step_word_length_out_of_range'
                campaign_frontend_controller_duplicate_controller:
                  $ref: '#/components/examples/campaign_frontend_controller_duplicate_controller'
                campaign_global_archive:
                  $ref: '#/components/examples/campaign_global_archive'
                campaign_global_rename:
                  $ref: '#/components/examples/campaign_global_rename'
                campaign_global_type_change:
                  $ref: '#/components/examples/campaign_global_type_change'
                campaign_has_pending_changes:
                  $ref: '#/components/examples/campaign_has_pending_changes'
                campaign_invalid_tag:
                  $ref: '#/components/examples/campaign_invalid_tag'
                campaign_locked:
                  $ref: '#/components/examples/campaign_locked'
                campaign_stale_version:
                  $ref: '#/components/examples/campaign_stale_version'
                campaign_tags_too_long:
                  $ref: '#/components/examples/campaign_tags_too_long'
                campaign_version_malformed:
                  $ref: '#/components/examples/campaign_version_malformed'
                circular_component_reference:
                  $ref: '#/components/examples/circular_component_reference'
                component_asset_content_length_out_of_range:
                  $ref: '#/components/examples/component_asset_content_length_out_of_range'
                component_asset_content_missing:
                  $ref: '#/components/examples/component_asset_content_missing'
                component_asset_content_upload_error:
                  $ref: '#/components/examples/component_asset_content_upload_error'
                component_asset_description_length_out_of_range:
                  $ref: '#/components/examples/component_asset_description_length_out_of_range'
                component_asset_filename_contains_illegal_character:
                  $ref: '#/components/examples/component_asset_filename_contains_illegal_character'
                component_asset_filename_length_out_of_range:
                  $ref: '#/components/examples/component_asset_filename_length_out_of_range'
                component_asset_filename_missing:
                  $ref: '#/components/examples/component_asset_filename_missing'
                component_asset_name_contains_illegal_character:
                  $ref: '#/components/examples/component_asset_name_contains_illegal_character'
                component_asset_name_duplicated:
                  $ref: '#/components/examples/component_asset_name_duplicated'
                component_asset_name_length_out_of_range:
                  $ref: '#/components/examples/component_asset_name_length_out_of_range'
                component_asset_name_missing:
                  $ref: '#/components/examples/component_asset_name_missing'
                component_facets_not_found:
                  $ref: '#/components/examples/component_facets_not_found'
                component_id_not_accessible:
                  $ref: '#/components/examples/component_id_not_accessible'
                component_type_not_found:
                  $ref: '#/components/examples/component_type_not_found'
                controller_misconfiguration:
                  $ref: '#/components/examples/controller_misconfiguration'
                controller_name_length_out_of_range:
                  $ref: '#/components/examples/controller_name_length_out_of_range'
                controller_state_misconfiguration:
                  $ref: '#/components/examples/controller_state_misconfiguration'
                creative_archive_size_too_big:
                  $ref: '#/components/examples/creative_archive_size_too_big'
                creative_asset_file_path_invalid:
                  $ref: '#/components/examples/creative_asset_file_path_invalid'
                creative_asset_file_path_too_long:
                  $ref: '#/components/examples/creative_asset_file_path_too_long'
                creative_asset_file_size_too_big:
                  $ref: '#/components/examples/creative_asset_file_size_too_big'
                creative_asset_invalid_character_encoding:
                  $ref: '#/components/examples/creative_asset_invalid_character_encoding'
                creative_has_default_locale_disabled:
                  $ref: '#/components/examples/creative_has_default_locale_disabled'
                creative_has_incompatible_api_version:
                  $ref: '#/components/examples/creative_has_incompatible_api_version'
                creative_has_invalid_api_version:
                  $ref: '#/components/examples/creative_has_invalid_api_version'
                creative_has_invalid_locale:
                  $ref: '#/components/examples/creative_has_invalid_locale'
                creative_has_unknown_classification:
                  $ref: '#/components/examples/creative_has_unknown_classification'
                creative_is_missing_attributes:
                  $ref: '#/components/examples/creative_is_missing_attributes'
                creative_is_missing_renderer:
                  $ref: '#/components/examples/creative_is_missing_renderer'
                creative_mismatch_api_version:
                  $ref: '#/components/examples/creative_mismatch_api_version'
                data_attribute_name_out_of_range:
                  $ref: '#/components/examples/data_attribute_name_out_of_range'
                data_attribute_regexp_invalid:
                  $ref: '#/components/examples/data_attribute_regexp_invalid'
                data_attribute_value_out_of_range:
                  $ref: '#/components/examples/data_attribute_value_out_of_range'
                data_attribute_value_type_required:
                  $ref: '#/components/examples/data_attribute_value_type_required'
                date_invalid:
                  $ref: '#/components/examples/date_invalid'
                default_key_not_allowed:
                  $ref: '#/components/examples/default_key_not_allowed'
                display_name_has_illegal_character:
                  $ref: '#/components/examples/display_name_has_illegal_character'
                download_error:
                  $ref: '#/components/examples/download_error'
                duplicate_step_data_name:
                  $ref: '#/components/examples/duplicate_step_data_name'
                excessive_component_reference:
                  $ref: '#/components/examples/excessive_component_reference'
                expression_invalid_syntax:
                  $ref: '#/components/examples/expression_invalid_syntax'
                expression_invalid_type:
                  $ref: '#/components/examples/expression_invalid_type'
                expression_missing_type:
                  $ref: '#/components/examples/expression_missing_type'
                expression_missing_value:
                  $ref: '#/components/examples/expression_missing_value'
                expression_value_invalid:
                  $ref: '#/components/examples/expression_value_invalid'
                expression_value_invalid_length:
                  $ref: '#/components/examples/expression_value_invalid_length'
                external_element_is_referenced_by_active_configuration:
                  $ref: '#/components/examples/external_element_is_referenced_by_active_configuration'
                external_elements_cannot_have_multiple_references:
                  $ref: '#/components/examples/external_elements_cannot_have_multiple_references'
                identity_key_incompatible_usage:
                  $ref: '#/components/examples/identity_key_incompatible_usage'
                invalid_archive_id:
                  $ref: '#/components/examples/invalid_archive_id'
                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_json:
                  $ref: '#/components/examples/invalid_json'
                invalid_parameter:
                  $ref: '#/components/examples/invalid_parameter'
                invalid_program_type:
                  $ref: '#/components/examples/invalid_program_type'
                invalid_step_alias:
   

# --- truncated at 32 KB (1157 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/extole/refs/heads/main/openapi/extole-campaigns-api-openapi.yml