Skip to content

cdp-api (1.0.0)

All of the CDP APIs are organized around REST - if you've interacted with a RESTful API already, many of the concepts will be familiar to you. All API calls to CDP API should be made to the following endpoints depending on the region. For historical reasons there are REST API endpoints and JSON:API endpoints. JSON:API endpoints are located under "/entities".

Download OpenAPI description
Languages
Servers

https://api-cdp.treasuredata.com/

https://api-cdp.treasuredata.co.jp/

https://api-cdp.eu01.treasuredata.com/

https://api-cdp.ap02.treasuredata.com/

https://api-cdp.ap03.treasuredata.com/

Parent Segment Configurations

Defining a data model for customer data is done by defining parent segments. Parent segments give you an ability to build a single view of a customer, including capturing all interactions, such as attributes and behaviors associated with your brand. In parent segments, you unify your customer data. When the customer data is unified, you can create customer segments without writing any SQL queries. You can personalize customer communications and conversations of any size and in any channel.


Treasure Data is making an effort to use more inclusive language in its product, content, and customer solutions. As we gradually make the move to replace insensitive language beginning in our UI, you may continue to see parent segments in the UI, for example, referenced as master segment in portions of Treasure Data APIs.

Operations

Parent Segments

After you have created the parent segment, you can view data about the parent segment, such as details about a single segment, audience data, the list of segment folders it contains, or a list of parent segments available.

Operations

Segments

In marketing, a segment is a container that groups profiles (usually people) who share one or more common characteristics. In Treasure Data, the parent segment is your total population of people, accounts, or other type of collection and can be both existing and potential customers.

You create segments to divide the population into subgroups of consumers based on some type of shared characteristics. Segments and subsegments enable more specific targeting for your marketing campaigns.


Treasure Data is making an effort to use more inclusive language in its product, content, and customer solutions. As we gradually make the move to replace insensitive language beginning in our UI, you may continue to see parent segments in the UI, for example, referenced as master segment in portions of Treasure Data APIs.

Operations

Folders

Folders are containers in which you can organize information. Nested folders offer flexible organization controls. Large volumes of data and application assets can be organized into multi-nested folders by categories such as geographical markets, brands, and business functions. Granular permissions can be set for each folder to ensure security.

Operations

Activations

Activation is the process that allows marketers to personalize communication to users interested in your brand.

  • Funnel activation — Create a funnel activation for each funnel stage. The activation exports to external marketing tools for campaigns or BI tools for analysis and reporting.
  • Segment activation — Activate the segment data (export) to external tools for activities such as marketing campaigns, business analysis, and social media. Targets include Email Marketing Systems, Marketing Automation Systems, Advertising Platforms, CRM, ERP, Cloud Services, and SFTP.

Known formerly as syndication in Audience Studio Legacy. You may continue to see syndication referenced in Treasure Data APIs.

Operations

Tokens

The Profiles API Token enables your ability to increase personalized content based on detailed customer information. This REST API returns customer data in real-time and updates your segment information. The ability to create a Profiles API token is based on your folder permissions.

You can also use Profiles API Token to personalize your customers' experience on your website. You can combine Treasure Data’s personalization feature with A/B Testing tools such as Adobe Target, Optimizely, or Google Optimize, to determine the version of your website that yields results.

When the underlying personalization workflow completes, the personalization data set is refreshed. You can see a current list of the segments to which a specific profile belongs. You can also see a list of attributes associated with the specific profile.

The parent segment must already exist. The parent segment is the basis for all data accessed by Profiles API Tokens.

The use of the Profiles API Token with your tools requires the use of the Treasure Data JavaScript SDK and support or services consultation.

Operations

Funnels

One of the challenges of targeting customers with relevant campaigns is understanding where they are in their customer journey. Many organizations use the traditional marketing funnel to understand where their customers are in the buying process. Knowing where customers are in the marketing funnel allows organizations to create campaigns and analyze customer behaviors that are specific to individual customers or customer groups. Being able to use all available customer data to accurately identify exactly in which stage customers are in gives marketers a clear advantage.

Treasure Data offers Funnels, a premium subscription feature in Audience Studio, which provides this advantage to its users. Funnels make it easier for marketers to see exactly where their customers are in the buying process, allowing them to create more customer-tailored marketing campaigns using multi-channel activations.

