---
title: "Update Multiple Marketing Events by ObjectId"
method: POST
path: "/marketing/marketing-events/2026-09/batch/update"
tags: ["Batch"]
---

# Update Multiple Marketing Events by ObjectId

`POST /marketing/marketing-events/2026-09/batch/update`

## Request

- Base URL: `https://api.hubapi.com`
- URL: `https://api.hubapi.com/marketing/marketing-events/2026-09/batch/update`
- Auth: OAuth 2
  - Authorization code: `https://app.hubspot.com/oauth/authorize`
  - Token URL: `https://api.hubapi.com/oauth/v1/token` scopes: `crm.objects.marketing_events.write`

Updates multiple Marketing Events on the portal based on their objectId, if they exist.

## Request body

- BatchInputMarketingEventPublicUpdateRequestFullV2
  - `inputs` MarketingEventPublicUpdateRequestFullV2[], required: An array of MarketingEventPublicUpdateRequestFullV2 objects, each representing a marketing event update request. This property is required.
    - `customProperties` PropertyValue[], required: An array of custom properties associated with the event, where each property is defined by a PropertyValue object.
      - `dataSensitivity` 'high' | 'none' | 'standard', required: Level of data sensitivity
      - `isEncrypted` boolean, required: Indicates whether the property is encrypted
      - `isLargeValue` boolean, required: Indicates whether the property value is stored as a large value in the storage
      - `maskedSubstrings` MaskedSubstrings, required
        - `substrings` MaskedSubstring[], required: An array of masked substring objects, each defining a specific portion of a string to be masked. Each object in the array specifies the start and end positions of the substring to be masked.
          - `end` integer, required: An integer indicating the ending position of the masked substring.
          - `label` string, required
          - `start` integer, required: An integer indicating the starting position of the masked substring.
      - `name` string, required: Name of custom property
      - `persistenceTimestamp` integer, required: The timestamp that indicates when the value being written is persisted in storage
      - `requestId` string, required: The ID of the request
      - `selectedByUser` boolean, required: Indicates whether the property is selected
      - `selectedByUserTimestamp` integer, required: Timestamp of when the property was selected by the user
      - `source` 'ACADEMY' | 'ACCEPTANCE_TEST' | 'ACTIVITY_AUTO_ASSOCIATE' | 'ACTIVITY_LOG_REVERT' | 'ADS' | 'AI_GROUP' | 'ANALYTICS' | 'API' | 'APPROVALS' | 'ASSISTS' | 'ASSOCIATIONS' | 'AUTO_ASSOCIATE_BY_DOMAIN' | 'AUTOMATION_JOURNEY' | 'AUTOMATION_PLATFORM' | 'AVATARS_SERVICE' | 'BATCH_UPDATE' | 'BCC_TO_CRM' | 'BEHAVIORAL_EVENTS' | 'BET_ASSIGNMENT' | 'BET_CRM_CONNECTOR' | 'BIDEN' | 'BILLING' | 'BOT' | 'BREEZE_AGENT' | 'CALCULATED' | 'CENTRAL_EXCHANGE_RATES' | 'CHATSPOT' | 'CLONE_OBJECTS' | 'COMMUNICATOR' | 'COMPANIES' | 'COMPANY_FAMILIES' | 'COMPANY_INSIGHTS' | 'CONNECTED_ACCOUNT' | 'CONTACTS' | 'CONTACTS_WEB' | 'CONTENT_MEMBERSHIP' | 'CONVERSATIONAL_ENRICHMENT' | 'CONVERSATIONS' | 'CRM_PROCESSES_PLATFORM' | 'CRM_UI' | 'CRM_UI_BULK_ACTION' | 'CUSTOMER_AGENT' | 'CUSTOMER_PORTAL' | 'DATA_ENRICHMENT' | 'DATA_QUALITY' | 'DATASET' | 'DEALS' | 'DEFAULT' | 'DELETE_OBJECTS' | 'DI_WRITE_TO_CRM' | 'EMAIL' | 'EMAIL_INBOX_IMPORT' | 'EMAIL_INTEGRATION' | 'ENGAGEMENTS' | 'EXTENSION' | 'FILE_MANAGER' | 'FLYWHEEL_PRODUCT_DATA_SYNC' | 'FORECASTING' | 'FORM' | 'FORWARD_TO_CRM' | 'GMAIL_INTEGRATION' | 'GOALS' | 'HEISENBERG' | 'HELP_DESK' | 'HELP_DESK_AI' | 'IMPORT' | 'INTEGRATION' | 'INTEGRATIONS_PLATFORM' | 'INTEGRATIONS_SYNC' | 'INTENT' | 'INTERNAL_PROCESSING' | 'LEADIN' | 'LEGAL_BASIS_REMEDIATION' | 'MARKET_SOURCING' | 'MARKETPLACE' | 'MARKETS' | 'MEETINGS' | 'MERGE_COMPANIES' | 'MERGE_CONTACTS' | 'MERGE_OBJECTS' | 'MERGE_REVERT_OBJECTS' | 'MICROAPPS' | 'MIGRATION' | 'MOBILE_ANDROID' | 'MOBILE_IOS' | 'PAYMENTS' | 'PIPELINE_SETTINGS' | 'PLAYBOOKS' | 'PORTAL_OBJECT_SYNC' | 'PORTAL_USER_ASSOCIATOR' | 'PRESENTATIONS' | 'PRIMARY_AUTOMATION' | 'PROPERTY_DEFAULT_VALUE' | 'PROPERTY_RESTORE' | 'PROPERTY_SETTINGS' | 'PROSPECTING_AGENT' | 'QUOTAS' | 'QUOTES' | 'RECYCLING_BIN' | 'RESTORE_OBJECTS' | 'REVENUE_PLATFORM' | 'SALES' | 'SALES_MESSAGES' | 'SALESFORCE' | 'SEQUENCES' | 'SETTINGS' | 'SIDEKICK' | 'SIGNALS' | 'SLACK_INTEGRATION' | 'SMART_DATA_CAPTURE' | 'SOCIAL' | 'SUCCESS' | 'TALLY' | 'TASK' | 'UNKNOWN' | 'WAL_INCREMENTAL' | 'WORK_UI' | 'WORKFLOW_CONTACT_DELETE_ACTION' | 'WORKFLOWS', required: Source of the property
      - `sourceId` string, required: ID of the source of the property
      - `sourceLabel` string, required: Label of the source of the property
      - `sourceMetadata` string, required: Source metadata encoded as a base64 string
      - `sourceUpstreamDeployable` string, required: Indicates which upstream service made the property change
      - `sourceVid` integer[], required: An array of integers representing IDs associated with the source of the property value.
      - `timestamp` integer, required: Timestamp of the request
      - `unit` string, required: The unit
      - `updatedByUserId` integer, required: The ID of the user who last updated the property
      - `useTimestampAsPersistenceTimestamp` boolean, required: Indicates if the persistence timestamp is the same as storage version timestamp
      - `value` string, required: Custom property value
    - `endDateTime` string, date-time: The end date and time of the marketing event
    - `eventCancelled` boolean: Indicates if the marketing event has been cancelled
    - `eventDescription` string: The description of the marketing event
    - `eventName` string: The name of the marketing event
    - `eventOrganizer` string: The name of the organizer of the marketing event
    - `eventType` string: The type of the marketing event
    - `eventUrl` string: A URL in the external event application where the marketing event can be managed
    - `objectId` string, required: The internal ID of the marketing event in HubSpot
    - `startDateTime` string, date-time: The start date and time of the marketing event

