Skip to main content

Adobe Experience Platform

Adobe Experience Platform (AEP) is the most powerful, flexible, and open system for building and managing complete customer experience solutions. A secure, single system of truth, Experience Platform provides shared, composable, and AI-supported capabilities — including real-time data unification, customer profile management, audience segmentation, and AI-driven insights — that power Adobe Experience Cloud applications. AEP enables organizations to centralize and standardize customer data from any system, unify it into real-time customer profiles, and activate those profiles at scale across applications and channels. With built-in data governance, privacy controls, and predictive AI capabilities, AEP empowers teams to make data-driven decisions quickly and orchestrate personalized customer experiences in real time.

Adobe Experience Platform icon

Power end-to-end data operations for your Adobe Experience Platform API with Nexla. Our bi-directional Adobe Experience Platform connector is purpose-built for Adobe Experience Platform, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Adobe Experience Platform or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Adobe Experience Platform workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Before creating an Adobe Experience Platform credential in Nexla, you must set up an OAuth Server-to-Server integration in the Adobe Developer Console. Adobe Experience Platform uses OAuth 2.0 Server-to-Server authentication for all API access — the previously supported JWT authentication method has been deprecated as of June 30, 2025, and all integrations must use OAuth Server-to-Server credentials.

Required Access

Your Adobe account must have developer and user permissions for an Experience Platform product profile. If your account does not yet have developer access, a system administrator can grant it through the Adobe Admin Console.

To grant developer access (Adobe Admin Console):

  1. Sign in to the Adobe Admin Console with your administrator Adobe ID.

  2. Navigate to Products and select Adobe Experience Platform.

  3. From the Product Profiles tab, select the appropriate product profile (e.g., AEP-Default-All-Users).

  4. Select the Developers tab, then click Add Developer.

  5. Enter the developer's email address or username, and click Save.

Create an OAuth Server-to-Server Integration

Once developer access is confirmed, create an integration project in the Adobe Developer Console to obtain the credentials needed for Nexla.

  1. Navigate to the Adobe Developer Console and sign in with your Adobe ID.

  2. Click Create new project on the Projects overview page. Alternatively, select an existing project if you want to add Experience Platform API access to it.

  3. On the Project Overview screen, click Add API.

  4. In the API catalog, select the product icon for Adobe Experience Platform, then choose Experience Platform API and click Next.

  5. On the authentication configuration screen, select OAuth Server-to-Server as the credential type and click Next.

  6. Select the appropriate product profile (e.g., AEP-Default-All-Users) and click Save Configured API.

    The product profile you select determines what data and operations are accessible via the API. Contact your Adobe Experience Platform administrator to confirm which product profile grants the level of access required for your Nexla integration.

  7. After saving, navigate to Credentials > OAuth Server-to-Server in the left panel of your project. Here you will find the following values needed for the Nexla credential:

    • Client ID — the public identifier for your integration
    • Client Secret — the private secret used to generate access tokens (click Retrieve Client Secret to reveal it)
    • Organization ID — your Adobe IMS Organization ID, also shown as IMS Org ID
    Important

    Copy the Client Secret immediately after retrieving it and store it securely. Treat this value like a password — it grants access to your Adobe Experience Platform organization.

  8. Note your Sandbox Name. By default, Adobe Experience Platform provides a production sandbox and one or more development sandboxes. Each API request is scoped to a specific sandbox. You can find your available sandboxes by navigating to Data Management > Sandboxes in the Experience Platform UI, or by querying the Sandboxes API.

    For production workloads, use the prod sandbox. For development and testing, Adobe recommends using a dedicated development sandbox to avoid affecting production data.

For complete information about setting up OAuth Server-to-Server authentication, see the Adobe Experience Platform API Authentication guide.

Authenticate

Credentials required

2-legged OAuth via Adobe IMS client_credentials grant. Requires a Developer project in Adobe Developer Console with Experience Platform API added and an OAuth Server-to-Server credential.