Funnels enables marketers to create and customize a marketing funnel with up to eight stages in the Audience Studio to reflect the exact buying experience of their customers. After the Funnel stages have been created, marketers can further analyze and refine the stages and activate specific stages for campaigns.

Operations

Predictive Segments

Using Treasure Data’s predictive scoring model, based on predictive segments, marketers can predict profile behavior such as who is likely to churn, purchase, click, or convert in the near future.

A predictive model is a set of rules that makes it possible to predict an unmeasured value from other, known values. The form of the rules is suggested by reviewing the data collected. Training is then used to make some predictions. Predictive modeling uses statistics to predict outcomes.

Predictive modeling is a typically used statistical technique to predict future behavior. Predictive modeling solutions analyze historical and current data and the generated model helps predict future outcomes. In predictive modeling, data is collected, a statistical model is formulated, predictions are made, and the model is validated (or revised) as additional data becomes available. For example, risk models can be created to combine member information in complex ways with demographic and lifestyle information from external sources to improve underwriting accuracy. Predictive models analyze past performance to assess how likely a customer is to exhibit a specific behavior in the future. This category also encompasses models that seek out subtle data patterns to answer questions about customer performance, such as fraud detection models. Predictive models often perform calculations during live transactions—for example, to evaluate the risk or opportunity of a given customer or transaction to guide a decision.

Treasure Data’s predictive scoring model uses predictive segments to customize predictive scoring models for a particular segment.

Operations

Journeys

In Audience Studio, a journey represents a timeline of events that can help you motivate a customer’s behavior about your product. After marketers create journey stages, they can further analyze and refine the stages and activate specific stages for campaigns.

Journeys is a premium feature. Contact your Customer Success Representative for more information.

Operations

List journeys

Request

List journeys under the specified folder.

Security
TdApikeyAuth
Query
folderIdinteger(int64)required

Folder ID specifying the folder where journeys are listed

permissionstring

Permission to filter

Enum"view""edit"
curl -i -X GET \
  'https://api-cdp.treasuredata.com/entities/journeys?folderId=0&permission=view' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Returns the list of the journeys

Bodyapplication/json
dataArray of objects(JourneyJsonApiResource)required
data[].​idstring[1-9][0-9]*required
data[].​typestringrequired
Value"journey"
data[].​attributesobjectrequired
data[].​attributes.​audienceIdstring[1-9][0-9]*required
data[].​attributes.​namestringrequired
data[].​attributes.​descriptionstring or nullrequired
data[].​attributes.​statestringrequired
data[].​attributes.​goalobject or null(JourneyCriteria)required
data[].​attributes.​goal.​namestringrequired
data[].​attributes.​goal.​descriptionstring
data[].​attributes.​goal.​segmentIdstring[1-9][0-9]*required
data[].​attributes.​goal.​targetobject(JourneyJumpTarget)
data[].​attributes.​createdAtstring(date-time)required
data[].​attributes.​updatedAtstring(date-time)required
data[].​attributes.​journeyStagesArray of objects(JourneyStageJsonApiResource)[ 1 .. 8 ] charactersrequired
data[].​attributes.​journeyStages[].​idstring[1-9][0-9]*
data[].​attributes.​journeyStages[].​namestringrequired
data[].​attributes.​journeyStages[].​descriptionstring
data[].​attributes.​journeyStages[].​stepsobject or null(JourneyStep)
data[].​attributes.​journeyStages[].​rootStepstring
data[].​attributes.​journeyStages[].​entryCriteriaobject or null(JourneyCriteria)
data[].​attributes.​journeyStages[].​milestoneobject or null(JourneyCriteria)
data[].​attributes.​journeyStages[].​exitCriteriasArray of objects or null(JourneyCriteria)
data[].​attributes.​pausedbooleanrequired
data[].​attributes.​pausedAtstring or null(date-time)required
data[].​attributes.​allowReentrybooleanrequired
data[].​attributes.​reentryModestring
Enum"no_reentry""reentry_unless_goal_achieved""reentry_always"
data[].​attributes.​journeyBundleIdstring or null[1-9][0-9]*
data[].​attributes.​journeyBundleNamestring or null
data[].​attributes.​versionNumberinteger(int64)
data[].​attributes.​journeyBundleDescriptionstring or null
data[].​attributes.​latestExecutionobject or null