## Response `200`

successful operation

- BatchResponseMarketingEventPublicDefaultResponseV2
  - `completedAt` string, date-time, required: Timestamp of when the request was processed.
  - `links` object: Result object of the request.
  - `requestedAt` string, date-time: Timestamp of when the request was sent.
  - `results` MarketingEventPublicDefaultResponseV2[], required: An array containing the results of the batch operation, with each item representing a marketing event response.
    - `appInfo` AppInfo
      - `id` string, required: The ID of the application
      - `name` string, required: The name of the application
    - `createdAt` string, date-time, required: The creation date and time of the marketing event
    - `customProperties` CrmPropertyWrapper[], required: An array of custom properties associated with the marketing event, each represented by a CrmPropertyWrapper object.
      - `name` string, required: The name of the property in the CRM
      - `value` string, required: The value of the property in the CRM
    - `endDateTime` string, date-time: The end date and time of the marketing event
    - `eventCancelled` boolean: Indicates if the marketing event has been cancelled
    - `eventCompleted` boolean: Indicates if the marketing event has been completed
    - `eventDescription` string: The description of the marketing event
    - `eventName` string, required: The name of the marketing event
    - `eventOrganizer` string: The name of the organizer of the marketing event
    - `eventType` string: The type of the marketing event
    - `eventUrl` string: A URL in the external event application where the marketing event can be managed
    - `objectId` string, required: The internal ID of the marketing event in HubSpot
    - `startDateTime` string, date-time: The start date and time of the marketing event
    - `updatedAt` string, date-time, required: The update date and time of the marketing event
  - `startedAt` string, date-time, required: Timestamp of when the request started processing.
  - `status` 'CANCELED' | 'COMPLETE' | 'PENDING' | 'PROCESSING', required: The status of the response.

## Other responses

- `207`: multiple statuses
- `default`: An error occurred.

## Changes

- **2026-10-16** (2026-09) `3afcf69ad1b4`: 1 breaking
  - added the new required request property `inputs/items/customProperties/items/maskedSubstrings/substrings/items/label`
- **2026-09-03** (2026-09) `e62ad9a49a20`: 1 breaking, 2 warning, 8 info
  - added the new required request property `inputs/items/customProperties/items/maskedSubstrings`
  - removed the optional property `errors` from the response with the `200` status
  - removed the optional property `numErrors` from the response with the `200` status
  - the endpoint scheme security `private_apps` was removed from the API
  - …7 more

[Operation history](https://skmtc.dev/hubspot/apis/marketing-marketing-events/changes/marketing/marketing-events/2026-09/batch/update/post.md)

---

[API](https://skmtc.dev/hubspot/apis/marketing-marketing-events.md) - [All operations](https://skmtc.dev/hubspot/apis/marketing-marketing-events/llms.txt) - [OpenAPI document](https://skmtc.dev/hubspot/apis/marketing-marketing-events/revisions/3afcf69ad1b4?raw)