FieldRequiredSecretDescription
Client IDYesNoOAuth Server-to-Server Client ID from Adobe Developer Console project.
Client SecretYesYesOAuth Server-to-Server Client Secret from Adobe Developer Console project. Treat as a password.
IMS Organization IDYesNoYour Adobe IMS Organization ID (x-gw-ims-org-id). Format: XXXXXXXXXXXXXXXXXXXXXXXX@AdobeOrg. Found in Developer Console under Project Overview.
Sandbox NameYesNoTarget AEP sandbox name (x-sandbox-name). Use 'prod' for the production sandbox or the name of a development sandbox.

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

    Adobe Experience Platform uses OAuth 2.0 Server-to-Server authentication. Nexla uses your Client ID, Client Secret, and Organization ID to request short-lived access tokens automatically — you do not need to generate or manage access tokens manually.

  3. Enter your Client ID in the Client ID field. This value is displayed on the OAuth Server-to-Server credentials page in your Adobe Developer Console project.

  4. Enter your Client Secret in the Client Secret field. This value is available by clicking Retrieve Client Secret on the OAuth Server-to-Server credentials page in your Adobe Developer Console project. Store this value securely, as it cannot be retrieved again after leaving the page.

  5. Enter your Organization ID in the Organization ID (or IMS Org ID) field. This is your Adobe IMS Organization ID, displayed on the OAuth Server-to-Server credentials page and also visible in the top-right corner of the Experience Platform UI.

  6. Enter the name of the Adobe Experience Platform sandbox you want to access in the Sandbox Name field. Use prod for the production sandbox or the name of a development sandbox (e.g., dev or your custom sandbox name).

    All Experience Platform API requests are scoped to a specific sandbox. If you need to access data from multiple sandboxes, create a separate Nexla credential for each sandbox.

  7. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

The Adobe Experience Platform connector enables you to ingest customer profiles, audience segments, datasets, schemas, and other Experience Platform data into Nexla for downstream processing, analysis, or delivery to any destination. To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Adobe Experience Platform connector tile, then select the credential that will be used to connect to the Adobe Experience Platform instance, and click Next; or, create a new Adobe Experience Platform credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Adobe Experience Platform endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

List Datasets

Retrieve dataset metadata from AEP Catalog Service. Returns name, schema, tags, creation/update timestamps, and ingestion status for all datasets in the sandbox.

  • Endpoint: GET https://platform.adobe.io/data/foundation/catalog/dataSets?name={parameter}&connectorId={parameter}
  • Data path: $.*
  • Dataset Name Filter (Optional): Optional. Filter datasets by name (case-sensitive partial match). Leave blank to return all datasets.
  • Connector ID Filter (Optional): Optional. Filter datasets by their source connector ID. Leave blank to return all datasets.

All parameters are optional; omitting filters returns all available records.

List Batches

Retrieve batch ingestion records from AEP Catalog Service. Returns status, record counts, dataset linkage, and error information for all ingestion batches in the sandbox.

  • Endpoint: GET https://platform.adobe.io/data/foundation/catalog/batches?status={parameter}&dataSet={parameter}&startAfter={parameter}&startBefore={parameter}
  • Data path: $.*
  • Batch Status Filter (Optional): Filter batches by ingestion status. Leave blank to retrieve all statuses. Accepted values: 'All (no filter)', 'Success', 'Failed', 'Processing'.
  • Dataset ID Filter (Optional): Optional. Return only batches that ingested data into this specific dataset ID. Leave blank for all datasets.
  • Started After (epoch ms) (Optional): Return only batches that started on or after this Unix epoch timestamp in milliseconds. Use {now-7} macro (converted to ms) for incremental pulls.

All parameters are optional; omitting filters returns all available records.

List XDM Schemas

Retrieve XDM schema definitions from the AEP Schema Registry. Returns tenant and global schemas including class, mixins, and field group metadata.

  • Endpoint: GET https://platform.adobe.io/data/foundation/schemaregistry/{parameter}/schemas?orderby=title
  • Data path: $.results[*]
  • Schema Container (Optional): The Schema Registry container to query. Use 'tenant' for your organization's custom schemas, 'global' for Adobe-standard schemas. Accepted values: 'Tenant (custom org schemas)', 'Global (Adobe standard schemas)'.

