Marketo Campaigns API

The Campaigns API from Marketo — 7 operation(s) for campaigns.

Operations 4

GET /rest/v1/campaigns.json Get Campaigns #
GET /rest/v1/campaigns/{campaignId}.json Get Campaign By Id #
POST /rest/v1/campaigns/{campaignId}/schedule.json Schedule Campaign #
POST /rest/v1/campaigns/{campaignId}/trigger.json Request Campaign #

Work with this as data

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/marketo-campaigns-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 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 Specification

marketo-campaigns-api-openapi.yml Raw ↑
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