Get Credentials

Get credentials

After signing in, you can create credentials that can be used to call the Platform APIs.

Flow Service API - Destinations (1.0.0)

Download OpenAPI specification:Download

Use the Adobe Experience Platform Flow Service API to connect and activate data to various destinations within and outside of Adobe Experience Platform. This API reference is centered on exporting data to batch destinations like Amazon S3, SFTP, Azure Blob.

NOTE: Refer to Flow Service API - Sources if you are looking for API documentation to perform operations on sources in Experience Platform.

(NEW) Interactive API documentation

You can now interact with the Experience Platform API endpoints directly from this API reference page. Get your authentication credentials and use the Try it functionality in the right rail. Note that by using this functionality, you are making real API calls. Keep this in mind when you interact with production sandboxes.

Glossary

This section describes the terms that you will be encountering in this API documentation. For a complete reference of Experience Platform API terms, read the Adobe Experience Platform glossary.

TermDescription
Base connectionBase connections retain authentication information regarding how to connect to a target destination. You must set up a base connection before you can create a target connection.
Source connectionSource connections create and manage a connection to the internal source from where data is exported. For destination connections, the source connection can be either the Experience Platform Profile Store when exporting segments or Experience Platform Data Lake, when exporting datasets.
Target connectionTarget connections create and manage a destination connection to any location where exported data will land. Target connections contain information regarding data destination, data format, and the target connection ID needed to create a destination dataflow.
DataflowA dataflow is a virtual pipeline of data that flows into Platform from a source and out to a destination. This API reference focuses on destination dataflows.
Dataflow runA dataflow run is an execution instance of a dataflow that lands in Experience Platform based on a user-specified schedule OR that is exported from Experience Platform to a destination of your choice, also based on a user-specified schedule and other criteria. This API reference focuses on dataflow runs to destinations.

Base connections

Base connections retain information regarding how to connect to a source or target. For destinations, the source that you are connecting to is Experience Platform data and the target is the desired destination. The base connection configuration always includes a unique connectionSpec ID, which is necessary in order to successfully access Experience Platform data and authorize a connection to the target destination.

Retrieve a list of destination base connections

You can retrieve a list of all destination base connections for your organization by making a GET request to the /connections endpoint.

You can use query parameters to return only the base connections for a specific destination type. To do this, pass in the connectionSpec.id of the desired destination by using the property query parameter, as shown further below.

NOTE: This operation allows you to retrieve a maximum of 100 entities. The most recently created or updated entities are returned first. Use filters to return the base connections that are most relevant to you.

Request
query Parameters
property
string

A comma-separated list of top-level object properties to be returned in the response. Used to cut down the amount of data returned in the response body. For example, property=id==f2d1a98b-6b8c-420b-80a1-696c3f192eb2,b6730e09-7da6-40e2-b5cf-289545056dc3,49d17eff-9fa7-4e92-b84e-ab65fcb4730a.

Examples:
property=connectionSpec.id==4fce964d-3f37-408f-9778-e597338a21ee
property=connectionSpec.id==36965a81-b1c6-401b-99f8-22508f1e6a26
limit
integer <= 100

Limit response to a specific number of objects. Must be a positive number. For example, limit=10.

orderby
string

Sort response by specified fields separated by , and/or prefix field with - for descending order.

count
boolean

A boolean value specifying if the count of resources should be returned. By default the count is not returned (count=false).

continuationToken
string

A token for fetching records for next page. This is a system-generated token.

header Parameters
Authorization
required
string

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.

x-api-key
required
string

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.

x-gw-ims-org-id
required
string

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.

x-sandbox-name
required
string

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.

Accept
string
Default: application/json; version=1

An optional content negotiation header which allows you to use a specific version of the API. If you don't use it, the HTTP responses fall back to the latest version of the API.

Responses
200

List of Base Connections Retrieved

401

Invalid Authorization Token

403

Authorization Error - Access Denied

500

Internal Server Error

get/connections
Response samples
application/json
{
  • "items": [
    ]
}

Create a target base connection

A target base connection authorizes the connection to your desired destination type. The required authorization parameters vary based on the destination that you are looking to connect to.

Request
header Parameters
Authorization
required
string

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.

Content-type
required
string
Default: application/json

The type of content being sent in the body of the request. Should be 'application/json'.

