# HubSpot Marketing Emails API

> HubSpot Marketing Emails API on Apizie: 19 endpoints (List Emails, Create Email, Create an A/B test variation of a marketing email, Clone a marketing email, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://apizie.tech/v1/business:hubspot-marketing-marketing-emails/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `business:hubspot-marketing-marketing-emails`
- Category: Business
- Status: byok
- Source: https://developers.hubspot.com/docs/api/overview
- Page: https://apizie.tech/api/business/hubspot-marketing-marketing-emails
- OpenAPI: https://apizie.tech/api/business/hubspot-marketing-marketing-emails/openapi.json

Basepom for all HubSpot Projects

## Endpoints

### List Emails
`GET https://apizie.tech/v1/business:hubspot-marketing-marketing-emails/get-marketing-emails-2026-09-marketing-emails-v3` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| after | string | no | The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged… |
| archived | boolean | no | Whether to return only results that have been archived. |
| campaign | string | no | Filter emails by campaign name. |
| createdAfter | string | no | Filter emails created after a specific date. Format should be date-time. |
| createdAt | string | no | Filter emails by the exact creation date. Format should be date-time. |
| createdBefore | string | no | Filter emails created before a specific date. Format should be date-time. |
| includedProperties | array | no | Specify additional properties to include in the response. Accepts an array of strings. |
| includeStats | boolean | no | Include statistics in the response. Accepts a boolean value. |
| isPublished | boolean | no | Filter emails by their published status. Accepts a boolean value. |
| limit | integer | no | The maximum number of results to display per page. |
| marketingCampaignNames | boolean | no | Include marketing campaign names in the response. Accepts a boolean value. |
| publishedAfter | string | no | Filter emails published after a specific date. Format should be date-time. |
| publishedAt | string | no | Filter emails by the exact publication date. Format should be date-time. |
| publishedBefore | string | no | Filter emails published before a specific date. Format should be date-time. |
| sort | array | no | Specify the sorting order for the results. Accepts an array of strings. |
| type | string | no | Filter emails by type. Accepts specific email types such as AB_EMAIL, BATCH_EMAIL, etc. |
| updatedAfter | string | no | Filter emails updated after a specific date. Format should be date-time. |
| updatedAt | string | no | Filter emails by the exact update date. Format should be date-time. |
| updatedBefore | string | no | Filter emails updated before a specific date. Format should be date-time. |
| variantStats | boolean | no | Include variant statistics in the response. Accepts a boolean value. |
| workflowNames | boolean | no | Include workflow names in the response. Accepts a boolean value. |

### Create Email
`POST https://apizie.tech/v1/business:hubspot-marketing-marketing-emails/post-marketing-emails-2026-09-marketing-emails-v3` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Create an A/B test variation of a marketing email
`POST https://apizie.tech/v1/business:hubspot-marketing-marketing-emails/post-marketing-emails-2026-09-ab-test-create-variation-creat` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Clone a marketing email
`POST https://apizie.tech/v1/business:hubspot-marketing-marketing-emails/post-marketing-emails-2026-09-clone-clone` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get aggregated statistic intervals
`GET https://apizie.tech/v1/business:hubspot-marketing-marketing-emails/get-marketing-emails-2026-09-statistics-histogram-get-histog` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| emailIds | array | no | A list of email IDs to filter the statistics. This is a form-style parameter that can include multiple IDs. |
| endTimestamp | string | no | The end timestamp for the statistics data range. Must be in date-time format. |
| interval | string | no | The time interval for the histogram. Valid values are YEAR, QUARTER, MONTH, WEEK, DAY, HOUR, QUARTER_HOUR, MINUTE, and SECOND. |
| startTimestamp | string | no | The start timestamp for the statistics data range. Must be in date-time format. |

### Get aggregated statistics
`GET https://apizie.tech/v1/business:hubspot-marketing-marketing-emails/get-marketing-emails-2026-09-statistics-list-get-emails-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| emailIds | array | no | A list of email IDs to filter the statistics. This should be a comma-separated list of integer IDs. |
| endTimestamp | string | no | The end of the time range for the statistics, in ISO 8601 date-time format. |
| property | string | no | The specific property of the email statistics to retrieve. |
| startTimestamp | string | no | The start of the time range for the statistics, in ISO 8601 date-time format. |

### Get the details of a specified marketing email
`GET https://apizie.tech/v1/business:hubspot-marketing-marketing-emails/get-marketing-emails-2026-09-email-id-get-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| emailId | string | yes | The unique identifier of the email to retrieve. |
| archived | boolean | no | Whether to return only results that have been archived. |
| includedProperties | array | no | A list of specific properties to include in the response. |
| includeStats | boolean | no | Whether to include statistics in the response. |
| marketingCampaignNames | boolean | no | Whether to include marketing campaign names in the response. |
| variantStats | boolean | no | Whether to include variant statistics in the response. |
| workflowNames | boolean | no | Whether to include workflow names in the response. |

### Update a marketing email
`POST https://apizie.tech/v1/business:hubspot-marketing-marketing-emails/patch-marketing-emails-2026-09-email-id-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| emailId | string | yes | The unique identifier of the email to update. |
| archived | boolean | no | Whether to return only results that have been archived. |
| body | object | yes | JSON request body |

### Delete a marketing email
`POST https://apizie.tech/v1/business:hubspot-marketing-marketing-emails/delete-marketing-emails-2026-09-email-id-archive` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| emailId | string | yes | The unique identifier of the email to delete. |
| archived | boolean | no | Whether to return only results that have been archived. |

### Get the variation of a an A/B marketing email
`GET https://apizie.tech/v1/business:hubspot-marketing-marketing-emails/get-marketing-emails-2026-09-email-id-ab-test-get-variation` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| emailId | string | yes | The unique identifier of the email for which the A/B test variation is being retrieved. |
| archived | boolean | no | Whether to return only results that have been archived. |
| includedProperties | array | no | An array of property names to include in the response. |
| includeStats | boolean | no | Whether to include statistics in the response. Accepts a boolean value. |
| marketingCampaignNames | boolean | no | Whether to include marketing campaign names in the response. Accepts a boolean value. |
| variantStats | boolean | no | Whether to include variant-specific statistics. Accepts a boolean value. |
| workflowNames | boolean | no | Whether to include workflow names in the response. Accepts a boolean value. |

### Get draft version of a marketing email
`GET https://apizie.tech/v1/business:hubspot-marketing-marketing-emails/get-marketing-emails-2026-09-email-id-draft-get-draft` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| emailId | string | yes | The unique identifier of the email draft to retrieve. |

### Create or update draft version
`POST https://apizie.tech/v1/business:hubspot-marketing-marketing-emails/patch-marketing-emails-2026-09-email-id-draft-upsert-draft` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| emailId | string | yes | The unique identifier of the email draft to update. |
| body | object | yes | JSON request body |

### Reset the draft version
`POST https://apizie.tech/v1/business:hubspot-marketing-marketing-emails/post-marketing-emails-2026-09-email-id-draft-reset-reset-dra` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| emailId | string | yes | The unique identifier of the email draft to reset. |

### Publish or send a marketing email
`POST https://apizie.tech/v1/business:hubspot-marketing-marketing-emails/post-marketing-emails-2026-09-email-id-publish-publish-or-se` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| emailId | string | yes | The unique identifier of the email to be published. |

### Get revisions of a marketing email
`GET https://apizie.tech/v1/business:hubspot-marketing-marketing-emails/get-marketing-emails-2026-09-email-id-revisions-get-revision` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| emailId | string | yes | The unique identifier of the email for which to retrieve revisions. |
| after | string | no | The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged… |
| before | string | no | A cursor token for pagination to retrieve results before a specific point. |
| limit | integer | no | The maximum number of results to display per page. |

### Get a revision of a marketing email
`GET https://apizie.tech/v1/business:hubspot-marketing-marketing-emails/get-marketing-emails-2026-09-email-id-revisions-revision-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| emailId | string | yes | The unique identifier of the email for which the revision is being retrieved. |
| revisionId | string | yes | The unique identifier of the specific revision of the email to retrieve. |

### Restore a revision of a marketing email
`POST https://apizie.tech/v1/business:hubspot-marketing-marketing-emails/post-marketing-emails-2026-09-email-id-revisions-revision-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| emailId | string | yes | The unique identifier of the email whose revision is to be restored. |
| revisionId | string | yes | The unique identifier of the revision to restore. |

### Restore a revision of a marketing email to DRAFT state
`POST https://apizie.tech/v1/business:hubspot-marketing-marketing-emails/post-marketing-emails-2026-09-email-id-revisions-revision-id-2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| emailId | string | yes | The unique identifier of the email to restore. |
| revisionId | integer | yes | The unique identifier of the revision to restore to draft. |

### Unpublish or cancel a marketing email
`POST https://apizie.tech/v1/business:hubspot-marketing-marketing-emails/post-marketing-emails-2026-09-email-id-unpublish-unpublish-o` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| emailId | string | yes | The unique identifier of the email to unpublish. |

## Example
```
curl "https://apizie.tech/v1/business:hubspot-marketing-marketing-emails/get-marketing-emails-2026-09-marketing-emails-v3" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the HubSpot Marketing Emails API?
Create a free Apizie key, then send GET https://apizie.tech/v1/business:hubspot-marketing-marketing-emails/get-marketing-emails-2026-09-marketing-emails-v3 with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the HubSpot Marketing Emails API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. HubSpot Marketing Emails itself also needs your own key from hubapi.com.

### Can AI agents use the HubSpot Marketing Emails API?
Yes. Add the Apizie MCP server (https://apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key business:hubspot-marketing-marketing-emails.

### What is the status of the HubSpot Marketing Emails API?
Needs your own provider key (bring your own key)
