---
openapi: 3.0.3
info:
title: Retrieve Journeys using APIs
description: This API allows you to retrieve Journeys and their associated campaigns.
Journey Public API Postman collection
version: 1.0.0
contact:
name: Adobe Journey Optimizer Team
email: support@adobe.com
license:
name: Adobe Proprietary
servers:
- url: https://platform.adobe.io
description: Production server
- url: https://platform-stage.adobe.io
description: Staging server
paths:
/ajo/journey:
parameters:
- $ref: '#/components/parameters/APIKeyParam'
- $ref: '#/components/parameters/ImsOrgIdParam'
- $ref: '#/components/parameters/SandboxNameParam'
get:
summary: Get a list of journeys
description: Returns a list of journeys based on the provided filters.
operationId: getJourneys
parameters:
- name: filter
in: query
description: Search filters in URL-encoded format. Supports &-separated fields with basic operators '=', '>', '<', '>=', '<='.
required: false
schema:
type: string
example: url_encoded(status=draft,live&metadata.lastModifiedAt>2024-12-25)
- name: page
in: query
description: Page number for pagination (0-based). Used to navigate through
multiple pages of results.
required: false
schema:
minimum: 0
type: integer
default: 0
example: 0
- name: pageSize
in: query
description: Number of items per page. Controls how many journeys are returned
in a single response.
required: false
schema:
maximum: 100
minimum: 1
type: integer
default: 100
example: 20
- name: fields
in: query
description: Comma-separated list of fields to include in the response. Allows
selective field retrieval for performance optimization.
required: false
schema:
type: string
example: name,status,metadata,createdBy
- name: sort
in: query
description: Sort criteria in format 'field=direction'. Multiple sorts can
be comma-separated. Direction can be 'asc' or 'desc'.
required: false
schema:
type: string
example: url_encoded(name=asc,metadata.createdAt=desc)
tags:
- Journeys
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/PublicJourneyList'
'400':
description: Bad request
'401':
description: Unauthorized
'500':
description: Internal server error
/ajo/journey/{id}:
parameters:
- $ref: '#/components/parameters/APIKeyParam'
- $ref: '#/components/parameters/ImsOrgIdParam'
- $ref: '#/components/parameters/SandboxNameParam'
get:
summary: Get journey by ID
description: Returns a journey by its ID with optional includes for additional data
operationId: getJourneyById
tags:
- Journeys
parameters:
- name: id
in: path
required: true
description: The journey ID
schema:
type: string
- name: include
in: query
required: false
description: Comma-separated list of additional data to include in the response (e.g., "campaigns", "surfaces", "rulesets"). Enriches the journey model with related information. Will cause additional overhead and API calls.
schema:
type: string
example: campaigns,rulesets
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/PublicJourney'
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Journey not found
'500':
description: Internal server error
components:
parameters:
APIKeyParam:
name: x-api-key
description: The API key belonging to the calling client. Use the client id from Developer Console.
required: true
in: header
schema:
type: string
example: 829495afa589475ab56850a702359cf9
ImsOrgIdParam:
name: x-gw-ims-org-id
description: The IMS org id for which the action is being taken.
required: true
in: header
schema:
type: string
example: 0A7F574EBB4C6E1423973F52@AdobeOrg
SandboxNameParam:
name: x-sandbox-name
description: Provides the platform sandbox name.
required: true
in: header
schema:
type: string
example: prod
schemas:
PublicJourneyList:
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/PublicJourney'
default: []
page:
type: integer
default: 0
description: Current page number (0-based)
limit:
type: integer
default: 10
description: Number of items per page
pages:
type: integer
default: 1
description: Total number of pages
required:
- results
- page
- limit
- pages
ErrorResponse:
type: object
properties:
reason:
type: string
message:
type: string
xml:
name: error
AttributeItem:
type: object
properties:
name:
type: string
messagePublicationIds:
type: array
items:
type: string
personalization:
type: boolean
usage:
"$ref": "#/components/schemas/AttributeUsage"
AttributeUsage:
type: object
properties:
content:
"$ref": "#/components/schemas/ContentUsage"
offer:
"$ref": "#/components/schemas/OfferUsage"
dispatch:
"$ref": "#/components/schemas/DispatchUsage"
consent:
"$ref": "#/components/schemas/ConsentUsage"
Audience:
type: object
properties:
id:
type: string
name:
type: string
forcedReentrance:
type: boolean
incrementalRead:
type: boolean
waitForAudience:
type: boolean
waitTime:
type: string
CampaignAction:
type: object
properties:
actionType:
type: string
actionName:
type: string
available:
type: boolean
CampaignAttributes:
type: object
properties:
profile:
type: array
items:
"$ref": "#/components/schemas/AttributeItem"
context:
type: array
items:
"$ref": "#/components/schemas/AttributeItem"
target:
type: array
items:
"$ref": "#/components/schemas/AttributeItem"
audience:
type: array
items:
"$ref": "#/components/schemas/AttributeItem"
unifiedDecisioning:
type: array
items:
"$ref": "#/components/schemas/AttributeItem"
pesLinks:
"$ref": "#/components/schemas/PesLinks"
publicationPesDetails:
type: array
items:
"$ref": "#/components/schemas/PublicationPesDetail"
CampaignAudience:
type: object
properties:
audienceId:
type: string
audienceType:
type: string
CampaignMessage:
type: object
properties:
messageId:
type: string
treatmentId:
type: string
execution:
"$ref": "#/components/schemas/MessageExecution"
messageAttributes:
"$ref": "#/components/schemas/MessageAttributes"
decisionPolicyVariantId:
type: string
decisionNodes:
type: array
items:
"$ref": "#/components/schemas/DecisionNode"
decisionNodeId:
type: string
CampaignMetadata:
type: object
properties:
sourceType:
type: string
sourceId:
type: string
sourceVersionId:
type: string
sourceActionId:
type: string
batchInstanceId:
type: string
isTestExecution:
type: boolean
CampaignPackage:
type: object
properties:
packageId:
type: string
packageName:
type: string
status:
type: string
channel:
type: string
channelContext:
"$ref": "#/components/schemas/ChannelContext"
enabled:
type: boolean
languageSettingId:
type: string
messages:
type: array
items:
"$ref": "#/components/schemas/CampaignMessage"
attributes:
"$ref": "#/components/schemas/PackageAttributes"
_links:
type: object
additionalProperties:
"$ref": "#/components/schemas/Link"
execution:
"$ref": "#/components/schemas/PackageExecution"
CampaignRanking:
type: object
properties:
type:
type: string
value:
type: string
CampaignSchedule:
type: object
properties:
startDate:
type: string
startDateEnabled:
type: boolean
endDate:
type: string
endDateEnabled:
type: boolean
CampaignTargets:
type: object
properties:
targetId:
type: string
secondarySchemaId:
type: string
Channel:
type: object
properties:
id:
type: string
type:
type: string
ChannelContext:
type: object
properties:
channelId:
type: string
channelVersion:
type: string
ConditionDefinition:
type: object
properties:
conditions:
type: array
items:
type: object
searchType:
type: string
logic:
type: string
events:
type: array
items:
type: object
additionalProperties:
type: string
key:
type: string
matcher:
type: string
value:
type: object
values:
type: array
items:
type: object
from:
type: integer
format: int32
to:
type: integer
format: int32
ConsentUsage:
type: object
properties:
filter:
type: boolean
ContentUsage:
type: object
properties:
personalization:
type: boolean
DecisionNode:
type: object
properties:
decisionNodeId:
type: string
DecisionPolicy:
type: object
properties:
id:
type: string
enabled:
type: boolean
type:
type: string
entityIds:
type: array
items:
type: string
monitoredValue:
type: string
DecisionPolicyPlacement:
type: object
properties:
decisionPolicyId:
type: string
placementName:
type: string
DispatchUsage:
type: object
properties:
channels:
type: array
items:
type: string
ExperimentationSpec:
type: object
properties:
experimentId:
type: string
winnerTreatmentId:
type: string
Frequency:
type: object
properties:
type:
type: string
hour:
type: integer
format: int32
minute:
type: integer
format: int32
midday:
type: string
daysOfMonth:
type: array
items:
type: integer
format: int32
daysOfWeek:
type: array
items:
type: string
interval:
type: integer
format: int32
InboundSchedule:
type: object
properties:
range:
"$ref": "#/components/schemas/ScheduleRange"
JourneyNode:
type: object
properties:
id:
type: string
type:
type: string
name:
type: string
correlationId:
type: string
transitions:
type: array
items:
"$ref": "#/components/schemas/JourneyNodeTransition"
campaign:
"$ref": "#/components/schemas/PublicCampaign"
channel:
"$ref": "#/components/schemas/Channel"
surface:
"$ref": "#/components/schemas/MessageSurface"
sendTimeOptimization:
"$ref": "#/components/schemas/SendTimeOptimization"
audiences:
type: array
items:
"$ref": "#/components/schemas/Audience"
identityNamespace:
type: string
throttlingRate:
type: integer
format: int32
useDelta:
type: boolean
verbs:
type: array
items:
type: string
delay:
type: string
fallbackOnTimeoutOrError:
type: boolean
expression:
type: string
description:
type: string
paramMappings:
type: array
items:
"$ref": "#/components/schemas/ParamMapping"
JourneyNodeTransition:
type: object
properties:
targetNodeId:
type: string
targetName:
type: string
name:
type: string
expression:
type: string
conditionType:
type: string
dates:
type: array
items:
type: string
times:
type: array
items:
type: string
days:
type: array
items:
type: string
counterValue:
type: string
JourneyTimeouts:
type: object
properties:
actionExecution:
type: integer
format: int32
entityEnrichment:
type: integer
format: int32
JsonNode:
type: object
LabelObject:
type: object
properties:
labelId:
type: string
labelName:
type: string
labelCategory:
type: string
Link:
type: object
properties:
href:
type: string
type:
type: string
templated:
type: boolean
method:
type: string
title:
type: string
hrefLang:
type: string
MessageAttributes:
type: object
properties:
decisionPolicies:
type: array
items:
type: string
decisionPolicyPlacements:
type: array
items:
"$ref": "#/components/schemas/DecisionPolicyPlacement"
MessageExecution:
type: object
properties:
messagePublicationId:
type: string
MessageSurface:
type: object
properties:
id:
type: string
name:
type: string
description:
type: string
publicationId:
type: string
channelConfiguration:
"$ref": "#/components/schemas/JsonNode"
status:
type: string
type:
type: string
channel:
type: string
createdAt:
type: string
createdBy:
type: string
modifiedAt:
type: string
modifiedBy:
type: string
version:
type: string
Metadata:
type: object
properties:
createdBy:
type: string
createdById:
type: string
createdAt:
type: string
lastModifiedBy:
type: string
lastModifiedById:
type: string
lastModifiedAt:
type: string
lastDeployedBy:
type: string
lastDeployedById:
type: string
lastDeployedAt:
type: string
firstDeployedBy:
type: string
firstDeployedById:
type: string
firstDeployedAt:
type: string
OfferUsage:
type: object
properties:
personalization:
type: boolean
rules:
type: boolean
OutboundTrigger:
type: object
properties:
type:
type: string
startAt:
type: string
endAt:
type: string
timezone:
type: string
expression:
type: string
frequency:
"$ref": "#/components/schemas/Frequency"
frequencies:
type: array
items:
"$ref": "#/components/schemas/Frequency"
occurrences:
type: integer
format: int32
executeAt:
type: string
PackageAttributes:
type: object
properties:
sendTimeOptimization:
type: boolean
burstSpeed:
type: boolean
inboundSchedule:
"$ref": "#/components/schemas/InboundSchedule"
trigger:
"$ref": "#/components/schemas/Trigger"
ruleset:
"$ref": "#/components/schemas/Ruleset"
surface:
"$ref": "#/components/schemas/MessageSurface"
trackingOptions:
"$ref": "#/components/schemas/TrackingOptions"
ipWarmup:
type: boolean
sendTimeFor:
type: string
sendTimeWithin:
type: integer
format: int32
outboundTrigger:
"$ref": "#/components/schemas/OutboundTrigger"
PackageExecution:
type: object
properties:
executionId:
type: string
resumeSpec:
"$ref": "#/components/schemas/ResumeSpec"
type:
type: string
ParamMapping:
type: object
properties:
label:
type: string
paramPath:
type: string
expression:
type: string
PesLinks:
type: object
properties:
options:
type: array
items:
"$ref": "#/components/schemas/PesOption"
parents:
type: array
items:
"$ref": "#/components/schemas/PesParent"
enforcementRefs:
type: array
items:
type: string
empty:
type: boolean
PesOption:
type: object
properties:
id:
type: string
contentType:
type: string
schemaPath:
type: string
PesParent:
type: object
properties:
id:
type: string
type:
type: string
namespace:
type: string
PublicCampaign:
type: object
properties:
campaignId:
type: string
versionId:
type: string
draftVersionId:
type: string
liveVersionId:
type: string
name:
type: string
description:
type: string
status:
type: string
schedule:
"$ref": "#/components/schemas/CampaignSchedule"
createdBy:
type: string
createdByName:
type: string
createdAt:
type: string
modifiedBy:
type: string
modifiedByName:
type: string
modifiedAt:
type: string
publishedBy:
type: string
publishedByName:
type: string
publishedAt:
type: string
firstPublishedAt:
type: string
completedAt:
type: string
displayStartDate:
type: string
displayEndDate:
type: string
labels:
type: array
items:
type: string
labelObjects:
type: array
items:
"$ref": "#/components/schemas/LabelObject"
tags:
type: array
items:
type: string
type:
type: string
campaignType:
type: string
category:
type: string
campaignClass:
type: string
ranking:
"$ref": "#/components/schemas/CampaignRanking"
identityNamespace:
type: string
audience:
"$ref": "#/components/schemas/CampaignAudience"
createNewProfile:
type: boolean
selectionStrategy:
"$ref": "#/components/schemas/SelectionStrategy"
objectives:
type: array
items:
type: string
languageSettingId:
type: string
priority:
type: integer
format: int32
filter:
type: string
targets:
"$ref": "#/components/schemas/CampaignTargets"
throttleRatePerSec:
type: integer
format: int32
packages:
type: array
items:
"$ref": "#/components/schemas/CampaignPackage"
metadata:
"$ref": "#/components/schemas/CampaignMetadata"
actions:
type: array
items:
"$ref": "#/components/schemas/CampaignAction"
decisionPolicies:
type: array
items:
"$ref": "#/components/schemas/DecisionPolicy"
attributes:
"$ref": "#/components/schemas/CampaignAttributes"
_links:
type: object
additionalProperties:
"$ref": "#/components/schemas/Link"
PublicJourney:
type: object
properties:
id:
type: string
description: Unique identifier for the journey
name:
type: string
description: Human-readable name of the journey
description:
type: string
description: Detailed description of the journey
version:
type: string
description: Version of the journey
type:
type: string
enum:
- read_audience
- audience_qualification
- unitary
- business
- unspecified
description: Type of journey
status:
type: string
enum:
- Testing
- Draft
- In Review
- Deployed
- Redeployed
- Finished
- Stopped
- Dry Run
- Paused
- Unknown
description: Current status of the journey
imsOrgId:
type: string
sandboxName:
type: string
metadata:
"$ref": "#/components/schemas/Metadata"
timeouts:
"$ref": "#/components/schemas/JourneyTimeouts"
priority:
type: integer
format: int32
schedule:
"$ref": "#/components/schemas/Schedule"
reentrance:
"$ref": "#/components/schemas/Reentrance"
labels:
type: array
items:
type: string
metrics:
type: array
items:
type: string
ruleset:
"$ref": "#/components/schemas/Ruleset"
profileMergePolicyId:
type: string
startNodeId:
type: string
nodes:
type: array
items:
"$ref": "#/components/schemas/JourneyNode"
PublicationPesDetail:
type: object
properties:
id:
type: string
pesDetails:
"$ref": "#/components/schemas/PesLinks"
pesDetailsEmpty:
type: boolean
Reentrance:
type: object
properties:
policy:
type: string
durationInSecs:
type: integer
format: int32
ResumeSpec:
type: object
properties:
executionId:
type: string
resumableUntil:
type: string
RuleCondition:
type: object
properties:
definition:
"$ref": "#/components/schemas/ConditionDefinition"
type:
type: string
RuleMeta:
type: object
properties:
ruleType:
type: string
Ruleset:
type: object
properties:
id:
type: string
name:
type: string
description:
type: string
status:
type: string
ruleSetType:
type: string
ruleSetDomain:
type: string
createdAt:
type: string
modifiedAt:
type: string
createdBy:
type: string
modifiedBy:
type: string
Schedule:
type: object
properties:
startDate:
type: string
endDate:
type: string
timezone:
type: string
useProfileTimezone:
type: boolean
recurring:
type: boolean
type:
type: string
ScheduleRange:
type: object
properties:
startDate:
type: string
startDateEnabled:
type: boolean
endDate:
type: string
endDateEnabled:
type: boolean
SelectionStrategy:
type: object
properties:
enabled:
type: boolean
type:
type: string
'on':
type: string
experimentationSpec:
"$ref": "#/components/schemas/ExperimentationSpec"
SendTimeOptimization:
type: object
properties:
enabled:
type: boolean
sendWithIn:
type: integer
format: int32
metric:
type: string
TrackingOptions:
type: object
properties:
openTrackingEnabled:
type: boolean
clickTrackingEnabled:
type: boolean
Trigger:
type: object
properties:
rules:
type: array
items:
"$ref": "#/components/schemas/TriggerRule"
version:
type: integer
format: int32
TriggerRule:
type: object
properties:
meta:
"$ref": "#/components/schemas/RuleMeta"
condition:
"$ref": "#/components/schemas/RuleCondition"
securitySchemes:
BearerAuth:
type: http
scheme: bearer
description: The authentication token to access the service. Get from Developer Console
security:
- BearerAuth: []
tags:
- name: Journeys
description: Operations related to journey management