x-api-key
required
string

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.

x-gw-ims-org-id
required
string

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.

x-sandbox-name
required
string

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.

Accept
string
Default: application/json; version=1

An optional content negotiation header which allows you to use a specific version of the API. If you don't use it, the HTTP responses fall back to the latest version of the API.

Request Body schema: application/json
required
One of:

API request to authorize the connection to an Amazon S3 instance.

name
required
string (Name)

The name of the base connection.

description
string (Description)

An optional description for the base connection.

required
object (Authentication Parameters)

The parameters in the base connection payload which are required to authorize a connection to an Amazon S3 instance.

required
object (Connection Spec.)

Request model for connection spec information.

Responses
201

Base Connection Created Successfully

400

Bad Request - Invalid Connection Spec ID

401

Invalid Authorization Token

403

Authorization Error - Access Denied

422

Unprocessable Entity - Missing Required Version Parameter

500

Internal Server Error

post/connections
Request samples
application/json
{
  • "name": "Amazon S3 Base Connection",
  • "auth": {
    },
  • "connectionSpec": {
    }
}
Response samples
application/json
{
  • "id": "77eeb629-f08a-48e2-8c7b-e345e246ff45",
  • "etag": "\"ac00c7db-0000-0200-0000-62eabd5c0000\""
}

Retrieve the details of a base connection

You can retrieve detailed information about a specific base connection by making a GET request to the /connections endpoint and providing the ID of the connection you want to inspect.

Request
path Parameters
id
required
string

The ID of the connection you are looking to retrieve.

header Parameters
Authorization
required
string

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.

x-api-key
required
string

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.

x-gw-ims-org-id
required
string

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.

x-sandbox-name
required
string

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.

Accept
string
Default: application/json; version=1

An optional content negotiation header which allows you to use a specific version of the API. If you don't use it, the HTTP responses fall back to the latest version of the API.

Responses
200

Base Connection Details Retrieved

401

Invalid Authorization Token

403

Authorization Error - Access Denied

404

Not Found - Base Connection ID Not Found

500
get/connections/{id}
Response samples
application/json
{
  • "items": [
    ]
}

Update a base connection

You can update a base connection by making a PATCH request to the /connections endpoint and providing the ID of the base connection you want to update. In the body of the request, provide the updated configuration of the connection.

Request
path Parameters
id
required
string

The ID of the connection you are looking to update.

header Parameters
Authorization
required
string

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.

x-api-key
required
string

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.

x-gw-ims-org-id
required
string

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.

x-sandbox-name
required
string

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.

Accept
string
Default: application/json; version=1

An optional content negotiation header which allows you to use a specific version of the API. If you don't use it, the HTTP responses fall back to the latest version of the API.

Content-type
required
string
Default: application/json

The type of content being sent in the body of the request. Should be 'application/json'.

if-match
required
string

A header containing the eTag value of the entity to be updated (destination dataflow, base or target connection, etc.). Perform a GET request to return the latest eTag version of the entity. Note that you always need to wrap this header in double quotes when using it.

Request Body schema: application/json
required
op
required
string (PATCH operation)

The operation that you are performing on the connection. You can add, replace, or remove items from connections.

Enum: "add" "replace" "remove"
path
required
string (Path)

A json xpath where the value has to be added, updated, or removed.

required
Authentication parameters for Amazon S3 base connections (object) or Authentication parameters for SFTP With SSH Key base connections (object) or Authentication parameters for SFTP With Password base connections (object)

Select the relevant schema to update authentication parameters for your destination.

Responses
200

Base Connection Updated Successfully

401

Invalid Authorization Token

403

Authorization Error - Access Denied

404

Not Found - Base Connection ID Not Found

412

Precondition Failed - ETag Mismatch

500

Internal Server Error

patch/connections/{id}
Request samples
application/json
[
  • {
    }
]
Response samples
application/json
null

Delete a base connection

You can delete the specified base connection by making a DELETE request to the /connections endpoint and providing the ID of the connection that you wish to delete in the request path.

Request
path Parameters
id
required
string

The ID of the connection you are looking to delete.

header Parameters
Authorization
required
string

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.

x-api-key
required
string

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.

x-gw-ims-org-id
required
string

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.

x-sandbox-name
required
string

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.

