{ "opencollection": "1.0.0", "info": { "name": "Integration API - Consumer to Extole Audiences Components API", "version": "1.0" }, "request": { "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "items": [ { "info": { "name": "Components", "type": "folder" }, "items": [ { "info": { "name": "List component categories", "type": "http" }, "http": { "method": "GET", "url": "https://{brand}.extole.io/v1/component-facets", "params": [ { "name": "include_archived", "value": "", "type": "query" }, { "name": "limit", "value": "", "type": "query" }, { "name": "offset", "value": "", "type": "query" } ] }, "docs": "Returns component facet (category) definitions for the calling client. Facets group component types into logical categories shown in the campaign editor. Use `GET /v1/component-facets/default` to retrieve the platform-default categories." }, { "info": { "name": "Create a component category", "type": "http" }, "http": { "method": "POST", "url": "https://{brand}.extole.io/v1/component-facets", "body": { "type": "json", "data": "{}" } }, "docs": "Creates a new component facet (category) definition and returns the persisted record. Component facets group types shown in the campaign editor." }, { "info": { "name": "List default component categories", "type": "http" }, "http": { "method": "GET", "url": "https://{brand}.extole.io/v1/component-facets/default" }, "docs": "Returns the platform-default component facet (category) definitions. Default facets are provided by Extole and are available to all clients." }, { "info": { "name": "Get a component category", "type": "http" }, "http": { "method": "GET", "url": "https://{brand}.extole.io/v1/component-facets/:name", "params": [ { "name": "name", "value": "", "type": "path", "description": "Name of the component category to retrieve." } ] }, "docs": "Returns the component facet (category) definition for the supplied name. Returns `400 component_facet_not_found` if the name does not match any accessible facet." }, { "info": { "name": "Update a component category", "type": "http" }, "http": { "method": "PUT", "url": "https://{brand}.extole.io/v1/component-facets/:name", "params": [ { "name": "name", "value": "", "type": "path", "description": "Name of the component category to update." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Applies a partial update to the supplied component facet. Returns `400 component_facet_not_found` if the name does not match any accessible facet." }, { "info": { "name": "Archive a component category", "type": "http" }, "http": { "method": "DELETE", "url": "https://{brand}.extole.io/v1/component-facets/:name", "params": [ { "name": "name", "value": "", "type": "path", "description": "Name of the component category to archive." } ] }, "docs": "Archives the supplied component facet. Fails with `400 facet_associated_with_components` if the facet is still assigned to active components. Remove those associations before archiving. Returns the archived facet." }, { "info": { "name": "List components", "type": "http" }, "http": { "method": "GET", "url": "https://{brand}.extole.io/v1/components", "params": [ { "name": "name", "value": "", "type": "query" }, { "name": "owner", "value": "", "type": "query" }, { "name": "state", "value": "", "type": "query" }, { "name": "version_state", "value": "", "type": "query" }, { "name": "campaign_ids", "value": "", "type": "query" }, { "name": "having_any_tags", "value": "", "type": "query" }, { "name": "having_all_tags", "value": "", "type": "query" }, { "name": "exclude_having_any_tags", "value": "", "type": "query" }, { "name": "exclude_having_all_tags", "value": "", "type": "query" }, { "name": "having_any_types", "value": "", "type": "query" }, { "name": "having_all_types", "value": "", "type": "query" }, { "name": "having_any_settings", "value": "", "type": "query" }, { "name": "having_all_settings", "value": "", "type": "query" }, { "name": "target_component_id", "value": "", "type": "query" }, { "name": "target_setting_name", "value": "", "type": "query" }, { "name": "target_setting_filter_collection", "value": "", "type": "query" }, { "name": "target_socket_name", "value": "", "type": "query" }, { "name": "show_all", "value": "", "type": "query" }, { "name": "include_granted", "value": "", "type": "query" }, { "name": "include_subscribed", "value": "", "type": "query" }, { "name": "limit", "value": "", "type": "query" }, { "name": "offset", "value": "", "type": "query" } ] }, "docs": "Returns all components visible to the current client. Components are the reusable building blocks that campaigns assemble — creatives, content blocks, and sub-experiences." }, { "info": { "name": "Upload a component bundle", "type": "http" }, "http": { "method": "POST", "url": "https://{brand}.extole.io/v1/components", "body": { "type": "multipart-form", "data": [ { "name": "file", "type": "text", "value": "" } ] } }, "docs": "Uploads a new component bundle archive, creating a new component and its sub-resources from the bundled definition." }, { "info": { "name": "List built components", "type": "http" }, "http": { "method": "GET", "url": "https://{brand}.extole.io/v1/components/built", "params": [ { "name": "name", "value": "", "type": "query" }, { "name": "owner", "value": "", "type": "query" }, { "name": "state", "value": "", "type": "query" }, { "name": "version_state", "value": "", "type": "query" }, { "name": "campaign_ids", "value": "", "type": "query" }, { "name": "having_any_tags", "value": "", "type": "query" }, { "name": "having_all_tags", "value": "", "type": "query" }, { "name": "exclude_having_any_tags", "value": "", "type": "query" }, { "name": "exclude_having_all_tags", "value": "", "type": "query" }, { "name": "having_any_types", "value": "", "type": "query" }, { "name": "having_all_types", "value": "", "type": "query" }, { "name": "having_any_settings", "value": "", "type": "query" }, { "name": "having_all_settings", "value": "", "type": "query" }, { "name": "target_component_id", "value": "", "type": "query" }, { "name": "target_setting_name", "value": "", "type": "query" }, { "name": "target_setting_filter_collection", "value": "", "type": "query" }, { "name": "target_socket_name", "value": "", "type": "query" }, { "name": "show_all", "value": "", "type": "query" }, { "name": "include_granted", "value": "", "type": "query" }, { "name": "include_subscribed", "value": "", "type": "query" }, { "name": "limit", "value": "", "type": "query" }, { "name": "offset", "value": "", "type": "query" } ] }, "docs": "Returns all components in their fully evaluated runtime form." }, { "info": { "name": "Get available component upgrades", "type": "http" }, "http": { "method": "GET", "url": "https://{brand}.extole.io/v1/components/:component_id/available-upgrades", "params": [ { "name": "component_id", "value": "", "type": "path" } ] }, "docs": "Returns a map of available upgrade targets for the specified component, keyed by target component id." }, { "info": { "name": "Diff two components", "type": "http" }, "http": { "method": "GET", "url": "https://{brand}.extole.io/v1/components/:component_id/diff/:other_component_id", "params": [ { "name": "component_id", "value": "", "type": "path" }, { "name": "other_component_id", "value": "", "type": "path" } ] }, "docs": "Returns a diff between two component versions, showing added, removed, and changed settings." }, { "info": { "name": "Download translatable component variables", "type": "http" }, "http": { "method": "GET", "url": "https://{brand}.extole.io/v1/components/:component_id/translatable.:format", "headers": [ { "name": "Content-Type", "value": "" } ], "params": [ { "name": "component_id", "value": "", "type": "path" }, { "name": "format", "value": "", "type": "path" }, { "name": "filename", "value": "", "type": "query" }, { "name": "exclude_disabled_creatives", "value": "", "type": "query" }, { "name": "having_any_tags", "value": "", "type": "query" }, { "name": "having_all_tags", "value": "", "type": "query" }, { "name": "exclude_having_any_tags", "value": "", "type": "query" }, { "name": "exclude_having_all_tags", "value": "", "type": "query" }, { "name": "exclude_inheriting", "value": "", "type": "query" }, { "name": "enabled_variants_only", "value": "", "type": "query" } ] }, "docs": "Downloads the translatable variable values for the specified component for localisation." }, { "info": { "name": "List duplicatable components", "type": "http" }, "http": { "method": "GET", "url": "https://{brand}.extole.io/v1/components/duplicatable", "params": [ { "name": "name", "value": "", "type": "query" }, { "name": "source_client_id", "value": "", "type": "query" }, { "name": "state", "value": "", "type": "query" }, { "name": "version_state", "value": "", "type": "query" }, { "name": "campaign_ids", "value": "", "type": "query" }, { "name": "having_any_tags", "value": "", "type": "query" }, { "name": "having_all_tags", "value": "", "type": "query" }, { "name": "exclude_having_any_tags", "value": "", "type": "query" }, { "name": "exclude_having_all_tags", "value": "", "type": "query" }, { "name": "having_any_types", "value": "", "type": "query" }, { "name": "having_all_types", "value": "", "type": "query" }, { "name": "having_any_settings", "value": "", "type": "query" }, { "name": "having_all_settings", "value": "", "type": "query" }, { "name": "target_component_id", "value": "", "type": "query" }, { "name": "target_setting_name", "value": "", "type": "query" }, { "name": "target_setting_filter_collection", "value": "", "type": "query" }, { "name": "target_socket_name", "value": "", "type": "query" }, { "name": "show_all", "value": "", "type": "query" }, { "name": "limit", "value": "", "type": "query" }, { "name": "offset", "value": "", "type": "query" } ] }, "docs": "Returns all components that are eligible for duplication by the current client." }, { "info": { "name": "List built duplicatable components", "type": "http" }, "http": { "method": "GET", "url": "https://{brand}.extole.io/v1/components/duplicatable/built", "params": [ { "name": "name", "value": "", "type": "query" }, { "name": "source_client_id", "value": "", "type": "query" }, { "name": "state", "value": "", "type": "query" }, { "name": "version_state", "value": "", "type": "query" }, { "name": "campaign_ids", "value": "", "type": "query" }, { "name": "having_any_tags", "value": "", "type": "query" }, { "name": "having_all_tags", "value": "", "type": "query" }, { "name": "exclude_having_any_tags", "value": "", "type": "query" }, { "name": "exclude_having_all_tags", "value": "", "type": "query" }, { "name": "having_any_types", "value": "", "type": "query" }, { "name": "having_all_types", "value": "", "type": "query" }, { "name": "having_any_settings", "value": "", "type": "query" }, { "name": "having_all_settings", "value": "", "type": "query" }, { "name": "target_component_id", "value": "", "type": "query" }, { "name": "target_setting_name", "value": "", "type": "query" }, { "name": "target_setting_filter_collection", "value": "", "type": "query" }, { "name": "target_socket_name", "value": "", "type": "query" }, { "name": "show_all", "value": "", "type": "query" }, { "name": "limit", "value": "", "type": "query" }, { "name": "offset", "value": "", "type": "query" } ] }, "docs": "Returns all duplicatable components in their fully evaluated runtime form." }, { "info": { "name": "List component assets", "type": "http" }, "http": { "method": "GET", "url": "https://{brand}.extole.io/v1/components/:component_id/assets", "params": [ { "name": "component_id", "value": "", "type": "path" } ] }, "docs": "Returns all file assets attached to the component identified by `component_id`." }, { "info": { "name": "Create a component asset", "type": "http" }, "http": { "method": "POST", "url": "https://{brand}.extole.io/v1/components/:component_id/assets", "params": [ { "name": "component_id", "value": "", "type": "path" } ], "body": { "type": "multipart-form", "data": [ { "name": "asset", "type": "text", "value": "" }, { "name": "file", "type": "text", "value": "" } ] } }, "docs": "Uploads a new file asset to the component identified by `component_id`. Supply asset metadata in the `asset` form field and file content in the `file` form field." }, { "info": { "name": "List built component assets", "type": "http" }, "http": { "method": "GET", "url": "https://{brand}.extole.io/v1/components/:component_id/assets/built", "params": [ { "name": "component_id", "value": "", "type": "path" } ] }, "docs": "Returns the built (compiled) asset representations for all assets on the specified component." }, { "info": { "name": "Get a component asset", "type": "http" }, "http": { "method": "GET", "url": "https://{brand}.extole.io/v1/components/:component_id/assets/:asset_id", "params": [ { "name": "component_id", "value": "", "type": "path" }, { "name": "asset_id", "value": "", "type": "path" } ] }, "docs": "Returns metadata for the asset identified by `asset_id` on the specified component." }, { "info": { "name": "Update a component asset", "type": "http" }, "http": { "method": "PUT", "url": "https://{brand}.extole.io/v1/components/:component_id/assets/:asset_id", "params": [ { "name": "component_id", "value": "", "type": "path" }, { "name": "asset_id", "value": "", "type": "path" } ], "body": { "type": "multipart-form", "data": [ { "name": "asset", "type": "text", "value": "" }, { "name": "file", "type": "text", "value": "" } ] } }, "docs": "Replaces or updates the asset identified by `asset_id` on the specified component. Supply updated metadata in the `asset` form field and optional new file content in `file`." }, { "info": { "name": "Delete a component asset", "type": "http" }, "http": { "method": "DELETE", "url": "https://{brand}.extole.io/v1/components/:component_id/assets/:asset_id", "params": [ { "name": "component_id", "value": "", "type": "path" }, { "name": "asset_id", "value": "", "type": "path" } ] }, "docs": "Removes the asset identified by `asset_id` from the specified component and returns the deleted asset metadata." }, { "info": { "name": "Get a built component asset", "type": "http" }, "http": { "method": "GET", "url": "https://{brand}.extole.io/v1/components/:component_id/assets/:asset_id/built", "params": [ { "name": "component_id", "value": "", "type": "path" }, { "name": "asset_id", "value": "", "type": "path" } ] }, "docs": "Returns the built (compiled) representation of the asset identified by `asset_id` on the specified component." }, { "info": { "name": "Get component asset content", "type": "http" }, "http": { "method": "GET", "url": "https://{brand}.extole.io/v1/components/:component_id/assets/:asset_id/content", "params": [ { "name": "component_id", "value": "", "type": "path" }, { "name": "asset_id", "value": "", "type": "path" } ] }, "docs": "Streams the raw file content of the asset identified by `asset_id` on the specified component." }, { "info": { "name": "Get a component", "type": "http" }, "http": { "method": "GET", "url": "https://{brand}.extole.io/v1/components/:component_id:version", "params": [ { "name": "component_id", "value": "", "type": "path" }, { "name": "version", "value": "", "type": "path" } ] }, "docs": "Returns the specified component, optionally at a specific version. If no version is specified, returns the current version." }, { "info": { "name": "Delete a component", "type": "http" }, "http": { "method": "DELETE", "url": "https://{brand}.extole.io/v1/components/:component_id:version", "params": [ { "name": "component_id", "value": "", "type": "path" }, { "name": "version", "value": "", "type": "path" } ] }, "docs": "Recursively deletes the specified component and all its children. If the deleted component is the root component of a campaign, the entire campaign is archived. The `version` path segment is used as an optimistic-lock guard." }, { "info": { "name": "Get a built component", "type": "http" }, "http": { "method": "GET", "url": "https://{brand}.extole.io/v1/components/:component_id:version/built", "params": [ { "name": "component_id", "value": "", "type": "path" }, { "name": "version", "value": "", "type": "path" } ] }, "docs": "Returns the fully evaluated (built) runtime form of the specified component, with expression fields resolved." }, { "info": { "name": "Get component anchors", "type": "http" }, "http": { "method": "GET", "url": "https://{brand}.extole.io/v1/components/:component_id:version/anchors", "params": [ { "name": "component_id", "value": "", "type": "path" }, { "name": "version", "value": "", "type": "path" } ] }, "docs": "Returns the anchor details for the specified component." }, { "info": { "name": "Upgrade a component", "type": "http" }, "http": { "method": "POST", "url": "https://{brand}.extole.io/v1/components/:component_id/upgrade", "params": [ { "name": "component_id", "value": "", "type": "path" } ] }, "docs": "Upgrades the component to the latest version of its component type definition." }, { "info": { "name": "Duplicate a component", "type": "http" }, "http": { "method": "POST", "url": "https://{brand}.extole.io/v1/components/:component_id:version/duplicate", "params": [ { "name": "component_id", "value": "", "type": "path" }, { "name": "version", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Creates a deep copy of the specified component and all its child settings and assets." }, { "info": { "name": "Upload translatable component variables", "type": "http" }, "http": { "method": "PUT", "url": "https://{brand}.extole.io/v1/components/translatable", "params": [ { "name": "target_component_id", "value": "", "type": "query" }, { "name": "ignore_unknown_variables", "value": "", "type": "query" } ], "body": { "type": "multipart-form", "data": [] } }, "docs": "Uploads translated variable values from a CSV or Excel file." } ] } ], "bundled": true }