The most recent execution of the journey workflow. If no executions have been created, this will be null.

data[].​relationshipsobjectrequired
data[].​relationships.​parentFolderobject(RelationshipsFolderJsonApiResource)
data[].​relationships.​createdByobject(RelationshipsUserJsonApiResource)
data[].​relationships.​updatedByobject(RelationshipsUserJsonApiResource)
includedArray of objects(UserJsonApiResource)required
included[].​idstring[1-9][0-9]*required
included[].​typestringrequired
Value"user"
included[].​attributesobjectrequired
included[].​attributes.​tdUserIdstring[1-9][0-9]*required
included[].​attributes.​namestringrequired
Response
application/json
{ "data": [ {} ], "included": [ {} ] }

Create journey

Request

Create a journey.

Security
TdApikeyAuth
Bodyapplication/vnd.treasuredata.v1+jsonrequired

parameters to create a journey

idstring[1-9][0-9]*required
typestringrequired
Value"journey"
attributesobjectrequired
attributes.​audienceIdstring[1-9][0-9]*required
attributes.​namestringrequired
attributes.​descriptionstring or nullrequired
attributes.​statestringrequired
attributes.​goalobject or null(JourneyCriteria)required
attributes.​goal.​namestringrequired
attributes.​goal.​descriptionstring
attributes.​goal.​segmentIdstring[1-9][0-9]*required
attributes.​goal.​targetobject(JourneyJumpTarget)
attributes.​createdAtstring(date-time)required
attributes.​updatedAtstring(date-time)required
attributes.​journeyStagesArray of objects(JourneyStageJsonApiResource)[ 1 .. 8 ] charactersrequired
attributes.​journeyStages[].​idstring[1-9][0-9]*
attributes.​journeyStages[].​namestringrequired
attributes.​journeyStages[].​descriptionstring
attributes.​journeyStages[].​stepsobject or null(JourneyStep)
attributes.​journeyStages[].​rootStepstring
attributes.​journeyStages[].​entryCriteriaobject or null(JourneyCriteria)
attributes.​journeyStages[].​milestoneobject or null(JourneyCriteria)
attributes.​journeyStages[].​exitCriteriasArray of objects or null(JourneyCriteria)
attributes.​pausedbooleanrequired
attributes.​pausedAtstring or null(date-time)required
attributes.​allowReentrybooleanrequired
attributes.​reentryModestring
Enum"no_reentry""reentry_unless_goal_achieved""reentry_always"
attributes.​journeyBundleIdstring or null[1-9][0-9]*
attributes.​journeyBundleNamestring or null
attributes.​versionNumberinteger(int64)
attributes.​journeyBundleDescriptionstring or null
attributes.​latestExecutionobject or null

The most recent execution of the journey workflow. If no executions have been created, this will be null.