Accept
string
Default: application/json; version=1

An optional content negotiation header which allows you to use a specific version of the API. If you don't use it, the HTTP responses fall back to the latest version of the API.

Responses
202

Deletion Request Accepted

401

Invalid Authorization Token

403

Authorization Error - Access Denied

404

Not Found - Base Connection ID Not Found

500

Internal Server Error

delete/connections/{id}
Response samples
application/json
{
  • "error_code": 401013,
  • "message": "Oauth token is not valid"
}

Source connections

Source connections create and manage a connection to the internal source from where data is exported. For destination connections, the source connection can be either the Experience Platform Profile Store or the Experience Platform Data Lake. Source connections contain information like data source, data format, and the source connection ID needed to create a dataflow. A source connection instance is specific to a tenant and organization.

Retrieve a list of source connections for destinations

You can retrieve a list of all source connections for destinations in your organization by making a GET request to the /sourceConnections endpoint.
You can use query parameters to return only the base connections for a specific destination type. To do this, pass in the connectionSpec.id of the desired destination by using the property query parameter, as shown further below.

Request
query Parameters
property
string

A comma-separated list of top-level object properties to be returned in the response. Used to cut down the amount of data returned in the response body. For example, property=id==f2d1a98b-6b8c-420b-80a1-696c3f192eb2,b6730e09-7da6-40e2-b5cf-289545056dc3,49d17eff-9fa7-4e92-b84e-ab65fcb4730a.

Examples:
property=connectionSpec.id==8a9c3494-9708-43d7-ae3f-cda01e5030e1
property=createdAt>=1659907304000&property=connectionSpec.id==8a9c3494-9708-43d7-ae3f-cda01e5030e1
limit
integer <= 100

Limit response to a specific number of objects. Must be a positive number. For example, limit=10.

orderby
string

Sort response by specified fields separated by , and/or prefix field with - for descending order.

count
boolean

A boolean value specifying if the count of resources should be returned. By default the count is not returned (count=false).

continuationToken
string

A token for fetching records for next page. This is a system-generated token.

header Parameters
Authorization
required
string

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.

x-api-key
required
string

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.

x-gw-ims-org-id
required
string

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.

x-sandbox-name
required
string

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.

Accept
string
Default: application/json; version=1

An optional content negotiation header which allows you to use a specific version of the API. If you don't use it, the HTTP responses fall back to the latest version of the API.

Responses
200

List of Source Connections Retrieved

401

Invalid Authorization Token

403

Authorization Error - Access Denied

500

Internal Server Error

get/sourceConnections
Response samples
application/json
{
  • "items": [
    ]
}

Create a source connection

A source connection for destinations establishes the connection to the Experience Platform Profile Store or Experience Platform Data Lake. The sourceConnection ID returned in a successful response must be used when creating a dataflow to your desired destination.

Request
header Parameters
Authorization
required
string

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.

Content-type
required
string
Default: application/json

The type of content being sent in the body of the request. Should be 'application/json'.

x-api-key
required
string

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.

x-gw-ims-org-id
required
string

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.

x-sandbox-name
required
string

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.

Accept
string
Default: application/json; version=1

An optional content negotiation header which allows you to use a specific version of the API. If you don't use it, the HTTP responses fall back to the latest version of the API.

Request Body schema: application/json
required
One of:

API request to create a source connection to the Experience Platform Profile Store. In the request payload, always use the hardcoded value connectionSpec.id=8a9c3494-9708-43d7-ae3f-cda01e5030e1.

name
required
string (Name)

The name of the source connection.

description
string (Description)

An optional description for the source connection.

required
object (Connection Spec.)

Request model for connection spec information.

Responses
201

Source connection created successfully

401

Invalid authentication token

403

Unauthorized access

422

Missing required field

500

Internal server error

post/sourceConnections
Request samples
application/json
{
  • "name": "Connecting to Profile Store",
  • "description": "Optional",
  • "connectionSpec": {
    }
}
Response samples
application/json
{
  • "id": "77eeb629-f08a-48e2-8c7b-e345e246ff45",
  • "etag": "\"ac00c7db-0000-0200-0000-62eabd5c0000\""
}

Retrieve the details of a source connection

You can retrieve detailed information about a specific source connection by making a GET request to the /sourceConnections endpoint and providing the ID of the connection you want to inspect.

