Skip to main content

Adobe Experience Platform 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. Follow the instructions below to create a new data flow that ingests data from an Adobe Experience Platform source in Nexla.
aep_api.png

Adobe Experience Platform

Create a New Data Flow

  1. To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Then, select the desired flow type from the list, and click the Create button.

  2. Select the Adobe Experience Platform connector tile from the list of available connectors. 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.

  3. In Nexla, Adobe Experience Platform data sources can be created using pre-built endpoint templates, which expedite source setup for common Adobe Experience Platform endpoints.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Adobe Experience Platform endpoints. Each template is designed specifically for the corresponding Adobe Experience Platform endpoint, making data source setup easy and efficient.

Endpoint Settings

  • 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. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.

    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.

Endpoint Testing

Once the selected endpoint template has been configured, Nexla can retrieve a sample of the data that will be fetched according to the current settings. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Configure Manually

Adobe Experience Platform sources can be manually configured to ingest data from any valid Adobe Experience Platform API endpoint.

API Endpoint URL

  1. Enter the URL of the Adobe Experience Platform API endpoint from which this source will fetch data in the Set API URL field. This should be the complete URL including the protocol (https://) and any required path parameters.

    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

    All Adobe Experience Platform API requests require sandbox scoping via request headers. Nexla automatically includes your sandbox name from the credential configuration as the x-sandbox-name header, so you do not need to include it manually in the URL.

Date/Time Macros (API URL)

Optional

Optionally, the API URL can be customized using macros — all macros added to the API URL will be converted into values when Nexla executes the API call. Macros are dynamic placeholders that allow you to create flexible API endpoints that can adapt to different time periods or data requirements.

Macros are particularly useful for Adobe Experience Platform APIs that accept date range parameters, such as filtering datasets or batches by creation or modification date.

  1. To add a macro, type { at the appropriate position in the API URL (within the Set API URL field), and select the desired macro from the dropdown list.

    • {now} – The current datetime
    • {now-1} – The datetime one time unit before the current datetime
    • {now+1} – The datetime one time unit after the current datetime
    • custom – Datetime macros can reference any number of time units before or after the current datetime — for example, enter (now-7) to indicate the datetime seven time units before the current datetime
  2. Select the format that will be applied to datetime macros from the Date Format for Date/Time Macro pulldown menu. This format will be applied to the base datetime value of the macro — i.e., the value of {now} in {now-1}. Adobe Experience Platform APIs typically accept ISO 8601 date-time strings (e.g., 2024-01-01T00:00:00Z) or Unix epoch milliseconds.

  3. Select the datetime unit that will be used to perform mathematical operations in the included macro(s) from the Time Unit for Operations pulldown menu — for example, for the macro {now-1}, when Day is selected, {now-1} will be converted to the datetime one day before the current datetime.

Lookup-Based Macros (API URL)

Optional

Column values from existing lookups can also be included as macros in the API URL. Lookup-based macros allow you to reference data from previously configured data sources or lookups, enabling dynamic API endpoints that can adapt based on existing data.

Lookup-based macros are useful when you need to reference Adobe Experience Platform resource IDs — such as dataset IDs, segment IDs, or schema IDs — that are stored in another Nexla data source.

  1. To include a lookup column value macro, select the relevant lookup from the Add Lookups to Supported Macros pulldown menu.

  2. Type { at the appropriate position in the API URL, and select the lookup column-based macro from the dropdown list. Lookup-based macros are automatically populated into the macro list when a lookup is selected in the Add Lookups to Supported Macros pulldown menu.

Path to Data

Optional

If only a subset of the data returned by the API endpoint is needed, you can designate the part of the response that should be included in the Nexset(s) produced from this source by specifying the path to the relevant data within the response. Adobe Experience Platform API responses typically return data wrapped in objects with metadata, pagination cursors, and links.

For example, a request to the Catalog Service to list datasets returns a JSON object where each key is a dataset ID and the value is the dataset metadata. The Segmentation API returns segments in a segments array within the response body.

Path to Data is essential for Adobe Experience Platform API responses, which often include wrapper objects, pagination metadata, and response envelopes. Specifying the correct path ensures Nexla correctly parses each record from the response.

  • To specify which data should be treated as relevant in responses from this source, enter the path to the relevant data in the Set Path to Data in Response field.

    • For responses in JSON format, enter the JSON path that points to the object or array that should be treated as relevant data. JSON paths use dot notation (e.g., $.data[*] to access an array of items within a data object, or $.segments[*] to access the segments array from the Segmentation API).
    Path to Data Example:

    If the Segmentation API response includes a top-level segments array containing segment definitions, the path to the relevant data would be entered as $.segments[*].

Autogenerate Path Suggestions

Nexla can also autogenerate data path suggestions based on the response from the API endpoint. These suggested paths can be used as-is or modified to exactly suit your needs.

  • To use this feature, click the Test button next to the Set API URL field to fetch a sample response from the API endpoint. Suggested data paths generated based on the content and format of the response will be displayed in the Suggestions box below the Set Path to Data in Response field.

  • Click on a suggestion to automatically populate the Set Path to Data in Response field with the corresponding path. The populated path can be modified directly within the field if further customization is needed.

    PathSuggestions.png

Metadata

If metadata is included in the response but is located outside of the defined path to relevant data, you can configure Nexla to include this data as common metadata in each record. Adobe Experience Platform API responses often include pagination details, request IDs, and total record counts alongside the actual data.

Metadata paths are particularly useful for preserving Adobe Experience Platform response context like total record counts, pagination cursors (e.g., _links.next), or request correlation IDs that apply to all records in the response.

  • To specify the location of metadata that should be included with each record, enter the path to the relevant metadata in the Path to Metadata in Response field.

    • For responses in JSON format, enter the JSON path to the object or array that contains the metadata.

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this source, enter the headers and corresponding values as comma-separated pairs in the Request Headers field (e.g., header1:value1,header2:value2).

    Adobe Experience Platform APIs require several standard headers on every request. Nexla automatically provides the Authorization (Bearer token), x-api-key (Client ID), x-gw-ims-org-id (Organization ID), and x-sandbox-name headers from the credential configuration. 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)
    • Content-Type — Required for POST requests (e.g., application/json)

    You do not need to include Authorization, x-api-key, x-gw-ims-org-id, or x-sandbox-name in the Request Headers field — these are handled automatically by Nexla using the values from your Adobe Experience Platform credential.

Endpoint Testing

After configuring all settings for the selected endpoint, Nexla can retrieve a sample of the data that will be fetched according to the current configuration. This allows you to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched and displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Save & Activate the Source

  1. Once all of the relevant steps in the above sections have been completed, 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.