Salesforce Marketing Cloud Account Engagement (Pardot) Objects API

The Objects API from Salesforce Marketing Cloud Account Engagement (Pardot) — 24 operation(s) for objects.

Operations 35

GET /objects/prospects Query prospects
POST /objects/prospects Create a prospect
GET /objects/prospects/{id} Read a prospect
PATCH /objects/prospects/{id} Update a prospect
DELETE /objects/prospects/{id} Delete a prospect
GET /objects/campaigns Query campaigns
POST /objects/campaigns Create a campaign
GET /objects/campaigns/{id} Read a campaign
PATCH /objects/campaigns/{id} Update a campaign
GET /objects/lists Query lists
POST /objects/lists Create a list
GET /objects/lists/{id} Read a list
PATCH /objects/lists/{id} Update a list
DELETE /objects/lists/{id} Delete a list
GET /objects/list-memberships Query list memberships
POST /objects/list-memberships Create a list membership
GET /objects/opportunities Query opportunities
GET /objects/opportunities/{id} Read an opportunity
GET /objects/emails Query emails
POST /objects/emails Create / send an email
GET /objects/emails/{id} Read an email
GET /objects/forms Query forms
GET /objects/forms/{id} Read a form
GET /objects/visits Query visits
GET /objects/visitors Query visitors
GET /objects/custom-fields Query custom fields
POST /objects/custom-fields Create a custom field
GET /objects/custom-redirects Query custom redirects
GET /objects/dynamic-content Query dynamic content
GET /objects/files Query files
GET /objects/folders Query folders
GET /objects/tags Query tags
GET /objects/tracker-domains Query tracker domains
GET /objects/users Query users
GET /objects/layout-templates Query layout templates

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/pardot-objects-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

pardot-objects-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Salesforce Account Engagement (Pardot) API v5 Objects API
  description: 'Salesforce Account Engagement (Pardot) API v5 exposes prospects,

    campaigns, lists, opportunities, emails, forms and other marketing

    automation objects through a uniform `/api/v5/objects/{collection}`

    pattern. Authentication is delegated to Salesforce OAuth2.

    '
  version: 5.0.0
  contact:
    name: Salesforce
    url: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
  x-provenance:
    openapi_published_by_provider: false
    authored_by: API Evangelist
    generated: '2026-08-13'
    method: derived
    derived_from: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
    note: Salesforce publishes no OpenAPI for Marketing Cloud Account Engagement (Pardot). Probes of /openapi.json, /openapi.yaml, /swagger.json and /api-docs against pi.pardot.com, pi.demo.pardot.com, developer.salesforce.com and www.salesforce.com all returned 404 on 2026-08-13. This document is an API Evangelist transcription of the provider's own v5 object reference pages and must not be read as a vendor contract. The provider's only first-party machine-readable descriptions are the legacy v3 WADL and XSDs in schemas/. The full documented v5 operation surface (162 operations across 36 objects) is captured in data-model/pardot-data-model.yml; this spec covers a subset.
servers:
- url: https://pi.pardot.com/api/v5
  description: Pardot v5 production
