Salesforce Marketing Cloud Account Engagement (Pardot) · OpenAPI Overlay 1.0.0
API Evangelist enhancements — Account Engagement (Pardot) API v5 Objects
38 actions
38 updates
documentation
extends
openapi/pardot-objects-api-openapi.yml
Derived by API Evangelist
Built from the contracts Salesforce Marketing Cloud Account Engagement (Pardot) publishes. Salesforce Marketing Cloud Account Engagement (Pardot) did not publish this file.
What the actions change
descriptionoperationIdx-ae-sourcex-provenancex-docstypeflowsparameters
Targets 38 · first 16 shown; the file carries all of them
$.info
$.components.securitySchemes.BearerAuth
$.components
$.paths['/objects/prospects'].get
$.paths['/objects/prospects'].post
$.paths['/objects/prospects/{id}'].get
$.paths['/objects/prospects/{id}'].patch
$.paths['/objects/prospects/{id}'].delete
$.paths['/objects/campaigns'].get
$.paths['/objects/campaigns'].post
$.paths['/objects/campaigns/{id}'].get
$.paths['/objects/campaigns/{id}'].patch
$.paths['/objects/lists'].get
$.paths['/objects/lists'].post
$.paths['/objects/lists/{id}'].get
$.paths['/objects/lists/{id}'].patch
OpenAPI Overlay
overlay: 1.0.0
info:
title: API Evangelist enhancements — Account Engagement (Pardot) API v5 Objects
version: 1.0.0
x-description: 'Overlay of API Evangelist enhancements over openapi/pardot-objects-api-openapi.yml. Salesforce publishes
NO OpenAPI for Account Engagement; the spec this overlay extends was written by API Evangelist from the provider''s
own v5 reference pages. This overlay adds what the underlying spec lacks and the docs do state: stable operationIds,
the shared v5 request/response semantics, the OAuth 2.0 flow and the required Pardot-Business-Unit-Id header,
the documented shared query parameters, and the real error envelope. It never invents an endpoint — every action
targets a path already present in the spec. Generated 2026-08-13.'
extends: openapi/pardot-objects-api-openapi.yml
x-provenance:
generated: '2026-08-13'
method: generated
source:
- https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.md
- https://developer.salesforce.com/docs/marketing/pardot/guide/error-codes.md
- https://developer.salesforce.com/docs/marketing/pardot/guide/authentication.md
author: API Evangelist
actions:
- target: $.info
description: Record provenance and point at the real reference set.
update:
x-provenance:
openapi_published_by_provider: false
authored_by: API Evangelist
derived_from: https://developer.salesforce.com/docs/llms-pardot.txt
note: Salesforce publishes no OpenAPI for Account Engagement. This document is an API Evangelist transcription
of the provider's v5 object reference and must not be read as a vendor contract.
x-docs: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
- target: $.components.securitySchemes.BearerAuth
description: Bind the real Salesforce OAuth 2.0 authorization-code flow and the pardot_api scope.
update:
type: oauth2
description: Salesforce OAuth 2.0. Every request additionally requires the Pardot-Business-Unit-Id header.
flows:
authorizationCode:
authorizationUrl: https://login.salesforce.com/services/oauth2/authorize
tokenUrl: https://login.salesforce.com/services/oauth2/token
refreshUrl: https://login.salesforce.com/services/oauth2/token
scopes:
pardot_api: Access the Marketing Cloud Account Engagement (Pardot) API
refresh_token: Issue a refresh token
- target: $.components
description: Add the documented shared parameters, the error envelope and the warning header.
update:
parameters:
BusinessUnitId:
name: Pardot-Business-Unit-Id
in: header
required: true
description: 18-character Account Engagement Business Unit ID (begins "0Uv"). Required on every request.
schema:
type: string
Fields:
name: fields
in: query
required: true
description: Comma-delimited allow-list of fields to return. Dot notation selects fields on related objects,
up to three object tracks.
schema:
type: string
Limit:
name: limit
in: query
required: false
description: Page size, 1-1000. Defaults to 200.
schema:
type: integer
minimum: 1
maximum: 1000
default: 200
Offset:
name: offset
in: query
required: false
deprecated: true
description: Deprecated. Index of the first record, max 2000. Beyond that use nextPageToken or the Export
API.
schema:
type: integer
minimum: 0
maximum: 2000
default: 0
OrderBy:
name: orderBy
in: query
required: false
description: Single sort field with optional ASC/DESC. Defaults to "id ASC".
schema:
type: string
Deleted:
name: deleted
in: query
required: false
description: false (default), true, or all — controls whether recycle-bin records are returned.
schema:
type: string
enum:
- 'true'
- 'false'
- all
NextPageToken:
name: nextPageToken
in: query
required: false
description: Opaque cursor from the previous page. When sent, only `fields` may accompany it; token expires
after 4 hours and a sequence stops at 100,000 records.
schema:
type: string
IfModifiedSince:
name: If-Modified-Since
in: header
required: false
description: RFC 7231 date-time. A record unchanged since this time answers 304.
schema:
type: string
ReturnApiUsage:
name: X-Return-Api-Usage
in: header
required: false
description: Set to 1 or true to have the response carry the x-api-usage header.
schema:
type: string
enum:
- '1'
- 'true'
schemas:
Error:
type: object
description: Account Engagement v5 error envelope. NOT RFC 9457.
properties:
code:
type: integer
description: Numeric error code from the published registry (208 codes).
message:
type: string
required:
- code
- message
PagedResponse:
type: object
properties:
values:
type: array
items:
type: object
nextPageToken:
type:
- string
- 'null'
nextPageUrl:
type:
- string
- 'null'
headers:
PardotWarning:
description: Pardot-Warning. 201 = record in recycle bin; 202 = values redacted by access rules; 203 = pagination
ceiling reached.
schema:
type: string
XApiUsage:
description: Calls made in the last day over the account daily maximum. Returned only when X-Return-Api-Usage
was sent.
schema:
type: string
responses:
BadRequest:
description: 400 Bad Request — missing or invalid parameters, or a disallowed parameter sent alongside nextPageToken.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: 404 Not Found — no object with that id, or it is in the recycle bin.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
MethodNotAllowed:
description: 405 Method Not Allowed — insufficient access rights, or a condition prevents the operation
(error code 108).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
- target: $.paths['/objects/prospects'].get
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: queryProspects
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: 'Query prospects. `fields` is REQUIRED — a comma-delimited allow-list, with dot notation to pull
related objects up to three tracks deep. Paginate with `nextPageToken` (cursor); `offset` is deprecated and
capped at 2000. Responses are `{"values": [...], "nextPageToken": ..., "nextPageUrl": ...}`.'
- target: $.paths['/objects/prospects'].post
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: createProspects
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: 'Create a record. Body is a JSON input representation; use `multipart/form-data` with `input` and
`file` parts when the object carries a file. Returns 201 with a `Location` header, or 204 when the caller
cannot read back the record. NOTE: there is no idempotency key — a retried create makes a second record.'
- target: $.paths['/objects/prospects/{id}'].get
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: readProspects
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: Read a single record by Account Engagement numeric id. `fields` is REQUIRED. Supports `If-Modified-Since`
(RFC 7231) and returns `Last-Modified`; an unchanged record answers 304 with an empty body.
- target: $.paths['/objects/prospects/{id}'].patch
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: updateProspects
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: Update a record by id. Omitted fields are left unchanged. Returns 200 with the requested `fields`,
or 204 when no readable fields were requested.
- target: $.paths['/objects/prospects/{id}'].delete
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: deleteProspects
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: Delete a record by id. Some object types move to the Account Engagement recycle bin rather than
being purged; related objects are never cascade-deleted. Returns 204, or 405 with error code 108 when the
record is referenced elsewhere.
- target: $.paths['/objects/campaigns'].get
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: queryCampaigns
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: 'Query campaigns. `fields` is REQUIRED — a comma-delimited allow-list, with dot notation to pull
related objects up to three tracks deep. Paginate with `nextPageToken` (cursor); `offset` is deprecated and
capped at 2000. Responses are `{"values": [...], "nextPageToken": ..., "nextPageUrl": ...}`.'
- target: $.paths['/objects/campaigns'].post
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: createCampaigns
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: 'Create a record. Body is a JSON input representation; use `multipart/form-data` with `input` and
`file` parts when the object carries a file. Returns 201 with a `Location` header, or 204 when the caller
cannot read back the record. NOTE: there is no idempotency key — a retried create makes a second record.'
- target: $.paths['/objects/campaigns/{id}'].get
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: readCampaigns
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: Read a single record by Account Engagement numeric id. `fields` is REQUIRED. Supports `If-Modified-Since`
(RFC 7231) and returns `Last-Modified`; an unchanged record answers 304 with an empty body.
- target: $.paths['/objects/campaigns/{id}'].patch
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: updateCampaigns
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: Update a record by id. Omitted fields are left unchanged. Returns 200 with the requested `fields`,
or 204 when no readable fields were requested.
- target: $.paths['/objects/lists'].get
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: queryLists
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: 'Query lists. `fields` is REQUIRED — a comma-delimited allow-list, with dot notation to pull related
objects up to three tracks deep. Paginate with `nextPageToken` (cursor); `offset` is deprecated and capped
at 2000. Responses are `{"values": [...], "nextPageToken": ..., "nextPageUrl": ...}`.'
- target: $.paths['/objects/lists'].post
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: createLists
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: 'Create a record. Body is a JSON input representation; use `multipart/form-data` with `input` and
`file` parts when the object carries a file. Returns 201 with a `Location` header, or 204 when the caller
cannot read back the record. NOTE: there is no idempotency key — a retried create makes a second record.'
- target: $.paths['/objects/lists/{id}'].get
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: readLists
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: Read a single record by Account Engagement numeric id. `fields` is REQUIRED. Supports `If-Modified-Since`
(RFC 7231) and returns `Last-Modified`; an unchanged record answers 304 with an empty body.
- target: $.paths['/objects/lists/{id}'].patch
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: updateLists
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: Update a record by id. Omitted fields are left unchanged. Returns 200 with the requested `fields`,
or 204 when no readable fields were requested.
- target: $.paths['/objects/lists/{id}'].delete
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: deleteLists
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: Delete a record by id. Some object types move to the Account Engagement recycle bin rather than
being purged; related objects are never cascade-deleted. Returns 204, or 405 with error code 108 when the
record is referenced elsewhere.
- target: $.paths['/objects/list-memberships'].get
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: queryListMemberships
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: 'Query list memberships. `fields` is REQUIRED — a comma-delimited allow-list, with dot notation
to pull related objects up to three tracks deep. Paginate with `nextPageToken` (cursor); `offset` is deprecated
and capped at 2000. Responses are `{"values": [...], "nextPageToken": ..., "nextPageUrl": ...}`.'
- target: $.paths['/objects/list-memberships'].post
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: createListMemberships
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: 'Create a record. Body is a JSON input representation; use `multipart/form-data` with `input` and
`file` parts when the object carries a file. Returns 201 with a `Location` header, or 204 when the caller
cannot read back the record. NOTE: there is no idempotency key — a retried create makes a second record.'
- target: $.paths['/objects/opportunities'].get
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: queryOpportunities
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: 'Query opportunities. `fields` is REQUIRED — a comma-delimited allow-list, with dot notation to
pull related objects up to three tracks deep. Paginate with `nextPageToken` (cursor); `offset` is deprecated
and capped at 2000. Responses are `{"values": [...], "nextPageToken": ..., "nextPageUrl": ...}`.'
- target: $.paths['/objects/opportunities/{id}'].get
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: readOpportunities
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: Read a single record by Account Engagement numeric id. `fields` is REQUIRED. Supports `If-Modified-Since`
(RFC 7231) and returns `Last-Modified`; an unchanged record answers 304 with an empty body.
- target: $.paths['/objects/emails'].get
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: queryEmails
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: 'Query emails. `fields` is REQUIRED — a comma-delimited allow-list, with dot notation to pull related
objects up to three tracks deep. Paginate with `nextPageToken` (cursor); `offset` is deprecated and capped
at 2000. Responses are `{"values": [...], "nextPageToken": ..., "nextPageUrl": ...}`.'
- target: $.paths['/objects/emails'].post
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: createEmails
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: 'Create a record. Body is a JSON input representation; use `multipart/form-data` with `input` and
`file` parts when the object carries a file. Returns 201 with a `Location` header, or 204 when the caller
cannot read back the record. NOTE: there is no idempotency key — a retried create makes a second record.'
- target: $.paths['/objects/emails/{id}'].get
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: readEmails
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: Read a single record by Account Engagement numeric id. `fields` is REQUIRED. Supports `If-Modified-Since`
(RFC 7231) and returns `Last-Modified`; an unchanged record answers 304 with an empty body.
- target: $.paths['/objects/forms'].get
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: queryForms
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: 'Query forms. `fields` is REQUIRED — a comma-delimited allow-list, with dot notation to pull related
objects up to three tracks deep. Paginate with `nextPageToken` (cursor); `offset` is deprecated and capped
at 2000. Responses are `{"values": [...], "nextPageToken": ..., "nextPageUrl": ...}`.'
- target: $.paths['/objects/forms/{id}'].get
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: readForms
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: Read a single record by Account Engagement numeric id. `fields` is REQUIRED. Supports `If-Modified-Since`
(RFC 7231) and returns `Last-Modified`; an unchanged record answers 304 with an empty body.
- target: $.paths['/objects/visits'].get
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: queryVisits
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: 'Query visits. `fields` is REQUIRED — a comma-delimited allow-list, with dot notation to pull related
objects up to three tracks deep. Paginate with `nextPageToken` (cursor); `offset` is deprecated and capped
at 2000. Responses are `{"values": [...], "nextPageToken": ..., "nextPageUrl": ...}`.'
- target: $.paths['/objects/visitors'].get
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: queryVisitors
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: 'Query visitors. `fields` is REQUIRED — a comma-delimited allow-list, with dot notation to pull
related objects up to three tracks deep. Paginate with `nextPageToken` (cursor); `offset` is deprecated and
capped at 2000. Responses are `{"values": [...], "nextPageToken": ..., "nextPageUrl": ...}`.'
- target: $.paths['/objects/custom-fields'].get
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: queryCustomFields
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: 'Query custom fields. `fields` is REQUIRED — a comma-delimited allow-list, with dot notation to
pull related objects up to three tracks deep. Paginate with `nextPageToken` (cursor); `offset` is deprecated
and capped at 2000. Responses are `{"values": [...], "nextPageToken": ..., "nextPageUrl": ...}`.'
- target: $.paths['/objects/custom-fields'].post
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: createCustomFields
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: 'Create a record. Body is a JSON input representation; use `multipart/form-data` with `input` and
`file` parts when the object carries a file. Returns 201 with a `Location` header, or 204 when the caller
cannot read back the record. NOTE: there is no idempotency key — a retried create makes a second record.'
- target: $.paths['/objects/custom-redirects'].get
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: queryCustomRedirects
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: 'Query custom redirects. `fields` is REQUIRED — a comma-delimited allow-list, with dot notation
to pull related objects up to three tracks deep. Paginate with `nextPageToken` (cursor); `offset` is deprecated
and capped at 2000. Responses are `{"values": [...], "nextPageToken": ..., "nextPageUrl": ...}`.'
- target: $.paths['/objects/dynamic-content'].get
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: queryDynamicContent
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: 'Query dynamic content. `fields` is REQUIRED — a comma-delimited allow-list, with dot notation
to pull related objects up to three tracks deep. Paginate with `nextPageToken` (cursor); `offset` is deprecated
and capped at 2000. Responses are `{"values": [...], "nextPageToken": ..., "nextPageUrl": ...}`.'
- target: $.paths['/objects/files'].get
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: queryFiles
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: 'Query files. `fields` is REQUIRED — a comma-delimited allow-list, with dot notation to pull related
objects up to three tracks deep. Paginate with `nextPageToken` (cursor); `offset` is deprecated and capped
at 2000. Responses are `{"values": [...], "nextPageToken": ..., "nextPageUrl": ...}`.'
- target: $.paths['/objects/folders'].get
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: queryFolders
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: 'Query folders. `fields` is REQUIRED — a comma-delimited allow-list, with dot notation to pull
related objects up to three tracks deep. Paginate with `nextPageToken` (cursor); `offset` is deprecated and
capped at 2000. Responses are `{"values": [...], "nextPageToken": ..., "nextPageUrl": ...}`.'
- target: $.paths['/objects/tags'].get
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: queryTags
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: 'Query tags. `fields` is REQUIRED — a comma-delimited allow-list, with dot notation to pull related
objects up to three tracks deep. Paginate with `nextPageToken` (cursor); `offset` is deprecated and capped
at 2000. Responses are `{"values": [...], "nextPageToken": ..., "nextPageUrl": ...}`.'
- target: $.paths['/objects/tracker-domains'].get
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: queryTrackerDomains
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: 'Query tracker domains. `fields` is REQUIRED — a comma-delimited allow-list, with dot notation
to pull related objects up to three tracks deep. Paginate with `nextPageToken` (cursor); `offset` is deprecated
and capped at 2000. Responses are `{"values": [...], "nextPageToken": ..., "nextPageUrl": ...}`.'
- target: $.paths['/objects/users'].get
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: queryUsers
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: 'Query users. `fields` is REQUIRED — a comma-delimited allow-list, with dot notation to pull related
objects up to three tracks deep. Paginate with `nextPageToken` (cursor); `offset` is deprecated and capped
at 2000. Responses are `{"values": [...], "nextPageToken": ..., "nextPageUrl": ...}`.'
- target: $.paths['/objects/layout-templates'].get
description: Add a stable operationId and the documented v5 semantics.
update:
operationId: queryLayoutTemplates
x-ae-source: https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html
description: 'Query layout templates. `fields` is REQUIRED — a comma-delimited allow-list, with dot notation
to pull related objects up to three tracks deep. Paginate with `nextPageToken` (cursor); `offset` is deprecated
and capped at 2000. Responses are `{"values": [...], "nextPageToken": ..., "nextPageUrl": ...}`.'
Work with this as data
Every overlay 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 openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.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.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/pardot-objects-api-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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.