relationshipsobjectrequired
relationships.​parentFolderobject(RelationshipsFolderJsonApiResource)
relationships.​createdByobject(RelationshipsUserJsonApiResource)
relationships.​updatedByobject(RelationshipsUserJsonApiResource)
curl -i -X POST \
  https://api-cdp.treasuredata.com/entities/journeys \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/vnd.treasuredata.v1+json' \
  -d '{
    "id": "string",
    "type": "journey",
    "attributes": {
      "audienceId": "string",
      "name": "string",
      "description": "string",
      "state": "string",
      "goal": {
        "name": "string",
        "description": "string",
        "segmentId": "string",
        "target": {
          "journeyId": "string",
          "journeyStageId": "string",
          "journeyBundleId": "string",
          "stageOrderIndex": 0,
          "jumpReferenceId": "string"
        }
      },
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2019-08-24T14:15:22Z",
      "journeyStages": [
        {
          "id": "string",
          "name": "string",
          "description": "string",
          "steps": {
            "uuid": {
              "type": "WaitStep",
              "name": "string",
              "waitStep": 0,
              "waitStepUnit": "day",
              "next": "string"
            }
          },
          "rootStep": "string",
          "entryCriteria": {
            "name": "string",
            "description": "string",
            "segmentId": "string",
            "target": {
              "journeyId": "string",
              "journeyStageId": "string",
              "journeyBundleId": "string",
              "stageOrderIndex": 0,
              "jumpReferenceId": "string"
            }
          },
          "milestone": {
            "name": "string",
            "description": "string",
            "segmentId": "string",
            "target": {
              "journeyId": "string",
              "journeyStageId": "string",
              "journeyBundleId": "string",
              "stageOrderIndex": 0,
              "jumpReferenceId": "string"
            }
          },
          "exitCriterias": [
            {
              "name": "string",
              "description": "string",
              "segmentId": "string",
              "target": {
                "journeyId": "string",
                "journeyStageId": "string",
                "journeyBundleId": "string",
                "stageOrderIndex": 0,
                "jumpReferenceId": "string"
              }
            }
          ]
        }
      ],
      "paused": true,
      "pausedAt": "2019-08-24T14:15:22Z",
      "allowReentry": true,
      "reentryMode": "no_reentry",
      "journeyBundleId": "string",
      "journeyBundleName": "string",
      "versionNumber": 0,
      "journeyBundleDescription": "string",
      "latestExecution": {
        "workflowId": "string",
        "workflowSessionId": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "finishedAt": "2019-08-24T14:15:22Z",
        "status": "success",
        "workflowAttemptId": "string",
        "audienceId": "string"
      }
    },
    "relationships": {
      "parentFolder": {
        "data": {
          "id": "string",
          "type": "folder-segment"
        }
      },
      "createdBy": {
        "data": {
          "id": "string",
          "type": "user"
        }
      },
      "updatedBy": {
        "data": {
          "id": "string",
          "type": "user"
        }
      }
    }
  }'

Responses

Returns a summary of the journey

Bodyapplication/vnd.treasuredata.v1+json
dataobject(JourneyJsonApiResource)required
data.​idstring[1-9][0-9]*required
data.​typestringrequired
Value"journey"
data.​attributesobjectrequired
data.​attributes.​audienceIdstring[1-9][0-9]*required
data.​attributes.​namestringrequired
data.​attributes.​descriptionstring or nullrequired
data.​attributes.​statestringrequired
data.​attributes.​goalobject or null(JourneyCriteria)required
data.​attributes.​goal.​namestringrequired
data.​attributes.​goal.​descriptionstring
data.​attributes.​goal.​segmentIdstring[1-9][0-9]*required
data.​attributes.​goal.​targetobject(JourneyJumpTarget)
data.​attributes.​createdAtstring(date-time)required
data.​attributes.​updatedAtstring(date-time)required
data.​attributes.​journeyStagesArray of objects(JourneyStageJsonApiResource)[ 1 .. 8 ] charactersrequired
data.​attributes.​journeyStages[].​idstring[1-9][0-9]*
data.​attributes.​journeyStages[].​namestringrequired
data.​attributes.​journeyStages[].​descriptionstring
data.​attributes.​journeyStages[].​stepsobject or null(JourneyStep)
data.​attributes.​journeyStages[].​rootStepstring
data.​attributes.​journeyStages[].​entryCriteriaobject or null(JourneyCriteria)
data.​attributes.​journeyStages[].​milestoneobject or null(JourneyCriteria)
data.​attributes.​journeyStages[].​exitCriteriasArray of objects or null(JourneyCriteria)
data.​attributes.​pausedbooleanrequired
data.​attributes.​pausedAtstring or null(date-time)required
data.​attributes.​allowReentrybooleanrequired
data.​attributes.​reentryModestring
Enum"no_reentry""reentry_unless_goal_achieved""reentry_always"
data.​attributes.​journeyBundleIdstring or null[1-9][0-9]*
data.​attributes.​journeyBundleNamestring or null
data.​attributes.​versionNumberinteger(int64)
data.​attributes.​journeyBundleDescriptionstring or null
data.​attributes.​latestExecutionobject or null

The most recent execution of the journey workflow. If no executions have been created, this will be null.

