HubSpot: Update Multiple Marketing Events by Object Id
HubSpot marketingEvents.batchUpdateMarketingEvents: arguments, response, policy and SDK examples.
← Marketing events operations · Get started
Operation hubspot.marketing_events_batch_update_marketing_events
Provider route: POST /marketing/marketing-events/2026-09/batch/update. Alter supplies the connection’s credentials and routing.
Call through Alter
Section titled “Call through Alter”Install @alter-ai/sdk @alter-ai/hubspot with npm, or alter-sdk-hubspot with pip. Supply your connected customer’s grant ID and the arguments described below.
import { App } from "@alter-ai/sdk";import { HubSpotIntegration } from "@alter-ai/hubspot";
async function execute(input: Parameters<HubSpotIntegration["marketingEvents"]["batchUpdateMarketingEvents"]>[0]) { const app = new App({ apiKey: process.env.ALTER_API_KEY! }); try { const provider = new HubSpotIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! }); const call = await provider.marketingEvents.batchUpdateMarketingEvents(input); const result = await call.wait(); return result.bodyJson(); } finally { await app.close(); }}import osfrom alter_sdk import Appfrom alter_sdk_hubspot import HubSpotIntegration
async def execute(arguments): async with App(api_key=os.environ["ALTER_API_KEY"]) as app: provider = HubSpotIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]}) call = await provider.marketing_events.batch_update_marketing_events(arguments) result = await call.wait() return result.body_json()| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional keys: not allowed |
body | Model | Required within parent | Expand Update Multiple Marketing Events by Object Id — request body — body |
Referenced models: Update Multiple Marketing Events by Object Id — request body — body
Response
Section titled “Response”Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | JSON | Root | |
$ (anyOf 1) | Model | Alternative | Expand Update Multiple Marketing Events by ObjectId — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Batch Response Marketing Event Public Default Response V2 |
$ (anyOf 2) | Model | Alternative | Expand Update Multiple Marketing Events by ObjectId — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Batch Response Marketing Event Public Default Response V2 With Errors |
Referenced models: Update Multiple Marketing Events by ObjectId — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Batch Response Marketing Event Public Default Response V2, Update Multiple Marketing Events by ObjectId — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Batch Response Marketing Event Public Default Response V2 With Errors
Schemas
Section titled “Schemas”4 more schemas are linked from the tables above, on the schema pages.
Update Multiple Marketing Events by Object Id — request body — body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
inputs | array | Required within parent | An array of MarketingEventPublicUpdateRequestFullV2 objects, each representing a marketing event update request. This property is required. |
inputs[] | Model | Each item | Expand Update Multiple Marketing Events by Object Id — request body — body inputs item |
Referenced models: Update Multiple Marketing Events by Object Id — request body — body inputs item
Update Multiple Marketing Events by ObjectId — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Batch Response Marketing Event Public Default Response V2
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
completedAt | string | Required within parent | Timestamp of when the request was processed. Format: date-time |
links | object | Optional | Result object of the request. Additional keys: see wildcard field |
links.* | string | Additional keys | |
requestedAt | string | Optional | Timestamp of when the request was sent. Format: date-time |
results | array | Required within parent | An array containing the results of the batch operation, with each item representing a marketing event response. |
results[] | Model | Each item | Expand Update Marketing Event by object Id — response body |
startedAt | string | Required within parent | Timestamp of when the request started processing. Format: date-time |
status | string | Required within parent | The status of the response. Known values: CANCELED, COMPLETE, PENDING, PROCESSING |
Referenced models: Update Marketing Event by object Id — response body
Update Multiple Marketing Events by ObjectId — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Batch Response Marketing Event Public Default Response V2 With Errors
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
completedAt | string | Required within parent | Timestamp that represents when the request finished processing Format: date-time |
errors | array | Optional | An array of errors encountered during the batch operation, each represented as a StandardError object. |
errors[] | Model | Each item | Expand Create or Update Multiple Marketing Events — response body — errors item |
links | object | Optional | Result of the request Additional keys: see wildcard field |
links.* | string | Additional keys | |
numErrors | JSON | Optional | |
numErrors (anyOf 1) | integer | Alternative | The number of errors that occurred during the processing Format: int32 |
numErrors (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
requestedAt | string | Optional | Timestamp that represents when the request was made Format: date-time |
results | array | Required within parent | An array containing the results of the batch operation, each represented as a MarketingEventPublicDefaultResponseV2 object. |
results[] | Model | Each item | Expand Update Marketing Event by object Id — response body |
startedAt | string | Required within parent | Timestamp that represents when the request started processing Format: date-time |
status | string | Required within parent | The status of the request processing Known values: CANCELED, COMPLETE, PENDING, PROCESSING |
Referenced models: Update Marketing Event by object Id — response body, Create or Update Multiple Marketing Events — response body — errors item
Update Multiple Marketing Events by Object Id — request body — body inputs item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
customProperties | array | Required within parent | An array of custom properties associated with the event, where each property is defined by a PropertyValue object. |
customProperties[] | Model | Each item | Expand Create a marketing event — request body — body custom Properties item |
endDateTime | string | Optional | The end date and time of the marketing event Format: date-time |
eventCancelled | boolean | Optional | Indicates if the marketing event has been cancelled |
eventDescription | string | Optional | The description of the marketing event |
eventName | string | Optional | The name of the marketing event |
eventOrganizer | string | Optional | The name of the organizer of the marketing event |
eventType | string | Optional | The type of the marketing event |
eventUrl | string | Optional | A URL in the external event application where the marketing event can be managed |
objectId | string | Required within parent | The internal ID of the marketing event in HubSpot |
startDateTime | string | Optional | The start date and time of the marketing event Format: date-time |
Referenced models: Create a marketing event — request body — body custom Properties item
Update Marketing Event by object Id — response body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
appInfo | Model | Optional | Expand Get Marketing Event by object Id — response body — app Info |
createdAt | string | Required within parent | The creation date and time of the marketing event Format: date-time |
customProperties | array | Required within parent | An array of custom properties associated with the marketing event, each represented by a CrmPropertyWrapper object. |
customProperties[] | Model | Each item | Expand Get Marketing Event by object Id — response body — custom Properties item |
endDateTime | string | Optional | The end date and time of the marketing event Format: date-time |
eventCancelled | boolean | Optional | Indicates if the marketing event has been cancelled |
eventCompleted | boolean | Optional | Indicates if the marketing event has been completed |
eventDescription | string | Optional | The description of the marketing event |
eventName | string | Required within parent | The name of the marketing event |
eventOrganizer | string | Optional | The name of the organizer of the marketing event |
eventType | string | Optional | The type of the marketing event |
eventUrl | string | Optional | A URL in the external event application where the marketing event can be managed |
objectId | string | Required within parent | The internal ID of the marketing event in HubSpot |
startDateTime | string | Optional | The start date and time of the marketing event Format: date-time |
updatedAt | string | Required within parent | The update date and time of the marketing event Format: date-time |
Referenced models: Get Marketing Event by object Id — response body — app Info, Get Marketing Event by object Id — response body — custom Properties item
Create or Update Multiple Marketing Events — response body — errors item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Ye olde error |
category | string | Required within parent | The category of the error |
context | object | Required within parent | The object that contains details of the errors Additional keys: see wildcard field |
context.* | array | Additional keys | |
context.*[] | string | Each item | |
errors | array | Required within parent | An array of ErrorDetail objects providing further information about the error. |
errors[] | Model | Each item | Expand Batch insert events — response body — errors item errors item |
id | string | Optional | The ID of the request |
links | object | Required within parent | Results of the request Additional keys: see wildcard field |
links.* | string | Additional keys | |
message | string | Required within parent | A human readable message describing the error along with remediation steps where appropriate |
status | string | Required within parent | Status of the response |
subCategory | object | Optional | The Sub-category of the error |
Referenced models: Batch insert events — response body — errors item errors item
Get Marketing Event by object Id — response body — app Info
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
id | string | Required within parent | The ID of the application |
name | string | Required within parent | The name of the application |
Get Marketing Event by object Id — response body — custom Properties item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
name | string | Required within parent | The name of the property in the CRM |
value | string | Required within parent | The value of the property in the CRM |
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: hubspot.marketing_events_batch_update_marketing_events. Catalog operation: marketing_events_batch_update_marketing_events. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.
Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.
Required provider scopes: ["crm.objects.marketing_events.write"]