Cloud Account API
Before you can create a cloud Location, you must first create an Adobe Analytics cloud API account with the APIs in this guide. The Accounts APIs include the following endpoints for managing cloud API accounts:
- GET accounts: Retrieve all cloud 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 API account
- GET account by UUID: Retrieve a specific cloud API account
- PUT update account: Update a specific cloud API account
- DELETE account: Delete a specific cloud API account
- GET s3 role arn: Retrieve an
userARNvalue to create an AWS s3 role arn cloud API account
Account Types
Analytics API cloud accounts are specified by type. Account types are specified upon account creation. The following table describes account types:
emailftpsftpgcpazureazure_rbacazure_sass3s3_role_arns3 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 below for more information on the properties that are specific to each account type.
Note: With Cloud 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 accounts information that you have created or that have 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
curl -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
{
"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:
-
Accounts with all supported types as described in the Account Types table above.
-
An
accountPropertiesobject 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
uuididentifier for each account. This is not the same as the Locationuuidthat is used in the Locations API.
Request Parameters
The following table describes the GET accounts query request parameters:
createdBytypepagelimitResponse Parameters
The following table describes the GET accounts response parameters:
typesecretftpaccountPropertiesnamedescriptioncreatedBymodifiedBycreatedDatelastModifiedDateshareddeleteduuidPOST create account
Use this endpoint to create a new cloud API 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
curl -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
{
"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 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:
typeaccountPropertiesnamedescriptionResponse Parameters
The following table describes theCcreate account response parameters:
accountPropertiesto parameter for recipientcreatedDatecreatedBylastModifiedDatenameuuidGET account by UUID
Use this endpoint to retrieve information for a specific cloud API 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
curl -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
{
"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 API 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
curl -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
{
"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:
secretaccountPropertiesAccessKeyID parameter for the s3 type accountsharedToResponse Parameters
The response parameters for this example are already described in previous sections.
DELETE account
Use this endpoint to delete a specific cloud API 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
curl -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
{
"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 2.0 API cloud 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 API account for the s3 ARN type with the POST create account method.
- Include the s3 role ARN
accountPropertiesas shown in the JSON above.
GET s3 role arn
Use this endpoint to retrieve information for a specific Analytics s3 role arn cloud API 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
curl -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
{
"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 AWS roleARN, you can create a cloud locations account with the POST create account method described in a previous section. See the Account Properties article to view a complete POST request.
For more information, see the following: