openapi: 3.2.0
info:
title: Retrieve using Journeys API
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
security:
- BearerAuth: []
tags:
- name: Journeys
description: Operations related to journey management
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:
schemas:
OfferUsage:
type: object
properties:
personalization:
type: boolean
rules:
type: boolean
CampaignRanking:
type: object
properties:
type:
type: string
value:
type: string
CampaignTargets:
type: object
properties:
targetId:
type: string
secondarySchemaId:
type: string
ParamMapping:
type: object
properties:
label:
type: string
paramPath:
type: string
expression:
type: string
DecisionPolicyPlacement:
type: object
properties:
decisionPolicyId:
type: string
placementName:
type: string
RuleMeta:
type: object
properties:
ruleType:
type: string
MessageAttributes:
type: object
properties:
decisionPolicies:
type: array
items:
type: string
decisionPolicyPlacements:
type: array
items:
$ref: '#/components/schemas/DecisionPolicyPlacement'
Trigger:
type: object
properties:
rules:
type: array
items:
$ref: '#/components/schemas/TriggerRule'
version:
type: integer
format: int32
AttributeUsage:
type: object
properties:
content:
$ref: '#/components/schemas/ContentUsage'
offer:
$ref: '#/components/schemas/OfferUsage'
dispatch:
$ref: '#/components/schemas/DispatchUsage'
consent:
$ref: '#/components/schemas/ConsentUsage'
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
PesOption:
type: object
properties:
id:
type: string
contentType:
type: string
schemaPath:
type: string
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'
DecisionPolicy:
type: object
properties:
id:
type: string
enabled:
type: boolean
type:
type: string
entityIds:
type: array
items:
type: string
monitoredValue:
type: string
ChannelContext:
type: object
properties:
channelId:
type: string
channelVersion:
type: string
Audience:
type: object
properties:
id:
type: string
name:
type: string
forcedReentrance:
type: boolean
incrementalRead:
type: boolean
waitForAudience:
type: boolean
waitTime:
type: string
TrackingOptions:
type: object
properties:
openTrackingEnabled:
type: boolean
clickTrackingEnabled:
type: boolean
PublicationPesDetail:
type: object
properties:
id:
type: string
pesDetails:
$ref: '#/components/schemas/PesLinks'
pesDetailsEmpty:
type: boolean
TriggerRule:
type: object
properties:
meta:
$ref: '#/components/schemas/RuleMeta'
condition:
$ref: '#/components/schemas/RuleCondition'
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
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'
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
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
MessageExecution:
type: object
properties:
messagePublicationId:
type: string
PackageExecution:
type: object
properties:
executionId:
type: string
resumeSpec:
$ref: '#/components/schemas/ResumeSpec'
type:
type: string
AttributeItem:
type: object
properties:
name:
type: string
messagePublicationIds:
type: array
items:
type: string
personalization:
type: boolean
usage:
$ref: '#/components/schemas/AttributeUsage'
PesParent:
type: object
properties:
id:
type: string
type:
type: string
namespace:
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
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'
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'
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
ResumeSpec:
type: object
properties:
executionId:
type: string
resumableUntil:
type: string
ContentUsage:
type: object
properties:
personalization:
type: boolean
DispatchUsage:
type: object
properties:
channels:
type: array
items:
type: string
Reentrance:
type: object
properties:
policy:
type: string
durationInSecs:
type: integer
format: int32
SendTimeOptimization:
type: object
properties:
enabled:
type: boolean
sendWithIn:
type: integer
format: int32
metric:
type: string
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
JsonNode:
type: object
InboundSchedule:
type: object
properties:
range:
$ref: '#/components/schemas/ScheduleRange'
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'
CampaignAudience:
type: object
properties:
audienceId:
type: string
audienceType:
type: string
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'
DecisionNode:
type: object
properties:
decisionNodeId:
type: string
Link:
type: object
properties:
href:
type: string
type:
type: string
templated:
type: boolean
method:
type: string
title:
type: string
hrefLang:
type: string
ScheduleRange:
type: object
properties:
startDate:
type: string
startDateEnabled:
type: boolean
endDate:
type: string
endDateEnabled:
type: boolean
RuleCondition:
type: object
properties:
definition:
$ref: '#/components/schemas/ConditionDefinition'
type:
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
CampaignSchedule:
type: object
properties:
startDate:
type: string
startDateEnabled:
type: boolean
endDate:
type: string
endDateEnabled:
type: boolean
CampaignAction:
type: object
properties:
actionType:
type: string
actionName:
type: string
available:
type: boolean
SelectionStrategy:
type: object
properties:
enabled:
type: boolean
type:
type: string
'on':
type: string
experimentationSpec:
$ref: '#/components/schemas/ExperimentationSpec'
JourneyTimeouts:
type: object
properties:
actionExecution:
type: integer
format: int32
entityEnrichment:
type: integer
format: int32
ConsentUsage:
type: object
properties:
filter:
type: boolean
ExperimentationSpec:
type: object
properties:
experimentId:
type: string
winnerTreatmentId:
type: string
CampaignMetadata:
type: object
properties:
sourceType:
type: string
sourceId:
type: string
sourceVersionId:
type: string
sourceActionId:
type: string
batchInstanceId:
type: string
isTestExecution:
type: boolean
Channel:
type: object
properties:
id:
type: string
type:
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
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
LabelObject:
type: object
properties:
labelId:
type: string
labelName:
type: string
labelCategory:
type: string
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
SandboxNameParam:
name: x-sandbox-name
description: Provides the platform sandbox name.
required: true
in: header
schema:
type: string
example: prod
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
securitySchemes:
BearerAuth:
type: http
scheme: bearer
description: The authentication token to access the service. Get from Developer Console