Request
path Parameters
id
required
string

The ID of the source connection you are looking to retrieve.

header Parameters
Authorization
required
string

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.

x-api-key
required
string

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.

x-gw-ims-org-id
required
string

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.

x-sandbox-name
required
string

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.

Accept
string
Default: application/json; version=1

An optional content negotiation header which allows you to use a specific version of the API. If you don't use it, the HTTP responses fall back to the latest version of the API.

Responses
200

Source Connection Details Retrieved

401

Invalid Authorization Token

403

Authorization Error - Access Denied

404

Not Found - Source Connection ID Missing

500

Internal Server Error

get/sourceConnections/{id}
Response samples
application/json
{
  • "items": [
    ]
}

Delete a source connection

You can delete the specified source connection by making a DELETE request to the /sourceConnections endpoint and providing the ID of the source connection that you wish to delete in the request path.

Request
path Parameters
id
required
string

The ID of the source connection you are looking to delete.

header Parameters
Authorization
required
string

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.

x-api-key
required
string

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.

x-gw-ims-org-id
required
string

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.

x-sandbox-name
required
string

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.

Accept
string
Default: application/json; version=1

An optional content negotiation header which allows you to use a specific version of the API. If you don't use it, the HTTP responses fall back to the latest version of the API.

Responses
202

Deletion Accepted - Source Connection Marked for Deletion

401

Invalid Authorization Token

403

Authorization Error - Access Denied

404

Not Found - Source Connection ID Not Found

500

Internal Server Error

delete/sourceConnections/{id}
Response samples
application/json
{
  • "error_code": 401013,
  • "message": "Oauth token is not valid"
}

Target connections

Target connections create and manage a destination connection to any location where exported data will land. Target connections contain information regarding data destination, data format, and the target connection ID needed to create a destination dataflow. A target connection instance is specific to a tenant and organization.

Before you create a target connection, you must create a base connection.

Retrieve a list of destination target connections

You can retrieve a list of all destination target connections for your organization by making a GET request to the /targetConnections endpoint.

You can use query parameters to return only the target connections for a specific destination type. To do this, pass in the connectionSpec.id of the desired destination by using the property query parameter, as shown further below.

NOTE: This operation allows you to retrieve a maximum of 100 entities. The most recently created or updated entities are returned first. Use filters to return the target connections that are most relevant to you.

Request
query Parameters
property
string

A comma-separated list of top-level object properties to be returned in the response. Used to cut down the amount of data returned in the response body. For example, property=id==f2d1a98b-6b8c-420b-80a1-696c3f192eb2,b6730e09-7da6-40e2-b5cf-289545056dc3,49d17eff-9fa7-4e92-b84e-ab65fcb4730a.

Examples:
property=connectionSpec.id==4fce964d-3f37-408f-9778-e597338a21ee
property=connectionSpec.id==36965a81-b1c6-401b-99f8-22508f1e6a26
limit
integer <= 100

Limit response to a specific number of objects. Must be a positive number. For example, limit=10.

orderby
string

Sort response by specified fields separated by , and/or prefix field with - for descending order.

count
boolean

A boolean value specifying if the count of resources should be returned. By default the count is not returned (count=false).

continuationToken
string

A token for fetching records for next page. This is a system-generated token.

header Parameters
Authorization
required
string

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.

x-api-key
required
string

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.

x-gw-ims-org-id
required
string

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.

x-sandbox-name
required
string

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.

Accept
string
Default: application/json; version=1

An optional content negotiation header which allows you to use a specific version of the API. If you don't use it, the HTTP responses fall back to the latest version of the API.

Responses
200

Target Connection Details Retrieved

401

Invalid Authorization Token

403

Authorization Error - Access Denied

404

Not Found - Target Connection ID Missing

500

Internal Server Error

get/targetConnections
Response samples
application/json
{
  • "items": [
    ]
}

Create a target connection

Create a target connection to manage a destination connection to any location where exported data will land. In the request payload, specify information regarding the data destination and data format. The HTTP response returns the target connection ID, which you'll later need to create a destination dataflow.

Request
header Parameters
Authorization
required
string

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.

Content-type
required
string
Default: application/json

The type of content being sent in the body of the request. Should be 'application/json'.

