[Beta]{class="badge informative"}
Process Manager API
Use the Process Manager API in Adobe Experience Platform to list process definitions, review execution runs, and manage recurring schedules.
Getting started
Before using the API, complete the authentication tutorial. Then include these headers in every request:
- Authorization:
Bearer {ACCESS_TOKEN} - x-api-key:
{API_KEY} - x-gw-ims-org-id:
{ORG_ID} - x-sandbox-name:
{SANDBOX_NAME}
List process definitions list-process-definitions
You can list all the current process definitions by making a GET request to the /process-definitions endpoint.
API format
GET /process-definitions
Query parameters
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 | |
|---|---|
| Parameter | Description |
name |
Case-insensitive substring filter on the definition name. |
sort |
Field to sort by. Supported values are createdAt, updatedAt, and name. Default is createdAt. |
order |
Sort order. Supported values are asc and desc. Default is desc. |
pageSize |
Items per page. Supported range is 1 to 100. Default is 100. |
cursor |
Opaque pagination cursor returned by a previous call. Mutually exclusive with offset. |
offset |
Zero-based offset. Mutually exclusive with cursor. |
Request
| code language-shell |
|---|
|
Response
A successful request returns HTTP status 200 with a list of process definitions.
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2 11-row-2 12-row-2 13-row-2 14-row-2 | |
|---|---|
| Field | Description |
definitionUuid |
The ID of the process definition. |
name |
The name of the process definition. |
imsOrg |
The ID of the organization that the process definition belongs to. |
sandboxId |
The ID of the sandbox that the process definition belongs to. |
sandboxName |
The name of the sandbox that the process definition belongs to. |
tasks |
An array that contains the task objects related to the process definition. |
tasks.id |
The ID of the task. |
tasks.taskType |
The type of task. Possible values include wait, ingest-data, verify-profile-ingestion, run-segmentation, run-profile-export, trigger-activation, run-data-distiller, and send-notification. |
tasks.retry.maxAttempts |
The number of times the task will be retried if the task fails. |
tasks.retry.backoffCoefficient |
|
createdAt |
The date and time the process definition was created. |
updatedAt |
The date and time the process definition was last updated. |
createdBy |
An object that contains information about the user that created the process definition. |
updatedBy |
An object that contains information about the user that last updated the process definition. |
Retrieve a specific process definition
You can retrieve a specific process definition by making a GET request to the /process-definitions endpoint while providing the process definition ID.
API format
GET /process-definitions/{DEFINITION_ID}
{DEFINITION_ID}Request
| code language-shell |
|---|
|
Response
A successful request returns HTTP status 200 with information about the requested process definition.
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2 11-row-2 12-row-2 13-row-2 14-row-2 | |
|---|---|
| Field | Description |
definitionUuid |
The ID of the process definition. |
name |
The name of the process definition. |
imsOrg |
The ID of the organization that the process definition belongs to. |
sandboxId |
The ID of the sandbox that the process definition belongs to. |
sandboxName |
The name of the sandbox that the process definition belongs to. |
tasks |
An array that contains the task objects related to the process definition. |
tasks.id |
The ID of the task. |
tasks.taskType |
The type of task. Possible values include wait, ingest-data, verify-profile-ingestion, run-segmentation, run-profile-export, trigger-activation, run-data-distiller, and send-notification. |
tasks.retry.maxAttempts |
The number of times the task will be retried if the task fails. |
tasks.retry.backoffCoefficient |
|
createdAt |
The date and time the process definition was created. |
updatedAt |
The date and time the process definition was last updated. |
createdBy |
An object that contains information about the user that created the process definition. |
updatedBy |
An object that contains information about the user that last updated the process definition. |
List process definition runs list-process-definition-runs
You can retrieve a list of all the runs for a process definition by making a GET request to the /runs endpoint and providing the ID of the process definition.
API format
GET /runs?{QUERY_PARAMETERS}
Query parameters
definitionUuidexecutionTriggerMANUAL or SCHEDULE.Request
| code language-shell |
|---|
|
Response
A successful request returns HTTP status 200 with information about the process definition runs.
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2 11-row-2 | |
|---|---|
| Field | Description |
runId |
The ID of the process definition run. |
definitionUuid |
The ID of the process definition that the run belongs to. |
definitionName |
The name of the process definition that the run belongs to. |
imsOrg |
The ID of the organization that the process definition run belongs to. |
sandboxId |
The ID of the sandbox that the process definition run belongs to. |
sandboxName |
The name of the sandbox that the process definition run belongs to. |
state |
The state of the process definition run. Possible values include PENDING, RUNNING, COMPLETED, FAILED, CANCELED, TERMINATED, and TIMED_OUT. |
submittedAt |
The date and time the process definition run was submitted. |
startedAt |
The date and time the process definition run starts executing. |
events |
An object that contains the tasks that are executed as part of the process definition run. |
triggeredBy |
The method which the process definition was executed. Possible values include MANUAL or SCHEDULE. |
Get specific process definition run get-process-definition-run
You can retrieve a specific process definition run by making a GET request to the /runs endpoint while providing the run ID.
API format
GET /runs/{RUN_ID}
{RUN_ID}Request
| code language-shell |
|---|
|
Response
A successful request returns HTTP status 200 with information about the specified process definition run.
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2 11-row-2 | |
|---|---|
| Field | Description |
runId |
The ID of the process definition run. |
definitionUuid |
The ID of the process definition that the run belongs to. |
definitionName |
The name of the process definition that the run belongs to. |
imsOrg |
The ID of the organization that the process definition run belongs to. |
sandboxId |
The ID of the sandbox that the process definition run belongs to. |
sandboxName |
The name of the sandbox that the process definition run belongs to. |
state |
The state of the process definition run. Possible values include PENDING, RUNNING, COMPLETED, FAILED, CANCELED, TERMINATED, and TIMED_OUT. |
submittedAt |
The date and time the process definition run was submitted. |
startedAt |
The date and time the process definition run starts executing. |
events |
An object that contains the tasks that are executed as part of the process definition run. |
triggeredBy |
The method which the process definition was executed. Possible values include MANUAL or SCHEDULE. |
Start a process definition run start-run
You can start a process definition run by making a POST request to the /runs endpoint.
API format
POST /runs
Request
| code language-shell |
|---|
|
| table 0-row-3 1-row-3 2-row-3 | ||
|---|---|---|
| Property | Type | Description |
definitionUuid |
String | The ID of the process definition you want to start a run for. |
inputs |
Object | An optional object that contains fields that are required in the process definition. |
Response
A successful request returns HTTP status 202 Accepted with the accepted run details. The execution is asynchronous and returns immediately with state: PENDING.
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2 11-row-2 | |
|---|---|
| Field | Description |
runId |
The ID of the newly accepted run. |
definitionUuid |
The ID of the process definition the run is for. |
definitionName |
The name of the process definition that the run belongs to. |
imsOrg |
The ID of the organization that the process definition run belongs to. |
sandboxId |
The ID of the sandbox that the process definition run belongs to. |
sandboxName |
The name of the sandbox that the process definition run belongs to. |
state |
The state of the run. Since this process is asynchronous, this will be PENDING. |
submittedAt |
The date and time the process definition run was submitted. |
startedAt |
The date and time the process definition run starts executing. |
events |
An object that contains the tasks that are executed as part of the process definition run. |
triggeredBy |
The method which the process definition was executed. Possible values include MANUAL or SCHEDULE. |
Retrieve process definition schedule get-schedule
You can get the schedule for a process definition by making a GET request to the /process-definitions/{DEFINITION_ID}/schedule endpoint and providing the ID of the process definition.
API format
GET /process-definitions/{DEFINITION_ID}/schedule
{DEFINITION_ID}Request
| code language-shell |
|---|
|
Response
A successful request returns HTTP status 200 with information about the process definition schedule.
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 | |
|---|---|
| Field | Description |
cron |
The cron format for the schedule. For more information about cron schedules, read the cron expression format documentation. |
paused |
A boolean that states if the schedule is paused or not. |
createdAt |
The date and time the schedule was created. |
updatedAt |
The date and time the schedule was last updated. |
createdBy |
An object that contains details of the user who created the schedule. |
updatedBy |
An object that contains details of the user who last updated the schedule. |
Replace a schedule replace-schedule
You can replace the schedule for a process definition by making a PUT request to the /process-definitions/{DEFINITION_ID}/schedule endpoint while providing the ID of the process definition.
API format
PUT /process-definitions/{DEFINITION_ID}/schedule
{DEFINITION_ID}Request
| code language-shell |
|---|
|
| table 0-row-3 1-row-3 | ||
|---|---|---|
| Property | Type | Description |
cron |
String | The cron format for the schedule. For more information about cron schedules, read the cron expression format documentation. |
Response
A successful request returns HTTP status 200 with the updated schedule.
| code language-json |
|---|
|
Remove the process definition schedule remove-schedule
You can remove the schedule attached to a process definition by making a DELETE request to the /process-definitions/{DEFINITION_ID}/schedule endpoint while providing the ID of the process definition.
API format
DELETE /process-definitions/{DEFINITION_ID}/schedule
{DEFINITION_ID}Request
| code language-shell |
|---|
|
Response
A successful request returns HTTP 204 with no response body.
Pause the specified schedule pause-schedule
You can pause the schedule for a process definition by making a POST request to the /process-definitions/{DEFINITION_ID}/schedule:pause endpoint while providing the process definition ID.
API format
POST /process-definitions/{DEFINITION_ID}/schedule:pause
{DEFINITION_ID}Request
| code language-shell |
|---|
|
Response
A successful request returns HTTP status 200 with information about the schedule.
| code language-json |
|---|
|
Resume the specified schedule resume-schedule
You can resume the schedule for a process definition by making a POST request to the /process-definitions/{DEFINITION_ID}/schedule:resume endpoint while providing the process definition ID.
API format
POST /process-definitions/{DEFINITION_ID}/schedule:resume
{DEFINITION_ID}Request
| code language-shell |
|---|
|
Response
A successful request returns HTTP status 200 with information about the schedule.
| code language-json |
|---|
|