Preview sample status endpoint (Profile preview)
Adobe Experience Platform enables you to ingest customer data from multiple sources in order to build a robust, unified profile for each of your individual customers. As data is ingested into Experience Platform, a sample job is run to update the profile count and other Real-Time Customer Profile data-related metrics.
The results of this sample job can be viewed using the /previewsamplestatus endpoint, part of the Real-Time Customer Profile API. This endpoint can also be used to list profile distributions by both dataset and identity namespace, as well as to generate multiple reports in order to gain visibility into the composition of your organization’s Profile store. This guide walks through the steps required to view these metrics using the /previewsamplestatus API endpoint.
Getting started
The API endpoint used in this guide is part of the Real-Time Customer Profile API. Before continuing, please review the getting started guide for links to related documentation, a guide to reading the sample API calls in this document, and important information regarding required headers that are needed to successfully make calls to any Experience Platform API.
Profile fragments vs merged profiles
This guide references both “profile fragments” and “merged profiles”. It is important to understand the difference between these terms before proceeding.
Each individual customer profile is composed of multiple profile fragments that have been merged to form a single view of that customer. For example, if a customer interacts with your brand across several channels, your organization likely has multiple profile fragments related to that single customer appearing in multiple datasets.
When profile fragments are ingested into Experience Platform, they are merged together (based on a merge policy) in order to create a single profile for that customer. Therefore, the total number of profile fragments is likely to always be higher than the total number of merged profiles, as each profile is composed of multiple fragments.
To learn more about profiles and their role within Experience Platform, please begin by reading the Real-Time Customer Profile overview.
How the sample job is triggered
As data enabled for Real-Time Customer Profile is ingested into Experience Platform, it is stored within the Profile data store. When the ingestion of records into the Profile store increases or decreases the total profile count by more than 3%, a sampling job is triggered to update the count. The way in which the sample is triggered depends on the type of ingestion being used:
- For streaming data workflows, a check is done on an hourly basis to determine if the 3% increase or decrease threshold has been met. If it has, a sample job is automatically triggered to update the count.
- For batch ingestion, within 15 minutes of successfully ingesting a batch into the Profile store, if the 3% increase or decrease threshold is met, a job is run to update the count. Using the Profile API you can preview the latest successful sample job, as well as list profile distribution by dataset and by identity namespace.
The profile count and profiles by namespace metrics are also available within the Profiles section of the Experience Platform UI. For information on how to access Profile data using the UI, please visit the Profile UI guide.
View last sample status view-last-sample-status
You can view the details for the last successful sample job that was run for your organization by making a GET request to the /previewsamplestatus endpoint. This report includes the total number of profiles in the sample, as well as the profile count metric, or total number of profiles your organization has within Experience Platform.
The profile count is generated after merging together profile fragments to form a single profile for each individual customer. In other words, when profile fragments are merged together they return a count of “1” profile because they are all related to the same individual.
The profile count also includes both profiles with attributes (record data) as well as profiles containing only time series (event) data, such as Adobe Analytics profiles. The sample job is refreshed regularly as Profile data is ingested in order to provide an up-to-date total number of profiles within Experience Platform.
API format
GET /previewsamplestatus
Request
| code language-shell |
|---|
|
Response
A successful response returns HTTP status 200 and includes the details for the last successful sample job that was run for the organization.
| note note |
|---|
| NOTE |
In this example response, numRowsToRead and totalRows are equal to each other. Depending on the number of profiles your organization has in Experience Platform this may be the case. However, generally these two numbers are different, with numRowsToRead being the smaller number because it represents the sample as a subset of the total number of profiles (totalRows). |
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2 11-row-2 12-row-2 | |
|---|---|
| Property | Description |
numRowsToRead |
The total number of merged profiles in the sample. |
sampleJobRunning |
A boolean value that returns true when a sample job is in progress. Provides transparency into the latency that occurs from when a batch file is uploaded to when it is actually added to the Profile store. |
docCount |
Total document count in database. |
totalFragmentCount |
Total number of profile fragments in the Profile store. |
lastSuccessfulBatchTimestamp |
Last successful batch ingestion timestamp. |
streamingDriven |
This field has been deprecated and contains no significance to the response. |
totalRows |
Total number of merged profiles in Experience Platform, also know as the profile count. |
lastBatchId |
Last batch ingestion ID. |
status |
Status of last sample. |
samplingRatio |
Ratio of merged profiles sampled (numRowsToRead) to total merged profiles (totalRows), expressed as a percentage in decimal format. |
mergeStrategy |
Merge strategy used in the sample. |
lastSampledTimestamp |
Last successful sample timestamp. |
List profile distribution by dataset
You can see the distribution of profiles by dataset by making a GET request to the /previewsamplestatus/report/dataset endpoint.
API format
GET /previewsamplestatus/report/dataset
GET /previewsamplestatus/report/dataset?{QUERY_PARAMETERS}
datedate=2024-12-31Request
The following request uses the date parameter to return the most recent report for the date specified.
| code language-shell |
|---|
|
Response
A successful response returns HTTP status 200 and includes a data array, containing a list of dataset objects.
| note note |
|---|
| NOTE |
| The following response shown has been truncated to show three datasets. |
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2 | |
|---|---|
| Property | Description |
sampleCount |
The total number of sampled merged profiles with this dataset ID. |
samplePercentage |
The sampleCount as a percentage of the total number of sampled merged profiles (the numRowsToRead value as returned in the last sample status), expressed in decimal format. |
fullIDsCount |
The total number of merged profiles with this dataset ID. |
fullIDsPercentage |
The fullIDsCount as a percentage of the total number of merged profiles (the totalRows value as returned in the last sample status), expressed in decimal format. |
name |
The name of the dataset, as provided during dataset creation. |
description |
The description of the dataset, as provided during dataset creation. |
value |
The ID of the dataset. |
streamingIngestionEnabled |
Whether the dataset is enabled for streaming ingestion. |
createdUser |
The user ID of the user who created the dataset. |
reportTimestamp |
The timestamp of the report. If a date parameter was provided during the request, the report returned is for the date provided. If no date parameter is provided, the most recent report is returned. |
List profile distribution by identity namespace
You can perform a GET request to the /previewsamplestatus/report/namespace endpoint to view the breakdown by identity namespace across all of the merged profiles in your Profile store. This includes both the standard identities provided by Adobe, as well as the custom identities defined by your organization.
Identity namespaces are an important component of Adobe Experience Platform Identity Service that serve as indicators of the context to which customer data relates. To learn more, begin by reading the identity namespace overview.
API format
GET /previewsamplestatus/report/namespace
GET /previewsamplestatus/report/namespace?{QUERY_PARAMETERS}
dateYYYY-MM-DD.date=2025-6-20Request
The following request does not specify a date parameter and will return the most recent report.
| code language-shell |
|---|
|
Response
A successful response returns HTTP status 200 and includes a data array, with individual objects containing the details for each namespace. The response shown has been truncated to show four namespaces.
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 | |
|---|---|
| Property | Description |
sampleCount |
The total number of sampled merged profiles in the namespace. |
samplePercentage |
The sampleCount as a percentage of sampled merged profiles (the numRowsToRead value as returned in the last sample status), expressed in decimal format. |
reportTimestamp |
The timestamp of the report. If a date parameter was provided during the request, the report returned is for the date provided. If no date parameter is provided, the most recent report is returned. |
fullIDsFragmentCount |
The total number of profile fragments in the namespace. |
fullIDsCount |
The total number of merged profiles in the namespace. |
fullIDsPercentage |
The fullIDsCount as a percentage of total merged profiles (the totalRows value as returned in the last sample status), expressed in decimal format. |
code |
The code for the namespace. This can be found when working with namespaces using the Adobe Experience Platform Identity Service API and is also referred to as the Identity symbol in the Experience Platform UI. To learn more, visit the identity namespace overview. |
value |
The id value for the namespace. This can be found when working with namespaces using the Identity Service API. |
List the dataset statistics dataset-stats
You can generate a report that gives statistics about the dataset by making a GET request to the /previewsamplestatus/report/dataset_stats endpoint.
API format
GET /previewsamplestatus/report/dataset_stats
Request
| code language-shell |
|---|
|
Response
A successful response returns HTTP status 200 with information about the dataset’s statistics.
| note note |
|---|
| NOTE |
| The following response has been truncated to show three datasets. |
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2 11-row-2 12-row-2 13-row-2 14-row-2 | |
|---|---|
| Property | Description |
120days |
The number of records that will remain in the dataset after a data expiration of 120 days. |
14days |
The number of records that will remain in the dataset after a data expiration of 14 days. |
30days |
The number of records that will remain in the dataset after a data expiration of 30 days. |
365days |
The number of records that will remain in the dataset after a data expiration of 365 days. |
60days |
The number of records that will remain in the dataset after a data expiration of 60 days. |
7days |
The number of records that will remain in the dataset after a data expiration of 7 days. |
90days |
The number of records that will remain in the dataset after a data expiration of 90 days. |
datasetId |
The ID of the dataset. |
datasetType |
The dataset type. This value can be either Profiles or ExperienceEvents. |
percentEvents |
The percentage of Experience Events records that are within the dataset. |
percentProfiles |
The percentage of Profile records that are within the dataset. |
profileFragments |
The total number of profile fragments that exist in the dataset. |
records |
The total number of profile records ingested into the dataset. |
totalProfiles |
The total number of Profiles ingested into the dataset. |
Get the dataset size character-count
You can use this endpoint to get the size of the dataset in bytes on a week-by-week basis.
API format
GET /previewsamplestatus/report/character_count
Request
| code language-shell |
|---|
|
Response
A successful response returns HTTP status 200 with information about the size of the dataset throughout the weeks.
| note note |
|---|
| NOTE |
| The following response has been truncated to show three datasets. |
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 | |
|---|---|
| Property | Description |
datasetId |
The ID of the dataset. |
recordType |
The type of data within the dataset. The record type affects the value of the weeks variable. Supported values include keyvalue and timeseries. |
weeks |
An array that contains the size information about the dataset. For datasets of record type keyvalue, this contains the most recent week as well as the total size of the dataset in bytes. For datasets of record type timeseries, this contains every week from the dataset’s ingestion to the most recent week and the total size of the dataset in bytes for each of those weeks. |
modelName |
The name of the model for the dataset. Possible values include _xdm.context.profile and _xdm.context.experienceevent. |
reportTimestamp |
The date and time the report was generated. |
Next steps
Now that you know how to preview sample data in the Profile store and run multiple reports on the data, you can also use the estimate and preview endpoints of the Segmentation Service API to view summary-level information regarding your segment definitions. This information helps to ensure you are isolating your expected audience. To learn more about working with previews and estimates using the Segmentation API, please visit the preview and estimate endpoints guide.