Marketo Smart Campaigns API
The Smart Campaigns API from Marketo — 8 operation(s) for smart campaigns.
The Smart Campaigns API from Marketo — 8 operation(s) for smart 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-smart-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 Smart 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: Smart Campaigns
description: Smart Campaign Controller
paths:
/rest/asset/v1/smartCampaign/{id}.json:
get:
tags:
- Smart Campaigns
summary: Get Smart Campaign by Id
description: 'Returns the smart campaign for the given id. Required Permissions: Read-Only Assets, Read-Write Assets'
operationId: getSmartCampaignByIdUsingGET
parameters:
- name: id
in: path
description: Id for the smart campaign
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfSmartCampaignResponse'
post:
tags:
- Smart Campaigns
summary: Update Smart Campaign
description: 'Update the smart campaign for the given id. Required Permissions: Read-Write Assets'
operationId: updateSmartCampaignUsingPOST
parameters:
- name: id
in: path
description: Id for the smart campaign
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfSmartCampaignResponse'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateSmartCampaignRequest'
description: updateSmartCampaignRequest
required: true
/rest/asset/v1/smartCampaign/byName.json:
get:
tags:
- Smart Campaigns
summary: Get Smart Campaign by Name
description: 'Returns the smart campaign for the given name. Required Permissions: Read-Only Assets, Read-Write Assets'
operationId: getSmartCampaignByNameUsingGET
parameters:
- name: name
in: query
description: Name for the smart campaign
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfSmartCampaignResponse'
/rest/asset/v1/smartCampaign/{id}/smartList.json:
get:
tags:
- Smart Campaigns
summary: Get Smart List by Smart Campaign Id
description: 'Retrieves a Smart List record by its Smart Campaign id. Required Permissions: Read-Asset or Read-Write Asset'
operationId: getSmartListBySmartCampaignIdUsingGET
parameters:
- name: id
in: path
description: Id for the smart campaign containing smart list to retrieve
required: true
schema:
type: integer
format: int64
- name: includeRules
in: query
description: Set true to populate smart list rules. Default false
required: false
schema:
type: boolean
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfSmartListResponseWithRules'
/rest/asset/v1/smartCampaigns.json:
get:
tags:
- Smart Campaigns
summary: Get Smart Campaigns
description: 'Retrieves all smart campaigns. Required Permissions: Read-Only Assets, Read-Write Assets'
operationId: getAllSmartCampaignsGET
parameters:
- name: maxReturn
in: query
description: Maximum number of smart campaigns to return. Max 200, default 20
required: false
schema:
type: integer
format: int32
- name: offset
in: query
description: Integer offset for paging
required: false
schema:
type: integer
format: int32
- name: folder
in: query
description: JSON representation of parent folder, with members 'id', and 'type' which may be 'Folder' or 'Program'
required: false
schema:
type: string
- name: earliestUpdatedAt
in: query
description: Exclude smart campaigns prior to this date. Must be valid ISO-8601 string. See <a href="http://developers.marketo.com/rest-api/lead-database/fields/field-types/">Datetime</a> field type description.
required: false
schema:
type: string
- name: latestUpdatedAt
in: query
description: Exclude smart campaigns after this date. Must be valid ISO-8601 string. See <a href="http://developers.marketo.com/rest-api/lead-database/fields/field-types/">Datetime</a> field type description.
required: false
schema:
type: string
- name: isActive
in: query
description: Set true to return only active campaigns. Default false
required: false
schema:
type: boolean
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfSmartCampaignResponse'
post:
tags:
- Smart Campaigns
summary: Create Smart Campaign
description: 'Creates a new smart campaign. Required Permissions: Read-Write Assets'
operationId: createSmartCampaignUsingPOST
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfSmartCampaignResponse'
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CreateSmartCampaignRequest'
description: createSmartCampaignRequest
required: true
/rest/asset/v1/smartCampaign/{id}/activate.json:
post:
tags:
- Smart Campaigns
summary: Activate Smart Campaign
description: 'Activates a trigger smart campaign. Required Permissions: Activate Campaign'
operationId: activateSmartCampaignUsingPOST
parameters:
- name: id
in: path
description: Id of the smart campaign
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfIdResponse'
/rest/asset/v1/smartCampaign/{id}/deactivate.json:
post:
tags:
- Smart Campaigns
summary: Deactivate Smart Campaign
description: 'Deactivates a trigger smart campaign. Required Permissions: Deactivate Campaign'
operationId: deactivateSmartCampaignUsingPOST
parameters:
- name: id
in: path
description: Id of the smart campaign
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfIdResponse'
/rest/asset/v1/smartCampaign/{id}/clone.json:
post:
tags:
- Smart Campaigns
summary: Clone Smart Campaign
description: 'Clones a smart campaign. Required Permissions: Read-Write Assets'
operationId: cloneSmartCampaignUsingPOST
parameters:
- name: id
in: path
description: Id of the smart campaign
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfSmartCampaignResponse'
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CloneSmartCampaignRequest'
description: cloneSmartCampaignRequest
required: true
/rest/asset/v1/smartCampaign/{id}/delete.json:
post:
tags:
- Smart Campaigns
summary: Delete Smart Campaign
description: 'Deletes a smart campaign. Required Permissions: Read-Write Assets'
operationId: deleteSmartCampaignUsingPOST
parameters:
- name: id
in: path
description: Id of the smart campaign
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseOfIdResponse'
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
Folder:
type: object
required:
- id
- type
properties:
id:
type: integer
format: int32
description: Id of the folder
type:
type: string
description: Type of folder
enum:
- Folder
- Program
description: JSON representation of a folder
Recurrence:
type: object
required:
- startAt
- endAt
- intervalType
- interval
- weekdayOnly
- weekdayMask
- dayOfMonth
- dayOfWeek
- weekOfMonth
properties:
startAt:
type: string
format: date-time
description: Datetime of the first scheduled campaign to run. Required if setting recurrence. Not required to create a smart campaign that has no recurrence
endAt:
type: string
format: date-time
description: Datetime after which no further runs will be automatically scheduled
intervalType:
type: string
description: Recurrence interval. Not required to create a smart campaign that has no recurrence
enum:
- Daily
- Weekly
- Monthly
interval:
type: integer
format: int32
description: Number of interval units between recurrences
weekdayOnly:
type: boolean
description: Only run smart campaign on weekdays. May only be set if intervalType is 'Daily'. Defaults to false
weekdayMask:
type: array
description: String array of empty or one or more of 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'. May only be set if intervalType is 'Weekly'
items:
type: string
dayOfMonth:
type: integer
format: int32
description: Day of the month to recur. Permissible range 1-31. May only be set if intervalType is 'Monthly' and dayOfWeek and weekOfMonth are unset.
dayOfWeek:
type: string
format: int32
description: Day of the week to recur. May only be set if dayOfMonth is not set, and weekOfMonth is set
enum:
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
- Sunday
weekOfMonth:
type: integer
format: int32
description: Week of the month to recur. Permissible range 1-4. May only be set if dayOfMonth is not set, and dayOfWeek is set
CloneSmartCampaignRequest:
type: object
required:
- folder
- name
properties:
description:
type: string
description: Description of the smart campaign
folder:
description: JSON representation of parent folder, with members 'id', and 'type' which may be 'Folder' or 'Program'
$ref: '#/components/schemas/Folder'
name:
type: string
description: Name of the smart campaign
CreateSmartCampaignRequest:
type: object
required:
- folder
- name
properties:
description:
type: string
description: Description of the smart campaign
folder:
description: JSON representation of parent folder, with members 'id', and 'type' which may be 'Folder' or 'Program'
$ref: '#/components/schemas/Folder'
name:
type: string
description: Name of the smart campaign
SmartListConditions:
type: object
required:
- activityAttributeId
- activityAttributeName
- operator
- values
- isPrimary
description: JSON representation of smart list conditions
properties:
activityAttributeId:
type: integer
format: int32
description: Id of the activity attribute
activityAttributeName:
type: string
description: Name of activity attribute
operator:
type: string
description: Value of operator
values:
type: array
description: List of values
items:
type: string
isPrimary:
type: boolean
description: Whether the condition is primary or not (first condition of the smart list)
SmartCampaignResponse:
type: object
required:
- id
- name
- description
- type
- isSystem
- isActive
- isRequestable
- recurrence
- qualificationRuleType
- qualificationRuleInterval
- qualificationRuleUnit
- maxMembers
- isCommunicationLimitEnabled
- smartListId
- flowId
- folder
- createdAt
- updatedAt
- workspace
- status
properties:
id:
type: integer
format: int32
description: Id of the smart campaign (system managed)
name:
type: string
description: Name of the smart campaign
description:
type: string
description: Description of the smart campaign
type:
type: string
description: 'Type of the smart campaign. Batch: has at least one filter and no triggers. Trigger: has at least one trigger. Default: has no smart list rules'
enum:
- batch
- default
- trigger
isSystem:
type: boolean
description: Whether smart campaign is system managed. Defaults to false
isActive:
type: boolean
description: Whether smart campaign is active. Defaults to false
isRequestable:
type: boolean
description: Whether smart campaign is requestable (is active and contains 'Campaign is Requested' trigger with Source of 'Web Service API'). Defaults to false
recurrence:
description: Recurrence schedule of batch smart campaign
$ref: '#/components/schemas/Recurrence'
qualificationRuleType:
type: string
description: Type of qualification rule. Defaults to 'once'
enum:
- once
- any
- interval
qualificationRuleInterval:
type: integer
description: Interval of qualification rule. Only set when qualificationRuleType is 'interval'
qualificationRuleUnit:
type: string
description: Unit of measure of qualification rule. Only set when qualificationRuleType is 'interval'
enum:
- hour
- day
- week
- month
maxMembers:
type: integer
format: int32
description: Smart campaign membership limit
isCommunicationLimitEnabled:
type: boolean
description: Whether smart campaign communication limit is enabled (i.e. block non-operational emails). Defaults to false
smartListId:
type: integer
format: int32
description: Id of the smart campaign's child smart list
flowId:
type: integer
format: int32
description: Id of the smart campaign's child flow
parentProgramId:
type: integer
format: int32
description: Parent program Id. Present if smart campaign is under program or nested folder
folder:
description: JSON representation of parent folder, with members 'id', and 'type' which may be 'Folder' or 'Program'
$ref: '#/components/schemas/Folder'
createdAt:
type: string
format: date-time
description: Datetime when the smart campaign was created
updatedAt:
type: string
format: date-time
description: Datetime when the smart campaign was most recently updated
workspace:
type: string
description: Name of the smart campaign workspace
computedUrl:
type: string
description: URL to asset in Marketo Engage
status:
type: string
description: Status of smart campaign
enum:
- Inactive
- Single Run
- Invalid
- Recurring Run
- Active
- Requested
- Never Run
ResponseOfSmartCampaignResponse:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/Error'
requestId:
type: string
result:
type: array
items:
$ref: '#/components/schemas/SmartCampaignResponse'
success:
type: boolean
warnings:
type: array
items:
type: string
SmartListResponseWithRules:
type: object
required:
- id
- name
- description
- createdAt
- updatedAt
- url
- folder
- workspace
properties:
id:
type: integer
format: int64
description: Id of the smart list
name:
type: string
description: Name of the smart list
description:
type: string
description: Description of the smart list
createdAt:
type: string
format: date-time
description: Datetime the smart list was created
updatedAt:
type: string
format: date-time
description: Datetime the smart list was most recently updated
url:
type: string
description: Url of the smart list in the Marketo UI
folder:
description: JSON representation of parent folder, with members 'id', and 'type' which may be 'Folder' or 'Program'
$ref: '#/components/schemas/Folder'
workspace:
type: string
description: Name of the workspace
rules:
description: Rules contained in the smart list
$ref: '#/components/schemas/SmartListRules'
ResponseOfSmartListResponseWithRules:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/Error'
requestId:
type: string
result:
type: array
items:
$ref: '#/components/schemas/SmartListResponseWithRules'
success:
type: boolean
warnings:
type: array
items:
type: string
SmartListRules:
type: object
required:
- filterMatchType
- triggers
- filters
description: JSON representation of smart list rules
properties:
filterMatchType:
type: string
description: Smart list filter match type (rule logic)
enum:
- All
- Any
- Advanced
triggers:
type: array
description: List of smart list triggers
items:
type: string
filters:
type: array
description: List of smart list filters
items:
$ref: '#/components/schemas/SmartListFilters'
IdResponse:
type: object
required:
- id
properties:
id:
type: integer
format: int32
description: Id of the asset
UpdateSmartCampaignRequest:
type: object
properties:
description:
type: string
description: Description of the smart campaign
name:
type: string
description: Name of the smart campaign
SmartListFilters:
type: object
required:
- id
- name
- ruleTypeId
- ruleType
- operator
- conditions
description: JSON representation of smart list filters
properties:
id:
type: integer
format: int32
description: Id of the filter
name:
type: string
description: Name of filter
ruleTypeId:
type: integer
format: int32
description: Id of the rule type
ruleType:
type: string
description: Name of rule type
operator:
type: string
description: Name of operator
conditions:
type: array
description: List of smart list conditions
items:
$ref: '#/components/schemas/SmartListConditions'
ResponseOfIdResponse:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/Error'
requestId:
type: string
result:
type: array
items:
$ref: '#/components/schemas/IdResponse'
success:
type: boolean
warnings:
type: array
items:
type: string