# HubSpot docs: APIs 2026-09 Marketing

## Marketing

### Campaigns

- [Campaigns API](https://developers.hubspot.com/docs/api-reference/latest/marketing/campaigns/guide.md): Learn how to use Campaigns API to manage your HubSpot campaigns
- [Clone a campaign](https://developers.hubspot.com/docs/api-reference/latest/marketing/campaigns/clone-campaign.md): Clone a campaign identified by sourceCampaignGuid in the request body. The cloned campaign will have its own GUID and the provided properties. Asset cloning is performed asynchronously. Use the clone-status endpoint to check progress.
- [Create a campaign](https://developers.hubspot.com/docs/api-reference/latest/marketing/campaigns/create-campaign.md): Create a campaign with the specified properties and receive a copy of the object, including its ID. Note that the 'hs_goal' property is deprecated and will be ignored if provided.
- [Retrieve a campaign](https://developers.hubspot.com/docs/api-reference/latest/marketing/campaigns/get-campaign.md): Retrieve details of a specific marketing campaign identified by its internal ID. This endpoint allows you to access campaign information and associated assets. It is useful for obtaining campaign data for analysis or reporting purposes. If the properties to be returned are not defined with the 'prop…
- [Retrieve campaigns](https://developers.hubspot.com/docs/api-reference/latest/marketing/campaigns/get-campaigns.md): Retrieve a page of marketing campaigns from your HubSpot account. This endpoint allows you to sort, filter, and paginate through campaigns, making it useful for managing and analyzing your marketing efforts.
- [Retrieve clone status](https://developers.hubspot.com/docs/api-reference/latest/marketing/campaigns/get-clone-status.md): Check the status of an asynchronous campaign clone operation. The campaignGuid path parameter should be the GUID of the new campaign returned by the clone endpoint.
- [Update a campaign](https://developers.hubspot.com/docs/api-reference/latest/marketing/campaigns/update-campaign.md): Perform a partial update of a campaign identified by the specified ID. Provided property values will be overwritten. Read-only and non-existent properties will result in a 400 error. Property values can be cleared by passing an empty string. Note: The 'hs_goal' property is deprecated and will be ign…
- [Delete a campaign](https://developers.hubspot.com/docs/api-reference/latest/marketing/campaigns/delete-campaign.md): Delete a specified campaign from the system. This operation will remove the campaign identified by the given campaignGuid from your HubSpot account.

#### Assets

- [Add asset](https://developers.hubspot.com/docs/api-reference/latest/marketing/campaigns/assets/add-asset.md): Associate an asset with a specific campaign. This operation links an asset of a specified type and ID to a campaign identified by its unique campaignGuid. It is useful for organizing and managing campaign assets within HubSpot.
- [Retrieve asset types](https://developers.hubspot.com/docs/api-reference/latest/marketing/campaigns/assets/get-assets.md): List all supported campaign asset types. This endpoint allows you to retrieve a list of asset types that can be used in campaigns, which is useful for understanding the available options when creating or managing campaign assets.
- [Remove asset](https://developers.hubspot.com/docs/api-reference/latest/marketing/campaigns/assets/delete-asset.md): Disassociate an asset from a specified campaign. This operation removes the link between the asset and the campaign, effectively detaching the asset from the campaign's context.

#### Batch

- [Batch create campaigns](https://developers.hubspot.com/docs/api-reference/latest/marketing/campaigns/batch/create-campaigns.md): Create a batch of marketing campaigns with specified properties. This endpoint allows for the creation of multiple campaigns in a single request. Note that the 'hs_goal' property is deprecated and will be ignored if included in the request.
- [Batch retrieve campaigns](https://developers.hubspot.com/docs/api-reference/latest/marketing/campaigns/batch/get-campaigns.md): Retrieve a batch of campaigns using specified parameters. This endpoint allows you to filter campaigns by date range and select specific properties to include in the response. It is useful for obtaining detailed information about multiple campaigns at once.
- [Batch update campaigns](https://developers.hubspot.com/docs/api-reference/latest/marketing/campaigns/batch/update-campaigns.md): Update a batch of campaigns with the specified properties. This endpoint allows you to modify multiple campaigns in a single request. Note: The 'hs_goal' property is deprecated and will be ignored if provided.
- [Batch archive campaigns](https://developers.hubspot.com/docs/api-reference/latest/marketing/campaigns/batch/delete-campaigns.md): Delete a batch of campaigns using their identifiers. This endpoint allows you to efficiently remove multiple campaigns at once, streamlining the process of managing campaign data. It is particularly useful for cleaning up outdated or unnecessary campaigns in bulk.

#### Budget

- [Add budget item](https://developers.hubspot.com/docs/api-reference/latest/marketing/campaigns/budget/create-budget-item.md): Add a new budget item to the specified campaign. This endpoint allows you to associate financial allocations with a campaign, enabling better tracking and management of campaign budgets.
- [Retrieve budget item](https://developers.hubspot.com/docs/api-reference/latest/marketing/campaigns/budget/get-budget-item.md): Retrieve a specific budget item associated with a campaign using its unique budget ID. This endpoint is useful for accessing detailed information about a particular budget item within a campaign, allowing for review and analysis of budget allocations.
- [Retrieve budget details](https://developers.hubspot.com/docs/api-reference/latest/marketing/campaigns/budget/get-budget-totals.md): Retrieve detailed budget and spending information, including totals, for a specific marketing campaign. This endpoint provides insights into the financial aspects of a campaign, helping users to manage and analyze budget allocations and spending patterns effectively.
- [Update budget item](https://developers.hubspot.com/docs/api-reference/latest/marketing/campaigns/budget/update-budget-item.md): Update a specific budget item by ID within a marketing campaign. This endpoint allows you to modify the details of a budget item associated with a campaign, identified by its unique campaignGuid and budgetId. Use this to adjust budget allocations or update budget-related information for a campaign.
- [Delete budget item](https://developers.hubspot.com/docs/api-reference/latest/marketing/campaigns/budget/delete-budget-item.md): Delete a specific budget item by its ID from a campaign. This operation is useful for removing budget allocations that are no longer needed or were added in error.

#### Reports

- [Retrieve contact IDs](https://developers.hubspot.com/docs/api-reference/latest/marketing/campaigns/reports/get-contact-ids.md): Fetch the list of contact IDs for the specified campaign and contact type. This endpoint allows you to retrieve contact information associated with a particular campaign, filtered by the type of contact. It supports pagination and date filtering to manage large sets of data effectively.
- [Retrieve metrics](https://developers.hubspot.com/docs/api-reference/latest/marketing/campaigns/reports/get-metrics.md): Fetch the metrics of a specific marketing campaign using its unique identifier. This endpoint allows you to gather insights into campaign performance over a specified date range.
- [Retrieve revenue report](https://developers.hubspot.com/docs/api-reference/latest/marketing/campaigns/reports/get-revenue-report.md): Fetch revenue attribution report data for a specific campaign. This endpoint allows you to retrieve detailed revenue attribution metrics, which can be filtered by attribution model and date range. This data is useful for analyzing the financial impact of marketing campaigns.

#### Spend

- [Create spend item](https://developers.hubspot.com/docs/api-reference/latest/marketing/campaigns/spend/create-spend-item.md): Create a new campaign spend item for a specified campaign. This endpoint allows you to add financial details related to campaign expenditures, which can help in tracking and managing marketing budgets effectively.
- [Retrieve spend Item](https://developers.hubspot.com/docs/api-reference/latest/marketing/campaigns/spend/get-spend-item.md): Retrieve a specific campaign spend item using its unique spendId. This endpoint allows you to access detailed information about a particular spend item associated with a campaign, which can be useful for tracking and managing campaign expenses.
- [Update spend item](https://developers.hubspot.com/docs/api-reference/latest/marketing/campaigns/spend/update-spend-item.md): Update a specific campaign spend item by its unique spendId. This operation allows you to modify the details of an existing spend item associated with a campaign, such as its amount or description.
- [Delete spend item](https://developers.hubspot.com/docs/api-reference/latest/marketing/campaigns/spend/delete-spend-item.md): Delete a specific campaign spend item by its ID. This operation is useful for managing and cleaning up spend records associated with a particular marketing campaign.

### CTAs

- [Calls-to-action JavaScript API](https://developers.hubspot.com/docs/api-reference/latest/marketing/ctas-sdk/guide.md): You can use the Calls-to-actions JavaScript API to programmatically control HubSpot CTAs on your website.

### Forms

- [Global form events](https://developers.hubspot.com/docs/api-reference/latest/marketing/forms/global-form-events.md): Learn how to use listeners to form global events to define custom behavior when users interact with forms on your site.

### Marketing Emails

- [Marketing API | Marketing Email](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-emails/guide.md): Learn how to create, update, and retrieve data for your emails using the Marketing Emails v3 API.

#### Emails

- [Create a marketing email](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-emails/create-email.md): Create a new marketing email in your HubSpot account using the specified parameters. This endpoint allows you to define the content, settings, and other details of the email. Upon successful creation, the URL of the newly created email resource is returned.
- [Retrieve marketing emails](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-emails/get-emails.md): Retrieve a list of marketing emails from your HubSpot account. This endpoint allows you to filter emails based on various criteria such as publication date, creation date, update date, and more. You can also control the number of results per page and include additional statistics or properties in th…
- [Clone a marketing email](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-emails/emails/create-clone.md): This will create a duplicate email with the same properties as the original, with the exception of a unique ID.
- [Retrieve a marketing email](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-emails/emails/get-email.md): Get the details for a marketing email.
- [Update a marketing email](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-emails/emails/update-email.md): Change properties of a marketing email.
- [Delete a marketing email](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-emails/emails/delete-email.md): Delete a marketing email by its ID
- [Publish or send a marketing email](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-emails/emails/publish-email.md): If you have a Marketing Hub Enterprise account or the Transactional Email Add-On, you can use this endpoint to publish an automated email or send/schedule a regular email.
- [Unpublish or cancel a marketing email](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-emails/emails/unpublish-email.md): If you have a Marketing Hub Enterprise account or the Transactional Email Add-On, you can use this endpoint to unpublish an automated email or cancel a regular email. If the email is already in the process of being sent, canceling might not be possible.
- [Retrieve an email draft](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-emails/emails/get-email-draft.md): Get the draft version of an email (if it exists). If no draft version exists, the published email is returned.
- [Create an A/B test variation](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-emails/emails/create-ab-variation.md): Create a variation of a marketing email for an A/B test. The new variation will be created as a draft. If an active variation already exists, a new one won't be created.
- [Retrieve an A/B test variation](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-emails/emails/get-ab-variation.md): This endpoint lets you obtain the variation of an A/B marketing email. If the email is variation A (master) it will return variation B (variant) and vice versa.

#### Revisions

- [Retrieve email revisions](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-emails/revisions/get-revisions.md): Get a list of all versions of a marketing email, with each entry including the full state of that particular version. To view the most recent version, sort by the updatedAt parameter.
- [Retrieve an email revision](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-emails/revisions/get-revision.md): Get a specific revision of a marketing email.
- [Reset a draft](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-emails/revisions/reset-draft.md): Resets the draft back to a copy of the live object.
- [Restore to draft](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-emails/revisions/reset-to-draft.md): Restores a previous revision of a marketing email to DRAFT state. If there is currently something in the draft for that object, it is overwritten.
- [Restore from revision](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-emails/revisions/restore-from-revision.md): Restores a previous revision of a marketing email. The current revision becomes old, and the restored revision is given a new version number.
- [Update a draft](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-emails/revisions/update-draft.md): Create or update the draft version of a marketing email. If no draft exists, the system creates a draft from the current “live” email then applies the request body to that draft. The draft version only lives on the buffer—the email is not cloned.

#### Statistics

- [Get statistics histogram](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-emails/statistics/get-histogram.md): Get aggregated statistics in intervals for a specified time span. Each interval contains aggregated statistics of the emails that were sent in that time.
- [Get aggregated statistics](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-emails/statistics/get-statistics.md): Use this endpoint to get aggregated statistics of emails sent in a specified time span. It also returns the list of emails that were sent during the time span.

### Marketing Events

- [Marketing events API guide](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-events/guide.md): An overview of the Marketing Events object in HubSpot.
- [Create an event](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-events/create-event.md): Creates a new marketing event in HubSpot
- [Retrieve event by HubSpot ID](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-events/get-marketing-event-objectId.md): Returns the details of a Marketing Event with the specified objectId, if it exists.
- [Retrieve event by external ID](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-events/get-marketing-event.md): Returns the details of a Marketing Event with the specified externalAccountId, externalEventId, if it exists.
- [Retrieve all events](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-events/get-marketing-events.md): Retrieve a list of marketing events for the specified API version. This endpoint supports pagination to navigate through large sets of data. Use this to access marketing event details in a paginated format.
- [Partially update event by external ID](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-events/update-event-externalId.md): Updates the details of an existing Marketing Event identified by its externalAccountId, externalEventId if it exists.
- [Update event by HubSpot ID](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-events/update-event.md): Updates the details of an existing Marketing Event identified by its objectId, if it exists.
- [Update event by external ID](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-events/update-marketing-event.md): Upserts a marketing event If there is an existing marketing event with the specified ID, it will be updated; otherwise a new event will be created.
- [Delete event by external ID](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-events/delete-event-externalId.md): Deletes the existing Marketing Event with the specified externalAccountId, externalEventId, if it exists.
- [Delete event by HubSpot ID](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-events/delete-event.md): Deletes the existing Marketing Event with the specified objectId, if it exists.

#### Attendance

- [Record attendance by contact ID and external event ID](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-events/attendance/set-attendance-contactId-externalId.md): Records the participation of multiple HubSpot contacts in a Marketing Event using their HubSpot contact IDs.
- [Record attendance by participant email and external event ID](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-events/attendance/set-attendance-email-externalId.md): Records the participation of multiple HubSpot contacts in a Marketing Event using their email addresses.

#### Batch

- [Update events by HubSpot ID](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-events/batch/update-marketing-events.md): Updates multiple Marketing Events on the portal based on their objectId, if they exist.
- [Create or update events](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-events/batch/upsert-marketing-events.md): Upserts multiple Marketing Events. If a Marketing Event with the specified ID already exists, it will be updated; otherwise, a new event will be created.
- [Delete events by external ID](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-events/batch/delete-events-externalId.md): Deletes multiple Marketing Events based on externalAccountId, externalEventId, and appId.
- [Delete events by HubSpot ID](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-events/batch/delete-marketing-events.md): Deletes multiple Marketing Events from the portal based on their objectId, if they exist.

#### Event Status

- [Mark an event as canceled](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-events/event-status/set-event-canceled.md): Mark a marketing event as cancelled.

#### Identifiers

- [Get events by external ID](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-events/identifiers/get-marketing-events-externalId.md): This endpoint searches the portal for all Marketing Events whose externalEventId matches the value provided in the request.
- [Search for events by external ID](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-events/identifiers/search-events.md): Retrieves Marketing Events where the externalEventId matches the value provided in the request, limited to events created by the app making the request.

#### List Associations

- [Associate a list by external ID](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-events/list-associations/associate-list-externalId.md): Associates a list with a marketing event by external account id, external event id, and ILS list id
- [Get associated lists by external ID](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-events/list-associations/get-lists-externalId.md): Gets lists associated with a marketing event by external account id and external event id
- [Remove a list from an event by external ID](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-events/list-associations/remove-list-externalId.md): Disassociates a list from a marketing event by external account id, external event id, and ILS list id

#### Participant State

- [Retrieve participants by contact identifier](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-events/participant-state/get-participants-contactId.md): Read Contact's participations by identifier - email or internal id.
- [Retrieve participants by external ID](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-events/participant-state/get-participants-externalId.md): Read Marketing event's participations counters by externalAccountId and externalEventId pair.

#### Settings

- [Retrieve the application settings](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-events/settings/get-app-settings.md): Retrieve the current settings for the application.
- [Update the application settings](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-events/settings/update-app-settings.md): Create or update the current settings for the application.

#### Subscriber State Changes

- [Set subscriber state by contact ID](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-events/subscriber-state-changes/set-subscriber-state-contactId.md): Record a subscriber state between multiple HubSpot contacts and a marketing event, using HubSpot contact IDs. Note that the contact must already exist in HubSpot; a contact will not be created.
- [Record a subscriber state by contact email](https://developers.hubspot.com/docs/api-reference/latest/marketing/marketing-events/subscriber-state-changes/set-subscriber-state.md): Record a subscriber state between multiple HubSpot contacts and a marketing event, using contact email addresses. Note that the contact must already exist in HubSpot; a contact will not be created. The contactProperties field is used only when creating a new contact. These properties will not update…

### Transactional Emails

- [Transactional email API guide](https://developers.hubspot.com/docs/api-reference/latest/marketing/transactional-emails/guide.md): An overview of the transactional email feature in HubSpot.
- [Send a transactional email](https://developers.hubspot.com/docs/api-reference/latest/marketing/transactional-emails/create-transactional-email.md): Asynchronously send a transactional email. Returns the status of the email send with a statusId that can be used to continuously query for the status using the Email Send Status API.

## OpenAPI Specs

- [marketing-campaigns-public-api-v2026-09](/docs/specs/2026-09/marketing-campaigns-public-api-v2026-09.json)
- [marketing-marketing-emails-v2026-09](/docs/specs/2026-09/marketing-marketing-emails-v2026-09.json)
- [marketing-marketing-events-v2026-09](/docs/specs/2026-09/marketing-marketing-events-v2026-09.json)
- [marketing-transactional-single-send-v2026-09](/docs/specs/2026-09/marketing-transactional-single-send-v2026-09.json)
