Extole Components Settings API
The Components Settings API from Extole — 7 operation(s) for components settings.
The Components Settings API from Extole — 7 operation(s) for components settings.
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 Components Settings 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: Components Settings
paths:
/v1/components/{component_id}/settings:
get:
description: Returns all settings for the specified component.
operationId: listComponentSettings
parameters:
- in: path
name: component_id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/CampaignComponentSettingResponse'
type: array
description: Successful response
'400':
content:
application/json:
examples:
binding_error:
$ref: '#/components/examples/binding_error'
campaign_component_not_found:
$ref: '#/components/examples/campaign_component_not_found'
component_not_found:
$ref: '#/components/examples/component_not_found'
component_owner_not_supported:
$ref: '#/components/examples/component_owner_not_supported'
component_state_not_supported:
$ref: '#/components/examples/component_state_not_supported'
invalid_json:
$ref: '#/components/examples/invalid_json'
invalid_parameter:
$ref: '#/components/examples/invalid_parameter'
invalid_setting_filter:
$ref: '#/components/examples/invalid_setting_filter'
missing_request_body:
$ref: '#/components/examples/missing_request_body'
settings_build_failed:
$ref: '#/components/examples/settings_build_failed'
unknown_source_clients:
$ref: '#/components/examples/unknown_source_clients'
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 component settings
tags:
- Components Settings
x-extole-bundle: management
x-extole-visibility: visible
post:
description: Adds a new named configuration setting to the specified component. Returns the created setting.
operationId: createComponentSetting
parameters:
- in: path
name: component_id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
description: description
display_name: display_name
name: name
priority: '10'
source: INHERITED
tags:
- tag
type: ADMIN_ICON
values:
values_key: {}
schema:
$ref: '#/components/schemas/CampaignComponentSettingRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CampaignComponentSettingResponse'
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_not_found:
$ref: '#/components/examples/campaign_component_not_found'
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'
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_id_not_accessible:
$ref: '#/components/examples/component_id_not_accessible'
component_not_found:
$ref: '#/components/examples/component_not_found'
component_owner_not_supported:
$ref: '#/components/examples/component_owner_not_supported'
component_state_not_supported:
$ref: '#/components/examples/component_state_not_supported'
controller_state_misconfiguration:
$ref: '#/components/examples/controller_state_misconfiguration'
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'
expression_invalid_syntax:
$ref: '#/components/examples/expression_invalid_syntax'
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'
invalid_setting_filter:
$ref: '#/components/examples/invalid_setting_filter'
invalid_translatable_value:
$ref: '#/components/examples/invalid_translatable_value'
lock_missing_lock_types:
$ref: '#/components/examples/lock_missing_lock_types'
missing_request_body:
$ref: '#/components/examples/missing_request_body'
multiple_components_installed_into_single_socket:
$ref: '#/components/examples/multiple_components_installed_into_single_socket'
non_translatable_variable_can_not_be_updated:
$ref: '#/components/examples/non_translatable_variable_can_not_be_updated'
rebuild_campaigns_build_failed:
$ref: '#/components/examples/rebuild_campaigns_build_failed'
reward_supplier_id_list_invalid_configuration:
$ref: '#/components/examples/reward_supplier_id_list_invalid_configuration'
setting_batch_update_missing_request:
$ref: '#/components/examples/setting_batch_update_missing_request'
setting_display_name_length_out_of_range:
$ref: '#/components/examples/setting_display_name_length_out_of_range'
setting_filter_component_facet_name_missing:
$ref: '#/components/examples/setting_filter_component_facet_name_missing'
setting_filter_component_facet_value_missing:
$ref: '#/components/examples/setting_filter_component_facet_value_missing'
setting_filter_component_type_missing:
$ref: '#/components/examples/setting_filter_component_type_missing'
setting_filter_expression_evaluation_failed:
$ref: '#/components/examples/setting_filter_expression_evaluation_failed'
setting_filter_invalid_component_facet:
$ref: '#/components/examples/setting_filter_invalid_component_facet'
setting_filter_invalid_component_type:
$ref: '#/components/examples/setting_filter_invalid_component_type'
setting_name_duplicated:
$ref: '#/components/examples/setting_name_duplicated'
setting_name_length_out_of_range:
$ref: '#/components/examples/setting_name_length_out_of_range'
setting_name_missing:
$ref: '#/components/examples/setting_name_missing'
setting_name_reserved:
$ref: '#/components/examples/setting_name_reserved'
setting_validation_exception:
$ref: '#/components/examples/setting_validation_exception'
settings_build_failed:
$ref: '#/components/examples/settings_build_failed'
socket_missing_required_parameter:
$ref: '#/components/examples/socket_missing_required_parameter'
tag_length_out_of_range:
$ref: '#/components/examples/tag_length_out_of_range'
unavailable_referenced_variable:
$ref: '#/components/examples/unavailable_referenced_variable'
unknown_source_clients:
$ref: '#/components/examples/unknown_source_clients'
unlock_missing_lock_types:
$ref: '#/components/examples/unlock_missing_lock_types'
variable_circular_reference:
$ref: '#/components/examples/variable_circular_reference'
variable_description_length_out_of_range:
$ref: '#/components/examples/variable_description_length_out_of_range'
variable_value_invalid_type:
$ref: '#/components/examples/variable_value_invalid_type'
variable_value_key_length_out_of_range:
$ref: '#/components/examples/variable_value_key_length_out_of_range'
variable_value_missing:
$ref: '#/components/examples/variable_value_missing'
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: Create a component setting
tags:
- Components Settings
x-extole-bundle: management
x-extole-visibility: visible
put:
description: Applies a batch of setting value updates across the component in one request.
operationId: batchUpdateComponentSettings
parameters:
- in: path
name: component_id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
settings:
settings_key:
description: description
display_name: display_name
name: name
priority: '10'
source: INHERITED
tags:
- tag
type: ADMIN_ICON
values:
values_key: {}
schema:
$ref: '#/components/schemas/ComponentSettingBatchUpdateRequest'
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/CampaignComponentSettingResponse'
type: array
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_not_found:
$ref: '#/components/examples/campaign_component_not_found'
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'
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_id_not_accessible:
$ref: '#/components/examples/component_id_not_accessible'
component_not_found:
$ref: '#/components/examples/component_not_found'
component_owner_not_supported:
$ref: '#/components/examples/component_owner_not_supported'
component_state_not_supported:
$ref: '#/components/examples/component_state_not_supported'
controller_state_misconfiguration:
$ref: '#/components/examples/controller_state_misconfiguration'
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'
expression_invalid_syntax:
$ref: '#/components/examples/expression_invalid_syntax'
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'
invalid_setting_filter:
$ref: '#/components/examples/invalid_setting_filter'
invalid_translatable_value:
$ref: '#/components/examples/invalid_translatable_value'
lock_missing_lock_types:
$ref: '#/components/examples/lock_missing_lock_types'
missing_request_body:
$ref: '#/components/examples/missing_request_body'
multiple_components_installed_into_single_socket:
$ref: '#/components/examples/multiple_components_installed_into_single_socket'
non_translatable_variable_can_not_be_updated:
$ref: '#/components/examples/non_translatable_variable_can_not_be_updated'
rebuild_campaigns_build_failed:
$ref: '#/components/examples/rebuild_campaigns_build_failed'
reward_supplier_id_list_invalid_configuration:
$ref: '#/components/examples/reward_supplier_id_list_invalid_configuration'
setting_batch_update_missing_request:
$ref: '#/components/examples/setting_batch_update_missing_request'
setting_display_name_length_out_of_range:
$ref: '#/components/examples/setting_display_name_length_out_of_range'
setting_filter_component_facet_name_missing:
$ref: '#/components/examples/setting_filter_component_facet_name_missing'
setting_filter_component_facet_value_missing:
$ref: '#/components/examples/setting_filter_component_facet_value_missing'
setting_filter_component_type_missing:
$ref: '#/components/examples/setting_filter_component_type_missing'
setting_filter_expression_evaluation_failed:
$ref: '#/components/examples/setting_filter_expression_evaluation_failed'
setting_filter_invalid_component_facet:
$ref: '#/components/examples/setting_filter_invalid_component_facet'
setting_filter_invalid_component_type:
$ref: '#/components/examples/setting_filter_invalid_component_type'
setting_name_duplicated:
$ref: '#/components/examples/setting_name_duplicated'
setting_name_length_out_of_range:
$ref: '#/components/examples/setting_name_length_out_of_range'
setting_name_missing:
$ref: '#/components/examples/setting_name_missing'
setting_name_reserved:
$ref: '#/components/examples/setting_name_reserved'
setting_not_found:
$ref: '#/components/examples/setting_not_found'
setting_validation_exception:
$ref: '#/components/examples/setting_validation_exception'
settings_build_failed:
$ref: '#/components/examples/settings_build_failed'
socket_missing_required_parameter:
$ref: '#/components/examples/socket_missing_required_parameter'
socket_not_found:
$ref: '#/components/examples/socket_not_found'
tag_length_out_of_range:
$ref: '#/components/examples/tag_length_out_of_range'
unavailable_referenced_variable:
$ref: '#/components/examples/unavailable_referenced_variable'
unknown_source_clients:
$ref: '#/components/examples/unknown_source_clients'
unlock_missing_lock_types:
$ref: '#/components/examples/unlock_missing_lock_types'
variable_batch_update_has_duplicated_variable_name:
$ref: '#/components/examples/variable_batch_update_has_duplicated_variable_name'
variable_batch_update_invalid_type:
$ref: '#/components/examples/variable_batch_update_invalid_type'
variable_batch_update_missing_type:
$ref: '#/components/examples/variable_batch_update_missing_type'
variable_circular_reference:
$ref: '#/components/examples/variable_circular_reference'
variable_description_length_out_of_range:
$ref: '#/components/examples/variable_description_length_out_of_range'
variable_value_invalid_type:
$ref: '#/components/examples/variable_value_invalid_type'
variable_value_key_length_out_of_range:
$ref: '#/components/examples/variable_value_key_length_out_of_range'
variable_value_missing:
$ref: '#/components/examples/variable_value_missing'
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: Batch update component settings
tags:
- Components Settings
x-extole-bundle: management
x-extole-visibility: visible
/v1/components/{component_id}/settings/built:
get:
description: Returns all component settings in their fully evaluated runtime form.
operationId: listBuiltComponentSettings
parameters:
- in: path
name: component_id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/BuiltCampaignComponentSettingResponse'
type: array
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_not_found:
$ref: '#/components/examples/campaign_component_not_found'
component_not_found:
$ref: '#/components/examples/component_not_found'
component_owner_not_supported:
$ref: '#/components/examples/component_owner_not_supported'
component_state_not_supported:
$ref: '#/components/examples/component_state_not_supported'
controller_state_misconfiguration:
$ref: '#/components/examples/controller_state_misconfiguration'
expression_invalid_syntax:
$ref: '#/components/examples/expression_invalid_syntax'
invalid_json:
$ref: '#/components/examples/invalid_json'
invalid_parameter:
$ref: '#/components/examples/invalid_parameter'
invalid_setting_filter:
$ref: '#/components/examples/invalid_setting_filter'
missing_request_body:
$ref: '#/components/examples/missing_request_body'
rebuild_campaigns_build_failed:
$ref: '#/components/examples/rebuild_campaigns_build_failed'
settings_build_failed:
$ref: '#/components/examples/settings_build_failed'
unknown_source_clients:
$ref: '#/components/examples/unknown_source_clients'
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 built component settings
tags:
- Components Settings
x-extole-bundle: management
x-extole-visibility: visible
/v1/components/{component_id}/settings/{setting_name}:
get:
description: Returns the component setting for the specified name.
operationId: getComponentSetting
parameters:
- in: path
n
# --- truncated at 32 KB (891 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/extole/refs/heads/main/openapi/extole-components-settings-api-openapi.yml