x-api-key
required
string

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.

x-gw-ims-org-id
required
string

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.

x-sandbox-name
required
string

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.

Accept
string
Default: application/json; version=1

An optional content negotiation header which allows you to use a specific version of the API. If you don't use it, the HTTP responses fall back to the latest version of the API.

Request Body schema: application/json
required
One of:

API request to create a target connection to an Amazon S3 instance, specifying data export format and storage location details.

name
required
string (Name)

The name of the target connection.

description
string (Description)

An optional description for the target connection.

baseConnectionId
required
string (Base Connection ID)

The ID of the base connection that specifies authentication details for the destination. Each target connection must have an associated base connection.

required
object (Target connection parameters)

Request model to capture target connection details for Amazon S3.

required
object (Connection Spec.)

Request model for connection spec information.

Responses
201

Target Connection Created Successfully

401

Invalid Authorization Token

403

Authorization Error - Access Denied

422

Unprocessable Entity - Version Parameter Missing

500

Internal Server Error

post/targetConnections
Request samples
application/json
{
  • "name": "SFTP Target Connection",
  • "baseConnectionId": "be3e2d03-6134-4566-9865-c40e0df8b718",
  • "params": {
    },
  • "connectionSpec": {
    }
}
Response samples
application/json
{
  • "id": "77eeb629-f08a-48e2-8c7b-e345e246ff45",
  • "etag": "\"ac00c7db-0000-0200-0000-62eabd5c0000\""
}

Retrieve the details of a target connection

You can retrieve detailed information about a specific target connection by making a GET request to the /targetConnections endpoint and providing the ID of the target connection you want to inspect.

Request
path Parameters
id
required
string

The ID of the target connection you are looking to retrieve.

header Parameters
Authorization
required
string

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.

x-api-key
required
string

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.

x-gw-ims-org-id
required
string

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.

x-sandbox-name
required
string

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.

Accept
string
Default: application/json; version=1

An optional content negotiation header which allows you to use a specific version of the API. If you don't use it, the HTTP responses fall back to the latest version of the API.

Responses
200

Target Connection Details Retrieved

401

Invalid Authorization Token

403

Authorization Error - Access Denied

404

Not Found - Target Connection ID Missing

500

Internal Server Error

get/targetConnections/{id}
Response samples
application/json
{
  • "items": [
    ]
}

Delete a target connection

You can delete the specified source connection by making a DELETE request to the /targetConnections endpoint and providing the ID of the target connection that you wish to delete in the request path.

Request
path Parameters
id
required
string

The ID of the target connection you are looking to delete.

header Parameters
Authorization
required
string

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.

x-api-key
required
string

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.

x-gw-ims-org-id
required
string

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.

x-sandbox-name
required
string

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.

Accept
string
Default: application/json; version=1

An optional content negotiation header which allows you to use a specific version of the API. If you don't use it, the HTTP responses fall back to the latest version of the API.

Responses
202

Deletion Accepted - Target Connection Marked for Deletion

401

Invalid Authorization Token

403

Authorization Error - Access Denied

404

Not Found - Target Connection ID Missing

500

Internal Server Error

delete/targetConnections/{id}
Response samples
application/json
{
  • "error_code": 401013,
  • "message": "Oauth token is not valid"
}

Dataflows

Destination dataflows represent the data transfer between a source connection (Experience Platform) and a target connection (the destination you set up). This also includes information regarding the data export schedule, and the transformation specifications of the data being exported to your destination. A dataflow instance is specific to a tenant and organization.

Retrieve a list of destination dataflows

You can retrieve a list of all destination dataflows for your organization by making a GET request to the /flows endpoint. When performing listing (GET) requests in the Flow Service API, you can use query parameters to sort and filter responses.

Use isDestinationFlow as query parameter to return destination dataflows only, like this: https://platform.adobe.io/data/foundation/flowservice/flows?property=inheritedAttributes.properties.isDestinationFlow==true

