Marketo Campaigns API
The Campaigns API from Marketo — 7 operation(s) for campaigns.
The Campaigns API from Marketo — 7 operation(s) for campaigns.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/marketo-campaigns-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
description: Marketo Engage Rest API
version: '1.0'
title: Marketo Engage Rest Campaigns API
termsOfService: https://www.adobe.com/legal.html
contact:
name: Adobe Developer Relations
url: https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/home
email: ''
license:
name: API License Agreement
url: https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/api-license
servers:
- url: https://localhost:8080/
tags:
- name: Campaigns
description: Campaigns Controller
paths:
/rest/v1/campaigns.json:
get:
tags:
- Campaigns
summary: Get Campaigns
description: 'Returns a list of campaign records. Required Permissions: Read-Only Campaigns, Read-Write Campaigns<br><br><b>Note: This endpoint has been superseded.</b> Use <a href="https://developer.adobe.com/marketo-apis/api/asset/#operation/getAllSmartCampaignsGET">Get Smart Campaigns</a> endpoint instead.'
operationId: getCampaignsUsingGET
parameters:
- name: id
in: query
description: Comma-separated list of campaign ids to return records for
required: false
style: form
explode: true
schema:
type: array
items:
type: integer
format: int32
- name: name
in: query
description: Comma-separated list of names to filter on
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- name: programName
in: query
description: Comma-separated list of program names to filter on. If set, will filter to only campaigns which are children of the designated programs.
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- name: workspaceName
in: query
description: Comma-separated list of workspace names to filter on. If set, will only return campaigns in the given workspaces.
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- name: batchSize
in: query
description: Maximum number of records to return. Maximum and default is 300.
required: false
schema:
type: integer
format: int32
- name: nextPageToken
in: query
description: A token will be returned by this endpoint if the result set is greater than the batch size and can be passed in a subsequent call through this parameter. See Paging Tokens for more info.
required: false
schema:
type: string
- name: isTriggerable
in: query
description: Set to true to return active Campaigns which have a Campaign is Requested trigger and source is Web Service API
required: false
schema:
type: boolean
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfCampaign'
/rest/v1/campaigns/{campaignId}.json:
get:
tags:
- Campaigns
summary: Get Campaign By Id
description: 'Returns the record of a campaign by its id. Required Permissions: Read-Only Campaigns, Read-Write Campaigns<br><br><b>Note: This endpoint has been superseded.</b> Use <a href="https://developer.adobe.com/marketo-apis/api/asset/#operation/getSmartCampaignByIdUsingGET">Get Smart Campaign by Id</a> endpoint instead.'
operationId: getCampaignByIdUsingGET
parameters:
- name: campaignId
in: path
description: campaignId
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfCampaign'
/rest/v1/campaigns/{campaignId}/schedule.json:
post:
tags:
- Campaigns
summary: Schedule Campaign
description: 'Remotely schedules a batch campaign to run at a given time. My tokens local to the campaign''s parent program can be overridden for the run to customize content. When using the "cloneToProgramName" parameter described below, this endpoint is limited to 20 calls per day. Required Permissions: Execute Campaign'
operationId: scheduleCampaignUsingPOST
parameters:
- name: campaignId
in: path
description: Id of the batch campaign to schedule.
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfCampaign'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ScheduleCampaignRequest'
description: scheduleCampaignRequest
/rest/v1/campaigns/{campaignId}/trigger.json:
post:
tags:
- Campaigns
summary: Request Campaign
description: 'Passes a set of leads to a trigger campaign to run through the campaign''s flow. The designated campaign must have a Campaign is Requested: Web Service API trigger, and must be active. My tokens local to the campaign''s parent program can be overridden for the run to customize content. A maximum of 100 leads are allowed per call. Required Permissions: Execute Campaign'
operationId: triggerCampaignUsingPOST
parameters:
- name: campaignId
in: path
description: The id of the campaign to trigger
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfCampaign'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TriggerCampaignRequest'
description: triggerCampaignRequest
components:
schemas:
Error:
type: object
required:
- code
- message
properties:
code:
type: string
description: Error code of the error. See full list of error codes <a href="https://developers.marketo.com/rest-api/error-codes/">here</a>
message:
type: string
description: Message describing the cause of the error
Warning:
type: object
required:
- code
- message
properties:
code:
type: integer
format: int32
description: Integer code of the warning
message:
type: string
description: Message describing the warning
Token:
type: object
required:
- name
- value
properties:
name:
type: string
description: Name of the token. Should be formatted as "{{my.name}}"
value:
type: string
description: Value of the token
ScheduleCampaignData:
type: object
properties:
cloneToProgramName:
type: string
description: Name of the resulting program. When set, this attribute will cause the campaign, parent program, and all of its assets, to be created with the resulting new name. The parent program will be cloned and the newly created campaign will be scheduled. The resulting program is created underneath the parent. Programs with snippets, push notifications, in-app messages, static lists, reports, and social assets may not be cloned in this way
runAt:
type: string
format: date-time
description: Datetime to run the campaign at. If unset, the campaign will be run five minutes after the call is made
tokens:
type: array
description: List of my tokens to replace during the run of the target campaign. The tokens must be available in a parent program or folder to be replaced during the run
items:
$ref: '#/components/schemas/Token'
ResponseOfCampaign:
type: object
required:
- errors
- requestId
- result
- success
- warnings
properties:
errors:
type: array
description: Array of errors that occurred if the request was unsuccessful
items:
$ref: '#/components/schemas/Error'
nextPageToken:
type: string
description: Paging token given if the result set exceeded the allowed batch size
requestId:
type: string
description: Id of the request made
result:
type: array
description: Array of results for individual records in the operation, may be empty
items:
$ref: '#/components/schemas/Campaign'
success:
type: boolean
example: false
description: Whether the request succeeded
warnings:
type: array
description: Array of warnings given for the operation
items:
$ref: '#/components/schemas/Warning'
TriggerCampaignRequest:
type: object
required:
- input
properties:
input:
description: Object describing trigger configuration for the campaign
$ref: '#/components/schemas/TriggerCampaignData'
ScheduleCampaignRequest:
type: object
properties:
input:
$ref: '#/components/schemas/ScheduleCampaignData'
description: Record describe how to schedule the campaign
InputLead:
type: object
required:
- id
properties:
id:
type: integer
format: int64
description: Unique integer id of a lead record
description: Lead record containing only lead id
TriggerCampaignData:
type: object
required:
- leads
properties:
leads:
type: array
description: List of leads for input
items:
$ref: '#/components/schemas/InputLead'
tokens:
type: array
description: List of my tokens to replace during the run of the target campaign. The tokens must be available in a parent program or folder to be replaced during the run
items:
$ref: '#/components/schemas/Token'
Campaign:
type: object
required:
- createdAt
- id
- name
- type
- updatedAt
properties:
active:
type: boolean
example: false
description: Whether the campaign is active. Only applicable to trigger campaigns
createdAt:
type: string
description: Datetime when the campaign was created
description:
type: string
description: Description of the Smart Campaign
id:
type: integer
format: int32
description: Unique integer id of the Smart Campaign
name:
type: string
description: Name of the Smart Campaign
programId:
type: integer
format: int32
description: Id of the parent program if applicable
programName:
type: string
description: Name of the parent program if applicable
type:
type: string
description: Type of the Smart Campaign
enum:
- batch
- trigger
updatedAt:
type: string
description: Datetime when the campaign was most recently updated
workspaceName:
type: string
description: Name of the parent workspace if applicable
description: Record of a Marketo Smart Campaign