Marketo Bulk Export Program Members API

Bulk Export Program Members Controller

Operations 6

GET /bulk/v1/program/members/export.json Get Export Program Member Jobs #
POST /bulk/v1/program/members/export/create.json Create Export Program Member Job #
POST /bulk/v1/program/members/export/{exportId}/cancel.json Cancel Export Program Member Job #
POST /bulk/v1/program/members/export/{exportId}/enqueue.json Enqueue Export Program Member Job #
GET /bulk/v1/program/members/export/{exportId}/file.json Get Export Program Member File #
GET /bulk/v1/program/members/export/{exportId}/status.json Get Export Program Member Job Status #

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-bulk-export-program-members-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-bulk-export-program-members-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: Marketo Engage Rest API
  version: '1.0'
  title: Marketo Engage Rest Bulk Export Program Members 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: Bulk Export Program Members
  description: Bulk Export Program Members Controller
paths:
  /bulk/v1/program/members/export.json:
    get:
      tags:
      - Bulk Export Program Members
      summary: Get Export Program Member Jobs
      description: 'Returns a list of export jobs that were created in the past 7 days. Required Permissions: Read-Only Lead'
      operationId: getExportProgramMembersUsingGET
      parameters:
      - name: status
        in: query
        description: Comma separated list of statuses to filter on.
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
          enum:
          - created
          - queued
          - processing
          - cancelled
          - completed
          - failed
      - name: batchSize
        in: query
        description: The batch size to return. The max and default value 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
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfExportResponseWithToken'
  /bulk/v1/program/members/export/create.json:
    post:
      tags:
      - Bulk Export Program Members
      summary: Create Export Program Member Job
      description: 'Create export job for search criteria defined via "filter" parameter. Request returns the "exportId" which is passed as a parameter in subsequent calls to Bulk Export Program Members endpoints. Use Enqueue Export Program Member Job endpoint to queue the export job for processing. Use Get Export Program Member Job Status endpoint to retrieve status of export job. Required Permissions: Read-Only Lead'
      operationId: createExportProgramMembersUsingPOST
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfExportResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExportProgramMemberRequest'
        description: 'exportProgramMemberRequest<br><br>ColumnHeaderNames: A JSON object containing key-value pairs of field and column header names.<br><br>Example:<br><code>"columnHeaderNames":{<br>  "firstName":"First Name",<br>  "lastName":"Last Name",<br>  "email":"Email Address"<br>}</code><br>'
  /bulk/v1/program/members/export/{exportId}/cancel.json:
    post:
      tags:
      - Bulk Export Program Members
      summary: Cancel Export Program Member Job
      description: 'Cancel export job. Required Permissions: Read-Only Lead'
      operationId: cancelExportProgramMembersUsingPOST
      parameters:
      - name: exportId
        in: path
        description: Id of export batch job.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfExportResponse'
  /bulk/v1/program/members/export/{exportId}/enqueue.json:
    post:
      tags:
      - Bulk Export Program Members
      summary: Enqueue Export Program Member Job
      description: 'Enqueue export job. This will place export job in queue, and will start the job when computing resources become available. The export job must be in "Created" state. Use Get Export Program Member Job Status endpoint to retrieve status of export job. Required Permissions: Read-Only Lead'
      operationId: enqueueExportProgramMembersUsingPOST
      parameters:
      - name: exportId
        in: path
        description: Id of export batch job.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfExportResponse'
  /bulk/v1/program/members/export/{exportId}/file.json:
    get:
      tags:
      - Bulk Export Program Members
      summary: Get Export Program Member File
      description: 'Returns the file content of an export job. The export job must be in "Completed" state. Use Get Export Program Member Job Status endpoint to retrieve status of export job. Required Permissions: Read-Only Lead<br><br>The file format is specified by calling the Create Export Program Member Job endpoint. The following is an example of the default file format ("CSV").<br><br><code>firstName,lastName,email</code><br><code>Marvin,Gaye,marvin.gaye@motown.com</code>'
      operationId: getExportProgramMembersFileUsingGET
      parameters:
      - name: exportId
        in: path
        description: Id of export batch job.
        required: true
        schema:
          type: string
      - name: Range
        in: header
        description: To support partial retrieval of extracted data, the HTTP header "Range" of type "bytes" may be specified. See RFC 2616 "Range Retrieval Requests" for more information. If the header is not set, the entire contents will be returned.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObservableOfInputStreamRangeContent'
  /bulk/v1/program/members/export/{exportId}/status.json:
    get:
      tags:
      - Bulk Export Program Members
      summary: Get Export Program Member Job Status
      description: 'Returns status of an export job. Job status is available for 30 days after Completed or Failed status was reached. Required Permissions: Read-Only Lead'
      operationId: getExportProgramMembersStatusUsingGET
      parameters:
      - name: exportId
        in: path
        description: Id of export batch job.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfExportResponse'
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
    ResponseOfExportResponseWithToken:
      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/ExportResponse'
        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'
    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
    ExportProgramMemberFilter:
      type: object
      properties:
        programId:
          type: integer
          format: int32
          description: Id of program to retrieve members from. Cannot be used in combination with "programIds" filter
        programIds:
          type: array
          description: Array of program ids to retrieve members from. Cannot be used in combination with "programId" filter
          items:
            type: integer
            format: int32
        isExhausted:
          type: boolean
          description: Filter program membership records for people who have exhausted content
        nurtureCadence:
          type: string
          description: Filter program membership records for a given nurture cadence
          enum:
          - paused
          - normal
        statusNames:
          type: array
          description: Array of program member status names. Can be default and/or user-defined. Multiple status names are ORed together.
          items:
            type: string
        updatedAt:
          description: Date range to filter program members on
          $ref: '#/components/schemas/DateRange'
    ResponseOfExportResponse:
      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'
        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/ExportResponse'
        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'
    ObservableOfInputStreamRangeContent:
      type: object
    ColumnHeaderNames:
      type: object
      required:
      - name
      - value
      properties:
        name:
          type: string
          description: REST API name for header field
        value:
          type: string
          description: Value for header field
    DateRange:
      type: object
      properties:
        endAt:
          type: string
          description: End of date range filter (ISO 8601-format)
        startAt:
          type: string
          description: Start of date range filter (ISO-8601 format)
    ExportResponse:
      type: object
      required:
      - exportId
      - status
      properties:
        createdAt:
          type: string
          format: date-time
          description: Date when the export request was created
        errorMsg:
          type: string
          description: Error message in case of "Failed" status
        exportId:
          type: string
          description: Unique id of the export job
        fileSize:
          type: integer
          format: int64
          description: Size of exported file in bytes. This will have a value only when status is "Completed", otherwise null
        fileChecksum:
          type: string
          description: SHA-256 hash of exported file. This will have a value only when status is "Completed", otherwise null
        finishedAt:
          type: string
          format: date-time
          description: Finish time of export job. This will have value only when status is "Completed" or "Failed", otherwise null
        format:
          type: string
          description: Format of file as given in the request ("CSV", "TSV", "SSV")
        numberOfRecords:
          type: integer
          format: int64
          description: Number of records in the export file. This will have value only when status is "Completed", otherwise null
        queuedAt:
          type: string
          format: date-time
          description: Queue time of export job. This will have value when "Queued" status is reached, before that null
        startedAt:
          type: string
          format: date-time
          description: Start time of export job. This will have value when "Processing" status is reached, before that null
        status:
          type: string
          description: Status of the export job ("Created","Queued","Processing","Canceled","Completed","Failed")
      description: Response containing export job status information
    ExportProgramMemberRequest:
      type: object
      required:
      - fields
      - filter
      properties:
        columnHeaderNames:
          description: File header field names override (corresponds with REST API name)
          $ref: '#/components/schemas/ColumnHeaderNames'
        fields:
          type: array
          description: Comma-separated list of fields to include in the file
          items:
            type: string
        filter:
          description: 'Program member record selection criteria. Must be the following: "programId"'
          $ref: '#/components/schemas/ExportProgramMemberFilter'
        format:
          type: string
          description: File format to create("CSV", "TSV", "SSV"). Default is "CSV"