After signing in, you can create credentials that can be used to call the Platform APIs.
Download OpenAPI specification:Download
Batch ingestion allows you to ingest data into Adobe Experience Platform as batch files. Batches are units of data that consist of one or more files to be ingested as a single unit. Once ingested, batches provide metadata that describes the number of records successfully ingested, as well as any failed records and associated error messages.
Use the Batch Ingestion API to create batches, upload files, check on upload status, and more.
Related Documentation:
Visualize API calls with Postman (a free, third-party software):
API path:
Required headers:
Authorization
, x-gw-ims-org-id
,
and x-api-key
. For more information on how to obtain these values, see the
authentication tutorial.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 for
more information.Content-Type
. Accepted values specific to each call are
provided in the call parameters.API error handling:
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.
Batch ingestion is used to ingest data into Experience Platform as batch files. For example, data being ingested can be the profile data from a flat file in a CRM system (for example: Parquet or JSON) or data that conforms to a known Experience Data Model (XDM) schema within the Schema Registry.
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 The name of the sandbox in which the operation will take place. See the sandboxes overview documentation for more information. |
Content-Type required | string The type of content being sent in the body of the request. The value should be 'application/json`. |
The payload that contains information needed to create a batch.
datasetId required | string The ID of the dataset that you are creating a batch for. When creating the batch, the files uploaded must conform to the XDM schema of the dataset ID that you provided. |
externalId | string A client supplied batch identifier, that is expected to be unique within your organization. This defaults to the batch ID if not specified. |
required | object The format of the ingested batch files. It can be any of the following values; |
object Provide a list of client supplied IDs to identify the previous batches that this new batch is replacing. Any ID supplied from the client as part of the request body must be prefixed with a | |
object Additional batch tags. This object contains any properties associated with the previous batches. |
The batch was successfully created.
A bad request. The request is malformed.
Access is unauthorized. The user needs to provide a valid bearer token.
The URL length exceeds the allowed 2000 characters.
An internal server error has occurred.
The service is currently unavailable.
{- "datasetId": "5da9452f7de80400007jc52a",
- "externalId": "01EQ1C48TR4GD4FE7NH2522TCQ",
- "inputFormat": {
- "format": "json",
- "isMultiLineJson": true
}, - "replay": {
- "reason": "replace",
- "predecessors": [
- "01EQ1C48TR4GD4FE7NH2522TCQ, 04KF5E28NQ7QQ0LZ3KN5517WJS"
], - "predecessorsByExternalId": [
- "8gfgnrvtbxzj6hs3l40aeq843qr407, z27ouygzi3bcskuueah7d3z3ffw9z3"
]
}, - "tags": {
- "property1": [
- "tagValue1",
- "tagValue2"
], - "property2": [
- "tagValue1",
- "tagValue2"
]
}
}
{- "id": "01EQ1C48TR4GD4FE7NH2522TCQ",
- "imsOrg": "5C1328435BF324E90A49402A@AdobeOrg",
- "created": "2022-11-09T18:45:31.256Z",
- "createdClient": "acme_foundation_push",
- "createdUser": "acme_foundation_dataTracker@AdobeID",
- "updatedUser": "acme_foundation_dataTracker@AdobeID",
- "updated": "2022-11-09T18:45:31.256Z",
- "started": "2022-11-09T18:45:31.256Z",
- "completed": "2022-12-09T18:45:31.256Z",
- "status": "active",
- "recordCount": 57,
- "failedRecordCount": 3,
- "errors": [
- {
- "code": 405,
- "rows": [
- "13-26"
], - "description": "HTTP 405 Method Not Allowed"
}
], - "size": "1,342,576",
- "version": "1.0.0",
- "availableDates": {
- "startDate": "2022-12-09T18:45:31.256Z",
- "endDate": "2022-11-09T18:45:31.256Z"
}, - "relatedObjects": [
- {
- "type": "dataSet",
- "id": "5da9452f7de80400007jc52a",
- "tag": "string",
- "status": "processing",
- "errors": [
- {
- "code": 405,
- "rows": [
- "13-26"
], - "description": "HTTP 405 Method Not Allowed"
}
], - "metrics": {
- "property1": 0,
- "property2": 0
}
}
], - "metrics": [
- {
- "failedRecordCount": "0,",
- "partitionCount": "1,",
- "outputByteSize": "3300,",
- "inputFileCount": "2,",
- "inputByteSize": "2012,",
- "outputRecordCount": "1,",
- "outputFileCount": "1,",
- "inputRecordCount": 1
}
], - "tags": [
- {
- "acme_stagePath": [
- "acme_foundation_push/stage/01GQN56DKJF8CD5006ADAVT8TM"
]
}, - {
- "acme_sloPolicyName": [
- "live10Mb"
]
}, - {
- "aep/siphon/partitions/paths": [
- "/siphon/buffer/63d17bdceej79a1b622cded5/_ACME_DATE=2019-01-11/_ACME_BATCHID=01GQN56DKFJ8CD5006ADAVT9TM"
]
}, - {
- "acme_finalized_time": [
- "1674688723019"
]
}, - {
- "acme_workflow": [
- "BufferedPromotionWorkflow"
]
}
], - "inputFormat": {
- "format": "parquet",
- "delimiter": ",",
- "quote": "\"",
- "escape": "\\",
- "charset": "UTF-8",
- "header": true
}
}
This endpoint lets you upload files under datasets for a batch initialized by the bulk
ingestion API. The PUT method creates or updates the entire request stream as the file
bytes under the path denoted by the filePath
and is idempotent. Subsequent calls to
this endpoint will replace the existing file on the referenced path.
Note: Due to gateway size and timeout limits, there is currently a size threshold of 256MB.
If the file is larger than that, you must use the large file upload mechanism.
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 The name of the sandbox in which the operation will take place. See the sandboxes overview documentation for more information. |
Content-Type required | string The type of content being sent in the body of the request. The value should be 'application/octet-stream'. |
The file was successfully updated.
The file was successfully created.
The request is malformed.
Access is unauthorized. The IMS token provided is invalid.
The batch or dataset resource is not found.
The URL length exceeds the allowed 2000 characters.
The uploaded file media type isn't supported.
The service is unavailable.
Files larger than 256MB are uploaded in parts. The PATCH endpoint provides you a way to upload a part of your large file that was initialized via the POST endpoint. File sizes of between 0-512000000 bytes are accepted.
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 The name of the sandbox in which the operation will take place. See the sandboxes overview documentation for more information. |
Content-Type required | string The type of content being sent in the body of the request. The value should be 'application/octet-stream'. |
Content-Range required | string The lowest and highest value of bytes in the file being uploaded with this request. |
The file was successfully uploaded.
The request is malformed.
Access is unauthorized. The IMS token provided is invalid.
The batch, dataset, or file resource is not found.
The URL length exceeds the allowed 2000 characters.
The uploaded file media type isn't supported.
An internal server error has occurred.
The service is unavailable.
{- "name": "acme/customers/campaigns/summer.json",
- "sizeInBytes": 3682
}
This endpoint should only be used when uploading a large file to the batch. Large file upload should be used for files larger than 256MB.
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 The name of the sandbox in which the operation will take place. See the sandboxes overview documentation for more information. |
Content-Type required | string The type of content being sent in the body of the request. The value should be 'application/json'. |
The file is now finished uploading.
The request is malformed.
Access is unauthorized. The IMS token provided is invalid.
The batch, dataset, or file resource is not found.
The URL length exceeds the allowed 2000 characters.
An internal server error has occurred.
The service is unavailable.
{- "name": "acme/customers/campaigns/summer.json",
- "sizeInBytes": 3682
}
Files larger than 512MB are uploaded in parts. The HEAD endpoint provides a way to get the byte range information received by the server so far.
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 The name of the sandbox in which the operation will take place. See the sandboxes overview documentation for more information. |
The status information was successfully returned.
The request is malformed.
Access is unauthorized. The IMS token provided is invalid.
The batch, dataset, or file resource is not found.
URL length exceeds the allowed 2000 characters.
The uploaded file media type isn't supported.
An internal server error has occurred.
The service is unavailable.
This endpoint generates a data preview for the files uploaded to the batch so far. The preview can be generated either collectively for all the batch datasets, or for only selected datasets.
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 The name of the sandbox in which the operation will take place. See the sandboxes overview documentation for more information. |
The preview for the batch was successfully generated.
The request is malformed.
Access is unauthorized. The IMS token provided is invalid.
The batch or dataset resource is not found.
The URL length exceeds the allowed 2000 characters.
The uploaded file media type isn't supported.
An internal server error has occurred.
The service is unavailable.
{- "formatParams": {
- "delimiter": ",",
- "quote": "\"",
- "escape": "\\",
- "charset": "UTF-8",
- "header": true,
- "format": "parquet"
}, - "preview": {
- "columns": [
- [
- {
- "cid": 0,
- "name": "_acmesandbox/testClassField0"
}, - {
- "cid": 1,
- "name": "_acmesandbox/testClassField1"
}, - {
- "cid": 2,
- "name": "_acmesandbox/testClassField2"
}
]
], - "rows": [
- {
- "property1": [
- "0 : 0011I000002IfeuQAC\tFALSE\tCarpenter\tLeland\tGenePoint",
- "1 : 0011I000002IfesQAC\tFALSE\tRuiz\tLucille\t\"United Oil & Gas, UK",
- "2 : 0011I000002IfekQAC\tFALSE\tParsons\tAngelica\tEdge Communications"
], - "property2": [
- "0 : 0011I000002IfeuQAC\tFALSE\tCarpenter\tLeland\tGenePoint",
- "1 : 0011I000002IfesQAC\tFALSE\tRuiz\tLucille\t\"United Oil & Gas, UK",
- "2 : 0011I000002IfekQAC\tFALSE\tParsons\tAngelica\tEdge Communications"
]
}
]
}
}
After you have finished uploading all of the different parts of the file, signal that the batch ingestion is complete to trigger the downstream data promotion workflow.
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 The name of the sandbox in which the operation will take place. See the sandboxes overview documentation for more information. |
The batch has been successfully promoted.
The request is malformed.
Access is unauthorized. The IMS token provided is invalid.
The batch is not found.
The URL length exceeds the allowed 2000 characters.
An internal server error has occurred.
The service is unavailable.
{- "id": "01EQ1C48TR4GD4FE7NH2522TCQ",
- "imsOrg": "5C1328435BF324E90A49402A@AdobeOrg",
- "created": "2022-11-09T18:45:31.256Z",
- "createdClient": "acme_foundation_push",
- "createdUser": "acme_foundation_dataTracker@AdobeID",
- "updatedUser": "acme_foundation_dataTracker@AdobeID",
- "updated": "2022-11-09T18:45:31.256Z",
- "started": "2022-11-09T18:45:31.256Z",
- "completed": "2022-12-09T18:45:31.256Z",
- "status": "active",
- "recordCount": 57,
- "failedRecordCount": 3,
- "errors": [
- {
- "code": 405,
- "rows": [
- "13-26"
], - "description": "HTTP 405 Method Not Allowed"
}
], - "size": "1,342,576",
- "version": "1.0.0",
- "availableDates": {
- "startDate": "2022-12-09T18:45:31.256Z",
- "endDate": "2022-11-09T18:45:31.256Z"
}, - "relatedObjects": [
- {
- "type": "dataSet",
- "id": "5da9452f7de80400007jc52a",
- "tag": "string",
- "status": "processing",
- "errors": [
- {
- "code": 405,
- "rows": [
- "13-26"
], - "description": "HTTP 405 Method Not Allowed"
}
], - "metrics": {
- "property1": 0,
- "property2": 0
}
}
], - "metrics": [
- {
- "failedRecordCount": "0,",
- "partitionCount": "1,",
- "outputByteSize": "3300,",
- "inputFileCount": "2,",
- "inputByteSize": "2012,",
- "outputRecordCount": "1,",
- "outputFileCount": "1,",
- "inputRecordCount": 1
}
], - "tags": [
- {
- "acme_stagePath": [
- "acme_foundation_push/stage/01GQN56DKJF8CD5006ADAVT8TM"
]
}, - {
- "acme_sloPolicyName": [
- "live10Mb"
]
}, - {
- "aep/siphon/partitions/paths": [
- "/siphon/buffer/63d17bdceej79a1b622cded5/_ACME_DATE=2019-01-11/_ACME_BATCHID=01GQN56DKFJ8CD5006ADAVT9TM"
]
}, - {
- "acme_finalized_time": [
- "1674688723019"
]
}, - {
- "acme_workflow": [
- "BufferedPromotionWorkflow"
]
}
], - "inputFormat": {
- "format": "parquet",
- "delimiter": ",",
- "quote": "\"",
- "escape": "\\",
- "charset": "UTF-8",
- "header": true
}
}