How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

HubSpot Marketing Campaigns Public API API

HubSpot Marketing Campaigns Public API — 24 operation(s) from HubSpot's published OpenAPI.

HubSpot Marketing Campaigns Public API API is one of 144 APIs that HubSpot publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 692 JSON Schema definitions.

Tagged areas include Marketing, Campaigns, Public, and API. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, code examples, and 692 JSON Schemas.

This API exposes 24 operations across 16 paths, organized into 6 resource areas, and defines 35 schemas. It is described by OpenAPI 3.0.1, at version 2026-03.

Requests are made against a single base URL, https://api.hubapi.com.

24 operations 16 paths 35 schemas 4 DELETE9 GET1 PATCH7 POST3 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.1
API Version
2026-03
Base URL
https://api.hubapi.com
Authentication
API Key, OAuth 2.0, API Key, API Key
Resource Areas
6

Authentication & Security 4

HubSpot Marketing Campaigns Public API API declares 4 security schemes for authenticating requests. An API key is passed in the query as hapikey (developer_hapikey). It supports OAuth 2.0 (oauth2) using the authorizationCode flow, exposing 3 scopes. An API key is passed in the header as private-app (private_apps). An API key is passed in the header as private-app-legacy (private_apps_legacy).

Paths & Operations 24

Across 16 paths, the API surfaces 24 operations — 4 DELETE, 9 GET, 1 PATCH, 7 POST, 3 PUT. They span 6 resource areas: Basic, Batch, Assets, Budget, Metrics, Spend. Each is listed below with its method, path, parameters, and response codes.

Basic 5
GET
/marketing/campaigns/2026-03
get-/marketing/campaigns/2026-03_/marketing/campaigns/v3 5 params → 200default
POST
/marketing/campaigns/2026-03
post-/marketing/campaigns/2026-03_/marketing/campaigns/v3 body → 201default
GET
/marketing/campaigns/2026-03/{campaignGuid}
Read a campaign
get-/marketing/campaigns/2026-03/{campaignGuid} 4 params → 200default
DELETE
/marketing/campaigns/2026-03/{campaignGuid}
Delete campaign
delete-/marketing/campaigns/2026-03/{campaignGuid} 1 param → 204default
PATCH
/marketing/campaigns/2026-03/{campaignGuid}
Update campaign
patch-/marketing/campaigns/2026-03/{campaignGuid} 1 param body → 200default
Batch 4
POST
/marketing/campaigns/2026-03/batch/archive
Delete a batch of campaigns
post-/marketing/campaigns/2026-03/batch/archive body → 204default
POST
/marketing/campaigns/2026-03/batch/create
Create a batch of campaigns
post-/marketing/campaigns/2026-03/batch/create body → 201207default
POST
/marketing/campaigns/2026-03/batch/read
Read a batch of campaigns
post-/marketing/campaigns/2026-03/batch/read 3 params body → 200207default
POST
/marketing/campaigns/2026-03/batch/update
Update a batch of campaigns
post-/marketing/campaigns/2026-03/batch/update body → 200207default
Assets 3
GET
/marketing/campaigns/2026-03/{campaignGuid}/assets/{assetType}
List assets
get-/marketing/campaigns/2026-03/{campaignGuid}/assets/{assetType} 6 params → 200default
PUT
/marketing/campaigns/2026-03/{campaignGuid}/assets/{assetType}/{assetId}
Add asset association
put-/marketing/campaigns/2026-03/{campaignGuid}/assets/{assetType}/{assetId} 3 params → 204default
DELETE
/marketing/campaigns/2026-03/{campaignGuid}/assets/{assetType}/{assetId}
Remove asset association
delete-/marketing/campaigns/2026-03/{campaignGuid}/assets/{assetType}/{assetId} 3 params → 204default
Budget 5
POST
/marketing/campaigns/2026-03/{campaignGuid}/budget
Add budget item
post-/marketing/campaigns/2026-03/{campaignGuid}/budget 1 param body → 201default
GET
/marketing/campaigns/2026-03/{campaignGuid}/budget/totals
Read budget
get-/marketing/campaigns/2026-03/{campaignGuid}/budget/totals 1 param → 200default
GET
/marketing/campaigns/2026-03/{campaignGuid}/budget/{budgetId}
Get budget item
get-/marketing/campaigns/2026-03/{campaignGuid}/budget/{budgetId} 2 params → 200default
PUT
/marketing/campaigns/2026-03/{campaignGuid}/budget/{budgetId}
Update budget item
put-/marketing/campaigns/2026-03/{campaignGuid}/budget/{budgetId} 2 params body → 200default
DELETE
/marketing/campaigns/2026-03/{campaignGuid}/budget/{budgetId}
Delete budget item
delete-/marketing/campaigns/2026-03/{campaignGuid}/budget/{budgetId} 2 params → 204default
Metrics 3
GET
/marketing/campaigns/2026-03/{campaignGuid}/reports/contacts/{contactType}
Fetch contact IDs
get-/marketing/campaigns/2026-03/{campaignGuid}/reports/contacts/{contactType} 6 params → 200default
GET
/marketing/campaigns/2026-03/{campaignGuid}/reports/metrics
Get Campaign Metrics
get-/marketing/campaigns/2026-03/{campaignGuid}/reports/metrics 3 params → 200default
GET
/marketing/campaigns/2026-03/{campaignGuid}/reports/revenue
Fetch revenue
get-/marketing/campaigns/2026-03/{campaignGuid}/reports/revenue 4 params → 200default
Spend 4
POST
/marketing/campaigns/2026-03/{campaignGuid}/spend
Create campaign spend item
post-/marketing/campaigns/2026-03/{campaignGuid}/spend 1 param body → 201default
GET
/marketing/campaigns/2026-03/{campaignGuid}/spend/{spendId}
Read campaign spend item
get-/marketing/campaigns/2026-03/{campaignGuid}/spend/{spendId} 2 params → 200default
PUT
/marketing/campaigns/2026-03/{campaignGuid}/spend/{spendId}
Update campaign spend item
put-/marketing/campaigns/2026-03/{campaignGuid}/spend/{spendId} 2 params body → 200default
DELETE
/marketing/campaigns/2026-03/{campaignGuid}/spend/{spendId}
Delete campaign spend item
delete-/marketing/campaigns/2026-03/{campaignGuid}/spend/{spendId} 2 params → 204default

