Journeys APIs (v1)

Download OpenAPI specification:Download

The Journeys APIs allow to manage capping and throttling configurations. They are accessible by an authorized technical account created through the Adobe Developer Console.

Learn more about the capping and throttling mechanisms in the following documentation: Journeys integration with external systems

Visualize API calls with Postman:

API paths:

Required headers:

  • All calls require the authentication headers Authorization, x-api-key, and x-gw-ims-org-id.
  • All resources in Experience Platform and Journey Optimizer are isolated to specific virtual sandboxes. All requests to these 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 for more information.
  • All requests with a payload in the request body (such as POST, PUT calls) must include the header Content-Type with the value application/json

Notes about configuration states and deployment status:

  • The current state of a capping or throttling configuration is either 'created', 'updated' or 'deployed'. Refer to the description and example below for GET /endpointConfigs/{uid} and PUT /endpointConfigs/{uid} operations.

  • In creation and update responses, a canDeploy JSON object indicates whether or not a configuration can be deployed. It may contain some errors and warnings. Refer to the description and example below for GET /endpointConfigs/canDeploy/{uid} operation.

Specific notes about throttling configurations:

  • You must provide all the following attributes when creating or updating a throttling configuration: 'maxThroughput', 'urlPattern' and 'methods'.

  • A throttling configuration must be defined on a production sandbox (given through x-sandbox-name header). It is applied at organization level.

  • Only one throttling configuration is currently allowed per organisation.

Capping configuration

Create an endpoint capping configuration

Create a capping configuration on a given endpoint identified by its URL. The endpoint can be used in one or more actions and data sources.

In the given payload, the capping configuration is defined by :

  • url : the URL of the endpoint, as defined in the actions or data sources.

  • methods : the methods called on this endpoint, as defined in the actions or data sources.

  • Within services JSON object, one of the two following values is expected :

    • "action" if the capping will be applied on the endpoint when executing a Custom Action
    • "dataSource" if the capping will be applied on the endpoint when fetching data from a Data Source
  • (optional) maxHttpConnections: max count of simultaneous connections to the endpoint (max value is 400). If not provided, there will be no limitation of the number of connections to the endpoint.

  • Within rating JSON object :

    • maxCallsCount: max count of calls to be performed in the given period (min value is 1)
    • periodInMs: duration in milliseconds (value greater than 0)

In the response to this call, the created configuration is returned along with its uid (Unique ID) that is expected to be passed afterwards in the other calls.

Request
header Parameters
Authorization
required
string

The access token provided after authorization in the format "Bearer {ACCESS_TOKEN}"

x-api-key
required
string

Specific API key for your unique Journey Orchestration configuration {API_KEY}

x-gw-ims-org-id
required
string

Unique Identifier for your IMS Organization {IMS_ORG}

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place {SANDBOX_NAME}

Request Body schema: application/json;charset=utf-8
required
methods
required
Array of strings

The methods called on this endpoint, as defined in the actions or data sources

Items Enum: "GET" "POST" "PUT" "PATCH" "DELETE" "OPTION"
orgId
required
string

The unique identifier of the IMS organization

required
object
url
required
string

The URL of the endpoint

Responses
200

OK: the operation was successful.

500

Internal Server Error: invalid values or missing elements in the given payload.

post/endpointConfigs
Request samples
application/json;charset=utf-8
{}
Response samples
application/json;charset=utf-8
{
  • "createdElement": {
    },
  • "uid": "9e6bbdf4-8e40-4ac8-9e83-1e2cc7f0f1e7",
  • "uri": "/voyager/apis/endpointConfigs/9e6bbdf4-8e40-4ac8-9e83-1e2cc7f0f1e7",
  • "resStatus": "created",
  • "canDeploy": {
    }
}

Get an endpoint capping configuration

Return the capping configuration identified by the given Unique ID. The latest definition is returned.

In addition to the data provided when creating or updating a configuration, the response essentially contains the following elements:

  • uid : Unique ID of the capping configuration, generated at creation time
  • metadata : information about creation, last update and last deployment
  • state : current state of the capping configuration, either 'created', 'updated' or 'deployed'
  • hasBeenDeployed : true or false
  • deployedConfig in case the configuration has been deployed: this is the capping configuration at latest deployment time. The current capping configuration differs if it has been updated since.
Request
path Parameters
uid
required
string
header Parameters
Authorization
required
string

The access token provided after authorization in the format "Bearer {ACCESS_TOKEN}"

