Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: Reactor Extension packages API
description: "Use the Reactor API to programmatically manage resources and develop tag extensions in Adobe Experience Platform.\n**Related documentation**:\n * [Tags overview and UI documentation](https://adobe.com/go/launch_help_en)\n * [Reactor API guides](https://adobe.com/go/reactor-api-overview)\n\n**API paths**:\n * Reactor Gateway URL: https://<span>reactor.adobe.io\n * Example of a complete path for making a call to `/properties`: https://<span>reactor.adobe.io/properties\n\n**Required headers**:\n * 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).\n * 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`).\n * 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.\n\n- **API error handling**:\n - 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: 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.
paths:
/extension_packages:
get:
tags:
- Extension packages
summary: List extension packages
description: '>**NOTE**: For more information on using this operation, see the [extension packages endpoint guide](https://experienceleague.adobe.com/docs/experience-platform/tags/api/endpoints/extension-packages.html) on Experience League.'
operationId: listExtensionPackages
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: 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: 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: 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: display_name
in: query
description: Filter by `display_name`.
schema:
type: string
- name: status
in: query
description: Filter by `status`.
schema:
type: string
- name: platform
in: query
description: Filter by `platform`.
schema:
type: string
- name: version
in: query
description: Filter by `version`.
schema:
type: string
responses:
'200':
x-summary: Success
description: A successful response returns an array of extension packages, including their IDs and attributes.
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/extensionPackagesListResponse'
post:
tags:
- Extension packages
summary: Create an extension package
description: '>**NOTE**: Instead of a JSON payload, this endpoint expects a file upload via multipart form data. > >For more information on using this operation, see the [extension packages endpoint guide](https://experienceleague.adobe.com/docs/experience-platform/tags/api/endpoints/extension-packages.html) on Experience League.'
operationId: createExtensionPackage
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 `multipart/form-data` for all requests that require archive file uploads.
required: true
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
required:
- package
type: object
properties:
package:
type: string
description: The extension package archive file.
format: binary
required: true
responses:
'202':
x-summary: Success
description: A successful response returns the details of the newly created extension package.
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/extensionPackagesCreateResponse'
/extension_packages/{EXTENSION_PACKAGE_ID}:
get:
tags:
- Extension packages
summary: Retrieve an extension package
description: '>**NOTE**: For more information on using this operation, see the [extension packages endpoint guide](https://experienceleague.adobe.com/docs/experience-platform/tags/api/endpoints/extension-packages.html) on Experience League.'
operationId: retrieveExtensionPackage
parameters:
- name: EXTENSION_PACKAGE_ID
in: path
description: The ID of the extension package 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 extension package.
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/extensionPackagesLookupResponse'
post:
tags:
- Extension packages
summary: Update an extension package
description: 'Only development extension packages can be updated using a new archive file. Once the extension package has been transitioned to either private or public, it can no longer be updated. If you want to add new functionality or fix bugs, you must first create a new extension package with the same name, but with a new version. When this new extension package is transitioned to private or public, it will become available in the marketplace and replace the previous version.
>**NOTE**: For more information on using this operation, see the [extension packages endpoint guide](https://experienceleague.adobe.com/docs/experience-platform/tags/api/endpoints/extension-packages.html) on Experience League.'
operationId: updateExtensionPackage
parameters:
- name: EXTENSION_PACKAGE_ID
in: path
description: The ID of the development extension package 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 `multipart/form-data` for all requests that require archive file uploads.
required: true
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
required:
- package
type: object
properties:
package:
type: string
description: The extension package archive file.
format: binary
required: true
responses:
'200':
x-summary: Success
description: A successful response returns the details of the updated extension package.
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/extensionPackagesLookupResponse'
patch:
tags:
- Extension packages
summary: Privately release or discontinue an extension package
description: "Once you have completed testing your extension package you can release it privately. This makes it available to any property within your company. After you have released it privately, you can begin the public release process by filling out the [Public Release Request Form](https://adobe.allegiancetech.com/cgi-bin/qwebcorporate.dll?idx=7DRB5U).\n \n\nWhen privately releasing or discontinuing an extension package, its ID must be provided in both the request path and the request payload. These IDs must match in order for the call to be successful.\n\n\n>**NOTE**: For more information on using this operation, see the [extension packages endpoint guide](https://experienceleague.adobe.com/docs/experience-platform/tags/api/endpoints/extension-packages.html) on Experience League."
operationId: privateReleaseExtensionPackage
parameters:
- name: EXTENSION_PACKAGE_ID
in: path
description: The ID of the development extension package you want to privately release or discontinue.
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
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/extensionPackagesPatchPayload'
required: true
responses:
'200':
x-summary: Success
description: A successful response returns the details of the updated extension package.
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/extensionPackagesPatchResponse'
x-codegen-request-body-name: body
/extension_packages/{EXTENSION_PACKAGE_ID}/versions:
get:
tags:
- Extension packages
summary: Retrieve an extension package's versions
description: '>**NOTE**: For more information on using this operation, see the [extension packages endpoint guide](https://experienceleague.adobe.com/docs/experience-platform/tags/api/endpoints/extension-packages.html) on Experience League.'
operationId: retrieveExtensionPackageVersion
parameters:
- name: EXTENSION_PACKAGE_ID
in: path
description: The ID of the extension package whose versions you want to retrieve.
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 a list of each version of the extension package.
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/extensionPackagesVersionsListResponse'
components:
schemas:
conditionEntity:
type: object
properties:
id:
type: string
description: The [delegate descriptor ID](https://experienceleague.adobe.com/docs/experience-platform/tags/api/guides/delegate-descriptor-ids.html) for the condition.
name:
type: string
description: The name of the condition. It must be unique from all other extensions and must comply with [naming rules](https://experienceleague.adobe.com/docs/experience-platform/tags/extension-dev/manifest.html?lang=en#naming-rules). This is used by the system as an identifier and should not be changed after the extension is published.
schema:
type: object
properties: {}
description: A [JSON Schema](http://json-schema.org/) object describing the format of a valid settings object that can be saved by the user for this condition. Settings are usually configured and saved by a user using the Data Collection UI. In these cases, the extension's view can take necessary steps to validate user-provided settings. On the other hand, some users choose to use APIs directly without the aid of any UI. The purpose of this schema is to allow Platform to properly validate that settings objects saved by users, regardless of whether a UI is used, are in a format that is compatible with the library module that will act upon the settings object at runtime.
libPath:
type: string
description: The relative path to the condition's library module. It should not not begin with a slash and must reference a JavaScript file with a `.js` extension.
viewPath:
type: string
description: The relative URL to the condition's configuration view. It should be relative to `viewBasePath` and should not begin with a slash. It must reference an HTML file with a `.html` extension. Query strings and fragment identifiers (hashes) are acceptable. If your type's library module does not use any settings from a user, you may exclude this property and Platform will instead display a placeholder stating that no configuration is necessary.
transforms:
type: array
description: A list of transformation objects that should be performed on every corresponding `settings` object when it is emitted into the runtime library. See the section on [transforms](https://experienceleague.adobe.com/docs/experience-platform/tags/extension-dev/manifest.html?lang=en#transforms) in the documentation for more information on why this may be needed and how it is used.
items:
type: object
properties: {}
displayName:
type: string
description: A display name for the condition.
categoryName:
type: string
description: If this field is provided, the `displayName` is be listed under the `categoryName` within the Data Collection UI. All types with the same `categoryName` are listed under the same category. The value of `categoryName` should be human-readable.
extensionPackagesVersionsListResponse:
allOf:
- $ref: '#/components/schemas/extensionPackagesListResponse'
extensionPackagesListResponse:
allOf:
- $ref: '#/components/schemas/dataList'
- type: object
properties:
data:
type: array
- $ref: '#/components/schemas/metaList'
dataLookup:
type: object
properties:
data:
type: object
properties: {}
description: Contains the details of the resource.
metaList:
type: object
properties:
meta:
type: object
properties:
pagination:
type: object
properties:
current_page:
type: integer
description: The current page of the response.
next_page:
type: integer
description: The next page of the response.
prev_page:
type: integer
description: The previous page of the response.
total_pages:
type: integer
description: The total number of pages in the response.
total_count:
type: integer
description: The total number of results in the response.
description: Contains pagination information about the list response.
description: Contains a `pagination` object that provides pagination information about the list response.
dataUpdateExtensionPackage:
required:
- data
type: object
properties:
data:
required:
- id
- meta
- type
type: object
properties:
id:
type: string
description: The ID of extension package being updated.
type:
type: string
description: Must be set to `extension_packages`.
meta:
type: object
properties:
action:
type: string
description: If this property is included with a value of `revise`, the call creates a new revision for the resource instead of overwriting the current revision.
description: 'If this property is included with an `action` property set to `release_private`, the call releases the extension privately.
If this property is included with an `action` property set to `discontinue`, the call discontinues the extension package.'
description: Contains info on the extension package being updated and the action being performed.
extensionPackagesCreateResponse:
allOf:
- $ref: '#/components/schemas/extensionPackagesLookupResponse'
dataElementEntity:
type: object
properties:
id:
type: string
description: The [delegate descriptor ID](https://experienceleague.adobe.com/docs/experience-platform/tags/api/guides/delegate-descriptor-ids.html) for the data element.
name:
type: string
description: The name of the data element. It must be unique from all other extensions and must comply with [naming rules](https://experienceleague.adobe.com/docs/experience-platform/tags/extension-dev/manifest.html?lang=en#naming-rules). This is used by the system as an identifier and should not be changed after the extension is published.
schema:
type: object
properties: {}
description: A [JSON Schema](http://json-schema.org/) object describing the format of a valid settings object that can be saved by the user for this data element. Settings are usually configured and saved by a user using the Data Collection UI. In these cases, the extension's view can take necessary steps to validate user-provided settings. On the other hand, some users choose to use APIs directly without the aid of any UI. The purpose of this schema is to allow Platform to properly validate that settings objects saved by users, regardless of whether a UI is used, are in a format that is compatible with the library module that will act upon the settings object at runtime.
libPath:
type: string
description: The relative path to the data element's library module. It should not not begin with a slash and must reference a JavaScript file with a `.js` extension.
viewPath:
type: string
description: The relative URL to the data element's configuration view. It should be relative to `viewBasePath` and should not begin with a slash. It must reference an HTML file with a `.html` extension. Query strings and fragment identifiers (hashes) are acceptable. If your data element does not use any settings from a user, you may exclude this property and Platform will instead display a placeholder stating that no configuration is necessary.
transforms:
type: array
description: A list of transformation objects that should be performed on every corresponding `settings` object when it is emitted into the runtime library. See the section on [transforms](https://experienceleague.adobe.com/docs/experience-platform/tags/extension-dev/manifest.html?lang=en#transforms) in the documentation for more information on why this may be needed and how it is used.
items:
type: object
properties: {}
displayName:
type: string
description: A display name for the data element.
categoryName:
type: string
description: If this field is provided, the `displayName` is be listed under the `categoryName` within the Data Collection UI. All types with the same `categoryName` are listed under the same category. The value of `categoryName` should be human-readable.
dataList:
type: object
properties:
data:
type: array
description: Contains the results from the listing call.
items:
type: object
properties: {}
actionEntity:
type: object
properties:
id:
type: string
description: The [delegate descriptor ID](https://experienceleague.adobe.com/docs/experience-platform/tags/api/guides/delegate-descriptor-ids.html) for the action.
name:
type: string
description: The name of the action. It must be unique from all other extensions and must comply with [naming rules](https://experienceleague.adobe.com/docs/experience-platform/tags/extension-dev/manifest.html?lang=en#naming-rules). This is used by the system as an identifier and should not be changed after the extension is published.
schema:
type: object
properties: {}
description: A [JSON Schema](http://json-schema.org/) object describing the format of a valid settings object that can be saved by the user for this action. Settings are usually configured and saved by a user using the Data Collection UI. In these cases, the extension's view can take necessary steps to validate user-provided settings. On the other hand, some users choose to use APIs directly without the aid of any UI. The purpose of this schema is to allow Platform to properly validate that settings objects saved by users, regardless of whether a UI is used, are in a format that is compatible with the library module that will act upon the settings object at runtime.
libPath:
type: string
description: The relative path to the action's library module. It should not not begin with a slash and must reference a JavaScript file with a `.js` extension.
viewPath:
type: string
description: The relative URL to the action's configuration view. It should be relative to `viewBasePath` and should not begin with a slash. It must reference an HTML file with a `.html` extension. Query strings and fragment identifiers (hashes) are acceptable. If your action does not use any settings from a user, you may exclude this property and Platform will instead display a placeholder stating that no configuration is necessary.
transforms:
type: array
description: A list of transformation objects that should be performed on every corresponding `settings` object when it is emitted into the runtime library. See the section on [transforms](https://experienceleague.adobe.com/docs/experience-platform/tags/extension-dev/manifest.html?lang=en#transforms) in the documentation for more information on why this may be needed and how it is used.
items:
type: object
properties: {}
displayName:
type: string
description: A display name for the action.
categoryName:
type: string
description: If this field is provided, the `displayName` is be listed under the `categoryName` within the Data Collection UI. All types with the same `categoryName` are listed under the same category. The value of `categoryName` should be human-readable.
extensionPackagesLookupResponse:
allOf:
- $ref: '#/components/schemas/dataLookup'
- type: object
properties:
data:
type: object
allOf:
- $ref: '#/components/schemas/extensionPackagesEntity'
extensionPackagesPatchResponse:
allOf:
- $ref: '#/components/schemas/extensionPackagesLookupResponse'
eventEntity:
type: object
properties:
id:
type: string
description: The [delegate descriptor ID](https://experienceleague.adobe.com/docs/experience-platform/tags/api/guides/delegate-descriptor-ids.html) for the event.
name:
type: string
description: The name of the event. It must be unique from all other extensions and must comply with [naming rules](https://experienceleague.adobe.com/docs/experience-platform/tags/extension-dev/manifest.html?lang=en#naming-rules). This is used by the system as an identifier and should not be changed after the extension is published.
schema:
type: object
properties: {}
description: A [JSON Schema](http://json-schema.org/) object describin
# --- truncated at 32 KB (43 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/adobe-suite/refs/heads/main/openapi/adobe-suite-extension-packages-api-openapi.yml