Schemas 35

The contract defines 35 schemas that model the data the API accepts and returns. The most detailed are BatchResponsePublicCampaignWithAssetsWithErrors (8 properties), StandardError (8 properties), BatchResponsePublicCampaignWithErrors (8 properties), PublicBudgetItem (7 properties). Each schema is shown below with its type and property counts.

BatchInputPublicCampaignBatchUpdateItem
object
1 property 1 required
BatchInputPublicCampaignDeleteInput
object
1 property 1 required
BatchInputPublicCampaignInput
object
1 property 1 required
BatchInputPublicCampaignReadInput
object
1 property 1 required
BatchResponsePublicCampaign
object
6 properties 4 required
BatchResponsePublicCampaignWithAssets
object
6 properties 4 required
BatchResponsePublicCampaignWithAssetsWithErrors
object
8 properties 4 required
BatchResponsePublicCampaignWithErrors
object
8 properties 4 required
CollectionResponseContactReferenceForwardPaging
object
2 properties 1 required
CollectionResponsePublicCampaignAsset
object
2 properties 1 required
CollectionResponsePublicCampaignAssetForwardPaging
object
2 properties 1 required
CollectionResponseWithTotalPublicCampaign
object
3 properties 2 required
ContactReference
object
1 property 1 required
Error
object
Represents an error response returned by the API when an operation fails. This component is used in various endpoints to provide detailed information about the…
7 properties 3 required
ErrorDetail
object
Represents detailed information about an error that occurred in the API. This component is used to provide additional context and specifics about errors, typic…
5 properties 1 required
ForwardPaging
object
Paging information for forward-only pagination. Contains the next page reference when more results are available; omitted or empty on the last page.
1 property
MetricsCounters
object
4 properties 4 required
NextPage
object
Specifies the paging information needed to retrieve the next set of results in a paginated API response
2 properties 1 required
Paging
object
2 properties
PreviousPage
object
specifies the paging information needed to retrieve the previous set of results in a paginated API response
2 properties 1 required
PublicBudgetItem
object
7 properties 6 required
PublicBudgetItemInput
object
4 properties 3 required
PublicBudgetTotals
object
6 properties 3 required
PublicBusinessUnit
object
1 property 1 required
PublicCampaign
object
5 properties 5 required
PublicCampaignAsset
object
3 properties 1 required
PublicCampaignBatchUpdateItem
object
2 properties 2 required
PublicCampaignDeleteInput
object
1 property 1 required
PublicCampaignInput
object
1 property 1 required
PublicCampaignReadInput
object
1 property 1 required
PublicCampaignWithAssets
object
6 properties 6 required
PublicSpendItem
object
7 properties 6 required
PublicSpendItemInput
object
4 properties 3 required
RevenueAttributionAggregate
object
5 properties
StandardError
object
Ye olde error
8 properties 6 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

hubspot-marketing-campaigns-public-api-api-openapi.yml Raw ↑

Other APIs HubSpot publishes across the network.

HubSpot URL Redirects API
HubSpot Pipelines API
HubSpot Products API
HubSpot Line Items API
HubSpot Quotes API
HubSpot CRM Properties API
HubSpot Owners API
HubSpot CRM Imports API
HubSpot Custom Objects API
HubSpot Marketing Events API
HubSpot Forms API
HubSpot Workflows API
Where this information came from

This is an independent, third-party profile of HubSpot Marketing Campaigns Public API API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.