x-api-key
required
string

Specific API key for your unique Journey Orchestration configuration {API_KEY}

x-gw-ims-org-id
required
string

Unique Identifier for your IMS Organization {IMS_ORG}

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place {SANDBOX_NAME}

Responses
200

OK: the operation was successful.

404

Not Found: unknown given Unique ID.

get/endpointConfigs/{uid}
Response samples
application/json;charset=utf-8
{
  • "result": {
    }
}

Update an endpoint capping configuration

Update the capping configuration identified by the given Unique ID. The operation is an overwrite of the existing configuration, therefore the request body must include all fields required to create a configuration.

A configuration can be updated at any time, even if it has been deployed. In such case, state is 'updated' and hasBeenDeployed is true. To apply the latest changes, the configuration must be deployed again. The deployedConfig object always defines the configuration which is currently deployed.

Request
path Parameters
uid
required
string
header Parameters
Authorization
required
string

The access token provided after authorization in the format "Bearer {ACCESS_TOKEN}"

x-api-key
required
string

Specific API key for your unique Journey Orchestration configuration {API_KEY}

x-gw-ims-org-id
required
string

Unique Identifier for your IMS Organization {IMS_ORG}

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place {SANDBOX_NAME}

Request Body schema: application/json;charset=utf-8
required
methods
required
Array of objects

The methods called on this endpoint, as defined in the actions or data sources

orgId
required
string

The unique identifier of the IMS organization

required
object
url
required
string

The URL of the endpoint

Responses
200

OK: operation was successful.

404

Not Found: unknown given Unique ID.

500

Internal Server Error: invalid values or missing elements in the given payload.

put/endpointConfigs/{uid}
Request samples
application/json;charset=utf-8
{
  • "methods": [
    ],
  • "services": {
    },
  • "orgId": "<IMS Org Id>"
}
Response samples
application/json;charset=utf-8
{
  • "updatedElement": {
    },
  • "uid": "9e6bbdf4-8e40-4ac8-9e83-1e2cc7f0f1e7",
  • "uri": "/voyager/apis/endpointConfigs/9e6bbdf4-8e40-4ac8-9e83-1e2cc7f0f1e7",
  • "resStatus": "updated",
  • "canDeploy": {
    }
}

Delete an endpoint capping configuration

Delete the capping configuration identified by the given Unique ID.

In case the configuration has been deployed, it must be undeployed before being deleted. Otherwise an error response with HTTP Status Code 500 is returned :

{
  "status": 500,
  "error": {
    "code":1451,
    "family": "INPUT_OUTPUT_ERROR",
    "message": "Can't delete a deployed endpoint config. Undeploy it before deleting it",
    "service": "vyg-authoring-api",
    "version": "ce5cac3",
    "context": "com.adobe.voyager.service.authoring.restapis.v1_0.EndpointConfigService:189"
    "schema":"21835D7E5BFF031F0A494026@AdobeOrg_prod_journeyVersions"
  },
  "requestId": "pxSRgsBzUKYcMyNlqc0paqIJZfc0qdAw"
}

To override this control, you need to pass forceDelete=true as query parameter.

Request
path Parameters
uid
required
string
query Parameters
forceDelete
string
header Parameters
Authorization
required
string

The access token provided after authorization in the format "Bearer {ACCESS_TOKEN}"

x-api-key
required
string

Specific API key for your unique Journey Orchestration configuration {API_KEY}

x-gw-ims-org-id
required
string

Unique Identifier for your IMS Organization {IMS_ORG}

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place {SANDBOX_NAME}

Responses
200

OK: the operation was successful.

404

Not Found: unknown given Unique ID.

500

Internal Server Error: invalid values or missing elements in the given payload.

delete/endpointConfigs/{uid}
Response samples
application/json;charset=utf-8
{ }

Check if an endpoint capping configuration can be deployed

Calling this operation is not mandatory for using any other operation of the capping API. It allows to verify whether or not a capping configuration can be deployed. It returns the validation status of the configuration identified by its Unique ID, either:

  • "ok"
  • "error"

