openapi: 3.1.0
info:
title: Reactor API
description: |-
Use the Reactor API to programmatically manage resources and develop tag extensions in Adobe Experience Platform.
**Related documentation**:
* [Tags overview and UI documentation](https://adobe.com/go/launch_help_en)
* [Reactor API guides](https://adobe.com/go/reactor-api-overview)
**API paths**:
* Reactor Gateway URL: https://<span>reactor.adobe.io
* Example of a complete path for making a call to `/properties`: https://<span>reactor.adobe.io/properties
**Required headers**:
* All calls require the headers `Authorization`, `x-gw-ims-org-id`, and `x-api-key`. For more information on how to obtain these values, see the [authentication tutorial](http://www.adobe.com/go/launch-authentication-en).
* All GET requests to the Reactor API require an `Accept` header to determine what data is returned by the system. In most cases, this value will be `application/vnd.api+json;revision=#` (where `#` is the revision number of the resource you want to retrieve, e.g. `1`).
* All requests with a payload in the request body (such as POST, PUT, and PATCH calls) must include the header `Content-Type`. The specific `Content-Type` value for each call is provided in the parameters sections in the endpoints listed below.
- **API error handling**:
- Refer to the Experience Platform API troubleshooting guide for [FAQs](https://experienceleague.adobe.com/docs/experience-platform/landing/troubleshooting.html#faq), [API status codes](https://experienceleague.adobe.com/docs/experience-platform/landing/troubleshooting.html#api-status-codes), and [request header errors](https://experienceleague.adobe.com/docs/experience-platform/landing/troubleshooting.html#request-header-errors).
version: "1.0"
servers:
- url: //reactor.adobe.io
tags:
- name: (NEW) Interactive API documentation
description: You can now interact with the Experience Platform API endpoints directly from this API reference page. Get your [authentication credentials](https://www.adobe.com/go/platform-api-get-credentials-en) and use the **Try it** functionality in the right rail. Note that by using this functionality, you are making real API calls. Keep this in mind when you interact with production sandboxes.
- name: Companies
description: "A company represents the organization of a tags user, typically a business. These companies match 1:1 with IMS Organization IDs. API users will only have visibility into the companies to which they have access. Nearly all API usage is performed using an Adobe I/O integration which is scoped to a single IMS Org, and therefore the /companies endpoint is not a major part of most workflows. Most use cases start with a property instead."
- name: Properties
description: "A property is a container that holds most of the other resources available within the Reactor API. The only resources that are not owned by a property are audit events, companies, extension packages, and profiles. A property belongs to exactly one company, and a company can have many properties."
- name: Data elements
description: "A data element functions as a variable which points to an important piece of data within your application. Data elements are used within rules and extension configurations. When the rule is triggered at runtime in a browser or an application, the value of the data element is resolved and used within the rule."
- name: Rules
description: "Rules control the behavior of the resources contained in a deployed library. A rule is a group of one or more rule components, and exists to tie the rule components together in a logical way."
- name: Rule components
description: "Rule components are the individual items that make up a rule. Rule components have three basic types: events (what triggers a rule), conditions (what the rule checks to determine an action), and actions (what the rule executes depending on whether the condition is met). A rule component can **only** belong to exactly one rule."
- name: Extension packages
description: "An extension package represents a grouping of individual capabilities that can be made available to a tags user. Most commonly, these capabilities come in the form of rule components (events, conditions, and actions) and data elements, but can also include main modules and shared modules. The capabilities provided by an extension package are installed as an extension when it is included in a library."
- name: Extension package usage authorization
description: "An extension package usage authorization is an authorization granted by the package owner to other companies for the private use of the extension package versions."
- name: Extensions
description: An extension represents the installed instance of an extension package. An extension makes the features defined by an extension package available to a property. These features are leveraged when creating data elements and rule components.
- name: Libraries
description: "A library is a collection of resources (extensions, rules, and data elements) that represent the desired behavior of a property. Libraries are compiled into builds, and those builds are assigned to different environments as they move down the publishing flow from testing to production."
- name: Builds
description: "A tag library is compiled into a build in order for it to be assigned to an environment for testing and deployment. The contents of a build varies depending on the resources included in the library, the configuration of the environment to which the build is assigned, and the platform of the property that the build belongs to."
- name: Environments
description: "An environment indicates the specific host where a build can be deployed, and whether the build should be deployed as a set of files or compressed in an archive format. In the Reactor API, environments are separate from hosts themselves, which are managed by the /hosts endpoint."
- name: Hosts
description: A host represents a hosted destination where a library build can be delivered and ultimately deployed. Hosts can be either Akamai or SFTP servers.
- name: Secrets
description: A secret is a resource that represents an authentication credential. Secrets are used in event forwarding to authenticate to another system for secure data exchange. Secrets can only be created within event forwarding properties (properties whose `platform` attribute is set to `edge`).
- name: App configurations
description: App configurations allow credentials to be stored and retrieved for later use.
- name: Audit events
description: "An audit event is a record of a specific change to another tag resource, generated at the time the change is made. These are system events which can be subscribed to through the use of a callback function."
- name: Callbacks
description: A callback is a message that Platform sends to a URL host whenever a new audit event is generated.
- name: Notes
description: "Notes are textual annotations that you can add to certain tag resources, such as data elements, extensions, libraries, properties, rules, and rule components."
- name: Profiles
description: "A profile represents a tags user. Platform does not maintain its own database of users and permissions, and instead relies on Adobe IDs managed by Adobe’s company-wide Identity Management System (IMS). A profile contains all the information about the logged-in user, including all the Adobe Orgs to which they belong, the product profiles they belong to within each Org, and the rights they have from each product profile."
- name: Search
description: "The search endpoint provides a way to find resources matching a desired criteria, expressed as a query. All queries are scoped to your current company and accessible properties."
paths:
/companies:
get:
security: []
tags:
- Companies
summary: List companies
description: ">**NOTE**: For more information on using this operation, see the [companies endpoint guide](https://experienceleague.adobe.com/docs/experience-platform/tags/api/endpoints/companies.html) on Experience League."
operationId: listCompanies
parameters:
- name: Authorization
in: header
description: "The access token generated using your Organization ID, Client ID, and JavaScript Web Token (JWT), prefixed with `Bearer`. For more information on how to obtain this value, see the [authentication tutorial](http://www.adobe.com/go/launch-authentication-en)."
required: true
schema:
type: string
- name: x-api-key
in: header
description: "The Client ID which can be copied from Adobe Developer Console. For more information on how to obtain this value, see the [authentication tutorial](http://www.adobe.com/go/launch-authentication-en)."
required: true
schema:
type: string
- name: x-gw-ims-org-id
in: header
description: "The Organization ID which can be copied from Adobe Developer Console. For more information on how to obtain this value, see the [authentication tutorial](http://www.adobe.com/go/launch-authentication-en)."
required: true
schema:
type: string
- name: Accept
in: header
description: "All GET requests must include this header with the value of `application/vnd.api+json;revision=#` (where `#` is the revision number of the resource you want to retrieve, e.g. `1`)."
required: true
schema:
type: string
- name: "page[size]"
in: query
description: "Limits the number of results per page (for example, `page[size]=50`). Can be used in conjunction with `page[number]` to manage response pagination."
schema:
maximum: 100
type: integer
default: 25
- name: "page[number]"
in: query
description: |-
The page index to return for the listing response (for example, `page[number]=2`). Can be used in conjunction with `page[size]` to manage response pagination.
>**NOTE**: Responses for listing calls contain a `meta.pagination` object which contains the indexes for the current, previous, and next pages in the response. To access these pages, use their index values for this parameter in subsequent API calls.
schema:
type: integer
default: 1
- name: created_at
in: query
description: Filter by `created_at` timestamp.
schema:
type: string
- name: updated_at
in: query
description: Filter by `updated_at` timestamp.
schema:
type: string
- name: name
in: query
description: Filter by `name`.
schema:
type: string
- name: org_id
in: query
description: Filter by `org_id`.
schema:
type: string
- name: token
in: query
description: Filter by `token`.
schema:
type: string
responses:
"200":
x-summary: "Success"
description: "A successful response returns an array of companies, including their IDs and attributes."
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/companiesListResponse'
/companies/{COMPANY_ID}:
get:
tags:
- Companies
summary: Retrieve a company
description: ">**NOTE**: For more information on using this operation, see the [companies endpoint guide](https://experienceleague.adobe.com/docs/experience-platform/tags/api/endpoints/companies.html) on Experience League."
operationId: retrieveCompany
parameters:
- name: COMPANY_ID
in: path
description: The ID of the company you want to look up.
required: true
schema:
type: string
- name: Authorization
in: header
description: "The access token generated using your Organization ID, Client ID, and JavaScript Web Token (JWT), prefixed with `bearer`. For more information on how to obtain this value, see the [authentication tutorial](http://www.adobe.com/go/launch-authentication-en)."
required: true
schema:
type: string
- name: x-api-key
in: header
description: "The Client ID which can be copied from Adobe Developer Console. For more information on how to obtain this value, see the [authentication tutorial](http://www.adobe.com/go/launch-authentication-en)."
required: true
schema:
type: string
- name: x-gw-ims-org-id
in: header
description: "The Organization ID which can be copied from Adobe Developer Console. For more information on how to obtain this value, see the [authentication tutorial](http://www.adobe.com/go/launch-authentication-en)."
required: true
schema:
type: string
- name: Accept
in: header
description: "All GET requests must include this header with the value of `application/vnd.api+json;revision=#` (where `#` is the revision number of the resource you want to retrieve, e.g. `1`)."
required: true
schema:
type: string
responses:
"200":
x-summary: "Success"
description: A successful response returns the details of the company.
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/companiesLookupResponse'
/companies/{COMPANY_ID}/properties:
get:
tags:
- Companies
- Properties
summary: List a company's properties
description: ">**NOTE**: For more information on using this operation, see the [properties endpoint guide](https://experienceleague.adobe.com/docs/experience-platform/tags/api/endpoints/properties.html) on Experience League."
operationId: listProperties
parameters:
- name: COMPANY_ID
in: path
description: The ID of the company whose properties you want to list.
required: true
schema:
type: string
- name: Authorization
in: header
description: "The access token generated using your Organization ID, Client ID, and JavaScript Web Token (JWT), prefixed with `bearer`. For more information on how to obtain this value, see the [authentication tutorial](http://www.adobe.com/go/launch-authentication-en)."
required: true
schema:
type: string
- name: x-api-key
in: header
description: "The Client ID which can be copied from Adobe Developer Console. For more information on how to obtain this value, see the [authentication tutorial](http://www.adobe.com/go/launch-authentication-en)."
required: true
schema:
type: string
- name: x-gw-ims-org-id
in: header
description: "The Organization ID which can be copied from Adobe Developer Console. For more information on how to obtain this value, see the [authentication tutorial](http://www.adobe.com/go/launch-authentication-en)."
required: true
schema:
type: string
- name: Accept
in: header
description: "All GET requests must include this header with the value of `application/vnd.api+json;revision=#` (where `#` is the revision number of the resource you want to retrieve, e.g. `1`)."
required: true
schema:
type: string
- name: "page[size]"
in: query
description: "Limits the number of results per page (for example, `page[size]=50`). Can be used in conjunction with `page[number]` to manage response pagination."
schema:
maximum: 100
type: integer
default: 25
- name: "page[number]"
in: query
description: |-
The page index to return for the listing response (for example, `page[number]=2`). Can be used in conjunction with `page[size]` to manage response pagination.
>**NOTE**: Responses for listing calls contain a `meta.pagination` object which contains the indexes for the current, previous, and next pages in the response. To access these pages, use their index values for this parameter in subsequent API calls.
schema:
type: integer
default: 1
- name: app_id
in: query
description: Filter by `app_id`.
schema:
type: string
- name: created_at
in: query
description: Filter by `created_at` timestamp.
schema:
type: string
- name: updated_at
in: query
description: Filter by `updated_at` timestamp.
schema:
type: string
- name: copying
in: query
description: Filter by `copying`. This is a legacy attribute that is specific to properties that were migrated from the original Dynamic Tag Management (DTM) system to the current system. A `copying` property is a property that is populating its information from its original DTM implementation.
schema:
type: boolean
- name: enabled
in: query
description: Filter by `enabled`.
schema:
type: string
- name: platform
in: query
description: Filter by `platform`.
schema:
type: string
- name: token
in: query
description: Filter by `token`.
schema:
type: string
responses:
"200":
x-summary: "Success"
description: "A successful response returns an array, listing the properties belonging to the specified company."
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/propertiesListResponse'
post:
tags:
- Companies
- Properties
summary: Create a new property
description: ">**NOTE**: For more information on using this operation, see the [properties endpoint guide](https://experienceleague.adobe.com/docs/experience-platform/tags/api/endpoints/properties.html) on Experience League."
operationId: createProperty
parameters:
- name: Authorization
in: header
description: "The access token generated using your Organization ID, Client ID, and JavaScript Web Token (JWT), prefixed with `bearer`. For more information on how to obtain this value, see the [authentication tutorial](http://www.adobe.com/go/launch-authentication-en)."
required: true
schema:
type: string
- name: x-api-key
in: header
description: "The Client ID which can be copied from Adobe Developer Console. For more information on how to obtain this value, see the [authentication tutorial](http://www.adobe.com/go/launch-authentication-en)."
required: true
schema:
type: string
- name: x-gw-ims-org-id
in: header
description: "The Organization ID which can be copied from Adobe Developer Console. For more information on how to obtain this value, see the [authentication tutorial](http://www.adobe.com/go/launch-authentication-en)."
required: true
schema:
type: string
- name: Content-Type
in: header
description: This header must be provided with a value of `application/vnd.api+json`
on all requests that contain a JSON payload.
required: true
schema:
type: string
- name: COMPANY_ID
in: path
description: The ID of the company that you want to define the property under.
required: true
schema:
type: string
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/createPropertyPayload'
required: true
responses:
"201":
x-summary: "Success"
description: A successful response returns the details of the newly created property.
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/propertiesLookupResponse'
x-codegen-request-body-name: body
/companies/{COMPANY_ID}/app_configurations:
get:
tags:
- Companies
- App configurations
summary: List a company's app configurations
description: ">**NOTE**: For more information on using this operation, see the [app configurations endpoint guide](https://experienceleague.adobe.com/docs/experience-platform/tags/api/endpoints/app-configurations.html) on Experience League."
operationId: listAppConfigurations
parameters:
- name: COMPANY_ID
in: path
description: The ID of the company whose app configurations you want to list.
required: true
schema:
type: string
- name: Authorization
in: header
description: "The access token generated using your Organization ID, Client ID, and JavaScript Web Token (JWT), prefixed with `bearer`. For more information on how to obtain this value, see the [authentication tutorial](http://www.adobe.com/go/launch-authentication-en)."
required: true
schema:
type: string
- name: x-api-key
in: header
description: "The Client ID which can be copied from Adobe Developer Console. For more information on how to obtain this value, see the [authentication tutorial](http://www.adobe.com/go/launch-authentication-en)."
required: true
schema:
type: string
- name: x-gw-ims-org-id
in: header
description: "The Organization ID which can be copied from Adobe Developer Console. For more information on how to obtain this value, see the [authentication tutorial](http://www.adobe.com/go/launch-authentication-en)."
required: true
schema:
type: string
- name: Accept
in: header
description: "All GET requests must include this header with the value of `application/vnd.api+json;revision=#` (where `#` is the revision number of the resource you want to retrieve, e.g. `1`)."
required: true
schema:
type: string
- name: "page[size]"
in: query
description: "Limits the number of results per page (for example, `page[size]=50`). Can be used in conjunction with `page[number]` to manage response pagination."
schema:
maximum: 100
type: integer
default: 25
- name: "page[number]"
in: query
description: |-
The page index to return for the listing response (for example, `page[number]=2`). Can be used in conjunction with `page[size]` to manage response pagination.
>**NOTE**: Responses for listing calls contain a `meta.pagination` object which contains the indexes for the current, previous, and next pages in the response. To access these pages, use their index values for this parameter in subsequent API calls.
schema:
type: integer
default: 1
- name: app_id
in: query
description: Filter by `app_id`.
schema:
type: string
- name: created_at
in: query
description: Filter by `created_at` timestamp.
schema:
type: string
- name: updated_at
in: query
description: Filter by `updated_at` timestamp.
schema:
type: string
- name: key_type
in: query
description: Filter by `key_type`.
schema:
type: string
- name: messaging_service
in: query
description: Filter by `messaging_service`.
schema:
type: string
- name: name
in: query
description: Filter by `name`.
schema:
type: string
- name: platform
in: query
description: Filter by `platform`.
schema:
type: string
responses:
"200":
x-summary: "Success"
description: "A successful response returns an array, listing the app configurations belonging to the specified company."
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/appConfigurationsListResponse'
post:
tags:
- Companies
- App configurations
summary: Create an app configuration
description: ">**NOTE**: For more information on using this operation, see the [app configurations endpoint guide](https://experienceleague.adobe.com/docs/experience-platform/tags/api/endpoints/app-configurations.html) on Experience League."
operationId: createAppConfiguration
parameters:
- name: Authorization
in: header
description: "The access token generated using your Organization ID, Client ID, and JavaScript Web Token (JWT), prefixed with `bearer`. For more information on how to obtain this value, see the [authentication tutorial](http://www.adobe.com/go/launch-authentication-en)."
required: true
schema:
type: string
- name: x-api-key
in: header
description: "The Client ID which can be copied from Adobe Developer Console. For more information on how to obtain this value, see the [authentication tutorial](http://www.adobe.com/go/launch-authentication-en)."
required: true
schema:
type: string
- name: x-gw-ims-org-id
in: header
description: "The Organization ID which can be copied from Adobe Developer Console. For more information on how to obtain this value, see the [authentication tutorial](http://www.adobe.com/go/launch-authentication-en)."
required: true
schema:
type: string
- name: Content-Type
in: header
description: This header must be provided with a value of `application/vnd.api+json`
on all requests that contain a JSON payload.
required: true
schema:
type: string
- name: COMPANY_ID
in: path
description: The ID of the company that you want to define the app configuration
under.
required: true
schema:
type: string
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/appConfigurationsCreatePayload'
required: true
responses:
"201":
x-summary: "Success"
description: A successful response returns the details of the newly created app configuration.
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/appConfigurationsLookupResponse'
x-codegen-request-body-name: body
/properties/{PROPERTY_ID}:
get:
tags:
- Properties
summary: Retrieve a property
description: ">**NOTE**: For more information on using this operation, see the [properties endpoint guide](https://experienceleague.adobe.com/docs/experience-platform/tags/api/endpoints/properties.html) on Experience League."
operationId: retrieveProperty
parameters:
- name: PROPERTY_ID
in: path
description: The ID of the property you want to look up.
required: true
schema:
type: string
- name: Authorization
in: header
description: "The access token generated using your Organization ID, Client ID, and JavaScript Web Token (JWT), prefixed with `bearer`. For more information on how to obtain this value, see the [authentication tutorial](http://www.adobe.com/go/launch-authentication-en)."
required: true
schema:
type: string
- name: x-api-key
in: header
description: "The Client ID which can be copied from Adobe Developer Console. For more information on how to obtain this value, see the [authentication tutorial](http://www.adobe.com/go/launch-authentication-en)."
required: true
schema:
type: string
- name: x-gw-ims-org-id
in: header
description: "The Organization ID which can be copied from Adobe Developer Console. For more information on how to obtain this value, see the [authentication tutorial](http://www.adobe.com/go/launch-authentication-en)."
required: true
schema:
type: string
- name: Accept
in: header
description: "All GET requests must include this header with the value of `application/vnd.api+json;revision=#` (where `#` is the revision number of the resource you want to retrieve, e.g. `1`)."
required: true
schema:
type: string
responses:
"200":
x-summary: "Success"
description: A successful response returns the details of the property.
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/propertiesLookupResponse'
delete:
tags:
- Properties
summary: Delete a property
description: ">**NOTE**: For more information on using this operation, see the [properties endpoint guide](https://experienceleague.adobe.com/docs/experience-platform/tags/api/endpoints/properties.html) on Experience League."
operationId: deleteProperty
parameters:
- name: PROPERTY_ID
in: path
description: The ID of the property you want to delete.
required: true
schema:
type: string
- name: Authorization
in: header
description: "The access token generated using your Organization ID, Client ID, and JavaScript Web Token (JWT), prefixed with `bearer`. For more information on how to obtain this value, see the [authentication tutorial](http://www.adobe.com/go/launch-authentication-en)."
required: true
schema:
type: string
- name: x-api-key
in: header
description: "The Client ID which can be copied from Adobe Developer Console. For more information on how to obtain this value, see the [authentication tutorial](http://www.adobe.com/go/launch-authentication-en)."
required: true
schema:
type: string
- name: x-gw-ims-org-id
in: header
description: "The Organization ID which can be copied from Adobe Developer Console. For more information on how to obtain this value, see the [authentication tutorial](http://www.adobe.com/go/launch-authentication-en)."
required: true
schema:
type: string
responses:
"204":
x-summary: "No content"
description: A successful response returns HTTP status 204 (No Content).
content: {}
patch:
tags:
- Properties
summary: Update a property
description: ">**NOTE**: For more information on using this operation, see the [properties endpoint guide](https://experienceleague.adobe.com/docs/experience-platform/tags/api/endpoints/properties.html) on Experience League."
operationId: updateProperty
parameters:
- name: PROPERTY_ID
in: path
description: The ID of the property you want to update.
required: true
schema:
type: string
- name: Authorization
in: header
description: "The access token generated using your Organization ID, Client ID, and JavaScript Web Token (JWT), prefixed with `bearer`. For more information on how to obtain this value, see the [authentication tutorial](http://www.adobe.com/go/launch-authentication-en)."
required: true
schema:
type: string
- name: x-api-key
in: header
description: "The Client ID which can be copied from Adobe Developer Console. For more information on how to obtain this value, see the [authentication tutorial](http://www.adobe.com/go/launch-authentication-en)."
required: true
schema:
type: string
- name: x-gw-ims-org-id
in: header
description: "The Organization ID which can be copied from Adobe Developer Console. For more information on how to obtain this value, see the [authentication tutorial](http://www.adobe.com/go/launch-authentication-en)."
required: true
schema:
type: string
- name: Content-Type
in: header
description: This header must be provided with a value of `application/vnd.api+json` on all requests that contain a JSON payload.
required: true
schema:
type: string
request
# --- truncated at 32 KB (565 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/adobe-launch/refs/heads/main/openapi/adobe-launch-reactor-api-published-openapi.yml