Sitecore CDP Audience export REST API (v2)

Use the Audience export REST API to access the output of an audience export job.

After an export job finishes running, its output becomes available at presigned URLs. You can download the output of the export job by opening the URLs. You can access output URLs in two ways:

  • Retrieve the output URLs for the most recently finished export job.
  • First retrieve a list of all finished export jobs of the export, then retrieve the output URLs for any finished export job of your choice.

Note the following:

  • To use this REST API, you must authorize your API requests.
  • All API requests are made in your production environment.

For more information, see the official Sitecore CDP developer documentation.

Authorization

The Audience export REST API uses the OAuth 2.0 standard with JSON web tokens to authorize REST API requests.

Create an API key

  1. In the Sitecore Cloud Portal, open Sitecore CDP.
  2. Click Developer center > API keys > Create.
  3. Name your API key and select a feature. Then, click Save. The API key and the API secret display.
  4. Copy the API key and the API secret because you won't be able to view them again in Sitecore CDP. You'll use them to request an access token.

Request an access token

Run the following cURL command to request an access token. Replace the placeholder values with your API key and API secret.

  curl -X POST 'https://auth.sitecorecloud.io/oauth/token' \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode 'client_id={YOUR_API_KEY}' \
  --data-urlencode 'client_secret={YOUR_API_SECRET}' \
  --data-urlencode 'grant_type=client_credentials' \
  --data-urlencode 'audience=https://api.sitecorecloud.io'

In the response, the access_token key contains the access token:

  {
    "access_token": "{YOUR_ACCESS_TOKEN}",
    "scope": "cdp.audience_exports:r",
    "expires_in": 86400,
    "token_type": "Bearer"
  }

Access tokens expire in 24 hours. If your requests unexpectedly return a response with status 401 Unauthorized, request a new access token by repeating this POST request.

We recommend that you cache the access token for 24 hours to avoid repeating this POST request while the access token is still valid.

Include the access token in the request header

You can now start making REST API requests. You must include the access token in the request header of every request. For example:

curl -X GET '{YOUR_BASE_URL}/v2/...' \
-H 'Authorization: Bearer {YOUR_ACCESS_TOKEN}' \
-H 'Accept: application/json'
Download OpenAPI description
Overview
License Apache 2.0
Languages
Servers
Production server AP
https://api-engage-ap.sitecorecloud.io/
Production server EU
https://api-engage-eu.sitecorecloud.io/
Production server JP
https://api-engage-jpe.sitecorecloud.io/
Production server US
https://api-engage-us.sitecorecloud.io/

Most recent export job

Access output URLs for the most recently finished export job.

Operations

Retrieve output URLs for the most recent export job

Request

Retrieves the presigned URLs where you can download the outputs of the most recently finished export job.

In the response, in every object in the exports array, the url key contains the output URL.

The URLs expire after a limited time. In the response, the expireAt key contains the expiration time. If you don't download the output before the URLs expire, you have to repeat this request to renew the URLs.

Path
audienceExportRefstringrequired

The audience export reference. Set this value either to the friendly ID or the UUID reference of the audience export.

To find these values in Sitecore CDP, click Audience export > Audience export, then the export you want to work with. The friendly ID is on the Details pane. The UUID reference is a 36-character string in the web browser's address bar, starting after audience-export/.

Example friendly ID: daily_loyalty_members

Example UUID reference: d6c5335a-4028-49c0-8d55-a534e89127c9

Example: daily_loyalty_members
curl -i -X GET \
  'https://api-engage-ap.sitecorecloud.io/v2/audienceExports/definitions/{audienceExportRef}/latestExport' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Successful operation

Bodyapplication/json
executionRefstring(uuid)

The export job reference.

Use this as the jobExecutionRef path parameter when you retrieve output URLs for a specific export job.

Example: "fe351e84-3504-4668-8e5f-574d320b9679"
definitionRefstring(uuid)

The UUID reference of the audience export.

Example: "d6c5335a-4028-49c0-8d55-a534e89127c9"
friendlyIdstring

The unique ID of the audience export.

Only lowercase alphanumeric characters and underscores are allowed.

Example: "daily_loyalty_members"
clientKeystring

Your organization's unique and public identifier.

Example: "pqsPERS3lw12v5a9rrHPW1c4hET73GxQ"
expireAtstring(date-time)

The UTC date and time the output URLs expire.

Example: "2024-11-05T12:08:00.145Z"
numberOfFilesinteger(int32)

The total number of files included in the output.

Example: 2
totalSizeKBinteger(int64)

The total size of all the output files in kilobytes.

Example: 54
exportsArray of objects(exports)

A list of all the presigned output URLs for the export job.

Response
application/json
{ "executionRef": "fe351e84-3504-4668-8e5f-574d320b9679", "definitionRef": "d6c5335a-4028-49c0-8d55-a534e89127c9", "friendlyId": "daily_loyalty_members", "clientKey": "pqsPERS3lw12v5a9rrHPW1c4hET73GxQ", "expireAt": "2024-11-05T12:08:00.145Z", "numberOfFiles": 2, "totalSizeKB": 54, "exports": [ {} ] }

Any export job

You can access output URLs for any finished export job by making two API requests. First retrieve a list of all finished export jobs of an audience export, then retrieve the output URLs for the finished export job of your choice.

Operations