Cloud Locations Account API
Before you can create a Cloud Location with Adobe 2.0 APIs, you must first create a Cloud location account with the APIs in this guide. The Accounts API includes the following endpoints for managing Cloud Location storage accounts:
- GET accounts: Retrieve all Cloud Locations accounts accessible to you in the specified organization. This includes accounts you have created or those that have been shared with you.
- POST create account: Create a new Cloud Locations account
- GET account by UUID: Retrieve a specific Cloud Locations account
- PUT update account: Update a specific Cloud Locations account
- DELETE account: Delete a specific Cloud Locations account
- GET s3 role arn: Retrieve an
userARN
value to create an AWS s3 role arn cloud account
Account Types
Analytics API Cloud Locations accounts are specified by type
. Account types are specified upon account creation. The following table describes account types:
Type | Description |
---|---|
email | Data to be exported by email |
ftp | Data to be exported by File Transfer Protocol |
sftp | Data to be exported by Secure File Transfer Protocol |
gcp | Data to be exported to the Google Cloud Platform |
azure | Data to be exported to Microsoft Azure (legacy) |
azure_rbac | Data to be exported to Microsoft Azure Role-Based Access Control |
azure_sas | Data to be exported to Microsoft Azure Shared Access Signatures |
s3 | Data to be exported to Amazon Simple Storage Service |
s3_role_arn | Data to be exported to s3 with Amazon Resource Name (ARN) fields for Identity and Access Management (IAM). See instructions below for creating this account type. |
Each account type has its own set of key/value pairs or parameters for the accountProperties
object. See the Account Properties table for more information on the properties that are specific to each account type.
Note: With Cloud Locations APIs, accounts and locations each have their own UUID
identifier. The account UUID
is different from the location UUID
, and the two should be referenced separately.
GET accounts
Use this endpoint to retrieve all Cloud Locations accounts information that you have created or that has been shared with you in your organization.
GET https://analytics.adobe.io/api/{GLOBAL_COMPANY_ID}/export_locations/analytics/exportlocations/account
Request and Response Examples
Click the Request tab in the following example to see a cURL request for this endpoint. Click the Response tab to see a successful JSON response for the request.
Request
Copied to your clipboardcurl -X 'GET' \"https://analytics.adobe.io/api/{GLOBAL_COMPANY_ID}/export_locations/analytics/exportlocations/account" \-H "accept: application/json" \-H "x-api-key: {CLIENT_ID}" \-H "Authorization: Bearer {ACCESS_TOKEN}"
Response
Copied to your clipboard{"type": "s3","secret": "value-hidden","accountProperties": {"accessKeyID": "test"},"name": "S3 Legacy Example","description": "legacy","createdBy": "exampleuser@example.com","createdDate": "YYYY-06-27T19:34:13.673Z","lastModifiedDate": "YYYY-06-27T19:34:13.673Z","shared": false,"deleted": false,"uuid": "111bc1a1-1d11-1111-1111-dd1d111ec11f"},{"type": "ftp","secret": "value-hidden","accountProperties": {"port": 21,"hostname": "ftp.example.com","username": "test"},"name": "Example FTP","description": "","createdBy": "exampleuser@example.com","modifiedBy": "exampleuser@example.com","createdDate": "YYYY-08-09T20:56:35.380Z","lastModifiedDate": "YYYY-08-20T17:55:45.551Z","shared": false,"deleted": false,"uuid": "bee11111-1e11-111b-111f-dd11c6b1111e"},{"type": "azure","secret": "value-hidden","accountProperties": {"accountName": "exampleaccount"},"name": "Azure Legacy Example Account","description": "Azure Legacy Example Account","createdBy": "exampleuser@example.com","createdDate": "YYYY-09-15T19:49:37.207Z","lastModifiedDate": "YYYY-09-15T19:49:37.207Z","shared": false,"deleted": false,"uuid": "dcb1ee11-111e-1111-11dc-1111111ba111"},{"type": "email","accountProperties": {"to": "exampleuser@example.com"},"name": "Example Email Account","description": "Example Email Account","createdBy": "exampleuser@example.com","createdDate": "YYYY-09-15T20:34:37.292Z","lastModifiedDate": "YYYY-09-15T20:34:37.292Z","shared": false,"deleted": false,"uuid": "e11111b1-1cc1-111a-11ab-111f1111b11d"},{"type": "azure_sas","secret": "examplepassword","accountProperties": {"keyVaultURI": "https://cja-export-qe-test.vault.azure.net/","keyVaultSecretName": "sas-token","tenantId": "fa4b4b4a-4b44-4444-44ae-d2c444decee4","appId": "d55f5cdb-e55e-5ac5-aa5c-55fff55fdb55"},"name": "SAS Example Account","description": "SAS Example Account","createdBy": "exampleuser@example.com","createdDate": "YYYY-09-15T19:47:30.173Z","lastModifiedDate": "YYYY-09-15T19:47:30.173Z","shared": false,"deleted": false,"uuid": "a111eecb-a1c1-111c-11f1-d1fd1111cf11"},{"type": "azure_rbac","secret": "examplepassword","accountProperties": {"tenantId": "fa4b4b4a-4b44-4444-44ae-d2c444decee4","appId": "d11f11db-e11e-1ac1-aa1c-11fff11fdb11"},"name": "RBAC Example Account","description": "RBAC Example Account","createdBy": "exampleuser@example.com","createdDate": "YYYY-09-15T19:43:44.128Z","lastModifiedDate": "YYYY-09-15T19:43:44.128Z","shared": false,"deleted": false,"uuid": "0ef00a00-000c-00e0-bd00-0000ec000e00"},{"type": "s3_role_arn","accountProperties": {"userARN": "arn:aws:iam::111111111111:user/C-exampleorg","roleARN": "arn:aws:iam::222222222222:role/aa-example-qe-role"},"name": "S3 ARN Example Account","description": "S3 ARN Example Account","createdBy": "exampleuser@example.com","createdDate": "YYYY-09-15T19:56:34.577Z","lastModifiedDate": "YYYY-09-15T19:56:34.577Z","shared": false,"deleted": false,"uuid": "1111ae11-1e11-1ac1-1b1e-1e1111111111"},{"type": "gcp","accountProperties": {"email": "C-exampleorg@adbe-gcp0000.iam.gserviceaccount.com","gcpId": "111111111111111111111","projectId": "example-gcp0000","name": "projects/adbe-gcp0000","displayName": "C-exampleorg"},"name": "GCP Example Account","description": "GCP Example Account","createdBy": "exampleuser@example.com","createdDate": "YYYY-09-15T19:30:52.841Z","lastModifiedDate": "YYYY-09-15T19:30:52.841Z","shared": false,"deleted": false,"uuid": "a21afcf1-111d-1111-a1c1-11b11b1111f1"},{"type": "sftp","accountProperties": {"port": 22,"hostname": "examplehost","uploadTemporaryFile": true,"username": "user"},"name": "Example sftp account","description": "string","createdBy": "exampleuser@example.com","createdDate": "YYYY-04-30T19:40:03.042745Z","lastModifiedDate": "YYYY-04-30T19:40:03.042745Z","shared": false,"deleted": false,"uuid": "a1be1111-1dea-1111-1edd-f1def11c1f11"}
Example request details
The example request above does not include any optional query parameters, so it retrieves all accounts of all types accessible to the user.
Example response details
The example response above shows the following:
A response body that includes accounts with all supported types as described in the Account Types table above.
An
accountProperties
object for each account. This object contains parameters that are specific to the type of account. For more information, see the Account properties section of this guide.A
uuid
identifier for each account. This is not the same as the locationuuid
that is used in the Locations API.
Request Parameters
The following table describes the GET accounts query request parameters:
Name | Required | Type | Description |
---|---|---|---|
createdBy | optional | string | Username of account creator |
type | optional | string | The type of account as described in the Account Types table |
page | optional | integer | The page number to return |
limit | optional | integer | Maximum number of items to show per page |
Response Parameters
The following table describes the GET accounts response parameters:
Name | Type | Description |
---|---|---|
type | string | The type of account as described in the Account Types table |
secret | string | The password associated with the type of account; e.g., ftp |
accountProperties | object | Contains object members specific to the account type. See the Account properties section of this guide. |
name | string | The friendly name of the account |
description | string | Description of account |
createdBy | string | Username of account creator |
modifiedBy | integer | Username of account modifier, if modified |
createdDate | integer | Date the account creation |
lastModifiedDate | integer | Date the account was last modified, if modified |
shared | boolean | Whether this account was shared with the user or another user |
deleted | boolean | Whether this account was deleted |
uuid | boolean | The unique account identifier |
POST create account
Use this endpoint to create a new Cloud Locations account.
POST https://analytics.adobe.io/api/{GLOBAL_COMPANY_ID}/export_locations/analytics/exportlocations/account
Request and Response Examples
Click the Request tab in the following example to see a cURL request for this endpoint. Click the Response tab to see a successful JSON response for the request.
Request
Copied to your clipboardcurl -X 'POST' \"https://analytics.adobe.io/api/{GLOBAL_COMPANY_ID}/export_locations/analytics/exportlocations/account" \-H "x-api-key: {CLIENT_ID}" \-H "Authorization: Bearer {ACCESS_TOKEN}" \-H "Content-Type: application/json" \-d '{"type": "email","accountProperties": {"to": "exampleuser@example.com"},"name": "Example Email Account","description": "Example Email account description"}'
Response
Copied to your clipboard{"type": "email","accountProperties": {"to": "exampleuser@example.com"},"name": "Example Email Account","description": "Example Email account description","createdBy": "exampleuser@example.com","createdDate": "YYYY-06-02T16:19:04.039666Z","lastModifiedDate": "YYYY-06-02T16:19:04.039666Z","uuid": "12345678-1234-1234-1234-123456789123"}
Example request details
The example request above shows the creation of an email type location account. Note the accountProperties
for this type includes only the to
parameter and its value exampleuser@example.com
, or the recipient of the email account.
Example response details
A successful response includes a 200 OK
status code and a response body similar to that shown above. This example shows the following:
Confirmation of the created values for
type
,to
,name
, anddescription
.Additional creation information including values for
createdBy
,createdDate
,lastModifiedDate
, and accountuuid
.
Request Parameters
The following table describes the Create account request parameters:
Name | Required | Type | Description |
---|---|---|---|
type | required | string | Account type. See the Account Types table above for more information |
accountProperties | required | object | Contains "to" parameter for recipient. See the Account properties section below for more information. |
name | required | string | Account name |
description | optional | string | Account description |
Response Parameters
The following table describes theCcreate account response parameters:
Name | Type | Description |
---|---|---|
accountProperties | object | Contains "to" parameter for recipient |
createdDate | string | Account creation date |
createdBy | string | user creating account |
lastModifiedDate | string | Last account modification date |
name | string | Account name |
uuid | string | The account UUID. This is not the location UUID. |
GET account by UUID
Use this endpoint to retrieve information for a specific Cloud Locations Account.
GET https://analytics.adobe.io/api/{GLOBAL_COMPANY_ID}/export_locations/analytics/exportlocations/account/{UUID}
Request and Response Examples
Click the Request tab in the following example to see a cURL request for this endpoint. Click the Response tab to see a successful JSON response for the request.
Request
Copied to your clipboardcurl -X 'GET' \"https://analytics.adobe.io/api/{GLOBAL_COMPANY_ID}/export_locations/analytics/exportlocations/account/{UUID}" \-H "accept: application/json" \-H "x-api-key: {CLIENT_ID}" \-H "Authorization: Bearer {ACCESS_TOKEN}" \
Response
Copied to your clipboard{"type": "ftp","accountProperties": {"port": 21,"hostname": "ftp.example.com","username": "exampleuser"},"name": "Example FTP","description": "","createdBy": "exampleuser@example.com","modifiedBy": "exampleuser@example.com","createdDate": "YYYY-08-09T20:56:35.380Z","lastModifiedDate": "YYYY-08-20T17:55:45.551Z","shared": false,"deleted": false,"uuid": "bee11111-1e11-111b-111f-dd11c6b1111e"}
Example details
In this example, the account {UUID}
is provided in the path as bee11111-1e11-111b-111f-dd11c6b1111e
. The response shows the details for an ftp
type account. This is similar to the response for the same type of account in the GET accounts endpoint described above.
Request and Response Parameters
This endpoint contains parameters described in prevoius sections.
PUT update account
Use this endpoint to update a specific Cloud Locations Account.
PUT https://analytics.adobe.io/api/{GLOBAL_COMPANY_ID}/export_locations/analytics/exportlocations/account/{UUID}
Request and Response Examples
Click the Request tab in the following example to see a cURL request for this endpoint. Click the Response tab to see a successful JSON response for the request.
Request
Copied to your clipboardcurl -X 'PUT' \"https://analytics.adobe.io/api/{GLOBAL_COMPANY_ID}/export_locations/analytics/exportlocations/account/{UUID}" \-H "accept: application/json" \-H "x-api-key: {CLIENT_ID}" \-H "Authorization: Bearer {ACCESS_TOKEN}" \-d '{"type": "s3","accountProperties":{"accessKeyID": "examplekeyID"},"name": "Example Updated Account","description": "Example updated account description","sharedTo": "exampleuser2@example.com""secret": "********"}'
Response
Copied to your clipboard{"type": "s3","secret": "examplepassword","accountProperties": {"accessKeyID": "examplekeyID"},"name": "Example Updated Account","description": "Example updated account description","sharedTo": "exampleuser2@example.com","createdBy": "exampleuser@example.com","createdDate": "YYYY-05-04T21:38:40.139175Z","lastModifiedDate": "YYYY-06-01T21:38:40.139175Z","uuid": "bee11111-1e11-111b-111f-dd11c6b1111e"}
Example details
The example request above updates an s3
type account so that it is shared to exampleuser2@exammple.com
. Note this is confirmed in the response and the lastModifiedDate
includes the updated date value.
Request Parameters
The following table describes the request parameters not already defined above:
Name | Required | Type | Description |
---|---|---|---|
secret | required | string | Account password |
accountProperties | required | object | Includes the AccessKeyID parameter for the s3 type account |
sharedTo | optional | string | User to receive account sharing privileges |
Response Parameters
The response parameters for this example are already described in previous sections.
DELETE account
Use this endpoint to delete a specific Cloud Locations account.
DELETE https://analytics.adobe.io/api/{GLOBAL_COMPANY_ID}/export_locations/analytics/exportlocations/account/{UUID}
Request and Response Examples
Click the Request tab in the following example to see a cURL request for this endpoint. Click the Response tab to see a successful JSON response for the request.
Request
Copied to your clipboardcurl -X 'DELETE' \"https://analytics.adobe.io/api/{GLOBAL_COMPANY_ID}/export_locations/analytics/exportlocations/account/{UUID}" \-H "accept: application/json" \-H "x-api-key: {CLIENT_ID}" \-H "Authorization: Bearer {ACCESS_TOKEN}" \
Response
Copied to your clipboard{"message": "Account deleted successfully","uuid": "bee11111-1e11-111b-111f-dd11c6b1111e"}
Creating s3 role ARN accounts
An s3 Role ARN (Amazon Resource Name) is a unique identifier for an IAM role that grants permissions to access an S3 bucket. It's used to specify which role should be assumed when granting temporary credentials or when configuring other AWS services to interact with S3. To create an Adobe Analytics cloud location account to associate with an s3 role ARN, follow these steps:
- Use the GET s3 role arn method to retrieve the userARN value, as described below.
- Create a roleARN in the AWS portal. See AWS s3 role ARN instructions for more information.
- Create an Adobe Cloud Locations account for the s3 ARN type with the POST create account method.
- Include the s3 role ARN
accountProperties
as shown in the JSON above.
GET s3 role arn
Use this endpoint to retrieve information for a specific Cloud Locations Account.
GET https://analytics.adobe.io/api/{GLOBAL_COMPANY_ID}/export_locations/analytics/exportlocations/account/{UUID}
Request and Response Examples
Click the Request tab in the following example to see a cURL request for this endpoint. Click the Response tab to see a successful JSON response for the request.
Request
Copied to your clipboardcurl -X 'GET' \"https://analytics.adobe.io/api/{GLOBAL_COMPANY_ID}/export_locations/analytics/exportlocations/cloudAccount/account/s3_role_arn" \-H "accept: application/json" \-H "x-api-key: {CLIENT_ID}" \-H "Authorization: Bearer {ACCESS_TOKEN}" \
Response
Copied to your clipboard{"userARN": "arn:aws:iam::874017777777:user/S-df-rest-api"}
Example details
In the examples above, the GET s3 role arn method is used to request the userARN value. The value is provided in the response and can be used to create a roleARN in the AWS portal. After creating the roleARN, you can create a cloud locations account with the POST create account method described in a previous section. See the Account Properties section in this guide to provide a complete POST request.
For more information, see the following: