openapi: 3.2.0 info: description: "Adobe Experience Platform Destination SDK (also referred to as the *Destination Authoring API*) is a suite of configuration APIs that allow you to configure destination integration patterns for Experience Platform to deliver audience and profile data to your endpoint, based on data and authentication formats of your choice. \n- **Related documentation**:\n - [Destination SDK overview](http://www.adobe.com/go/destination-sdk-overview-en)\n - [Getting started](http://www.adobe.com/go/destination-sdk-getting-started-en)\n\n- **Visualize API calls with Postman (a free, third-party software)**:\n - [Destination Authoring API Postman collection on GitHub](https://github.com/adobe/experience-platform-postman-samples/blob/master/apis/experience-platform/Destination%20Authoring%20API.postman_collection.json)\n - [Video guide for creating the Postman environment](https://video.tv.adobe.com/v/28832)\n - [Steps for importing environments and collections in Postman](https://learning.postman.com/docs/getting-started/importing-and-exporting-data/)\n\n- **API paths**:\n - PLATFORM Gateway URL: https://platform.adobe.io\n - Base path for this API: /data/core/activation/authoring\n - Example of a complete path for making a call to \"/destinations\": https://platform.adobe.io/data/core/activation/authoring/destinations\n\n- **Required headers**:\n - All service calls require the headers `Authorization`, `x-gw-ims-org-id`, and `x-api-key`. For more information on how to obtain these values, see the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en).\n - All resources in Experience Platform are isolated to specific virtual sandboxes. All requests to Platform APIs require the header `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](https://adobe.com/go/sandbox-overview-en) for more information.\n - All requests with a payload in the request body (such as POST, PUT, and PATCH calls) must include the header `Content-Type` with a value of `application/json`.\n\n- **API error handling**:\n - Refer to the Experience Platform API troubleshooting guide for [FAQs](https://experienceleague.adobe.com/docs/experience-platform/landing/troubleshooting.html?lang=en#faq), [API status codes](https://experienceleague.adobe.com/docs/experience-platform/landing/troubleshooting.html?lang=en#api-status-codes), and [request header errors](https://experienceleague.adobe.com/docs/experience-platform/landing/troubleshooting.html?lang=en#request-header-errors)." version: '1.0' title: Destination Authoring Credentials API servers: - url: https://platform.adobe.io/data/core/activation/authoring description: Production server tags: - name: Credentials description: 'If a Platform customer does not need to provide any authentication credentials to connect to your destination, a credentials configuration can provide the required credentials instead. Note that you must also select `PLATFORM_AUTHENTICATION` in the destination configuration in order to make use of this endpoint.

