Sandbox tooling allows you to select different artifacts (also known as objects) and export them into a package. A package can consist of a single artifact or multiple artifacts (such as datasets or schemas). Any artifacts that are included in a package must be from the same sandbox.
The /packages
endpoint in the sandbox tooling API allows you to programmatically manage packages in your organization, including publishing a package and importing a package to a sandbox.
You can create a multi-artifact package, by making a POST request to the /packages
endpoint while providing values for your package’s name and package type.
API format
POST /packages/
Request
curl -X POST \
https://platform.adobe.io/data/foundation/exim/packages \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d'{
"name": "acme",
"description": "Acme Business Group",
"packageType": "PARTIAL",
"sourceSandbox": {
"name": "acme-sandbox",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg"
},
"expiry": "2023-05-20T20:05:10Z",
"artifacts": [
{
"id": "27115daa-c92b-4f17-a077-d65ffeb0c525",
"type": "PROFILE_SEGMENT",
"title": "Acme Profile Segment"
}
]
}'
Property | Description | Type | Required |
---|---|---|---|
name |
The name of your package. | String | Yes |
description |
A description to provide more information on your package. | String | No |
packageType |
The package type is PARTIAL to indicate you are including specific artifacts in a package. | String | YES |
sourceSandbox |
The source sandbox of the package. | Object | No |
expiry |
The timestamp that defines the expiration date for package. The default value is 90 days from the creation date. The response expiry field will be epoch UTC time. | String (UTC Timestamp format) | No |
artifacts |
A list of artifacts to be exported into the package. The artifacts value should be null or empty, when the packageType is FULL . |
Array | No |
Response
A successful response returns your newly created package. The response includes the corresponding package ID, as well as information on its status, expiry, and list of artifacts.
{
"id": "209f886b00444eac9bb5836fe32e7681",
"version": 0,
"createdDate": 1684475012105,
"modifiedDate": 1684475012105,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}",
"tenantId": "c875b077162b40409c1327b16da99c1b",
"requestId": "devxa54a6b56d04f46119d9e3cc006fcc1cb",
"userId": "platform_exim",
"name": "acme",
"description": "Acme Business Group",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg",
"sourceSandbox": {
"name": "cjm-mr",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg"
},
"packageType": "PARTIAL",
"expiry": 1684613110000,
"status": "DRAFT",
"artifactsList": [
{
"id": "d8d8ed6d-696a-40bd-b4fe-ca053ec94e29",
"type": "JOURNEY",
"found": false,
"count": 0
}
]
}
You can update a package, by making a PUT request to the /packages
endpoint.
To add artifacts to a package, you must provide an id
and include ADD for the action
.
API format
PUT /packages/
Request
curl -X PUT \
https://platform.adobe.io/data/foundation/exim/packages \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d'{
"id": "6fa50baedd344a278129a87e68cc9dc7",
"action": "ADD",
"expiry": "2023-05-20T20:05:10Z",
"artifacts": [
{
"id": "d8d8ed6d-696a-40bd-b4fe-ca053ec94e29@1647559351683",
"type": "JOURNEY"
}
]
}'
Property | Description | Type | Mandatory |
---|---|---|---|
id |
The id of the package to be updated. | String | Yes |
action |
To add artifacts into the package, the action value should be ADD. This action is supported for only PARTIAL package types. | String | Yes |
artifacts |
A list of artifacts to be added in the package. There would be no change to the package if the list is null or empty. Artifacts are de-duplicated before they are added to the package. See table below for a full list of supported artifacts. | Array | No |
expiry |
The timestamp that defines the expiration date for package. The default value is 90 days from the time PUT API is called if expiry is not specified in the payload. The response expiry field will be epoch UTC time. | String (UTC Timestamp format) | No |
The following artifact types are currently supported.
Artifact | Platform | Object | Partial Flow | Full Sandbox |
---|---|---|---|---|
JOURNEY |
Adobe Journey Optimizer | Journeys | Yes | No |
ID_NAMESPACE |
Customer Data Platform | Identities | Yes | Yes |
REGISTRY_DATATYPE |
Customer Data Platform | Data type | Yes | Yes |
REGISTRY_CLASS |
Customer Data Platform | Class | Yes | Yes |
REGISTRY_MIXIN |
Customer Data Platform | Field group | Yes | Yes |
REGISTRY_SCHEMA |
Customer Data Platform | Schemas | Yes | Yes |
CATALOG_DATASET |
Customer Data Platform | Datasets | Yes | Yes |
DULE_CONSENT_POLICY |
Customer Data Platform | Consent and Governance Policies | Yes | Yes |
PROFILE_SEGMENT |
Customer Data Platform | Audiences | Yes | Yes |
FLOW |
Customer Data Platform | Sources dataflow | Yes | Yes |
Response
A successful response returns your updated package. The response includes the corresponding package ID, as well as information on its status, expiry, and list of artifacts.
{
"id": "6fa50baedd344a278129a87e68cc9dc7",
"version": 4,
"createdDate": 1684235842000,
"modifiedDate": 1684475861366,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}",
"tenantId": "c875b077162b40409c1327b16da99c1b",
"name": "acme",
"description": "Acme Business Group",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg",
"sourceSandbox": {
"name": "acme-sandbox",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg"
},
"packageType": "PARTIAL",
"expiry": 1692251861352,
"status": "DRAFT",
"artifactsList": [
{
"id": "d8d8ed6d-696a-40bd-b4fe-ca053ec94e29@1647559351683",
"type": "JOURNEY",
"found": false,
"count": 0
},
{
"id": "d8d8ed6d-696a-40bd-b4fe-ca053ec94e29",
"type": "JOURNEY",
"found": false,
"count": 0
}
]
}
To delete artifacts from a package, you must provide an id
and include DELETE for the action
.
API format
PUT /packages/
Request
curl -X PUT \
https://platform.adobe.io/data/foundation/exim/packages \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d'{
"id": "6fa50baedd344a278129a87e68cc9dc7",
"action": "DELETE",
"artifacts": [
{
"id": "d8d8ed6d-696a-40bd-b4fe-ca053ec94e29@1647559351683",
"type": "JOURNEY"
}
]
}'
Property | Description | Type | Mandatory |
---|---|---|---|
id |
The id of the package to be updated. | String | Yes |
action |
To delete artifacts from a package, the action value should be DELETE. This action is supported for only PARTIAL package types. | String | Yes |
artifacts |
A list of artifacts to be deleted from the package. There would be no change to the package if the list is null or empty. | Array | No |
Response
A successful response returns your updated package. The response includes the corresponding package ID, as well as information on its status, expiry, and list of artifacts.
{
"id": "6fa50baedd344a278129a87e68cc9dc7",
"version": 5,
"createdDate": 1684235842000,
"modifiedDate": 1684478830416,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}",
"tenantId": "c875b077162b40409c1327b16da99c1b",
"name": "acme",
"description": "Acme Business Group",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg",
"sourceSandbox": {
"name": "acme-sandbox",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg"
},
"packageType": "PARTIAL",
"expiry": 1692254830403,
"status": "DRAFT",
"artifactsList": [
{
"id": "d8d8ed6d-696a-40bd-b4fe-ca053ec94e29",
"type": "JOURNEY",
"found": false,
"count": 0
}
]
}
The UPDATE action is used to update the package metadata fields of the package and cannot be used to add/delete artifacts to a package.
To update the metadata fields in a package, you must provide an id
and include UPDATE for the action
.
API format
PUT /packages/
Request
curl -X PUT \
https://platform.adobe.io/data/foundation/exim/packages \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d'{
"id": "6fa50baedd344a278129a87e68cc9dc7",
"action": "UPDATE",
"name": "acme",
"description": "Acme Business Group",
"sourceSandbox": {
"name": "acme-sandbox",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg"
}
}'
Property | Description | Type | Mandatory |
---|---|---|---|
id |
The id of the package to be updated. | String | Yes |
action |
To update the metadata fields in a package, the action value should be UPDATE. This action is supported for only PARTIAL package types. | String | Yes |
name |
The updated name of the package. Duplicate package names are not allowed. | Array | Yes |
sourceSandbox |
Source sandbox should belong to the same organization as specified in the header of the request. | Object | Yes |
Response
A successful response returns your updated package. The response includes the corresponding package ID, as well as information on its description, status, expiry, and list of artifacts.
{
"id": "6fa50baedd344a278129a87e68cc9dc7",
"version": 6,
"createdDate": 1684235842000,
"modifiedDate": 1684479094129,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}",
"tenantId": "c875b077162b40409c1327b16da99c1b",
"name": "acme",
"description": "Acme Business Group",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg",
"sourceSandbox": {
"name": "acme-sandbox",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg"
},
"packageType": "PARTIAL",
"expiry": 1692255094127,
"status": "DRAFT",
"artifactsList": [
{
"id": "d8d8ed6d-696a-40bd-b4fe-ca053ec94e29",
"type": "JOURNEY",
"found": false,
"count": 0
}
]
}
To delete a package, make a DELETE request to the /packages
endpoint and specify the ID of the package you want to delete.
API format
DELETE /packages/{PACKAGE_ID}
Parameter | Description |
---|---|
{PACKAGE_ID} |
The ID of the package you want to delete. |
Request
The following request deletes the package with the ID of {PACKAGE_ID}.
curl -X DELETE \
https://platform.adobe.io/data/foundation/exim/packages/{PACKAGE_ID} \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
Response
A successful response returns a reason which shows the package ID deleted.
{
"reason": "Package d30e0424a37b46ada6a5cf37f47a86ff deleted"
}
In order to enable the import of a package into a sandbox, you must publish it. Make a GET request to the /packages
endpoint while specifying the ID of the package you want to publish.
API format
GET /packages/{PACKAGE_ID}/export
Parameter | Description |
---|---|
{PACKAGE_ID} |
The ID of the package you want to publish. |
Request
The following request publishes the package with the ID of {PACKAGE_ID}.
curl -X GET \
https://platform.adobe.io/data/foundation/exim/packages/{PACKAGE_ID}\export \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
Property | Description | Type | Mandatory |
---|---|---|---|
expiryPeriod |
This user-specified time period defines the package expiration date (in days) from the time the package was published. This value should not be negative. If no value is specified, the default will be calculated as 90 (days) from the date of publishing. |
Integer | No |
Response
A successful response returns the published package.
{
"name": "acme",
"description": "Acme Business Group",
"visibility": "TENANT",
"sourceSandbox":
{
"name": "acme-sandbox",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg"
},
"type": "PARTIAL",
"correlationId": "48effe5e-1bef-4250-9c71-23b93ef5d285",
"jobId": "18abab44e25f40c284a4bd6e8f52fd29"
}
You can look up an individual package by making a GET request to the /packages
endpoint that includes the corresponding ID of the package in the request path.
API format
GET /packages/{PACKAGE_ID}
Parameter | Description |
---|---|
{PACKAGE_ID} |
The ID of the package you want to look up. |
Request
The following request retrieves information for {PACKAGE_ID}.
curl -X GET \
https://platform.adobe.io/data/foundation/exim/packages/{PACKAGE_ID} \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
Response
A successful response returns details for the queried package ID. The response includes the name, description, publish date and expiry date, source sandbox of the package, as well as a list of artifacts.
{
"id": "8f585fad94d042cd82dbcba594108a41",
"version": 2,
"createdDate": 1685597784000,
"modifiedDate": 1685597810000,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}",
"tenantId": "c875b077162b40409c1327b16da99c1b",
"name": "acme",
"description": "Acme Business Group",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg",
"packageType": "PARTIAL",
"expiry": 1693373810000,
"publishDate": 1685597810000,
"status": "PUBLISHED",
"artifactsList": [
{
"id": "f4f57771-2bd2-469a-9c13-8d803eeb6515",
"type": "JOURNEY",
"found": false,
"count": 0
},
{
"id": "7f4caca7-a477-400d-a41e-c4735f8e780d",
"type": "JOURNEY",
"found": false,
"count": 0
}
],
"sourceSandbox": {
"name": "acme-sandbox",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg"
}
}
You can list all the packages in your organization, by making a GET request to the /packages
endpoint.
API format
GET /packages/?{QUERY_PARAMS}
Parameter | Description |
---|---|
{QUERY_PARAMS} |
Optional query parameters to filter results by. See the section on query parameters for more information. |
Request
The following request retrieves information of the packages based on the {QUERY_PARAMS}.
curl -X GET \
https://platform.adobe.io/data/foundation/exim/packages/?property=status==DRAFT,PUBLISHED&property=createdDate>=2023-05-11T18:29:59.999Z&property=createdDate<=2023-05-16T18:29:59.999Z&start=0&orderby=-createdDate&limit=20 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
Response
A successful response returns a list of packages belonging to your organization, including details such as name, status, expiry, and artifacts list.
{
"totalElements": 109,
"currentPage": 0,
"totalPages": 6,
"hasPreviousPage": false,
"hasNextPage": true,
"data": [
{
"id": "8f585fad94d042cd82dbcba594108a41",
"version": 2,
"createdDate": 1685597784000,
"modifiedDate": 1685597810000,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}",
"tenantId": "c875b077162b40409c1327b16da99c1b",
"name": "acme",
"description": "Acme Business Group",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg",
"packageType": "PARTIAL",
"expiry": 1693373810000,
"publishDate": 1685597810000,
"status": "PUBLISHED",
"artifactsList": [
{
"id": "f4f57771-2bd2-469a-9c13-8d803eeb6515",
"type": "JOURNEY",
"found": false,
"count": 0
},
{
"id": "7f4caca7-a477-400d-a41e-c4735f8e780d",
"type": "JOURNEY",
"found": false,
"count": 0
}
],
"sourceSandbox": {
"name": "acme-sandbox",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg"
}
},
{
"id": "0d7e427ce4cb4dc1b78e30ef61b125c1",
"version": 2,
"createdDate": 1685555213000,
"modifiedDate": 1685555275000,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}",
"tenantId": "7d7d8bbe3c7c4a8ea701cc5e42c57aeb",
"name": "acme",
"description": "Acme Business Group",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg",
"packageType": "PARTIAL",
"expiry": 1693331275000,
"publishDate": 1685555275000,
"status": "PUBLISHED",
"artifactsList": [
{
"id": "626a9669a9f5b818db270e95",
"type": "CATALOG_DATASET",
"found": false,
"count": 0
}
],
"sourceSandbox": {
"name": "acme-sandbox",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg"
}
}
]
}
This endpoint is used to fetch the conflicting objects in the specified target sandbox. Conflicting objects represent similar objects that are already present in the target sandbox.
API format
GET /packages/{PACKAGE_ID}/import?targetSandbox=targetSandboxName
Parameter | Description |
---|---|
{PACKAGE_ID} |
The ID of the package you want to look up. |
Request
The following request imports the {PACKAGE_ID}.
curl -X GET \
https://platform.adobe.io/data/foundation/exim/packages/{PACKAGE_ID}/import?targetSandbox=targetSandboxName \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
Response
Conflicts are returned in the response. The response shows the original package plus the alternatives
fragment as an array ordered by ranking.
[
{
"artifact": {
"id": "https://ns.adobe.com/cjmstage/schemas/20121c2110bb2c6a585baabe5f82994577da1f7d0628234c",
"type": "REGISTRY_SCHEMA",
"found": false,
"count": 0,
"messages": [
{
"status": "FOUND",
"attempt": 1,
"message": "Found object with ID: https://ns.adobe.com/cjmstage/schemas/20121c2110bb2c6a585baabe5f82994577da1f7d0628234c"
}
]
},
"suggestionList": [
{
"id": "https://ns.adobe.com/cjmstage/schemas/176f33f6a8ff6542de1256f8dc01cce4be1b3a68fd5f5bc5",
"type": "REGISTRY_SCHEMA",
"found": false,
"count": 0,
"title": "Dean Dataset 1 - adhoc schema - 1618950408870_1686403052050"
},
{
"id": "https://ns.adobe.com/cjmstage/schemas/1b37c3403e4e12c7aa46ea9dfe380a9f2b72d4da9db62b46",
"type": "REGISTRY_SCHEMA",
"found": false,
"count": 0,
"title": "Dean Dataset 1 - adhoc schema - 1618950408870_1686218766627"
}
],
"parentID": "745F37C35E4B776E0A49421B@AdobeOrg::prod::REGISTRY_SCHEMA::https://ns.adobe.com/cjmstage/schemas/20121c2110bb2c6a585baabe5f82994577da1f7d0628234c"
},
{
"artifact": {
"id": "https://ns.adobe.com/cjmstage/classes/24c1525f4f06fae2d203c6b78e26ae479ec4541c2c0d6b26",
"type": "REGISTRY_CLASS",
"found": false,
"count": 0,
"messages": [
{
"status": "FOUND",
"attempt": 1,
"message": "Found object with ID: https://ns.adobe.com/cjmstage/classes/24c1525f4f06fae2d203c6b78e26ae479ec4541c2c0d6b26"
}
]
},
"suggestionList": [
{
"id": "https://ns.adobe.com/cjmstage/classes/1dd81d61cdaa89a89382d0a424db77494475bd1db3105feb",
"type": "REGISTRY_CLASS",
"found": false,
"count": 0,
"title": "Dean Dataset 1 - Adhoc class - 1618950408870_1686564843736"
},
{
"id": "https://ns.adobe.com/cjmstage/classes/2511fb5396a630b2cd3d5d9e9b69d42ce66a4289db8ac917",
"type": "REGISTRY_CLASS",
"found": false,
"count": 0,
"title": "Dean Dataset 1 - Adhoc class - 1618950408870_1686408152916"
}
],
"parentID": "745F37C35E4B776E0A49421B@AdobeOrg::prod::REGISTRY_CLASS::https://ns.adobe.com/cjmstage/classes/24c1525f4f06fae2d203c6b78e26ae479ec4541c2c0d6b26"
},
{
"artifact": {
"id": "4d4c874ec3344d64bf8b3160e60ac78b",
"type": "MAPPING_SET",
"found": false,
"count": 0,
"messages": [
{
"status": "FOUND",
"attempt": 1,
"message": "Found object with ID: 4d4c874ec3344d64bf8b3160e60ac78b"
}
]
},
"suggestionList": [
{
"id": "6b49c959d77c48e9904f7616fe2e7848",
"type": "MAPPING_SET",
"found": false,
"count": 0,
"title": ""
},
{
"id": "7b363da9e6704afb9716f57193d5246f",
"type": "MAPPING_SET",
"found": false,
"count": 0,
"title": ""
},
{
"id": "93ca0b4f437c4eaf9f1986408679e965",
"type": "MAPPING_SET",
"found": false,
"count": 0,
"title": ""
}
],
"parentID": "745F37C35E4B776E0A49421B@AdobeOrg::prod::MAPPING_SET::4d4c874ec3344d64bf8b3160e60ac78b"
}
]
It is inherent with conflict resolution that the alternative artifact already exists in the target sandbox.
You can submit an import for a package once you have reviewed conflicts and provided substitutions by making a POST request to the /packages
endpoint. The result is provided as a payload, which starts the import job for the destination sandbox as specified in the payload.
Payload also accept user specified job name and description for import job. If user specified name and description is not available, then package name and description is used for job name and description.
API format
POST /packages/import
Request
The following request retrieves packages to be imported. The payload is a map of substitutions where, if an entry exists, the key is the artifactId
provided by the package, and the alternative is the value. If the map or payload is empty, no substitutions are performed.
curl -X POST \
https://platform.adobe.io/data/foundation/exim/packages/import/ \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d'{
"id": "09484a599f5f4a5faa43986643964615",
"name": "acme",
"description": "Acme Business Group",
"destinationSandbox": {
"name": "cjm-mr",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg"
},
"alternatives": {
"https://ns.adobe.com/cjmstage/schemas/ac33bbd22eb4ad6656e1c7e12e9f520261fb39fd28a902a9": {
"id": "https://ns.adobe.com/cjmstage/schemas/a3b935344685afad4e52c753161cf673ec23d4fb1b3e9ce",
"type": "REGISTRY_SCHEMA"
}
}
}'
Property | Description | Type | Mandatory |
---|---|---|---|
alternatives |
alternatives represent the mapping of source sandbox artifacts to the existing target sandbox artifacts. Because they are already there, the import job avoids creating these artifacts in the target sandbox. |
String | No |
Response
{
"name": "acme",
"description": "Acme Business Group",
"visibility": "TENANT",
"sourceSandbox":
{
"name": "acme-sandbox",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg"
},
"destinationSandbox":
{
"name": "acme-sandbox",
"imsOrgId": "5C1328435BF324E90A49402A@AdobeOrg"
},
"type": "PARTIAL",
"correlationId": "48effe5e-1bef-4250-9c71-23b93ef5d285",
"jobId": "18abab44e25f40c284a4bd6e8f52fd29"
}
List all dependent objects for the exported objects in a package by making a POST request to the /packages
endpoint while specifying the ID of the package.
API format
POST /packages/{PACKAGE_ID}/children
Parameter | Description |
---|---|
{PACKAGE_ID} |
The ID of the package. |
Request
The following request lists all dependent objects for the {PACKAGE_ID}.
curl -X POST \
https://platform.adobe.io/data/foundation/exim/packages/{PACKAGE_ID}/children \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d'[
{
"id": "4d4c874ec3344d64bf8b3160e60ac78b",
"type": "MAPPING_SET"
},
{
"id": "https://ns.adobe.com/cjmstage/schemas/20121c2110bb2c6a585baabe5f82994577da1f7d0628234c",
"type": "REGISTRY_SCHEMA"
},
{
"id": "https://ns.adobe.com/cjmstage/classes/24c1525f4f06fae2d203c6b78e26ae479ec4541c2c0d6b26",
"type": "REGISTRY_CLASS"
}
]'
Response
A successful response returns a list of children for the objects.
[
{
"id": "4d4c874ec3344d64bf8b3160e60ac78b",
"title": "4d4c874ec3344d64bf8b3160e60ac78b",
"type": "MAPPING_SET",
"children": [
{
"id": "https://ns.adobe.com/cjmstage/schemas/20121c2110bb2c6a585baabe5f82994577da1f7d0628234c",
"title": "Dean Dataset 1 - adhoc schema - 1618950408870",
"type": "REGISTRY_SCHEMA"
}
]
},
{
"id": "https://ns.adobe.com/cjmstage/schemas/20121c2110bb2c6a585baabe5f82994577da1f7d0628234c",
"title": "Dean Dataset 1 - adhoc schema - 1618950408870",
"type": "REGISTRY_SCHEMA",
"children": [
{
"id": "https://ns.adobe.com/cjmstage/classes/24c1525f4f06fae2d203c6b78e26ae479ec4541c2c0d6b26",
"title": "Dean Dataset 1 - Adhoc class - 1618950408870",
"type": "REGISTRY_CLASS"
}
]
},
{
"id": "https://ns.adobe.com/cjmstage/classes/24c1525f4f06fae2d203c6b78e26ae479ec4541c2c0d6b26",
"title": "Dean Dataset 1 - Adhoc class - 1618950408870",
"type": "REGISTRY_CLASS",
"children": []
}
]
You can check if you have permissions to import package artifacts by making a GET request to the /packages
endpoint while specifying the ID of the package and the target sandbox name.
API format
GET /packages/preflight/{packageId}?targetSandbox=<sandbox_name
Parameter | Description |
---|---|
{PACKAGE_ID} |
The Id of the package you want to import. |
Request
The following request checks your permissions for the {PACKAGE_ID} and sandbox.
curl -X GET \
https://platform.adobe.io/data/foundation/exim/packages/preflight/{PACKAGE_ID}?targetSandbox=<sandbox_name> \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
Response
A successful response returns resource permissions for the target sandbox, including a list of permissions required, missing permissions, type of artifact, and a decision on whether the creation is allowed.
{
"packageID": "b7bda68eb1214c86824f1d7204616e51",
"targetSandboxName": "acme-sandbox",
"permissionResponse": [
{
"artifactID": "4aca57b6-8b83-450b-a460-e8a07ca79a44",
"requiredPermissions": {
"resources": [
{
"palmResourceType": "Sandbox",
"resourcePermissions": [
"view"
]
},
{
"palmResourceType": "Schema",
"resourcePermissions": [
"read"
]
},
{
"palmResourceType": "ProfileConfig",
"resourcePermissions": [
"read"
]
},
{
"palmResourceType": "Segment",
"resourcePermissions": [
"read",
"write",
"delete"
]
},
{
"palmResourceType": "Composition",
"resourcePermissions": [
"read",
"write",
"delete"
]
},
{
"palmResourceType": "Query",
"resourcePermissions": [
"write"
]
},
{
"palmResourceType": "SegmentDashboard",
"resourcePermissions": [
"read"
]
}
]
},
"missingPermissions": {
"resources": []
},
"artifactType": "PROFILE_SEGMENT",
"creationAllowed": true
},
{
"artifactID": "36bb82bc-a00d-4d6b-a598-227d43e027c1",
"requiredPermissions": {
"resources": [
{
"palmResourceType": "Sandbox",
"resourcePermissions": [
"view"
]
},
{
"palmResourceType": "ProfileConfig",
"resourcePermissions": [
"read",
"write",
"delete"
]
},
{
"palmResourceType": "Dataset",
"resourcePermissions": [
"read"
]
}
]
},
"missingPermissions": {
"resources": [
{
"palmResourceType": "ProfileConfig",
"resourcePermissions": [
"write",
"delete"
]
},
{
"palmResourceType": "Dataset",
"resourcePermissions": [
"read"
]
}
]
},
"artifactType": "PROFILE_MERGE",
"creationAllowed": false
}
]
}
You can list current export/import jobs by making a GET request to the /packages
endpoint.
API format
GET /packages/jobs?{QUERY_PARAMS}
Parameter | Description |
---|---|
{QUERY_PARAMS} |
Optional query parameters to filter results by. See the section on query parameters for more information. |
Request
The following request lists all successful import jobs.
curl -X GET \
https://platform.adobe.io/data/foundation/exim/packages/jobs?property=requestType==IMPORT&property=jobStatus==SUCCESS&orderby=createdDate&start=0&limit=5 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
Response
A successful response returns all successful import jobs.
{
"totalElements": 42,
"currentPage": 0,
"totalPages": 9,
"hasPreviousPage": false,
"hasNextPage": true,
"data": [
{
"id": "3c1b92cf47a246d7bfbe6fd507c5d543",
"name": "acme",
"updated": 1685973675401,
"created": 1685973675401,
"jobType": "NEW",
"packageType": "PARTIAL",
"description": "Acme Business Group",
"jobStatus": "SUCCESS",
"visibility": "TENANT",
"sourceSandBox": "acme-sandbox",
"targetSandbox": "poc",
"createdBy": "{CREATED_BY}"
},
{
"id": "ead59d21405f4184a94dd786a1bf040d",
"name": "acme1",
"updated": 1685986367198,
"created": 1685986367198,
"jobType": "NEW",
"packageType": "PARTIAL",
"description": "Acme Business Group",
"jobStatus": "SUCCESS",
"visibility": "TENANT",
"sourceSandBox": "acme-sandbox",
"targetSandbox": "poc",
"createdBy": "{CREATED_BY}"
},
{
"id": "85ddaa3c2f6c475088167cde7a9d4326",
"name": "acme2",
"updated": 1686147692568,
"created": 1686147692568,
"jobType": "NEW",
"packageType": "PARTIAL",
"description": "Acme Business Group",
"jobStatus": "SUCCESS",
"visibility": "TENANT",
"sourceSandBox": "acme-sandbox",
"targetSandbox": "poc",
"createdBy": "{CREATED_BY}"
},
{
"id": "c49a4fcb31954cbd828ece1da096c8f5",
"name": "acme3",
"updated": 1686148007586,
"created": 1686148007586,
"jobType": "NEW",
"packageType": "PARTIAL",
"description": "Acme Business Group",
"jobStatus": "SUCCESS",
"visibility": "TENANT",
"sourceSandBox": "acme-sandbox",
"targetSandbox": "poc",
"createdBy": "{CREATED_BY}"
},
{
"id": "a3669315baed4cf2af49bf9ce90b8158",
"name": "acme4",
"updated": 1686148651910,
"created": 1686148651910,
"jobType": "NEW",
"packageType": "PARTIAL",
"description": "Acme Business Group",
"jobStatus": "SUCCESS",
"visibility": "TENANT",
"sourceSandBox": "acme-sandbox",
"targetSandbox": "poc",
"createdBy": "{CREATED_BY}"
}
]
}
The /handshake
endpoint in the sandbox tooling API allows you to partner with other organizations to share packages.
Send a request to a target partner organization for sharing approval by making a POST request to the /handshake/bulkCreate
endpoint. This is required before you can share private packages.
API format
POST /handshake/bulkCreate
Request
The following request initiates sharing approval between a target partner organization and the source organization.
curl -X POST \
https://platform.adobe.io/data/foundation/exim/handshake/bulkCreate \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Accept: application/json' \
-H 'Authorization: {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-d '{
"targetIMSOrgIds":["acme@AdobeOrg"],
"sourceIMSDetails":{
"id":"acme@AdobeOrg",
"name":"acme_org"
}
}'
Property | Description | Type | Required |
---|---|---|---|
targetIMSOrgIds |
A list of target organizations to send share request to. | Array | Yes |
sourceIMSDetails |
Details about the source organization. | Object | Yes |
Response
A successful response returns details regarding your share request.
{
"successfulRequests": {
"acme@AdobeOrg": {
"id": "{ID}",
"version": 0,
"createdDate": 1724938816798,
"modifiedDate": 1724938816798,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}",
"sourceIMSOrgId": "{ORG_ID}",
"targetIMSOrgId": "{TARGET_ID}",
"sourceRegion": "va6",
"sourceIMSOrgName": "{SOURCE_NAME}",
"status": "APPROVAL_PENDING",
"createdByName": "{CREATED_BY}",
"modifiedByName": "{MODIFIED_BY}",
"modifiedByIMSOrgId": "{ORG_ID}",
"statusHistory": "[{\"actionTakenBy\":\"acme@98ff67fa661fdf6549420b.e\",\"actionTakenByName\":\"{NAME}\",\"actionTakenByImsOrgID\":\"{ORG_ID}\",\"action\":\"INITIATED\",\"actionTimeStamp\":1724938816885}]",
"linkingId": "{LINKIND_ID}"
}
},
"failedRequests": {}
}
Approve share requests from target partner organizations by making a POST request to the /handshake/action
endpoint. After approval, source partner organizations can share private packages.
API format
POST /handshake/action
Requests
The following request approves a share request from a target partner organization.
curl -X POST \
https://platform.adobe.io/data/foundation/exim/handshake/action \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-d '{
"linkingID":"{LINKING_ID}",
"status":"APPROVED",
"reason":"Done",
"targetIMSOrgDetails":{
"id":"acme@AdobeOrg",
"name":"acme",
"region":"va7"
}
}'
Property | Description | Type | Required |
---|---|---|---|
linkingID |
The id of the share request you’re responding to. | String | Yes |
status |
The action being taken on the share request. Acceptable values are APPROVED or REJECTED . |
String | Yes |
reason |
The reason the action is being taken. | String | Yes |
targetIMSOrgDetails |
Details about the target organization where the id value should be the target organization’s ID, the name value should be the target organizations’s NAME, and the region value should be the target organizations REGION. | Object | Yes |
Response
A successful response returns details regarding the approved share request.
{
"id": "{ID}",
"version": 1,
"createdDate": 1726737474000,
"modifiedDate": 1726737541731,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}",
"sourceIMSOrgId": "{ORG_ID}",
"targetIMSOrgId": "{TARGET_ID}",
"sourceRegion": "va7",
"targetRegion": "va7",
"sourceOrgName": "{SOURCE_ORG}",
"targetOrgName": "{TARGET_ORG}",
"status": "APPROVED",
"createdByName": "{CREATED_BY}",
"modifiedByIMSOrgId": "{MODIFIED_BY}",
"statusHistory": "[{\"actionTakenBy\":\"{ACTION_BY}\",\"actionTakenByName\":\"{NAME}\",\"actionTakenByImsOrgID\":\"acme@AdobeOrg\",\"action\":\"INITIATED\",\"actionTimeStamp\":1726737474450,\"reason\":null},{\"actionTakenBy\":null,\"actionTakenByName\":null,\"actionTakenByImsOrgID\":\"745F37C35E4B776E0A49421B@AdobeOrg\",\"action\":\"APPROVED\",\"actionTimeStamp\":1726737541818,\"reason\":\"Done\"}]",
"linkingId": "{LINKING_ID}"
}
List outgoing and incoming share requests by making a GET request to the handshake/list?property=status%3D%3DAPPROVED&requestType=INCOMING
endpoint.
API format
GET handshake/list?property=status%3D%3DAPPROVED&requestType=INCOMING
Parameter | Accepted/Default Values |
---|---|
property |
Specifies the property to filter by, such as status. Acceptable values for status are: APPROVED , REJECTED , and IN_PROGRESS . |
start |
The default value of start is 0 . |
limit |
The default value of limit is 20 . |
orderBy |
Sorts records in ascending or descending order. |
requestType |
Accepts either INCOMING or OUTGOING . |
Request
The following request returns a list of all outgoing and incoming share requests.
curl -X GET \
https://platform.adobe.io/data/foundation/exim/handshake/list?property=status%3D%3DAPPROVED&requestType=INCOMING \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id:{ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
Response
A successful response returns a list of outgoing and incoming share requests and their details.
{
"totalElements": 1,
"currentPage": 0,
"totalPages": 1,
"hasPreviousPage": false,
"hasNextPage": false,
"data": [
{
"id": "{ID}",
"version": 1,
"createdDate": 1724929446000,
"modifiedDate": 1724929617000,
"modifiedBy": "{MODIFIED_BY}",
"sourceIMSOrgId": "{ORG_ID}",
"targetIMSOrgId": "{TARGET_ID}",
"sourceRegion": "va7",
"targetRegion": "va6",
"sourceOrgName": "{SOURCE_ORG}",
"targetOrgName": "{TARGET_ORG}",
"status": "APPROVED",
"createdByName": "{CREATED_BY}",
"modifiedByName": "{MODIFIED_BY}",
"modifiedByIMSOrgId": "{MODIFIED_BY}",
"statusHistory": "[{\"actionTakenBy\":\"{ACTION_BY}\",\"actionTakenByName\":\"{NAME}\",\"actionTakenByImsOrgID\":\"{ORG_ID}\",\"action\":\"INITIATED\",\"actionTimeStamp\":1724929442467,\"reason\":null},{\"actionTakenBy\":null,\"actionTakenByName\":\"{NAME}\",\"actionTakenByImsOrgID\":\"{ORG_ID}\",\"action\":\"APPROVED\",\"actionTimeStamp\":1724929617531,\"reason\":\"Done\"}]",
"linkingId": "{LINKING_ID}"
}
],
"nextPage": null,
"pageSize": null
}
Use the /transfer
endpoint in the sandbox tooling API to fetch and create new package sharing requests.
Fetch a published source organization’s package and share it with a target organization by making a POST request to the /transfer
endpoint while providing the package ID and target organization’s ID.
API format
POST /transfer
Request
The following request fetches a source organizations package and shares it with a target organization.
curl -X POST \
https://platform.adobe.io/data/foundation/exim/transfer/ \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {IMS_ORG}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-d '{
"packageId": "{PACKAGE_ID}",
"targets": [
{
"imsOrgId": "{TARGET_IMS_ORG}"
}
]
}'
Property | Description | Type | Required |
---|---|---|---|
packageId |
The id of the package you want to share. | String | Yes |
targets |
A list of organizations to share to package with. | Array | Yes |
Response
A successful response returns details of the package requested and its share status.
[
{
"id": "{ID}",
"version": 0,
"createdDate": 1726480559313,
"modifiedDate": 1726480559313,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}",
"sourceIMSOrgId": "{ORG_ID}",
"targetIMSOrgId": "{TARGET_ID}",
"packageId": "{PACKAGE_ID}",
"status": "PENDING",
"initiatedBy": "acme@3ec9197a65a86f34494221.e",
"requestType": "PRIVATE"
}
]
Fetch the details of a share request by making a GET request to the /transfer/{TRANSFER_ID}
endpoint while providing the transfer ID.
API format
GET /transfer/{TRANSFER_ID}
Parameter | Description |
---|---|
{TRANSFER_ID} |
The ID of the transfer you want to fetch. |
Request
The following request fetches a transfer with the ID of {TRANSFER_ID}.
curl -X GET \
https://platform.adobe.io/data/foundation/exim/transfer/0c843180a64c445ca1beece339abc04b \
-H 'x-api-key: {API__KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Authorization: Bearer {ACCESS_TOKEN}'
Response
A success response returns details of a share request.
{
"id": "{ID}",
"sourceIMSOrgId": "{ORG_ID}",
"sourceOrgName": "{SOURCE_ORG}",
"targetIMSOrgId": "{TARGET_ID}",
"targetOrgName": "{TARGET_ORG}",
"packageId": "{PACKAGE_ID}",
"packageName": "{PACKAGE_NAME}",
"status": "COMPLETED",
"initiatedBy": "{INITIATED_BY}",
"createdDate": 1724442856000,
"requestType": "PRIVATE"
}
Fetch a list of transfer requests by making a GET request to the /transfer/list?{QUERY_PARAMETERS}
endpoint, changing the query parameters as needed.
API format
GET `/transfer/list?{QUERY_PARAMETERS}`
Parameter | Accepted/Default Values |
---|---|
property |
Specifies the property to filter by, such as status. Acceptable values for status are: COMPLETED , PENDING , IN_PROGRESS , FAILED . |
start |
The default value of start is 0 . |
limit |
The default value of limit is 20 . |
orderBy |
The ordering only accepts the createdDate field. |
Request
The following request fetches a list of transfer requests from the search parameters provided.
curl -X GET \
https://platform.adobe.io/data/foundation/exim/transfer/list?property=status==COMPLETED&start=0&limit=2&orderBy=-createdDate \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Authorization: Bearer {ACCESS_TOKEN}'
Response
A successful response returns a list of all transfer requests from the search parameters provided.
{
"totalElements": 43,
"currentPage": 0,
"totalPages": 22,
"hasPreviousPage": false,
"hasNextPage": true,
"data": [
{
"id": "{ID}",
"sourceIMSOrgId": "{ORG_ID}",
"sourceOrgName": "{SOURCE_ORG}",
"targetIMSOrgId": "{TARGET_ID}",
"targetOrgName": "{TARGET_ORG}",
"packageId": "{PACKAGE_ID}",
"packageName": "{PACKAGE_NAME}",
"status": "COMPLETED",
"initiatedBy": "{INITIATED_BY}",
"completedTime": 1726129077000,
"createdDate": 1726129062000,
"requestType": "PRIVATE"
},
{
"id": "{ID}",
"sourceIMSOrgId": "{ORG_ID}",
"sourceOrgName": "{SOURCE_ORG}",
"targetIMSOrgId": "{TARGET_ID}",
"targetOrgName": "{TARGET_ORG}",
"packageId": "{PACKAGE_ID}",
"packageName": "{PACKAGE_NAME}",
"status": "COMPLETED",
"initiatedBy": "{INITIATED_BY}",
"completedTime": 1726066046000,
"createdDate": 1726065936000,
"requestType": "PRIVATE"
}
],
"nextPage": null,
"pageSize": null
}
Change a package from private to public by making a GET request to the /packages/update
endpoint. By default, a package is created with private availability.
API format
PUT `/packages/update`
Request
The following request changes a packages availability from private to public.
curl -X PUT \
https://platform.adobe.io/data/foundation/exim/packages \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-type: application/json' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-d '{
"id":"{ID}",
"action":"UPDATE",
"packageVisibility":"PUBLIC"
}'
Property | Description | Type | Required |
---|---|---|---|
id |
The id of the package to update. | String | Yes |
action |
To update the visibility to public, the action value should be UPDATE. | String | Yes |
packageVisbility |
To update the visibility, the packageVisibility value should be PUBLIC. | String | Yes |
Response
A successful response returns details on a package and its visibility.
{
"id": "{ID}",
"version": 7,
"createdDate": 1729624618000,
"modifiedDate": 1729658596340,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}",
"name": "acme",
"imsOrgId": "{ORG_ID}",
"packageType": "PARTIAL",
"expiry": 1737434596325,
"status": "PUBLISH_FAILED",
"packageVisibility": "PUBLIC",
"artifactsList": [
{
"id": "{ID}",
"type": "PROFILE_SEGMENT",
"found": false,
"count": 0,
"title": "Acme Profile Segment"
}
],
"schemaMapping": {},
"sourceSandbox": {
"name": "acme-sandbox",
"imsOrgId": "{ORG_ID}",
"empty": false
}
}
Import a package from a source organization with public availability by making a POST request to the /transfer/pullRequest
endpoint.
API format
POST /transfer/pullRequest
Request
The following request will import a package and sets its availability to public.
curl -X POST \
https://platform.adobe.io/data/foundation/exim/transfer/pullRequest \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-d '{
"imsOrgId": "{ORG_ID}",
"packageId": "{PACKAGE_ID}"
}'
Property | Description | Type | Required |
---|---|---|---|
imsOrgId |
The id from the package’s source organization. | String | Yes |
packageId |
The id from the package to import. | String | Yes |
Response
A succcessful response returns details on the imported public package.
{
"id": "{ID}",
"version": 0,
"createdDate": 1729658890425,
"modifiedDate": 1729658890425,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}",
"sourceIMSOrgId": "{ORG_ID}",
"targetIMSOrgId": "{TARGET_ID}",
"packageId": "{PACKAGE_ID}",
"status": "PENDING",
"initiatedBy": "{INITIATED_BY}",
"pipelineMessageId": "{MESSAGE_ID}",
"requestType": "PUBLIC"
}
Fetch a list of packages with public visbility by making a GET request to the /transfer/list?{QUERY_PARAMS}
endpoint.
API format
GET /transfer/list?{QUERY_PARAMS}
Parameter | Accepted/Default Values |
---|---|
property |
Specifies the property to filter by, such as status. Acceptable values for status are: COMPLETED and FAILED . |
start |
The default value of start is 0 . |
limit |
The default value of limit is 20 . |
orderBy |
The ordering only accepts the createdDate field. |
requestType |
Accepts either PUBLIC or PRIVATE . |
Request
The following request fetches a list of packages with public availability.
curl -X GET \
https://platform.adobe.io/data/foundation/exim/transfer/list?property=status%3D%3DCOMPLETED%2CFAILED&requestType=PUBLIC&orderby=-createdDate \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Accept: application/json' \
-H 'Authorization: {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
Response
A successful response returns a list of public packages and their details.
{
"totalElements": 14,
"currentPage": 0,
"totalPages": 1,
"hasPreviousPage": false,
"hasNextPage": false,
"data": [
{
"id": "{ID}",
"sourceIMSOrgId": "{ORG_ID}",
"sourceOrgName": "{SOURCE_NAME}",
"targetIMSOrgId": "{TARGET_ID}",
"targetOrgName": "{TARGET_ORG}",
"packageId": "{PACKAGE_ID}",
"packageName": "Public package demo",
"status": "COMPLETED",
"initiatedBy": "{INITIATED_BY}",
"completedTime": 1729359318000,
"createdDate": 1729359316000,
"requestType": "PUBLIC"
},
{
"id": "{ID}",
"sourceIMSOrgId": "{ORG_ID}",
"sourceOrgName": "{SOURCE_NAME}",
"targetIMSOrgId": "{TARGET_ID}",
"targetOrgName": "{TARGET_NAME}",
"packageId": "{PACKAGE_ID}",
"packageName": "Public package demo",
"status": "COMPLETED",
"initiatedBy": "{INITIATED_BY}",
"completedTime": 1729359284000,
"createdDate": 1729359283000,
"requestType": "PUBLIC"
},
{
"id": "{ID}",
"sourceIMSOrgId": "{ORG_ID}",
"sourceOrgName": "{SOURCE_NAME}",
"targetIMSOrgId": "{TARGET_ID}",
"targetOrgName": "{TARGET_NAME}",
"packageId": "{PACKAGE_ID}",
"packageName": "Test Private Flow Final",
"status": "COMPLETED",
"initiatedBy": "{INITIATED_BY}",
"completedTime": 1729284462000,
"createdDate": 1729275962000,
"requestType": "PUBLIC"
},
{
"id": "{ID}",
"sourceIMSOrgId": "{ORG_ID}",
"sourceOrgName": "{SOUCE_NAME}",
"targetIMSOrgId": "{TARGET_ID}",
"targetOrgName": "{TARGET_NAME}",
"packageId": "{PACKAGE_ID}",
"packageName": "Fest",
"status": "FAILED",
"initiatedBy": "{INITIATED_BY}",
"completedTime": 1729284104000,
"createdDate": 1729253854000,
"requestType": "PUBLIC"
},
{
"id": "{ID}",
"sourceIMSOrgId": "{ORG_ID}",
"sourceOrgName": "{SOURCE_NAME}",
"targetIMSOrgId": "{TARGET_ID}",
"targetOrgName": "{TARGET_NAME}",
"packageId": "{PACKAGE_ID}",
"packageName": "PublicPackageSharing",
"status": "COMPLETED",
"initiatedBy": "{INITIATED_BY}",
"completedTime": 1729284835000,
"createdDate": 1729253556000,
"requestType": "PUBLIC"
},
{
"id": "{ID}",
"sourceIMSOrgId": "{ORG_ID}",
"sourceOrgName": "{SOURCE_NAME}",
"targetIMSOrgId": "{TARGET_ID}",
"targetOrgName": "{TARGET_NAME}",
"packageId": "{PACKAGE_ID}",
"packageName": "PublicPackageSharing",
"status": "COMPLETED",
"initiatedBy": "{INITIATED_BY}",
"completedTime": 1729284835000,
"createdDate": 1729253556000,
"requestType": "PUBLIC"
},
{
"id": "{ID}",
"sourceIMSOrgId": "{ORG_ID}",
"sourceOrgName": "{SOURCE_NAME}",
"targetIMSOrgId": "{TARGET_ID}",
"targetOrgName": "{TARGET_NAME}",
"packageId": "{PACKAGE_ID}",
"packageName": "PublicPackageSharing",
"status": "COMPLETED",
"initiatedBy": "{INITIATED_BY}",
"completedTime": 1729284835000,
"createdDate": 1729253556000,
"requestType": "PUBLIC"
},
{
"id": "{ID}",
"sourceIMSOrgId": "{ORG_ID}",
"sourceOrgName": "{SOURCE_NAME}",
"targetIMSOrgId": "{TARGET_ID}",
"targetOrgName": "{TARGET_NAME}",
"packageId": "{PACKAGE_ID}",
"packageName": "Public Package Audit Test",
"status": "COMPLETED",
"initiatedBy": "{INITIATED_BY}",
"completedTime": 1729284667000,
"createdDate": 1729253421000,
"requestType": "PUBLIC"
},
{
"id": "{ID}",
"sourceIMSOrgId": "{ORG_ID}",
"sourceOrgName": "{SOURCE_NAME}",
"targetIMSOrgId": "{TARGET_ID}",
"targetOrgName": "{TARGET_NAME}",
"packageId": "{PACKAGE_ID}",
"packageName": "Public Package Audit Test",
"status": "COMPLETED",
"initiatedBy": "{INITIATED_BY}",
"completedTime": 1729284957000,
"createdDate": 1729253143000,
"requestType": "PUBLIC"
},
{
"id": "{ID}",
"sourceIMSOrgId": "{ORG_ID}",
"sourceOrgName": "{SOURCE_NAME}",
"targetIMSOrgId": "{TARGET_ID}",
"targetOrgName": "{TARGET_NAME}",
"packageId": "{PACKAGE_ID}",
"packageName": "Public Package Audit Test",
"status": "COMPLETED",
"initiatedBy": "{INITIATED_BY}",
"completedTime": 1729284562000,
"createdDate": 1729252975000,
"requestType": "PUBLIC"
},
{
"id": "{ID}",
"sourceIMSOrgId": "{ORG_ID}",
"sourceOrgName": "{SOURCE_NAME}",
"targetIMSOrgId": "{TARGET_ID}",
"targetOrgName": "{TARGET_NAME}",
"packageId": "{PACKAGE_ID}",
"packageName": "Private Package Test 1",
"status": "COMPLETED",
"initiatedBy": "{INITIATED_BY}",
"completedTime": 1729284262000,
"createdDate": 1729229755000,
"requestType": "PUBLIC"
},
{
"id": "{ID}",
"sourceIMSOrgId": "{ORG_ID}",
"sourceOrgName": "{SOURCE_NAME}",
"targetIMSOrgId": "{TARGET_ID}",
"targetOrgName": "{TARGET_NAME}",
"packageId": "{PACKAGE_ID}",
"packageName": "Demo Package 1016",
"status": "COMPLETED",
"initiatedBy": "{INITIATED_BY}",
"completedTime": 1729284784000,
"createdDate": 1729208888000,
"requestType": "PUBLIC"
},
{
"id": "{ID}",
"sourceIMSOrgId": "{ORG_ID}",
"sourceOrgName": "{SOURCE_NAME}",
"targetIMSOrgId": "{TARGET_ID}",
"targetOrgName": "{TARGET_NAME}",
"packageId": "{PACKAGE_ID}",
"packageName": "Public Package test 1",
"status": "COMPLETED",
"initiatedBy": "{INITIATED_BY}",
"completedTime": 1729284934000,
"createdDate": 1729153097000,
"requestType": "PUBLIC"
},
{
"id": "{ID}",
"sourceIMSOrgId": "{ORG_ID}",
"sourceOrgName": "{SOURCE_NAME}",
"targetIMSOrgId": "{TARGET_ID}",
"targetOrgName": "{TARGET_NAME}",
"packageId": "{PACKAGE_ID}",
"packageName": "Public Package test 1",
"status": "COMPLETED",
"initiatedBy": "{INITIATED_BY}",
"completedTime": 1729284912000,
"createdDate": 1729153043000,
"requestType": "PUBLIC"
}
],
"nextPage": null,
"pageSize": null
}
You can copy a public package’s payload by making a GET request to the /packages/payload
endpoint that includes the corresponding ID of the package in the request path.
API format
GET /packages/payload/{PACKAGE_ID}
Parameter | Description |
---|---|
{PACKAGE_ID} |
The ID of the package you want to copy. |
Request
The following request fetches a package’s payload with the ID of {PACKAGE_ID}.
curl -X GET \
https://platform.adobe.io/data/foundation/exim/packages/payload/{PACKAGE_ID} \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
Property | Description | Type | Required |
---|---|---|---|
imsOrdId |
The id of the organization the pacakge belongs to. | String | Yes |
packageId |
The id of the package who payload you’re requesting. | String | Yes |
Response
A successful response returns the package’s payload.
{
"imsOrgId": "{ORG_ID}",
"packageId": "{PACKAGE_ID}"
}