All parameters are optional; omitting filters returns all available records.

List Sandboxes

Retrieve all sandbox environments for the IMS organization. Returns sandbox name, title, type (production/development), region, and status.

  • Endpoint: GET https://platform.adobe.io/data/foundation/sandbox-management/sandboxes?orderBy=name
  • Data path: $.sandboxes[*]

All parameters are optional; omitting filters returns all available records.

List Query Service Queries

Retrieve SQL query execution history from AEP Query Service. Returns query text, state (SUCCESS/FAILED/IN_PROGRESS), elapsed time, row counts, and linked dataset references.

  • Endpoint: GET https://platform.adobe.io/data/foundation/query/queries?orderby=-created&excludeSoftDeleted={parameter}&property={parameter}
  • Data path: $.queries[*]
  • Property Filter (Optional): Optional. Filter queries using the Query Service property filter syntax. Example: created>2024-01-01 or state==SUCCESS. Leave blank for no filter.
  • Exclude Soft-Deleted (Optional): If true, excludes queries that have been soft-deleted from the results. Accepted values: 'true (exclude deleted)', 'false (include deleted)'.

All parameters are optional; omitting filters returns all available records.

List Segment Definitions

Retrieve audience segment definitions from AEP Segmentation Service. Returns segment name, description, PQL filter expression, merge policy, and evaluation type (batch/streaming/edge).

  • Endpoint: GET https://platform.adobe.io/data/core/ups/segment/definitions?sort={parameter}
  • Data path: $.segments[*]
  • Sort Order (Optional): Sort order for segment definitions. Use field name with optional +/- prefix for direction. Accepted values: 'Newest First', 'Oldest First', 'Recently Updated', 'Name A-Z'.

All parameters are optional; omitting filters returns all available records.

List Identity Namespaces

Retrieve all identity namespaces for the IMS org from AEP Identity Service. Returns namespace code, name, type (COOKIE, CROSS_DEVICE, DEVICE, EMAIL, MOBILE, PHONE), and custom/standard flag.

  • Endpoint: GET https://platform.adobe.io/data/core/idnamespace/identities
  • Data path: $[*]

All parameters are optional; omitting filters returns all available records.

List Segment Export Jobs

Retrieve segment export job history from AEP Segmentation Service. Returns job status, dataset destination, and record counts. Use to audit profile exports for downstream activation or analytics.

  • Endpoint: GET https://platform.adobe.io/data/core/ups/export/jobs?status={parameter}
  • Data path: $.records[*]
  • Export Job Status Filter (Optional): Optional. Filter export jobs by status. Leave blank to retrieve all statuses. Accepted values: 'All (no filter)', 'New', 'Succeeded', 'Failed', 'Processing'.

All parameters are optional; omitting filters returns all available records.

List Batch Files (Data Access)

Retrieve all dataset files under a specific ingestion batch via the AEP Data Access API. Returns file IDs, sizes, and download hrefs for downstream export or validation pipelines.

  • Endpoint: GET https://platform.adobe.io/data/foundation/export/batches/{parameter}/files
  • Data path: $.data[*]
  • Batch ID (Required): The AEP batch ingestion ID to retrieve files for. Found in catalog batch metadata or from the list_batches endpoint.

The Batch ID parameter is required to identify the specific resource to retrieve.

List Flow Service Flows

Retrieve all data flows (source-to-destination pipelines) from AEP Flow Service. Returns flow name, state (enabled/disabled), schedule, source and target connection IDs, and last run details.

  • Endpoint: GET https://platform.adobe.io/data/foundation/flowservice/flows?count=false&orderby=-updatedAt&property={parameter}
  • Data path: $.items[*]
  • Property Filter (Optional): Optional. Filter flows by property. Example: state==enabled. Leave blank for all flows.

All parameters are optional; omitting filters returns all available records.

Get Dataset by ID

