This document provides answers to frequently asked questions about Adobe Experience Platform, as well as a high-level troubleshooting guide for common errors that may be encountered in any Experience Platform API. For troubleshooting guides on individual Platform services, see the service troubleshooting directory below.
The following is a list of answers to frequently asked questions about Adobe Experience Platform.
Experience Platform offers multiple RESTful APIs that use HTTP requests to access Platform resources. These Service APIs each expose multiple endpoints, and allow you to perform operations to list (GET), lookup (GET), edit (PUT and/or PATCH), and delete (DELETE) resources. For more information on specific endpoints and operations available for each service, please see the API Reference documentation on Adobe I/O.
Request formats vary depending on the Platform API being used. The best way to learn how to structure your API calls is by following along with the examples provided in the documentation for the particular Platform service you are using.
For more information on formating API requests, please visit the Platform API getting started guide reading sample API calls section.
An organization is an an Adobe representation of a customer. Any licensed Adobe solutions are integrated with this customer organization. When an organization is entitled to Experience Platform, it can assign access to developers. The organization ID (x-gw-ims-org-id
) represents the organization that an API call should be executed for, and is therefore required as a header in all API requests. This ID can be found through the Adobe Developer Console: in the Integrations tab, navigate to the Overview section for any particular integration to find the ID under Client Credentials. For a step-by-step walkthrough of how to authenticate into Platform, see the authentication tutorial.
An API key is required as a header in all API requests. It can be found through the Adobe Developer Console. Within the console, on the Integrations tab, navigate to the Overview section for a specific integration and you will find the key under Client Credentials. For a step-by-step walkthrough of how to authenticate to Platform, see the authentication tutorial.
Access tokens are required in the Authorization header of all API calls. They can be generated using a CURL command, provided you have access to an integration for an organization. Access tokens are only valid for 24 hours, after which a new token must be generated to continue using the API. For details on generating access tokens, see the authentication tutorial.
Some Platform API endpoints accept query parameters to locate specific information and filter the results returned in the response. Query parameters are appended to request paths with a question mark (?
) symbol, followed by one or more query parameters using the format paramName=paramValue
. When combining multiple parameters in a single call, you must use an ampersand (&
) to separate individual parameters. The following example demonstrates how a request that uses multiple query parameters is represented in the documentation.
Examples of commonly used query parameters include:
GET /tenant/schemas?orderby=title
GET /datasets?limit=36&start=10
GET /batches?createdAfter=1559775880000&orderBy=desc:created
For detailed information on which query parameters are available for a specific service or endpoint, please review the service-specific documentation.
Many PATCH operations in Platform APIs use JSON Pointer strings to indicate JSON properties to update. These are typically included in request payloads using JSON Patch format. See the API fundamentals guide for detailed information on required syntax for these technologies.
Postman is a useful tool for visualizing calls to RESTful APIs. The Platform API getting started guide contains a video and instructions for importing Postman collections. Additionally, a list of Postman collections for each service is provided.
Depending on whether you are using the UI or API, the following system requirements apply:
For UI based operations:
For API and developer interactions:
The following is a list of errors that you may encounter when using any Experience Platform service. For troubleshooting guides on individual Platform services, see the service troubleshooting directory below.
The following status codes may be encountered on any Experience Platform API. Each has a variety of causes, therefore the explanations given in this section are general in nature. For more details regarding specific errors in individual Platform services, please see the service troubleshooting directory below.
Status Code | Description | Possible Causes |
---|---|---|
400 | Bad request | The request was improperly constructed, missing key information, and/or contained incorrect syntax. |
401 | Authentication failed | The request did not pass an authentication check. Your access token may be missing or invalid. See the OAuth token errors section below for more details. |
403 | Forbidden | The resource was found, but you do not have the right credentials to view it. A likely cause of this error is that you might not have the required access control permissions to access or edit the resource. Read how to get the necessary attribute-based access control permissions to use Platform APIs. |
404 | Not found | The requested resource could not be found on the server. The resource may have been deleted, or the requested path was entered incorrectly. |
500 | Internal server error | This is a server-side error. If you are making many simultaneous calls, you may be reaching the API limit and need to filter your results. (See the Catalog Service API developer guide sub-guide on filtering data to learn more.) Wait for a moment before trying your request again, and contact your administrator if the problem persists. |
All API calls in Platform require specific request headers. To see which headers are required for individual services, please see the API Reference documentation. To find the values for the required authentication headers, see the Authentication tutorial. If any of these headers are missing or invalid when making an API call, the following errors may occur.
{
"error_code": "403010",
"message": "Oauth token is missing."
}
This error message displays when an Authorization
header is missing from an API request. Ensure that the Authorization header is included with a valid access token before trying again.
{
"error_code": "401013",
"message": "Oauth token is not valid"
}
This error message displays when the provided access token in the Authorization
header is not valid. Ensure that the token has been entered correctly, or generate a new token in the Adobe I/O Console.
{
"error_code": "403000",
"message": "Api Key is required"
}
This error message displays when an API key header (x-api-key
) is missing from an API request. Ensure that the header is included with a valid API key before trying again.
{
"error_code": "403003",
"message": "Api Key is invalid"
}
This error message displays when the value of the provided API key header (x-api-key
) is invalid. Ensure that you have entered the key correctly before trying again. If you do not know your API key, you can find it in the Adobe I/O Console: in the Integrations tab, navigate to the Overview section for a specific integration to find the API key under Client Credentials.
{
"error_code": "400003",
"message": "Missing header"
}
This error message displays when an organization header (x-gw-ims-org-id
) is missing from an API request. Ensure that the header is included with the ID of your organization before trying again.
{
"error_code": "403025",
"message": "Profile is not valid"
}
This error message displays when the user or Adobe I/O integration (identified by the access token in the Authorization
header) is not entitled to make calls to Experience Platform APIs for the organization provided in the x-gw-ims-org-id
header. Ensure that you have provided the correct ID for your organization in the header before trying again. If you do not know your organization ID, you can find it in the Adobe I/O Console: in the Integrations tab, navigate to the Overview section for a specific integration to find the ID under Client Credentials.
{
"errorMessage":"Supplied version=[\\\\\\\"a200a2a3-0000-0200-0000-123178f90000\\\\\\\"] does not match the current version on entity=[\\\\\\\"a200cdb2-0000-0200-0000-456179940000\\\\\\\"]"
}
You may receive an etag error if a change was made on any source or destination entity like flow, connection, source connector, or target connection by another API caller. Due to the version mismatch, the change that you are trying to make would not be applied to the latest version of the entity.
To resolve this, you need to fetch the entity again, make sure that your changes are compatible with new version of the entity, then place the new etag in the If-Match
header, and finally make the API call.
{
"type": "/placeholder/type/uri",
"status": 400,
"title": "BadRequestError",
"detail": "A valid content-type must be specified"
}
This error message displays when a POST, PUT or PATCH request has an invalid or missing Content-Type
header. Ensure that the header is included in the request and that its value is application/json
.
{
"error_code": "403027",
"message": "User region is missing"
}
This error message displays in either of the two cases below:
x-gw-ims-org-id
) is passed in an API request. Ensure that the correct ID of your organization is included before trying again.The following is a list of troubleshooting guides and API reference documentation for Experience Platform APIs. Each troubleshooting guide provides answers to frequently asked questions and solutions to problems that are specific to individual Platform services. The API reference documents provide a comprehensive guide to all available endpoints for each service, and show sample request bodies, responses, and error codes that you may receive.