Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/adobe-suite-campaign-resource-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no email required.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Retrieve & filter Action Campaigns Campaign Resource API
description: Retrieve & filter Action Campaigns
version: v1.79
servers:
- url: https://platform-int.adobe.io/journey/campaigns
description: QA
- url: https://platform-stage.adobe.io/journey/campaigns
description: Stage
- url: https://platform.adobe.io/journey/campaigns
description: Prod
security:
- {}
- x-api-key:
- read
- write
tags:
- name: Campaign Resource
description: Campaign management resource
paths:
/service/campaigns/{campaignId}/messages/{messageId}/{channel}/variants/{variantId}:
get:
tags:
- Campaign Resource
summary: Get campaign message or variant
operationId: getCampaignMessageOrVariant
parameters:
- name: campaignId
in: path
required: true
schema:
type: string
- name: messageId
in: path
required: true
schema:
type: string
- name: x-gw-ims-org-id
in: header
required: true
schema:
type: string
description: IMS Org ID
- name: x-sandbox-name
in: header
required: true
schema:
type: string
description: Sandbox Name
responses:
'200':
description: OK
content:
'*/*':
schema:
type: object
security:
- x-api-key: []
- AdobeUserToken: []
/service/campaigns:
get:
tags:
- Campaign Resource
summary: Get campaigns
operationId: getCampaigns
parameters:
- name: count
in: query
required: false
schema:
type: integer
format: int32
default: 50
example: 50
- name: page
in: query
required: false
schema:
type: integer
format: int32
- name: orderby
in: query
required: false
schema:
type: string
default: name
example: name
- name: property
in: query
required: false
schema:
type: string
example: campaignClass!=inline;name=like="my campaign name"
- name: full
in: query
required: false
schema:
type: boolean
default: false
- name: actions
in: query
required: false
schema:
type: boolean
default: true
- name: x-gw-ims-org-id
in: header
required: true
schema:
type: string
description: IMS Org ID
- name: x-sandbox-name
in: header
required: true
schema:
type: string
description: Sandbox Name
responses:
'403':
description: Permission Denied
content:
application/json:
schema:
$ref: '#/components/schemas/Campaign_Notification_Model'
'500':
description: Any error encountered while retrieving details
content:
application/json:
schema:
$ref: '#/components/schemas/Campaign_Notification_Model'
'200':
description: Request successful
content:
application/json:
schema:
$ref: '#/components/schemas/Multi_Response_Model'
security:
- x-api-key: []
- AdobeUserToken: []
/service/campaigns/{campaignId}/versions:
get:
tags:
- Campaign Resource
summary: Fetching the campaign versions
operationId: getCampaignVersions
parameters:
- name: campaignId
in: path
required: true
schema:
type: string
- name: count
in: query
required: false
schema:
type: integer
format: int32
default: 50
- name: page
in: query
required: false
schema:
type: integer
format: int32
- name: orderby
in: query
required: false
schema:
type: string
default: name
- name: property
in: query
required: false
schema:
type: string
example: name=like=ajo,application_id==12312
- name: full
in: query
required: false
schema:
type: boolean
default: false
- name: actions
in: query
required: false
schema:
type: boolean
default: true
- name: x-gw-ims-org-id
in: header
required: true
schema:
type: string
description: IMS Org ID
- name: x-sandbox-name
in: header
required: true
schema:
type: string
description: Sandbox Name
responses:
'403':
description: Permission Denied
content:
application/json:
schema:
$ref: '#/components/schemas/Campaign_Notification_Model'
'500':
description: Any error encountered while retrieving details
content:
application/json:
schema:
$ref: '#/components/schemas/Campaign_Notification_Model'
'200':
description: Request successful
content:
application/json:
schema:
$ref: '#/components/schemas/Multi_Response_Model'
security:
- x-api-key: []
- AdobeUserToken: []
/service/campaigns/{campaignId}:
get:
tags:
- Campaign Resource
summary: Get campaign details
operationId: getCampaign
parameters:
- name: campaignId
in: path
required: true
schema:
type: string
- name: x-gw-ims-org-id
in: header
required: true
schema:
type: string
description: IMS Org ID
- name: x-sandbox-name
in: header
required: true
schema:
type: string
description: Sandbox Name
responses:
'403':
description: Permission Denied
content:
application/json:
schema:
$ref: '#/components/schemas/Campaign_Notification_Model'
'200':
description: Request successful
content:
application/json:
schema:
$ref: '#/components/schemas/Campaign_Model'
'404':
description: Requested object not found
content:
application/json:
schema:
$ref: '#/components/schemas/Campaign_Notification_Model'
'500':
description: Any error encountered while retrieving details
content:
application/json:
schema:
$ref: '#/components/schemas/Campaign_Notification_Model'
security:
- x-api-key: []
- AdobeUserToken: []
/service/campaigns/{campaignId}/publish/validation:
get:
tags:
- Campaign Resource
summary: The campaign publishing validation
operationId: getCampaignPublishingNotifications
parameters:
- name: campaignId
in: path
required: true
schema:
type: string
- name: count
in: query
required: false
schema:
type: integer
format: int32
default: 50
example: 50
- name: page
in: query
required: false
schema:
type: integer
format: int32
- name: orderby
in: query
required: false
schema:
type: string
default: type
example: type
- name: property
in: query
required: false
schema:
type: string
- name: x-gw-ims-org-id
in: header
required: true
schema:
type: string
description: IMS Org ID
- name: x-sandbox-name
in: header
required: true
schema:
type: string
description: Sandbox Name
responses:
'403':
description: Permission Denied
content:
application/json:
schema:
$ref: '#/components/schemas/Campaign_Notification_Model'
'500':
description: Any error encountered while retrieving details
content:
application/json:
schema:
$ref: '#/components/schemas/Campaign_Notification_Model'
'200':
description: Request successful
content:
application/json:
schema:
$ref: '#/components/schemas/Multi_Response_Model'
security:
- x-api-key: []
- AdobeUserToken: []
/service/campaigns/{campaignId}/packages/{packageId}:
get:
tags:
- Campaign Resource
summary: Get campaign package details
operationId: getCampaignPackage
parameters:
- name: campaignId
in: path
required: true
schema:
type: string
- name: packageId
in: path
required: true
schema:
type: string
- name: x-gw-ims-org-id
in: header
required: true
schema:
type: string
description: IMS Org ID
- name: x-sandbox-name
in: header
required: true
schema:
type: string
description: Sandbox Name
responses:
'403':
description: Permission Denied
content:
application/json:
schema:
$ref: '#/components/schemas/Campaign_Notification_Model'
'404':
description: Requested object not found
content:
application/json:
schema:
$ref: '#/components/schemas/Campaign_Notification_Model'
'500':
description: Any error encountered while retrieving details
content:
application/json:
schema:
$ref: '#/components/schemas/Campaign_Notification_Model'
'200':
description: Request successful
content:
application/json:
schema:
$ref: '#/components/schemas/Package'
security:
- x-api-key: []
- AdobeUserToken: []
/service/campaigns/{campaignId}/messages/{messageId}:
get:
tags:
- Campaign Resource
summary: Get campaign message or variant
operationId: getCampaignMessageOrVariant_1
parameters:
- name: campaignId
in: path
required: true
schema:
type: string
- name: messageId
in: path
required: true
schema:
type: string
- name: x-gw-ims-org-id
in: header
required: true
schema:
type: string
description: IMS Org ID
- name: x-sandbox-name
in: header
required: true
schema:
type: string
description: Sandbox Name
responses:
'200':
description: OK
content:
'*/*':
schema:
type: object
security:
- x-api-key: []
- AdobeUserToken: []
components:
schemas:
Trigger_rule_metadata:
title: Trigger rule metadata
type: object
properties:
ruleType:
type: string
Selection_Strategy_Model:
type: object
properties:
enabled:
type: boolean
description: Set to false to turn it on or off, sortable, filterable
type:
type: string
description: sortable, filterable
enum:
- experimentation
'on':
type: string
description: sortable, filterable
enum:
- message
experimentationSpec:
$ref: '#/components/schemas/Experimentation_Spec_Model'
description: sortable, filterable
Attributes_Model:
type: object
properties:
sendTimeOptimization:
type: boolean
description: push, email channels only, filterable
burstSpeed:
type: boolean
description: push channel only, filterable
inboundSchedule:
$ref: '#/components/schemas/Inbound_schedule'
trigger:
$ref: '#/components/schemas/Trigger_Model'
ruleSetId:
type: string
description: rule set id, filterable
surface:
$ref: '#/components/schemas/Package_surface'
trackingOptions:
$ref: '#/components/schemas/Content_Tracking_Options'
ipWarmup:
type: boolean
description: email channel only, filterable
sendTimeFor:
type: string
description: push, email channels only, filterable
sendTimeWithin:
type: integer
description: send time within, push, email channels only, filterable
format: int32
outboundTrigger:
$ref: '#/components/schemas/Outbound_trigger'
description: filterable
Outbound_wave_schedule_model:
title: Outbound wave schedule model
type: object
properties:
distributionType:
type: string
description: 'enum: PERCENT|NUMBER'
enum:
- PERCENT
- NUMBER
customDistribution:
type: boolean
description: boolean
slices:
type: array
description: wave slices array
items:
$ref: '#/components/schemas/Wave_Schedule_Slice'
schedulingMode:
type: string
description: 'enum: SCHEDULED|INTERVAL'
enum:
- SCHEDULED
- INTERVAL
interval:
$ref: '#/components/schemas/Wave_Schedule_Interval'
description: wave scheduling details
Content_Tracking_Options:
type: object
properties:
openTrackingEnabled:
type: boolean
description: filterable
clickTrackingEnabled:
type: boolean
description: filterable
Dispatch_model:
type: object
properties:
channels:
type: array
items:
type: string
Consent_model:
type: object
properties:
filter:
type: boolean
Attributes_Map_Model:
type: object
properties:
profile:
type: array
description: Message Service profile attributes
items:
$ref: '#/components/schemas/Attribute_Model'
context:
type: array
description: Message Service context attributes
items:
$ref: '#/components/schemas/Attribute_Model'
target:
type: array
description: Message Service target attributes
items:
$ref: '#/components/schemas/Attribute_Model'
audience:
type: array
description: Campaign audience attributes
items:
$ref: '#/components/schemas/Attribute_Model'
unifiedDecisioning:
type: array
description: Unified Decisioning Service attributes
items:
$ref: '#/components/schemas/Attribute_Model'
pesLinks:
$ref: '#/components/schemas/Pes_Details_Model'
publicationPesDetails:
type: array
description: PES Details by Publication (No Save)
items:
$ref: '#/components/schemas/Message_Pes_Details_Model'
Pes_Details_Model:
required:
- empty
type: object
properties:
options:
type: array
items:
$ref: '#/components/schemas/Pes_option'
parents:
type: array
items:
$ref: '#/components/schemas/Pes_parent'
enforcementRefs:
type: array
items:
type: string
empty:
type: boolean
Campaign_Notification_Additional_Context:
type: object
properties:
source:
type: string
sourceId:
type: string
errorLevel:
type: string
variantId:
type: string
channel:
type: string
parameters:
type: object
additionalProperties:
type: object
Package:
type: object
properties:
packageId:
type: string
description: filterable
packageName:
type: string
description: filterable
status:
title: Package status
type: string
description: filterable
readOnly: true
enum:
- DRAFT
- PROCESSING
- SCHEDULED
- IN_PROGRESS
- LIVE
- DELETED
- COMPLETED
- STOPPED
- ARCHIVED
- FAILED
channel:
type: string
description: filterable
channelContext:
$ref: '#/components/schemas/Content_Context'
enabled:
type: boolean
description: filterable
languageSettingId:
type: string
description: Language setting id, filterable
messages:
type: array
description: required for inapp only
items:
$ref: '#/components/schemas/Package_message'
attributes:
$ref: '#/components/schemas/Attributes_Model'
_links:
type: object
additionalProperties:
$ref: '#/components/schemas/Link_details'
readOnly: true
execution:
$ref: '#/components/schemas/Package_execution_results'
Targets:
type: object
properties:
targetId:
type: string
readOnly: true
secondarySchemaId:
type: string
readOnly: true
description: Object used to generate query parameters for fetching presets of orchestrated campaigns, filterable
Campaigns_schedule:
title: Campaigns schedule
type: object
properties:
startDate:
type: string
description: sortable, filterable
startDateEnabled:
type: boolean
description: sortable, filterable
endDate:
type: string
description: sortable, filterable
endDateEnabled:
type: boolean
description: sortable, filterable
Package_surface:
type: object
properties:
surfaceId:
type: string
description: filterable
surfaceType:
type: string
description: 'Enum: appConfigurationId, brandingPresetId, uri; filterable'
Trigger_Condition_Definition:
title: Trigger Condition Definition
type: object
properties:
conditions:
type: array
items:
$ref: '#/components/schemas/Trigger_Condition'
searchType:
type: string
logic:
type: string
events:
type: array
items:
type: object
additionalProperties:
type: string
key:
type: string
matcher:
type: string
value:
type: integer
format: int64
values:
type: array
items:
type: object
from:
type: integer
description: epoch mili
format: int64
to:
type: integer
description: epoch mili
format: int64
Wave_Schedule_Slice:
title: Wave Schedule Slice
type: object
properties:
id:
type: string
description: string
label:
type: string
description: Slice label
size:
type: integer
description: can be percent or number based on distributionType
format: int64
scheduledAt:
type: string
description: scheduled date time in ISO 8601 format
description: wave slices array
Decision_policy_and_placement_model:
type: object
properties:
decisionPolicyId:
type: string
placementName:
type: string
Campaign_label:
type: object
properties:
labelId:
type: string
readOnly: true
labelName:
type: string
readOnly: true
labelCategory:
type: string
readOnly: true
readOnly: true
Content_Context:
type: object
properties:
channelId:
type: string
channelVersion:
type: string
Content_model:
type: object
properties:
personalization:
type: boolean
Inbound_schedule:
title: Inbound schedule
type: object
properties:
range:
$ref: '#/components/schemas/Campaigns_schedule'
description: inapp channel only
Offer_model:
type: object
properties:
personalization:
type: boolean
rules:
type: boolean
Pes_option:
type: object
properties:
id:
type: string
contentType:
type: string
schemaPath:
type: string
Error_Details:
type: object
properties:
code:
type: string
message:
type: string
detail:
type: object
additionalProperties:
type: object
readOnly: true
deprecated: true
Campaign_Model:
type: object
properties:
campaignId:
type: string
description: filterable
readOnly: true
versionId:
type: string
description: filterable
readOnly: true
draftVersionId:
type: string
readOnly: true
liveVersionId:
type: string
readOnly: true
name:
type: string
description: sortable, filterable
description:
type: string
description: sortable
status:
type: string
description: sortable, filterable
readOnly: true
schedule:
$ref: '#/components/schemas/Campaigns_schedule'
createdBy:
type: string
description: sortable, filterable
readOnly: true
createdByName:
type: string
description: sortable, filterable
readOnly: true
createdAt:
type: string
description: ISO_INSTANT with 6 fractional digits, sortable, filterable
readOnly: true
modifiedBy:
type: string
description: sortable, filterable
readOnly: true
modifiedByName:
type: string
description: sortable, filterable
readOnly: true
modifiedAt:
type: string
description: ISO_INSTANT with 6 fractional digits, sortable, filterable
readOnly: true
publishedBy:
type: string
description: sortable, filterable
readOnly: true
publishedByName:
type: string
description: sortable, filterable
readOnly: true
publishedAt:
type: string
description: ISO_INSTANT with 6 fractional digits, sortable, filterable
readOnly: true
firstPublishedAt:
type: string
description: ISO_INSTANT with 6 fractional digits, sortable, filterable
readOnly: true
completedAt:
type: string
description: ISO_INSTANT with 6 fractional digits, sortable, filterable
readOnly: true
displayStartDate:
type: string
description: ISO_INSTANT with 6 fractional digits, sortable, filterable
readOnly: true
displayEndDate:
type: string
description: ISO_INSTANT with 6 fractional digits, sortable, filterable
readOnly: true
labelObjects:
type: array
readOnly: true
items:
$ref: '#/components/schemas/Campaign_label'
tags:
type: array
description: filterable
items:
type: string
description: filterable
parentFolderId:
type: string
description: filterable
type:
type: string
description: sortable, filterable
deprecated: true
enum:
- Marketing
- Transactional
campaignType:
title: Campaign type
type: string
description: sortable, filterable
enum:
- Scheduled
- ApiTriggered
- IpWarmup
category:
title: Campaign category
type: string
description: sortable, filterable
enum:
- Marketing
- Transactional
highThroughputMode:
type: boolean
description: For headless (api triggered transactional) campaigns only,sortable, filterable
campaignClass:
type: string
description: sortable, filterable
enum:
- regular
- inline
enableWebhooks:
type: boolean
description: filterable
ranking:
$ref: '#/components/schemas/Campaign_ranking'
identityNamespace:
type: string
description: sortable, filterable
audience:
$ref: '#/components/schemas/Campaign_audience'
createNewProfile:
type: boolean
description: For headless (api triggered) campaigns only, sortable, filterable
readOnly: true
selectionStrategy:
$ref: '#/components/schemas/Selection_Strategy_Model'
objectives:
type: array
description: filterable
items:
type: string
description: filterable
enum:
- email_click
- email_open
enum:
- email_click
- email_open
languageSettingId:
type: string
description: Language setting id, filterable
priority:
type: integer
format: int32
filter:
type: string
description: string for filtering channel-configs, filterable
targets:
$ref: '#/components/schemas/Targets'
throttleRatePerSec:
type: integer
description: throttle rate control per second, filterable, sortable
format: int64
packages:
type: array
items:
$ref: '#/components/schemas/Package'
metadata:
$ref: '#/components/schemas/Campaign_Metadata'
actions:
type: array
readOnly: true
items:
$ref: '#/components/schemas/Campaign_action'
decisionPolicies:
type: array
description: List of decision policy refs
items:
$ref: '#/components/schemas/Decision_Policy_Ref'
attributes:
$ref: '#/components/schemas/Attributes_Map_Model'
_links:
type: object
additionalProperties:
$ref: '#/components/schemas/Link_details'
readOnly: true
Wave_Schedule_Interval:
title: Wave Schedule Interval
required:
- days
- hours
- minutes
type: object
properties:
days:
type: integer
description: integer
format: int32
hours:
type: integer
description: integer
format: int32
minutes:
type: integer
description: integer
format: int32
description: Wave schedule interval
Link_details:
type: object
properties:
href:
type: string
type:
type: string
templated:
type: boolean
method:
type: string
title:
type: string
hrefLang:
type: string
Frequency_Model:
title: Frequency Model
type: object
properties:
type:
type: string
enum:
- daily
- weekly
- monthly
hour:
type: integer
description: 'hour of day: 1-12'
format: int64
minute:
type: integer
description: 'minutes of hour: 0-59'
format: int64
midday:
type: string
description: 'Before or after midday: AM/PM'
enum:
- am
- pm
daysOfMonth:
type: array
description: day of month for monthly (1-31)
items:
type: integer
description: day of month for monthly (1-31)
format: int32
daysOfWeek:
type: array
description: day of week for weekly (sunday, monday, tuesday, wednesday, thursday, friday, saturday)
items:
type: string
description: day of week for weekly (sunday, monday, tuesday, wednesday, thursday, friday, saturday)
interval:
type: integer
description: Frequency interval
format: int32
description: for 'recurring' only
Campaign_Notification_Model:
type: object
properties:
type:
type: string
description: sortable
readOnly: true
title:
type: string
description: sortable
readOnly: true
message:
type: string
description: sortable
readOnly: true
status:
type: integer
description: sortable
format: int32
readOnly: true
report:
$ref: '#/components/schemas/Campaign_Report_Model'
error-chain:
type: array
readOnly: true
items:
$ref: '#/components/schemas/Campaign_Error_Chain'
error:
$ref: '#/components/schemas/Error_Details'
Decision_Policy_Ref:
type: object
properties:
id:
type: string
enabled:
type: boolean
type:
type: string
enum:
- MESSAGE
- CONTENT
entityIds:
type: array
items:
type: string
monitoredValue:
type: string
description: List of decision policy refs
Campaign_action:
type: object
properties:
actionType:
type: string
readOnly: true
enum:
- DUPLICATE
- CREATE_DRAFT
- MODIFY
- STOP
- PUBLISH
- ARCHIVE
- DELETE
- RESUME
- EDIT_TAGS
actionName:
type: string
readOnly: true
available:
type: boolean
readOnly: true
Pes_parent:
type: object
properties:
id:
type: string
type:
type: string
namespace:
type: string
Experimentation_Spec_Model:
type: object
properties:
experimentId:
type: string
description: filterable
readOnly: true
winnerTreatmentId:
type: string
description: filterable
description: filterable
Message_Pes_Details_Model:
required:
- pesDetailsEmpty
type: object
properties:
id:
type: string
pesDetails:
$ref: '#/components/schemas/Pes_Details_Model'
pesDetailsEmpty:
type: boolean
description: PES Details by Publication (No Save)
Package_message_execution_results:
type: object
properties:
messagePublicationId:
type: string
readOnly: true
readOnly: true
Campaign_ranking:
type: object
properties:
type:
type: string
enum:
- simple
- algorithmic
value:
type: string
description: 'simple: LOW/MEDIUM/HIGH, algorithmic: 0..1'
enum:
- LOW/MEDIUM/HIGH/0/0.5/1
description: sortable, filterable
Usage_model:
type: object
properties:
content:
$ref: '#/components/schemas/Content_model'
offer:
# --- truncated at 32 KB (38 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/adobe-suite/refs/heads/main/openapi/adobe-suite-campaign-resource-api-openapi.yml