openapi: 3.2.0 info: title: Real-time Customer Profile Profile preview API description: "Use Real-time Customer Profile to drive coordinated, consistent and relevant experiences for your customers no matter where or when they interact with your brand. Profile provides a holistic view of each individual customer that combines data from multiple channels, including online, offline, CRM, and third-party data.\n- **Related documentation**:\n - [Real-time Customer Profile documentation](http://www.adobe.com/go/profile-overview-en)\n - [Profile API developer guide](http://www.adobe.com/go/profile-developer-guide-en)\n\n- **Visualize API calls with Postman (a free, third-party software)**:\n - [Real-time Customer Profile API Postman collection on GitHub](https://github.com/adobe/experience-platform-postman-samples/blob/master/apis/experience-platform/Real-time%20Customer%20Profile%20API.postman_collection.json)\n - [Video guide for creating the Postman environment](https://video.tv.adobe.com/v/28832)\n - [Steps for importing environments and collections in Postman](https://learning.getpostman.com/docs/postman/collection_runs/using_environments_in_collection_runs/)\n\n- **API paths**:\n - PLATFORM Gateway URL: https://platform.adobe.io/\n - Base path for this API: /data/core/ups\n - Base path for the computed attributes API: /data/core/ca\n - Example of a complete path: https://platform.adobe.io/data/core/ups/config/mergePolicies\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/platform-api-authentication-en).\n - All resources in Experience Platform are isolated to specific virtual sandboxes. All requests to Platform APIs require the header `x-sandbox-name` whose value is the all-lowercase name of the sandbox the operation will take place in (for example, \"prod\"). See the [sandboxes overview](https://adobe.com/go/sandbox-overview-en) for more information.\n - All requests with a payload in the request body (such as POST, PUT, and PATCH calls) must include the header `Content-Type`. Accepted values specific to each call are provided in the call parameters.\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).\n " version: '1.0' servers: - url: https://{environment}.adobe.io/data/core variables: environment: default: platform enum: - platform - platform-stage tags: - name: Profile preview description: Preview the latest sample job showing how many profile fragments and merged profiles are in the Profile store, as well as listing profile distribution by dataset and by identity namespace. For more information on using this set of endpoints, please read the [profile preview endpoint guide](https://experienceleague.adobe.com/docs/experience-platform/profile/api/preview-sample-status.html?). paths: /ups/previewsamplestatus: get: tags: - Profile preview summary: Preview the last successful sample job operationId: previewSampleStatus parameters: - $ref: '#/components/parameters/authorization' - $ref: '#/components/parameters/x-api-key' - $ref: '#/components/parameters/x-gw-ims-org-id' - $ref: '#/components/parameters/x-sandbox-name' responses: 200: x-summary: Success description: Returns the details of the last successful sample that was run for the organization. content: application/json: schema: $ref: '#/components/schemas/PreviewSampleStatusPageResponse' '403': x-summary: Missing access permissions description: You do not have access permissions for this endpoint. content: {} 503: x-summary: Service unavailable description: Service Unavailable content: {} /ups/previewsamplestatus/report/dataset: get: tags: - Profile preview summary: View a report showing the distribution of profiles by dataset operationId: profileDatasetReport parameters: - $ref: '#/components/parameters/authorization' - $ref: '#/components/parameters/x-api-key' - $ref: '#/components/parameters/x-gw-ims-org-id' - $ref: '#/components/parameters/x-sandbox-name' - name: date in: query description: 'Specify the date of the report to be returned. If multiple reports were run on the date, the most recent report for that date will be returned. If a report does not exist for the specified date, a 404 error will be returned. If no date is specified, the most recent report will be returned. Format: YYYY-MM-DD. Example: date=2024-12-31' schema: type: string responses: 200: x-summary: Success description: Returns a report showing profile distribution by dataset for the organization. content: application/json: schema: $ref: '#/components/schemas/DatasetReportResponse' 404: x-summary: Not found description: Dataset report does not exist for this date. content: {} 503: x-summary: Service unavailable description: Service Unavailable content: {} /ups/previewsamplestatus/report/namespace: get: tags: - Profile preview summary: View a report showing the distribution of profiles by namespace operationId: profileNamespaceReport parameters: - $ref: '#/components/parameters/authorization' - $ref: '#/components/parameters/x-api-key' - $ref: '#/components/parameters/x-gw-ims-org-id' - $ref: '#/components/parameters/x-sandbox-name' - name: date in: query description: 'Specify the date of the report to be returned. If multiple reports were run on the date, the most recent report for that date will be returned. If a report does not exist for the specified date, a 404 error will be returned. If no date is specified, the most recent report will be returned. Format: YYYY-MM-DD. Example: date=2024-12-31' schema: type: string responses: 200: x-summary: Success description: Returns a report showing profile distribution by namespace for the organization. content: application/json: schema: $ref: '#/components/schemas/NamespaceReportResponse' 404: x-summary: Not found description: Namespace report does not exist for this date. content: {} 503: x-summary: Service unavailable description: Service Unavailable content: {} components: parameters: x-gw-ims-org-id: name: x-gw-ims-org-id in: header description: The Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en). required: true schema: type: string authorization: name: Authorization in: header description: The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en). required: true schema: type: string x-api-key: name: x-api-key in: header description: The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en). required: true schema: type: string x-sandbox-name: name: x-sandbox-name in: header description: All resources in Experience Platform are isolated to specific virtual sandboxes. Requests to Platform APIs require a header that specifies the name of the sandbox in which the operation will take place. See the [sandboxes overview](https://adobe.com/go/sandbox-overview-en) for more information. required: true schema: type: string schemas: NamespaceDataResponse: type: object properties: value: type: string description: The `id` value for the namespace. example: '6' fullIDsFragmentCount: type: integer description: Number of total fragments within this namespace. format: int64 example: 13141 fullIDsCount: type: integer description: Number of total merged profiles with in this namespace. format: int64 example: 12631 fullIDsPercentage: type: number description: The `fullIDsCount` as a percentage of total merged profiles expressed in decimal format. format: double example: 0.247652 sampleCount: type: integer description: Number of sampled merged profiles with in this namespace. format: int64 example: 12148 samplePercentage: type: number description: The `sampleCount` as a percentage of sampled merged profiles expressed in decimal format. format: double example: 0.296271 code: type: string description: The `code` for the namespace. example: Email reportTimestamp: type: string description: 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. example: 2020-08-01 17:57:58.697000 DatasetDataResponse: type: object properties: value: type: string description: The `id` value for the dataset. example: 5f160106be34361915754b9c fullIDsCount: type: integer description: Number of total merged profiles with this dataset ID. format: int64 example: 20988 fullIDsPercentage: type: number description: The `fullIDsCount` as a percentage of total merged profiles expressed in decimal format. format: double example: 0.411505 sampleCount: type: integer description: Number of sampled merged profiles with this dataset ID. format: int64 example: 12577 samplePercentage: type: number description: The `sampleCount` as a percentage of sampled merged profiles expressed in decimal format. format: double example: 0.306734 name: type: string description: The name of the dataset, as provided during dataset creation. example: CRM Profiles description: type: string description: The description of the dataset, as provided during dataset creation. example: Profiles from the CRM. createdUser: type: string description: The user ID of the user who created the dataset. example: '{CREATED_USER}' streamingIngestionEnabled: type: string description: Whether the dataset is enabled for streaming ingestion. example: '' reportTimestamp: type: string description: 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. example: 2020-08-01 17:57:58.697000 DatasetReportResponse: type: object properties: data: type: array description: The list of dataset objects. items: $ref: '#/components/schemas/DatasetDataResponse' reportTimestamp: type: string description: Date and time when the report was generated. example: 2020-08-01 17:57:58.697000 NamespaceReportResponse: type: object properties: data: type: array description: The list namespace objects. items: $ref: '#/components/schemas/NamespaceDataResponse' reportTimestamp: type: string description: Date and time when the report was generated. example: 2020-08-01 17:57:58.697000 PreviewSampleStatusPageResponse: type: object properties: numRowsToRead: type: string description: Total number of merged profiles in the sample. example: '41003' sampleJobRunning: type: object properties: status: type: boolean example: true submissionTimestamp: type: string example: 2020-08-17 22:14:37 description: 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: type: string description: Total document count in the database. example: '"300803"' totalFragmentCount: type: integer description: Total number of profile fragments in the profile store. format: int64 example: 57429 lastSuccessfulBatchTimestamp: type: string description: Last successful batch ingestion timestamp. streamingDriven: type: string description: Deprecated field. totalRows: type: string description: Total number of merged profiles. example: '51003' lastBatchId: type: string description: Last batch ingestion ID. status: type: string description: Status of last sample. example: TASK_FINISHED samplingRatio: type: number description: Ratio of merged profiles sampled `numRowsToRead` to total merged profiles `totalRows` expressed as a percentage in decimal format. format: double example: 0.803933 mergeStrategy": type: string description: Merge strategy used in last sample. example: timestampOrdered_auto lastSampledTimestamp: type: string description: Last successful sample timestamp. example: 2020-08-01 17:57:57