Additionally, you can use query parameters to return only the dataflows for a specific destination. To do this, pass in the connectionSpec.id of the desired destination by using the property query parameter, as shown further below. See also the list of connectionSpec IDs for the most commonly used batch destinations:

  • Adobe Campaign: 0b23e41a-cb4a-4321-a78f-3b654f5d7d97
  • Amazon S3: 4fce964d-3f37-408f-9778-e597338a21ee
  • Azure Blob Storage: 6d6b59bf-fb58-4107-9064-4d246c0e5bb2
  • Azure Data Lake Gen 2(ADLS Gen2): be2c3209-53bc-47e7-ab25-145db8b873e1
  • Data Landing Zone(DLZ): 10440537-2a7b-4583-ac39-ed38d4b848e8
  • Google Cloud Storage: c5d93acb-ea8b-4b14-8f53-02138444ae99
  • Oracle Eloqua: c1e44b6b-e7c8-404b-9031-58f0ef760604
  • Oracle Responsys: a5e28ddf-e265-426e-83a1-9d03a3a6822b
  • Salesforce Marketing Cloud: f599a5b3-60a7-4951-950a-cc4115c7ea27
  • SFTP: 36965a81-b1c6-401b-99f8-22508f1e6a26

NOTE: This operation allows you to retrieve a maximum of 100 entities. The most recently created or updated entities are returned first. Use filters to return the dataflows that are most relevant to you.

Request
query Parameters
property
string

A comma-separated list of top-level object properties to be returned in the response. Used to cut down the amount of data returned in the response body. For example, property=id==3416976c-a9ca-4bba-901a-1f08f66978ff,6a8d82b-1caf-45d1-908d-cadabc9d63a6,3c9b37f8-13a6-43d8-bad3-b863b941fedd.

Examples:
property=inheritedAttributes.properties.isDestinationFlow==true
property=inheritedAttributes.targetConnections[].connectionSpec.id==4fce964d-3f37-408f-9778-e597338a21ee
property=inheritedAttributes.targetConnections[].connectionSpec.id==36965a81-b1c6-401b-99f8-22508f1e6a26
limit
integer <= 100

Limit response to a specific number of objects. Must be a positive number. For example, limit=10.

orderby
string

Sort response by specified fields separated by , and/or prefix field with - for descending order.

count
boolean

A boolean value specifying if the count of resources should be returned. By default the count is not returned (count=false).

continuationToken
string

A token for fetching records for next page. This is a system-generated token.

header Parameters
Authorization
required
string

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.

x-api-key
required
string

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.

x-gw-ims-org-id
required
string

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.

x-sandbox-name
required
string

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.

Accept
string
Default: application/json; version=1

An optional content negotiation header which allows you to use a specific version of the API. If you don't use it, the HTTP responses fall back to the latest version of the API.

Responses
200

List of Dataflows Retrieved

401

Invalid Authorization Token

403

Authorization Error - Access Denied

500

Internal Server Error

get/flows
Response samples
application/json
{
  • "items": [
    ]
}

Create a destination dataflow

You can create a destination dataflow by making a POST request to the /flows endpoint.

Request
header Parameters
Authorization
required
string

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.

Content-type
required
string
Default: application/json

The type of content being sent in the body of the request. Should be 'application/json'.

x-api-key
required
string

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.

x-gw-ims-org-id
required
string

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.

x-sandbox-name
required
string

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.

Accept
string
Default: application/json; version=1

An optional content negotiation header which allows you to use a specific version of the API. If you don't use it, the HTTP responses fall back to the latest version of the API.

Request Body schema: application/json
required
One of:

Model for defining request body for create flow API.

name
required
string (Flow Name)

The name of the destination dataflow to be created.

description
string (Flow Description)

The description provides information and details regarding the dataflow to be created.

required
object (Flow Spec)

Model to capture the flow specification. Each destination has a specific flow spec ID in Experience Platform.

sourceConnectionIds
required
Array of strings (Source Connection IDs)

Add one source connection ID, which enables the connection to your Experience Platform data. Follow the step Connect to your Experience Platform data to learn how to obtain a source connection ID.

targetConnectionIds
required
Array of strings (Target Connection IDs)

Add one target connection ID, which enables the connection to your batch destination. Follow the step Connect to your batch destination to learn how to obtain a target connection ID.

required
Array of objects (Transformations)

Transformation object to define the base structure for a destination dataflow. When creating a destination dataflow, leave the profileSelectorsand segmentSelectors empty. You will add relevant values for them when using the PATCH request later.

Responses
201

Dataflow Created Successfully

401

Invalid Authorization Token

403

Authorization Error - Access Denied

500

Internal Server Error

post/flows
Request samples
application/json
{
  • "name": "Activate segments to a batch destination",
  • "description": "This operation creates a dataflow which we will later use to activate segments to a batch destination (e.g. Amazon S3 or Adobe Campaign)",
  • "flowSpec": {
    },
  • "sourceConnectionIds": [
    ],
  • "targetConnectionIds": [
    ],
  • "transformations": [
    ]
}
Response samples
application/json
{
  • "id": "ca5c6e9a-8559-4a08-97a5-f15b756da600",
  • "etag": "\"04000e7f-0000-0200-0000-62d9bca40000\""
}

Retrieve a destination dataflow's details

You can retrieve detailed information about a specific destination dataflow by making a GET request to the /flows endpoint and providing the ID of the dataflow you want to inspect.

Request
path Parameters
id
required
string

The ID of the destination dataflow you are looking to retrieve.

header Parameters
Authorization
required
string

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.

x-api-key
required
string

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.

x-gw-ims-org-id
required
string

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.

x-sandbox-name
required
string

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.

Accept
string
Default: application/json; version=1

An optional content negotiation header which allows you to use a specific version of the API. If you don't use it, the HTTP responses fall back to the latest version of the API.

Responses
200

Dataflow Details Retrieved

401

Invalid Authorization Token

403

Authorization Error - Access Denied

404

Not Found - Dataflow ID Not Found

500

Internal Server Error

get/flows/{id}
Response samples
application/json
{
  • "items": [
    ]
}

Update a destination dataflow

You can update a destination dataflow by making a PATCH request to the /flows endpoint and providing the ID of the dataflow you want to update. In the body of the request, provide the updated configuration of the dataflow.

Request
path Parameters
id
required
string

The ID of the destination dataflow you are looking to update.

header Parameters
Authorization
required
string

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.

x-api-key
required
string

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.

x-gw-ims-org-id
required
string

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.

x-sandbox-name
required
string

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.

Accept
string
Default: application/json; version=1

An optional content negotiation header which allows you to use a specific version of the API. If you don't use it, the HTTP responses fall back to the latest version of the API.

Content-type
required
string
Default: application/json

The type of content being sent in the body of the request. Should be 'application/json'.

if-match
required
string

A header containing the eTag value of the entity to be updated (destination dataflow, base or target connection, etc.). Perform a GET request to return the latest eTag version of the entity. Note that you always need to wrap this header in double quotes when using it.

Request Body schema: application/json
required
Array
op
required
string (PATCH operation)

The operation that you are performing on the destination dataflow. You can add, replace, or remove items from destination dataflows.

Enum: "add" "replace" "remove"
path
required
string (Path)

A json xpath where the value has to be added, updated, or removed.

required
Segment Selector (object) or Profile Selector (object) or (Beta) Segment Selector (object) or Enrichment Attribute Audience Selector (object) or Dataset Schedule Params (object) or (Beta) Profile Mapping (object) or (Array of (Beta) Primary Fields (Deduplication Keys) (Attribute Primary Field (object) or Identity Primary Field (object))) or Array of (Beta) Mandatory Fields (strings)
  • Use the segment or profile selector to display the fields relevant to adding, updating, or removing segments or profile attributes in a destination dataflow.
  • For Dataset dataflows, use the Schedule Params to control the dataset export schedule.
  • For (Beta) segment dataflows, use the Segment Selectors to manage segments, Profile Mapping Set with Primary Fields and Mandatory Fields to manage profile attributes.
Responses
200

Dataflow Updated Successfully

401

Invalid Authorization Token

403

Authorization Error - Access Denied

404

Not Found - Dataflow ID Not Found

412

Precondition Failed - ETag Mismatch

500

Internal Server Error

patch/flows/{id}
Request samples
application/json
[
  • {
    }
]
Response samples
application/json
{
  • "id": "ca5c6e9a-8559-4a08-97a5-f15b756da600",
  • "etag": "\"04000e7f-0000-0200-0000-62d9bca40000\""
}

Delete a destination dataflow

You can delete the specified destination dataflow by making a DELETE request to the /flows endpoint and providing the ID of the dataflow that you wish to delete in the request path.

Request
path Parameters
id
required
string

The ID of the destination dataflow you are looking to delete.