data.​relationshipsobjectrequired
data.​relationships.​parentFolderobject(RelationshipsFolderJsonApiResource)
data.​relationships.​createdByobject(RelationshipsUserJsonApiResource)
data.​relationships.​updatedByobject(RelationshipsUserJsonApiResource)
includedArray of UserJsonApiResource (object) or JourneyJumpFromJourney (object)required
Any of:
included[].​idstring[1-9][0-9]*required
included[].​typestringrequired
Value"user"
included[].​attributesobjectrequired
included[].​attributes.​tdUserIdstring[1-9][0-9]*required
included[].​attributes.​namestringrequired
Response
application/vnd.treasuredata.v1+json
{ "data": { "id": "string", "type": "journey", "attributes": {}, "relationships": {} }, "included": [ {} ] }

Retrieve summary of specified journey

Request

Retrieve the summary of a specified journey.

Security
TdApikeyAuth
Path
journeyIdinteger(int64)required

Journey ID

curl -i -X GET \
  'https://api-cdp.treasuredata.com/entities/journeys/{journeyId}' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Returns a summary of the journey

Bodyapplication/vnd.treasuredata.v1+json
dataobject(JourneyJsonApiResource)required
data.​idstring[1-9][0-9]*required
data.​typestringrequired
Value"journey"
data.​attributesobjectrequired
data.​attributes.​audienceIdstring[1-9][0-9]*required
data.​attributes.​namestringrequired
data.​attributes.​descriptionstring or nullrequired
data.​attributes.​statestringrequired
data.​attributes.​goalobject or null(JourneyCriteria)required
data.​attributes.​goal.​namestringrequired
data.​attributes.​goal.​descriptionstring
data.​attributes.​goal.​segmentIdstring[1-9][0-9]*required
data.​attributes.​goal.​targetobject(JourneyJumpTarget)
data.​attributes.​createdAtstring(date-time)required
data.​attributes.​updatedAtstring(date-time)required
data.​attributes.​journeyStagesArray of objects(JourneyStageJsonApiResource)[ 1 .. 8 ] charactersrequired
data.​attributes.​journeyStages[].​idstring[1-9][0-9]*
data.​attributes.​journeyStages[].​namestringrequired
data.​attributes.​journeyStages[].​descriptionstring
data.​attributes.​journeyStages[].​stepsobject or null(JourneyStep)
data.​attributes.​journeyStages[].​rootStepstring
data.​attributes.​journeyStages[].​entryCriteriaobject or null(JourneyCriteria)
data.​attributes.​journeyStages[].​milestoneobject or null(JourneyCriteria)
data.​attributes.​journeyStages[].​exitCriteriasArray of objects or null(JourneyCriteria)
data.​attributes.​pausedbooleanrequired
data.​attributes.​pausedAtstring or null(date-time)required
data.​attributes.​allowReentrybooleanrequired
data.​attributes.​reentryModestring
Enum"no_reentry""reentry_unless_goal_achieved""reentry_always"
data.​attributes.​journeyBundleIdstring or null[1-9][0-9]*
data.​attributes.​journeyBundleNamestring or null
data.​attributes.​versionNumberinteger(int64)
data.​attributes.​journeyBundleDescriptionstring or null
data.​attributes.​latestExecutionobject or null

The most recent execution of the journey workflow. If no executions have been created, this will be null.

data.​relationshipsobjectrequired
data.​relationships.​parentFolderobject(RelationshipsFolderJsonApiResource)
data.​relationships.​createdByobject(RelationshipsUserJsonApiResource)
data.​relationships.​updatedByobject(RelationshipsUserJsonApiResource)
includedArray of UserJsonApiResource (object) or JourneyJumpFromJourney (object)required
Any of:
included[].​idstring[1-9][0-9]*required
included[].​typestringrequired
Value"user"
included[].​attributesobjectrequired
included[].​attributes.​tdUserIdstring[1-9][0-9]*required
included[].​attributes.​namestringrequired
Response
application/vnd.treasuredata.v1+json
{ "data": { "id": "string", "type": "journey", "attributes": {}, "relationships": {} }, "included": [ {} ] }

Activation Templates

Marketers find creating an activation challenging because they have to enter technical information they might not understand, which can lead to activations failing due to misconfigurations. Treasure Data solves this problem with the Activation Template. The Activation Template allows data engineers to create templates with pre-populated fields so that the marketer can confidently create an activation.

Operations