Retrieve detailed metadata for a specific dataset including schema reference, tags, files, and ingestion status.

  • Endpoint: GET https://platform.adobe.io/data/foundation/catalog/dataSets/{parameter}
  • Data path: $
  • Dataset ID (Required): The AEP dataset ID to retrieve metadata for.

The Dataset ID parameter is required to identify the specific resource to retrieve.

Get Dataset Credentials

Retrieve access credentials (SAS token or presigned URL) for direct data lake access to a dataset.

  • Endpoint: GET https://platform.adobe.io/data/foundation/catalog/dataSets/{parameter}/credentials
  • Data path: $
  • Dataset ID (Required): The AEP dataset ID to retrieve credentials for direct data lake access.

The Dataset ID parameter is required to identify the specific resource to retrieve.

Get Batch by ID

Retrieve detailed batch information including status, record counts, and errors for a specific ingestion batch.

  • Endpoint: GET https://platform.adobe.io/data/foundation/catalog/batches/{parameter}
  • Data path: $
  • Batch ID (Required): The AEP batch ID to retrieve detailed information for.

The Batch ID parameter is required to identify the specific resource to retrieve.

List Catalog Tags

Retrieve all tag values within a namespace for resource organization and dataset classification.

  • Endpoint: GET https://platform.adobe.io/data/foundation/catalog/tags/{parameter}
  • Data path: $
  • Tag Namespace (Required): The tag namespace to retrieve values from.

The Tag Namespace parameter is required to identify the specific resource to retrieve.

List Merge Policies

Retrieve merge policies defining profile fragment unification rules from AEP Real-time Customer Profile.

  • Endpoint: GET https://platform.adobe.io/data/core/ups/config/mergePolicies
  • Data path: $.children[*]

All parameters are optional; omitting filters returns all available records.

Get Profile Entity

Retrieve unified customer profile by identity (email, ECID, etc.) for Customer 360 lookups.

  • Endpoint: GET https://platform.adobe.io/data/core/ups/access/entities?entityId={parameter}&entityIdNS={parameter}&schema.name=_xdm.context.profile
  • Data path: $
  • Entity ID (Required): The identity value to look up (e.g., email address, ECID).
  • Entity ID Namespace (Required): The identity namespace for the entity ID (e.g., email, ECID, phone).

The Entity ID parameter is required to identify the specific resource to retrieve.

List Computed Attributes

Retrieve derived profile attributes (lifetime value, churn score, etc.) from AEP Real-time Customer Profile.

  • Endpoint: GET https://platform.adobe.io/data/core/ups/config/computedAttributes
  • Data path: $.children[*]

All parameters are optional; omitting filters returns all available records.

List Edge Projection Configurations

Retrieve edge projection settings for profile replication to edge network for low-latency activation.

  • Endpoint: GET https://platform.adobe.io/data/core/ups/config/projections
  • Data path: $.children[*]

All parameters are optional; omitting filters returns all available records.

Get Schema by ID

Retrieve complete XDM schema definition with all field groups for schema-driven data validation and transformation.

  • Endpoint: GET https://platform.adobe.io/data/foundation/schemaregistry/{parameter}/schemas/{parameter}
  • Data path: $
  • Schema Container (Optional): The Schema Registry container. Use 'tenant' for custom schemas, 'global' for Adobe-standard schemas. Accepted values: 'Tenant (custom org schemas)', 'Global (Adobe standard schemas)'.
  • Schema ID (Required): The URL-encoded schema $id or meta:altId to retrieve.

The Schema ID parameter is required to identify the specific resource to retrieve.

List XDM Classes

Retrieve XDM class definitions (Profile, ExperienceEvent, etc.) from the AEP Schema Registry.

  • Endpoint: GET https://platform.adobe.io/data/foundation/schemaregistry/{parameter}/classes?orderby=title
  • Data path: $.results[*]
  • Schema Container (Optional): The Schema Registry container. Use 'tenant' for custom classes, 'global' for Adobe-standard classes. Accepted values: 'Tenant (custom org classes)', 'Global (Adobe standard classes)'.

All parameters are optional; omitting filters returns all available records.

List Field Groups (Mixins)

Retrieve field group definitions extending XDM classes from the AEP Schema Registry.

  • Endpoint: GET https://platform.adobe.io/data/foundation/schemaregistry/{parameter}/mixins?orderby=title
  • Data path: $.results[*]
  • Schema Container (Optional): The Schema Registry container. Use 'tenant' for custom field groups, 'global' for Adobe-standard field groups. Accepted values: 'Tenant (custom org field groups)', 'Global (Adobe standard field groups)'.

All parameters are optional; omitting filters returns all available records.

List Data Types

Retrieve custom data type definitions from the AEP Schema Registry.

  • Endpoint: GET https://platform.adobe.io/data/foundation/schemaregistry/{parameter}/datatypes?orderby=title
  • Data path: $.results[*]
  • Schema Container (Optional): The Schema Registry container. Use 'tenant' for custom data types, 'global' for Adobe-standard data types. Accepted values: 'Tenant (custom org data types)', 'Global (Adobe standard data types)'.

All parameters are optional; omitting filters returns all available records.

List Union Schemas

Retrieve combined schemas for Profile and ExperienceEvent classes to query available fields for segment building.

  • Endpoint: GET https://platform.adobe.io/data/foundation/schemaregistry/tenant/unions
  • Data path: $.results[*]

All parameters are optional; omitting filters returns all available records.

Get Segment Definition by ID

Retrieve segment PQL expression and evaluation settings for a specific segment definition.

  • Endpoint: GET https://platform.adobe.io/data/core/ups/segment/definitions/{parameter}
  • Data path: $
  • Segment ID (Required): The segment definition ID to retrieve.

The Segment ID parameter is required to identify the specific resource to retrieve.

Get Export Job by ID

Retrieve export job status and result dataset references for monitoring audience exports.

  • Endpoint: GET https://platform.adobe.io/data/core/ups/export/jobs/{parameter}
  • Data path: $
  • Export Job ID (Required): The export job ID to retrieve status and results for.

The Export Job ID parameter is required to identify the specific resource to retrieve.

List Segment Jobs

Retrieve segment evaluation execution history to track batch vs. streaming segment processing performance.

  • Endpoint: GET https://platform.adobe.io/data/core/ups/segment/jobs
  • Data path: $.children[*]

All parameters are optional; omitting filters returns all available records.

List Segment Previews

Retrieve audience size preview jobs for estimating segment size before activation for campaign planning.

  • Endpoint: GET https://platform.adobe.io/data/core/ups/preview
  • Data path: $.children[*]

All parameters are optional; omitting filters returns all available records.

List Segment Estimates

Retrieve segment estimate calculation jobs for fast audience counts for dashboard metrics.

  • Endpoint: GET https://platform.adobe.io/data/core/ups/estimate
  • Data path: $

All parameters are optional; omitting filters returns all available records.

List Connections

Retrieve all source and destination connections from AEP Flow Service for auditing data integration points.

  • Endpoint: GET https://platform.adobe.io/data/foundation/flowservice/connections?count=false&orderby=-updatedAt&property={parameter}
  • Data path: $.items[*]
  • Property Filter (Optional): Optional. Filter connections by property. Example: connectionSpec.id==some-spec-id. Leave blank for all connections.

All parameters are optional; omitting filters returns all available records.

Get Connection by ID

Retrieve connection configuration and authentication details for debugging specific connection issues.

  • Endpoint: GET https://platform.adobe.io/data/foundation/flowservice/connections/{parameter}
  • Data path: $
  • Connection ID (Required): The Flow Service connection ID to retrieve.

The Connection ID parameter is required to identify the specific resource to retrieve.

List Connection Specs

Retrieve available connector specifications (Salesforce, S3, etc.) for discovering supported source/destination systems.

  • Endpoint: GET https://platform.adobe.io/data/foundation/flowservice/connectionSpecs
  • Data path: $.items[*]

All parameters are optional; omitting filters returns all available records.

List Flow Specs