header Parameters
Authorization
required
string

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.

x-api-key
required
string

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.

x-gw-ims-org-id
required
string

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.

x-sandbox-name
required
string

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.

Accept
string
Default: application/json; version=1

An optional content negotiation header which allows you to use a specific version of the API. If you don't use it, the HTTP responses fall back to the latest version of the API.

Responses
202

Deletion Accepted - Dataflow Marked for Deletion

401

Invalid Authorization Token

403

Authorization Error - Access Denied

404

Not Found - Dataflow ID Not Found

500

Internal Server Error

delete/flows/{id}
Response samples
application/json
{
  • "error_code": 401013,
  • "message": "Oauth token is not valid"
}

Dataflow runs

Dataflow runs represent an instance of a dataflow execution, which exports data to your destination. A dataflow run is specific to a dataflow and a segment for which the data export occurred. Furthermore, a run instance is specific to a tenant and organization.

Retrieve a list of destination dataflow runs

You can retrieve a list of all destination dataflow runs for your organization by making a GET request to the /runs endpoint. When performing listing (GET) requests in the Flow Service API, you can use query parameters to sort and filter responses.

For example, you can use query parameters to return only the dataflows runs for a particular segment ID or for a combination of segment ID and export status (Success, Processing, Waiting, Failed). To do this, use the property query parameter, as shown below.

NOTE: This operation allows you to retrieve a maximum of 100 entities. The most recently created or updated entities are returned first. Use filters to return the dataflow runs that are most relevant to you.

Request
query Parameters
property
string

A comma-separated list of top-level object properties to be returned in the response. Used to cut down the amount of data returned in the response body. Multiple property parameters can be passed to filter on more than one property. Refer examples below.

Examples:
property=metrics.recordSummary.sourceSummaries[].id==<segmentId>
property=metrics.recordSummary.sourceSummaries[].id==<segmentId>& metrics.statusSummary.status==success
limit
integer

Limit response to a specific number of objects. Must be a positive number. For example, limit=10.

orderby
string

Sort response by specified fields separated by , and/or prefix field with - for descending order.

count
boolean

A boolean value specifying if the count of resources should be returned. By default the count is not returned (count=false).

continuationToken
string

A token for fetching records for next page. This is a system-generated token.

header Parameters
Authorization
required
string

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.

x-api-key
required
string

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.

x-gw-ims-org-id
required
string

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.

x-sandbox-name
required
string

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.

Accept
string
Default: application/json; version=1

An optional content negotiation header which allows you to use a specific version of the API. If you don't use it, the HTTP responses fall back to the latest version of the API.

Responses
200

List of Dataflow Runs Retrieved

401

Invalid Authorization Token

403

Authorization Error - Access Denied

500

Internal Server Error

get/runs
Response samples
application/json
{
  • "items": [
    ]
}

Configurations

Configurations provide additional information that is necessary when setting up a dataset export.

Retrieve a list of datasets for activation

You can use this endpoint to retrieve destinations-related configurations and metadata associated with a connection spec and are needed to successfully configure a dataset export. For example, when configuring dataset exports, this endpoint can return a list of activation-eligible datasets for your organization, along with metadata about the datasets.

Request
path Parameters
id
required
string

The ID of the connection spec. To return a list of dataset IDs eligible for export, use Experience Platform Data Lake source connection spec id, 23598e46-f560-407b-88d5-ea6207e49db0.

query Parameters
outputType
required
string

The type of configurations you want to retrieve. To return a list of dataset IDs eligible for export, use the value activationDatasets.

outputField
required
string

The output field where configuration values will be saved. To return a list of dataset IDs eligible for export, use the value datasets.

start
integer >= 0
Default: 0

Specify the offset for the list of datasets.

limit
integer [ 1 .. 100 ]
Default: 20

Specify the maximum number of datasets to be included in the response.

header Parameters
Authorization
required
string

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.

x-api-key
required
string

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.

x-gw-ims-org-id
required
string

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.

x-sandbox-name
required
string

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.

Responses
200

List of Eligible Datasets Retrieved

401

Invalid Authorization Token

403

Authorization Error - Access Denied

500

Internal Server Error

get/connectionSpecs/{id}/configs
Response samples
application/json
{
  • "items": [
    ]
}