For more information when to use this endpoint, see the overview on [authentication configuration](http://www.adobe.com/go/destination-sdk-authentication-configuration-en) in the Destination SDK documentation. ' paths: /credentials: get: tags: - Credentials summary: Retrieve all credential configurations description: You can retrieve a list of all existing credential configuration for your IMS Organization by making a `GET` request to the `/authoring/credentials` endpoint. operationId: listCredential parameters: - $ref: '#/components/parameters/authorization' - $ref: '#/components/parameters/x-api-key' - $ref: '#/components/parameters/x-gw-ims-org-id' - $ref: '#/components/parameters/x-sandbox-name' responses: '200': description: A successful response returns HTTP status 200 with a list of credential configurations that you have access to, based on the IMS Org ID and sandbox name that you used. One instanceId corresponds to one credential configuration. x-summary: Credential configurations retrieved content: application/json: schema: type: array items: $ref: '#/components/schemas/credentialResponse' examples: default: value: items: - instanceId: n55affa0-3747-4030-895d-1d1236bb3680 createdDate: '2021-06-07T06:41:48.641943Z' lastModifiedDate: '2021-06-07T06:41:48.641943Z' type: s3Authentication name: yourdestination s3Authentication: accessId: string secretKey: string - instanceId: a25bffa0-3127-4030-895d-1d1236bb3680 createdDate: '2022-06-07T06:41:48.641943Z' lastModifiedDate: '2022-08-07T06:41:48.641943Z' type: basic name: yourdestination s3Authentication: url: string username: string password: string '401': description: Unauthorized. A mandatory header might be missing from the request or you may be missing permissions to access the resource. Verify your request before trying again. x-summary: Unauthorized access '403': description: Forbidden. The requester is not authorized to access the resource or a mandatory header might be missing from the request. Verify your request before trying again. x-summary: Access forbidden post: tags: - Credentials summary: Create a credential configuration description: You can create a new credentials configuration by making a `POST` request to the `/authoring/credentials` endpoint.

The following requests create new credential configurations, defined by the parameters provided in the payload.

See the examples for Basic, Amazon S3, SSH, Azure Data Lake Storage, and Azure Blob Storage credential types in the [create credential configuration documentation](https://experienceleague.adobe.com/docs/experience-platform/destinations/destination-sdk/credentials-api/create-credential-configuration.html). operationId: createCredential parameters: - $ref: '#/components/parameters/authorization' - $ref: '#/components/parameters/x-api-key' - $ref: '#/components/parameters/x-gw-ims-org-id' - $ref: '#/components/parameters/x-sandbox-name' requestBody: description: The following requests create new credential configurations, defined by the parameters provided in the payload. Examples include Basic authentication, Amazon S3, SSH, Azure Data Lake Storage, and Azure Blob Storage credential configurations. See full examples in the documentation. required: true content: application/json: schema: $ref: '#/components/schemas/credential' examples: Basic: summary: Basic authentication value: basicAuthentication: url: string username: string password: string AmazonS3: summary: Amazon S3 authentication value: s3Authentication: accessId: string secretKey: string SSH: summary: SSH authentication value: sshAuthentication: username: string sshKey: string AzureDataLake: summary: Azure Data Lake Storage authentication value: azureAuthentication: url: string tenant: string servicePrincipalId: string servicePrincipalKey: string AzureBlob: summary: Azure Blob Storage authentication value: azureConnectionStringAuthentication: connectionString: string responses: '200': description: A successful response returns HTTP status 200 with details of your newly created credentials configuration. x-summary: Credentials configuration created content: application/json: schema: type: array items: $ref: '#/components/schemas/credentialResponse' '400': description: Bad request. The request payload was incorrectly formatted. Check your payload formatting before trying again. x-summary: Bad request due to incorrect payload formatting '401': description: Unauthorized. A mandatory header might be missing from the request or you may be missing permissions to access the resource. Verify your request before trying again. x-summary: Unauthorized access '403': description: Forbidden. The requester is not authorized to access the resource or a mandatory header might be missing from the request. Verify your request before trying again. x-summary: Access forbidden /credentials/{INSTANCE_ID}: get: tags: - Credentials summary: Retrieve a specific credential configuration description: You can retrieve an existing credential configuration by making a `GET` request to the `/authoring/credentials` endpoint and providing the ID of the credentials configuration you want to retrieve. operationId: retrieveCredential parameters: - $ref: '#/components/parameters/authorization' - $ref: '#/components/parameters/x-api-key' - $ref: '#/components/parameters/x-gw-ims-org-id' - $ref: '#/components/parameters/x-sandbox-name' - name: INSTANCE_ID in: path description: The ID of the credential configuration you want to retrieve. required: true schema: type: string responses: '200': description: A successful response returns HTTP status 200 with the details of the credential configuration corresponding to the instanceId provided on the request. x-summary: Credential configuration retrieved content: application/json: schema: $ref: '#/components/schemas/credentialResponse' examples: default: value: instanceId: n55affa0-3747-4030-895d-1d1236bb3680 createdDate: '2021-06-07T06:41:48.641943Z' lastModifiedDate: '2021-06-07T06:41:48.641943Z' type: s3Authentication name: yourdestination s3Authentication: accessId: string secretKey: string '400': description: Bad request. The request payload was incorrectly formatted. Check your payload formatting before trying again. x-summary: Bad request due to incorrect formatting '401': description: Unauthorized. A mandatory header might be missing from the request or you may be missing permissions to access the resource. Verify your request before trying again. x-summary: Unauthorized access '403': description: Forbidden. The requester is not authorized to access the resource or a mandatory header might be missing from the request. Verify your request before trying again. x-summary: Access forbidden '404': description: Resource not found. Verify that you are using the correct credential configuration ID before trying again. x-summary: Resource not found put: tags: - Credentials summary: Update a credential configuration description: You can update an existing credential configuration by making a `PUT` request to the `/authoring/credentials` endpoint with the updated payload.

To obtain an existing credential configuration and its corresponding `{INSTANCE_ID}`, see [Retrieve a credential configuration](#operation/retrieveCredential).

The following requests update existing credential configurations, defined by the parameters provided in the payload. operationId: updateCredential parameters: - $ref: '#/components/parameters/authorization' - $ref: '#/components/parameters/x-api-key' - $ref: '#/components/parameters/x-gw-ims-org-id' - $ref: '#/components/parameters/x-sandbox-name' - name: INSTANCE_ID in: path description: The ID of the credential configuration that you want to update. To obtain an existing credential configuration and its corresponding INSTANCE_ID, see [Retrieve a credential configuration](#operation/retrieveCredential). required: true schema: type: string requestBody: description: The following requests update existing credential configurations, defined by the parameters provided in the payload. Examples include Basic authentication, Amazon S3, SSH, Azure Data Lake Storage, and Azure Blob Storage credential configurations. required: true content: application/json: schema: $ref: '#/components/schemas/credential' examples: Basic: summary: Basic authentication value: basicAuthentication: url: string username: string password: string AmazonS3: summary: Amazon S3 authentication value: s3Authentication: accessId: string secretKey: string SSH: summary: SSH authentication value: sshAuthentication: username: string sshKey: string AzureDataLake: summary: Azure Data Lake Storage authentication value: azureAuthentication: url: string tenant: string servicePrincipalId: string servicePrincipalKey: string AzureBlob: summary: Azure Blob Storage authentication value: azureConnectionStringAuthentication: connectionString: string responses: '200': description: A successful response returns HTTP status 200 with the details of your updated credential configuration. x-summary: Credential configuration updated content: application/json: schema: $ref: '#/components/schemas/credentialResponse' '400': description: Bad request. The request payload was incorrectly formatted. Check your payload formatting before trying again. x-summary: Bad request due to incorrect payload format '401': description: Unauthorized. A mandatory header might be missing from the request or you may be missing permissions to access the resource. Verify your request and try again. x-summary: Unauthorized access '403': description: Forbidden. The requester is not authorized to access the resource or a mandatory header might be missing from the request. Verify your request and try again. x-summary: Access forbidden '404': description: Resource not found. Verify that you are using the correct credential configuration ID before trying again. x-summary: Resource not found delete: tags: - Credentials summary: Delete a credential configuration description: You can delete an existing credential configuration by making a `DELETE` request to the `/authoring/credentials` endpoint with the `{INSTANCE_ID}` of the credential configuration that you want to delete.

To obtain an existing destination configuration and its corresponding `{INSTANCE_ID}`, see [Retrieve a credential configuration](#operation/retrieveCredential).

The following request deletes a credential configuration defined by the `{INSTANCE_ID}` parameter. operationId: deleteCredential parameters: - $ref: '#/components/parameters/authorization' - $ref: '#/components/parameters/x-api-key' - $ref: '#/components/parameters/x-gw-ims-org-id' - $ref: '#/components/parameters/x-sandbox-name' - name: INSTANCE_ID in: path description: The ID of the credential configuration you want to delete. required: true schema: type: string responses: '200': description: A successful response returns HTTP status 200 along with an empty HTTP response. x-summary: Resource deleted successfully '401': description: Unauthorized. A mandatory header might be missing from the request or you may be missing permissions to access the resource. Verify your request and try again. x-summary: Unauthorized access '403': description: Forbidden. The requester is not authorized to access the resource or a mandatory header might be missing from the request. Verify your request and try again. x-summary: Access forbidden '404': description: Resource not found. Verify that you are using the correct credential configuration ID before trying again. x-summary: Resource not found components: schemas: credential: type: object title: credential description: Defines credential type with details to authenticate with the destination server at platform level. properties: type: type: string title: Credential type description: Defines the credential type. example: OAUTH2_CLIENT_CREDENTIAL enum: - BASIC name: type: string title: Name description: Name of the credential configuration. basicAuthentication: type: object description: Required parameters to set up basic authentication with username and password. properties: username: description: User name required to connect to the destination server type: string password: description: Password required to connect to the destination server type: string required: - username - password required: - type response: properties: instanceId: type: string example: 2307ec2b-4798-45a4-9239-5d0a2fb0ed67 title: Instance ID description: The unique ID of an object. createdDate: type: string example: '2020-11-17T06:49:24.331012Z' title: Created date description: Created date in UTC. lastModifiedDate: type: string example: '2020-11-17T06:49:24.331012Z' title: Last modified date description: Last update date in UTC. credentialResponse: allOf: - $ref: '#/components/schemas/response' - $ref: '#/components/schemas/credential' parameters: authorization: name: Authorization description: 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 [getting started tutorial](http://www.adobe.com/go/destination-sdk-getting-started-en). required: true schema: type: string in: header x-api-key: name: x-api-key description: The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the [getting started tutorial](http://www.adobe.com/go/destination-sdk-getting-started-en). required: true schema: type: string in: header x-gw-ims-org-id: name: x-gw-ims-org-id description: The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the [getting started tutorial](http://www.adobe.com/go/destination-sdk-getting-started-en). required: true schema: type: string in: header x-sandbox-name: name: x-sandbox-name description: The name of the sandbox in which the operation will take place. See the [sandboxes overview](https://adobe.com/go/sandbox-overview-en) for more information. For more information on how to obtain this value, visit the [getting started tutorial](http://www.adobe.com/go/destination-sdk-getting-started-en) required: true schema: type: string in: header