Retrieve flow configuration templates for standardizing flow configurations across environments.

  • Endpoint: GET https://platform.adobe.io/data/foundation/flowservice/flowSpecs
  • Data path: $.items[*]

All parameters are optional; omitting filters returns all available records.

List Flow Runs

Retrieve flow execution history with success/failure metrics for monitoring ETL pipeline execution.

  • Endpoint: GET https://platform.adobe.io/data/foundation/flowservice/runs?property={parameter}
  • Data path: $.items[*]
  • Property Filter (Optional): Optional. Filter runs by property. Example: flowId==some-flow-id. Leave blank for all runs.

All parameters are optional; omitting filters returns all available records.

Get Flow Run by ID

Retrieve detailed error messages for a specific flow execution for root cause analysis of pipeline failures.

  • Endpoint: GET https://platform.adobe.io/data/foundation/flowservice/runs/{parameter}
  • Data path: $
  • Flow Run ID (Required): The flow run ID to retrieve detailed execution information for.

The Flow Run ID parameter is required to identify the specific resource to retrieve.

List Query Templates

Retrieve parameterized SQL templates for reusable queries and common analytics patterns.

  • Endpoint: GET https://platform.adobe.io/data/foundation/query/query-templates?orderby=-created
  • Data path: $.templates[*]

All parameters are optional; omitting filters returns all available records.

List Query Schedules

Retrieve scheduled query (CTAS) configurations for monitoring recurring data transformation jobs.

  • Endpoint: GET https://platform.adobe.io/data/foundation/query/schedules?orderby=-created
  • Data path: $.schedules[*]

All parameters are optional; omitting filters returns all available records.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Adobe Experience Platform data sources can also be manually configured to ingest data from any valid Adobe Experience Platform API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Adobe Experience Platform exposes several base URLs depending on the service being accessed. Common base URLs include:

  • Platform API (general): https://platform.adobe.io
  • Catalog Service (datasets, batches): https://platform.adobe.io/data/foundation/catalog
  • Real-Time Customer Profile: https://platform.adobe.io/data/core/ups
  • Segmentation Service: https://platform.adobe.io/data/core/ups/segment/definitions
  • Schema Registry: https://platform.adobe.io/data/foundation/schemaregistry
  • Query Service: https://platform.adobe.io/data/foundation/query

For example, to retrieve a list of datasets in your sandbox, the full endpoint URL would be https://platform.adobe.io/data/foundation/catalog/dataSets. Adobe Experience Platform APIs typically accept ISO 8601 date-time strings (e.g., 2024-01-01T00:00:00Z) or Unix epoch milliseconds in date/time macros, which are particularly useful for endpoints that filter datasets or batches by creation or modification date. Lookup-based macros are useful for referencing Adobe Experience Platform resource IDs — such as dataset IDs, segment IDs, or schema IDs — stored in another Nexla data source.

Setting the path to data is essential for Adobe Experience Platform API responses, which often include wrapper objects, pagination metadata (e.g., _links.next), request IDs, and total record counts alongside the actual data. For example, a Catalog Service request to list datasets returns a JSON object where each key is a dataset ID, while the Segmentation API returns segments in a segments array — so the path to the relevant data would be $.segments[*].

Nexla automatically provides the Authorization (Bearer token), x-api-key (Client ID), x-gw-ims-org-id (Organization ID), and x-sandbox-name headers on every request using the values from your Adobe Experience Platform credential — you do not need to include them in the Request Headers field or the URL. Additional headers you may need to include manually are x-request-id (a custom UUID value you can include to trace requests in Adobe logs), Accept (required by some APIs — e.g., application/vnd.adobe.xed+json for Schema Registry requests), and Content-Type (required for POST requests, e.g., application/json).

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Adobe Experience Platform data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the Adobe Experience Platform destination, and select the Send to Destination option from the menu. Select the Adobe Experience Platform connector from the list of available destination connectors, then select the credential that will be used to connect to the Adobe Experience Platform organization, and click Next; or, create a new Adobe Experience Platform credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Adobe Experience Platform endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

Create Query (Run SQL)

Submit a SQL query for execution in AEP Query Service. Nexset must include: dbName (e.g. 'prod:all') and sql. Optional: name, description, insertIntoParameters for CTAS jobs.

    All parameters are optional; omitting filters returns all available records.

    Create Ingestion Batch

    Initialize a new batch ingestion job in AEP Data Ingestion Service. Nexset must include: datasetId and inputFormat.format (parquet or json). Returns a batchId for file upload.

      All parameters are optional; omitting filters returns all available records.

      Create Segment Definition

      Create a new audience segment definition in AEP Segmentation Service. Nexset must include: name, expression.type ('PQL/text'), expression.value (PQL filter), schema.name (XDM class), mergePolicyId.

        All parameters are optional; omitting filters returns all available records.

        Upload File to Batch

        Upload Parquet or JSON file to a batch for ingestion. Core batch data load operation for ETL pipelines.

        • Batch ID (Required): The batch ID to upload the file to (from create_batch endpoint).
        • Dataset ID (Required): The target dataset ID for the file upload.
        • File Name (Required): The name of the file being uploaded (e.g., data.parquet, records.json).

        The Batch ID parameter is required to identify the specific resource to retrieve.

        Complete Batch Ingestion

        Signal batch completion to trigger validation and commit. Finalize batch ingestion workflow after all file uploads.

        • Batch ID (Required): The batch ID to signal completion for.

        The Batch ID parameter is required to identify the specific resource to retrieve.

        Manual configuration

        Adobe Experience Platform destinations can also be manually configured to send data to any valid Adobe Experience Platform API endpoint — common use cases include ingesting records into datasets via the Batch Ingestion API, upserting Real-Time Customer Profile records, or triggering segment evaluations via the Segmentation API. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

        Common destination endpoint patterns include:

        • Batch Ingestion — Create Batch: https://platform.adobe.io/data/foundation/import/batches
        • Batch Ingestion — Upload File to Batch: https://platform.adobe.io/data/foundation/import/batches/{'{batchId}'}/datasets/{'{datasetId}'}/files/{'{fileName}'}
        • Real-Time Customer Profile — Upsert Entity: https://platform.adobe.io/data/core/ups/models/{'{entityType}'}/{'{entityId}'}
        • Segmentation — Create Segment Definition: https://platform.adobe.io/data/core/ups/segment/definitions

        For update or upsert operations, include the ID of the object to be updated at the end of the URL where required by the specific API endpoint. Adobe Experience Platform APIs typically accept JSON or JSON Lines (newline-delimited JSON) for data ingestion — when using the Batch Ingestion API to upload data to a dataset, the accepted format depends on the dataset schema (Parquet or JSON); for direct API calls such as Profile upserts or segment operations, use application/json. Nexla automatically provides the required Adobe Experience Platform headers — Authorization, x-api-key, x-gw-ims-org-id, and x-sandbox-name — from the credential configuration; headers you may need to specify manually include Content-Type (e.g., application/json for JSON payloads, application/octet-stream for binary file uploads to the Batch Ingestion API) and x-request-id (a custom UUID you can include to trace requests in Adobe's audit logs).

        Adobe Experience Platform Batch Ingestion is a two-step process: first create a batch, then upload data files to that batch, and finally signal completion. When a batch is created, the API returns a batch ID in the response — enabling the Response Webhook option (Would you like to process the API response as a Nexla Webhook source?) captures this response as a Nexla webhook data source, allowing you to use that batch ID in subsequent Nexla flows to upload data files or signal batch completion.

        Adobe Experience Platform's Batch Ingestion API supports large file uploads, but individual API calls to the Profile API or Segmentation API have size limits. For bulk data loads to datasets, consider using the Batch Ingestion workflow. For Profile upserts, keep individual payloads manageable and use record batching to group multiple records per API call.

        Save & activate

        Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To begin sending data to the configured Adobe Experience Platform endpoint, open the destination resource menu, and select Activate.

        The Nexset data will not be sent to Adobe Experience Platform until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.