security:
- BearerAuth: []
tags:
- name: Objects
paths:
  /objects/prospects:
    get:
      summary: Query prospects
      parameters:
      - in: query
        name: fields
        schema:
          type: string
      responses:
        '200':
          description: A collection of prospects.
      tags:
      - Objects
    post:
      summary: Create a prospect
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Prospect created.
      tags:
      - Objects
  /objects/prospects/{id}:
    get:
      summary: Read a prospect
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      - in: query
        name: fields
        schema:
          type: string
      responses:
        '200':
          description: Prospect details.
      tags:
      - Objects
    patch:
      summary: Update a prospect
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Prospect updated.
      tags:
      - Objects
    delete:
      summary: Delete a prospect
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '204':
          description: Prospect deleted.
      tags:
      - Objects
  /objects/campaigns:
    get:
      summary: Query campaigns
      parameters:
      - in: query
        name: fields
        schema:
          type: string
      responses:
        '200':
          description: A collection of campaigns.
      tags:
      - Objects
    post:
      summary: Create a campaign
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Campaign created.
      tags:
      - Objects
  /objects/campaigns/{id}:
    get:
      summary: Read a campaign
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Campaign details.
      tags:
      - Objects
    patch:
      summary: Update a campaign
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Campaign updated.
      tags:
      - Objects
  /objects/lists:
    get:
      summary: Query lists
      responses:
        '200':
          description: A collection of lists.
      tags:
      - Objects
    post:
      summary: Create a list
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: List created.
      tags:
      - Objects
  /objects/lists/{id}:
    get:
      summary: Read a list
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: List details.
      tags:
      - Objects
    patch:
      summary: Update a list
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: List updated.
      tags:
      - Objects
    delete:
      summary: Delete a list
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '204':
          description: List deleted.
      tags:
      - Objects
  /objects/list-memberships:
    get:
      summary: Query list memberships
      responses:
        '200':
          description: A collection of list memberships.
      tags:
      - Objects
    post:
      summary: Create a list membership
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: List membership created.
      tags:
      - Objects
  /objects/opportunities:
    get:
      summary: Query opportunities
      responses:
        '200':
          description: A collection of opportunities.
      tags:
      - Objects
  /objects/opportunities/{id}:
    get:
      summary: Read an opportunity
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Opportunity details.
      tags:
      - Objects
  /objects/emails:
    get:
      summary: Query emails
      responses:
        '200':
          description: A collection of emails.
      tags:
      - Objects
    post:
      summary: Create / send an email
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Email created.
      tags:
      - Objects
  /objects/emails/{id}:
    get:
      summary: Read an email
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Email details.
      tags:
      - Objects
  /objects/forms:
    get:
      summary: Query forms
      responses:
        '200':
          description: A collection of forms.
      tags:
      - Objects
  /objects/forms/{id}:
    get:
      summary: Read a form
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Form details.
      tags:
      - Objects
  /objects/visits:
    get:
      summary: Query visits
      responses:
        '200':
          description: A collection of visits.
      tags:
      - Objects
  /objects/visitors:
    get:
      summary: Query visitors
      responses:
        '200':
          description: A collection of visitors.
      tags:
      - Objects
  /objects/custom-fields:
    get:
      summary: Query custom fields
      responses:
        '200':
          description: A collection of custom fields.
      tags:
      - Objects
    post:
      summary: Create a custom field
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Custom field created.
      tags:
      - Objects
  /objects/custom-redirects:
    get:
      summary: Query custom redirects
      responses:
        '200':
          description: A collection of custom redirects.
      tags:
      - Objects
  /objects/dynamic-content:
    get:
      summary: Query dynamic content
      responses:
        '200':
          description: A collection of dynamic content blocks.
      tags:
      - Objects
  /objects/files:
    get:
      summary: Query files
      responses:
        '200':
          description: A collection of files.
      tags:
      - Objects
  /objects/folders:
    get:
      summary: Query folders
      responses:
        '200':
          description: A collection of folders.
      tags:
      - Objects
  /objects/tags:
    get:
      summary: Query tags
      responses:
        '200':
          description: A collection of tags.
      tags:
      - Objects
  /objects/tracker-domains:
    get:
      summary: Query tracker domains
      responses:
        '200':
          description: A collection of tracker domains.
      tags:
      - Objects
  /objects/users:
    get:
      summary: Query users
      responses:
        '200':
          description: A collection of users.
      tags:
      - Objects
  /objects/layout-templates:
    get:
      summary: Query layout templates
      responses:
        '200':
          description: A collection of layout templates.
      tags:
      - Objects
components:
  securitySchemes:
    BearerAuth:
      type: oauth2
      description: 'Authenticate via Salesforce OAuth2 and pass the resulting access

        token as `Authorization: Bearer {token}`. The `Pardot-Business-Unit-Id`

        header is also required on every request.

        '
      flows:
        authorizationCode:
          authorizationUrl: https://login.salesforce.com/services/oauth2/authorize
          tokenUrl: https://login.salesforce.com/services/oauth2/token
          scopes:
            pardot_api: Access the Pardot/Account Engagement API