The potential errors are:

  • ERR_ENDPOINTCONFIG_100: capping config: missing or invalid url
  • ERR_ENDPOINTCONFIG_101: capping config: malformed url
  • ERR_ENDPOINTCONFIG_102: capping config: malformed url: wildchar in url not allowed in host:port
  • ERR_ENDPOINTCONFIG_103: capping config: missing HTTP methods
  • ERR_ENDPOINTCONFIG_104: capping config: no call rating defined
  • ERR_ENDPOINTCONFIG_107: capping config: invalid max calls count (maxCallsCount)
  • ERR_ENDPOINTCONFIG_108: capping config: invalid max calls count (periodInMs)
  • ERR_ENDPOINTCONFIG_111: capping config: can't create endpoint config: invalid payload
  • ERR_ENDPOINTCONFIG_112: capping config: can't create endpoint config: expecting a JSON payload
  • ERR_AUTHORING_ENDPOINTCONFIG_1: invalid service name '<given value>': must be 'dataSource' or 'action'

The potential warning is:

  • ERR_ENDPOINTCONFIG_106: capping config: max HTTP connections not defined: no limitation by default
Request
path Parameters
uid
required
string
header Parameters
Authorization
required
string

The access token provided after authorization in the format "Bearer {ACCESS_TOKEN}"

x-api-key
required
string

Specific API key for your unique Journey Orchestration configuration {API_KEY}

x-gw-ims-org-id
required
string

Unique Identifier for your IMS Organization {IMS_ORG}

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place {SANDBOX_NAME}

Responses
200

OK: the operation was successful.

404

Not Found: unknown given Unique ID.

get/endpointConfigs/{uid}/canDeploy
Response samples
application/json;charset=utf-8
{
  • "canDeploy": {
    }
}

Deploy an endpoint capping configuration

Deploy the capping configuration identified by the given Unique ID.

A successful deployment returns an empty response body and HTTP Status Code 204 (No-content). In such case, the configuration state is changed to 'deployed' and hasBeenDeployed is true.

Request
path Parameters
uid
required
string
header Parameters
Authorization
required
string

The access token provided after authorization in the format "Bearer {ACCESS_TOKEN}"

x-api-key
required
string

Specific API key for your unique Journey Orchestration configuration {API_KEY}

x-gw-ims-org-id
required
string

Unique Identifier for your IMS Organization {IMS_ORG}

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place {SANDBOX_NAME}

Responses
204

No Content: the operation was successful.

500

Internal Server Error: the definition of given configuration definition was not valid.

post/endpointConfigs/{uid}/deploy

Undeploy an endpoint capping configuration

Undeploy the capping configuration identified by the given Unique ID.

A successful undeployment returns an empty response body and HTTP Status Code 204 (No-content). In such case, the configuration state is changed back to the state before the deployment, either 'created' or 'updated', and hasBeenDeployed is changed to false.

Request
path Parameters
uid
required
string
header Parameters
Authorization
required
string

The access token provided after authorization in the format "Bearer {ACCESS_TOKEN}"

x-api-key
required
string

Specific API key for your unique Journey Orchestration configuration {API_KEY}

x-gw-ims-org-id
required
string

Unique Identifier for your IMS Organization {IMS_ORG}

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place {SANDBOX_NAME}

Responses
204

No Content: the operation was successful or the given configuration was not deployed.

post/endpointConfigs/{uid}/undeploy

List the endpoint capping configurations

Return the list of all endpoint capping configurations defined for the given IMS organization and sandbox.

Request
header Parameters
Authorization
required
string

The access token provided after authorization in the format "Bearer {ACCESS_TOKEN}"

x-api-key
required
string

Specific API key for your unique Journey Orchestration configuration {API_KEY}

x-gw-ims-org-id
required
string

Unique Identifier for your IMS Organization {IMS_ORG}

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place {SANDBOX_NAME}

Request Body schema: application/json;charset=utf-8
optional
object
Responses
200

OK: the operation was successful.

post/list/endpointConfigs
Request samples
application/json;charset=utf-8
{ }
Response samples
application/json;charset=utf-8
{
  • "results": [
    ]
}

Throttling configuration

List throttlingConfigs configurations

Request
header Parameters
Authorization
required
string

The access token provided after authorization in the format "Bearer {ACCESS_TOKEN}"

x-api-key
required
string

Specific API key for your unique Journey Orchestration configuration {API_KEY}

x-gw-ims-org-id
required
string

Unique Identifier for your IMS Organization {IMS_ORG}

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place {SANDBOX_NAME}

Request Body schema: application/json;charset=utf-8
optional
object
Responses
200

OK: the operation was successful.

post/list/throttlingConfigs
Request samples
application/json;charset=utf-8
{ }
Response samples
application/json;charset=utf-8
{ }

Create a throttling configuration

Request
header Parameters
Authorization
required
string

The access token provided after authorization in the format "Bearer {ACCESS_TOKEN}"

x-api-key
required
string

Specific API key for your unique Journey Orchestration configuration {API_KEY}

x-gw-ims-org-id
required
string

Unique Identifier for your IMS Organization {IMS_ORG}

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place {SANDBOX_NAME}

Request Body schema: application/json;charset=utf-8
required
string
Responses
200

OK: the operation was successful.

500

Internal Server Error: invalid values or missing elements in the given payload.

post/throttlingConfigs
Request samples
application/json;charset=utf-8
"string"

Get an throttling configuration

Request
path Parameters
uid
required
string
header Parameters
Authorization
required
string

The access token provided after authorization in the format "Bearer {ACCESS_TOKEN}"

x-api-key
required
string

Specific API key for your unique Journey Orchestration configuration {API_KEY}

x-gw-ims-org-id
required
string

Unique Identifier for your IMS Organization {IMS_ORG}

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place {SANDBOX_NAME}

Responses
200

OK: the operation was successful.

404

Not Found: unknown given Unique ID.

get/throttlingConfigs/{uid}
Response samples
application/json;charset=utf-8
{ }

Update a throttling configuration

Request
path Parameters
uid
required
string
header Parameters
Authorization
required
string

The access token provided after authorization in the format "Bearer {ACCESS_TOKEN}"

x-api-key
required
string

Specific API key for your unique Journey Orchestration configuration {API_KEY}

x-gw-ims-org-id
required
string

Unique Identifier for your IMS Organization {IMS_ORG}

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place {SANDBOX_NAME}

Request Body schema: application/json;charset=utf-8
required
string
Responses
200

OK: operation was successful.

404

Not Found: unknown given Unique ID.

500

Internal Server Error: invalid values or missing elements in the given payload.

put/throttlingConfigs/{uid}
Request samples
application/json;charset=utf-8
"string"

Delete a throttling configuration

Request
path Parameters
uid
required
string
query Parameters
forceDelete
string
header Parameters
Authorization
required
string

The access token provided after authorization in the format "Bearer {ACCESS_TOKEN}"

x-api-key
required
string

Specific API key for your unique Journey Orchestration configuration {API_KEY}

x-gw-ims-org-id
required
string

Unique Identifier for your IMS Organization {IMS_ORG}

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place {SANDBOX_NAME}

Responses
200

OK: the operation was successful.

404

Not Found: unknown given Unique ID.

500

Internal Server Error: invalid values or missing elements in the given payload.

delete/throttlingConfigs/{uid}
Response samples
application/json;charset=utf-8
{ }

Check if an throttling configuration can be deployed

Request
path Parameters
uid
required
string
header Parameters
Authorization
required
string

The access token provided after authorization in the format "Bearer {ACCESS_TOKEN}"

x-api-key
required
string

Specific API key for your unique Journey Orchestration configuration {API_KEY}

x-gw-ims-org-id
required
string

Unique Identifier for your IMS Organization {IMS_ORG}

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place {SANDBOX_NAME}

Responses
200

OK: the operation was successful.

404

Not Found: unknown given Unique ID.

get/throttlingConfigs/{uid}/canDeploy
Response samples
application/json;charset=utf-8
{ }

Deploy an throttling configuration

Request
path Parameters
uid
required
string
header Parameters
Authorization
required
string

The access token provided after authorization in the format "Bearer {ACCESS_TOKEN}"

x-api-key
required
string

Specific API key for your unique Journey Orchestration configuration {API_KEY}

x-gw-ims-org-id
required
string

Unique Identifier for your IMS Organization {IMS_ORG}

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place {SANDBOX_NAME}

Responses
204

No Content: the operation was successful.

500

Internal Server Error: the definition of given configuration definition was not valid.

post/throttlingConfigs/{uid}/deploy

Undeploy throttling configuration

Request
path Parameters
uid
required
string
header Parameters
Authorization
required
string

The access token provided after authorization in the format "Bearer {ACCESS_TOKEN}"

x-api-key
required
string

Specific API key for your unique Journey Orchestration configuration {API_KEY}

x-gw-ims-org-id
required
string

Unique Identifier for your IMS Organization {IMS_ORG}

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place {SANDBOX_NAME}

Responses
204

No Content: the operation was successful or the given configuration was not deployed.

post/throttlingConfigs/{uid}/undeploy