> ## Documentation Index
> Fetch the complete documentation index at: https://developers.hubspot.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

---
id: 2a120fce-b31c-42b1-b92c-876fcfad5709
---

# Update event by HubSpot ID

> Updates the details of an existing Marketing Event identified by its objectId, if it exists.

export const ScopesList = ({scopes = [], description = "This API requires one of the following scopes:"}) => {
  if (!scopes || scopes.length === 0) {
    return null;
  }
  const sortedScopes = scopes.sort((a, b) => a.localeCompare(b));
  return <div>
      <div className="text-sm mb-2">{description}</div>
      <div>
        {sortedScopes.map((scope, index) => <div key={index}>
            <code>
              <span className="text-xs">{scope}</span>
            </code>
          </div>)}
      </div>
    </div>;
};

export const SupportedProducts = ({marketing, sales, service, cms, data, commerce, crm, marketingLevel, salesLevel, serviceLevel, cmsLevel, dataLevel, commerceLevel, crmLevel}) => {
  const translations = {
    description: "Requires one of the following products or higher.",
    productNames: {
      marketing: "Marketing Hub",
      sales: "Sales Hub",
      service: "Service Hub",
      cms: "Content Hub",
      data: "Data Hub",
      commerce: "Revenue Hub",
      crm: "Smart CRM"
    },
    tiers: {
      free: "Free",
      starter: "Starter",
      professional: "Professional",
      enterprise: "Enterprise"
    }
  };
  const translateTier = tier => {
    if (!tier) return '';
    const lowerTier = tier.toLowerCase();
    return translations.tiers[lowerTier] || tier;
  };
  const products = [{
    name: marketing ? translations.productNames.marketing : '',
    level: translateTier(marketingLevel),
    icon: "https://www.hubspot.com/hubfs/Knowledge_Base_2023-24-25/developer/icons/MarketingHub.svg",
    alt: "Marketing Hub"
  }, {
    name: sales ? translations.productNames.sales : '',
    level: translateTier(salesLevel),
    icon: "https://www.hubspot.com/hubfs/Knowledge_Base_2023-24-25/developer/icons/SalesHub.svg",
    alt: "Sales Hub"
  }, {
    name: service ? translations.productNames.service : '',
    level: translateTier(serviceLevel),
    icon: "https://www.hubspot.com/hubfs/Knowledge_Base_2023-24-25/developer/icons/ServiceHub.svg",
    alt: "Service Hub"
  }, {
    name: cms ? translations.productNames.cms : '',
    level: translateTier(cmsLevel),
    icon: "https://www.hubspot.com/hubfs/Knowledge_Base_2023-24-25/developer/icons/ContentHub.svg",
    alt: "Content Hub"
  }, {
    name: data ? translations.productNames.data : '',
    level: translateTier(dataLevel),
    icon: "https://www.hubspot.com/hubfs/Knowledge_Base_2023-24-25/developer/icons/DataHub.svg",
    alt: "Data Hub"
  }, {
    name: commerce ? translations.productNames.commerce : '',
    level: translateTier(commerceLevel),
    icon: "https://www.hubspot.com/hubfs/Knowledge_Base/subscription_key_icons/commerce_icon.svg",
    alt: "Revenue Hub"
  }, {
    name: crm ? translations.productNames.crm : '',
    level: translateTier(crmLevel),
    icon: "https://www.hubspot.com/hubfs/Knowledge_Base_2023-24-25/developer/icons/SmartCRM.svg",
    alt: "Smart CRM"
  }].filter(product => product.name && product.level);
  if (products.length === 0) return null;
  return <div>
      <div className="text-sm mb-2">{translations.description}</div>
      <div className={`grid ${products.length === 1 ? 'grid-cols-1' : 'grid-cols-2'} gap-1.5`}>
        {products.map((product, index) => <div key={index} style={{
    display: 'flex',
    alignItems: 'center'
  }}>
            <img src={product.icon} alt={product.alt} className="w-3.5 h-3.5 mr-1.5 mt-2.5 mb-2.5 flex-shrink-0 align-middle" />
            <span className="font-medium mr-1 text-sm">{product.name} -</span>
            <span className="text-sm">{product.level}</span>
          </div>)}
      </div>
    </div>;
};

<AccordionGroup>
  <Accordion title="Supported products" defaultOpen="true" icon="cubes">
    <SupportedProducts marketing={true} sales={true} service={true} cms={true} marketingLevel="FREE" salesLevel="FREE" serviceLevel="FREE" cmsLevel="FREE" />
  </Accordion>

  <Accordion title="Required Scopes" icon="key">
    <ScopesList
      scopes={[
  'crm.objects.marketing_events.write'
]}
    />
  </Accordion>
</AccordionGroup>


## OpenAPI

````yaml specs/2026-03/marketing-marketing-events-v2026-03.json PATCH /marketing/marketing-events/2026-03/{objectId}
openapi: 3.0.1
info:
  title: Marketing Marketing Events
  description: Basepom for all HubSpot Projects
  version: 2026-03
  x-hubspot-product-tier-requirements:
    marketing: FREE
    sales: FREE
    service: FREE
    cms: FREE
    commerce: FREE
    crmHub: FREE
    dataHub: FREE
servers:
  - url: https://api.hubapi.com
security: []
tags:
  - name: Basic
  - name: Batch
  - name: Event Attendees
  - name: Event Status
  - name: Identifiers
  - name: List Associations
  - name: Participant State
  - name: Settings
  - name: Subscriber State Changes
paths:
  /marketing/marketing-events/2026-03/{objectId}:
    patch:
      tags:
        - Basic
      summary: Update Marketing Event by objectId
      description: >-
        Updates the details of an existing Marketing Event identified by its
        objectId, if it exists.
      operationId: patch-/marketing/marketing-events/2026-03/{objectId}_updateByObjectId
      parameters:
        - name: objectId
          in: path
          description: The internal id of the marketing event in HubSpot.
          required: true
          style: simple
          explode: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MarketingEventPublicUpdateRequestV2'
        required: true
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketingEventPublicDefaultResponseV2'
        default:
          $ref: '#/components/responses/Error'
          description: ''
      security:
        - oauth2:
            - crm.objects.marketing_events.write
components:
  schemas:
    MarketingEventPublicUpdateRequestV2:
      required:
        - customProperties
      type: object
      properties:
        customProperties:
          type: array
          items:
            $ref: '#/components/schemas/PropertyValue'
        endDateTime:
          type: string
          description: The end date and time of the marketing event
          format: date-time
        eventCancelled:
          type: boolean
          description: Indicates if the marketing event has been cancelled
        eventDescription:
          type: string
          description: The description of the marketing event
        eventName:
          type: string
          description: The name of the marketing event
        eventOrganizer:
          type: string
          description: The name of the organizer of the marketing event
        eventType:
          type: string
          description: The type of the marketing event
        eventUrl:
          type: string
          description: >-
            A URL in the external event application where the marketing event
            can be managed
        startDateTime:
          type: string
          description: The start date and time of the marketing event
          format: date-time
    MarketingEventPublicDefaultResponseV2:
      required:
        - createdAt
        - customProperties
        - eventName
        - objectId
        - updatedAt
      type: object
      properties:
        appInfo:
          $ref: '#/components/schemas/AppInfo'
        createdAt:
          type: string
          description: The creation date and time of the marketing event
          format: date-time
        customProperties:
          type: array
          items:
            $ref: '#/components/schemas/CrmPropertyWrapper'
        endDateTime:
          type: string
          description: The end date and time of the marketing event
          format: date-time
        eventCancelled:
          type: boolean
          description: Indicates if the marketing event has been cancelled
        eventCompleted:
          type: boolean
          description: Indicates if the marketing event has been completed
        eventDescription:
          type: string
          description: The description of the marketing event
        eventName:
          type: string
          description: The name of the marketing event
        eventOrganizer:
          type: string
          description: The name of the organizer of the marketing event
        eventType:
          type: string
          description: The type of the marketing event
        eventUrl:
          type: string
          description: >-
            A URL in the external event application where the marketing event
            can be managed
        objectId:
          type: string
          description: The internal ID of the marketing event in HubSpot
        startDateTime:
          type: string
          description: The start date and time of the marketing event
          format: date-time
        updatedAt:
          type: string
          description: The update date and time of the marketing event
          format: date-time
    PropertyValue:
      required:
        - dataSensitivity
        - isEncrypted
        - isLargeValue
        - maskedSubstrings
        - name
        - persistenceTimestamp
        - requestId
        - selectedByUser
        - selectedByUserTimestamp
        - source
        - sourceId
        - sourceLabel
        - sourceMetadata
        - sourceUpstreamDeployable
        - sourceVid
        - timestamp
        - unit
        - updatedByUserId
        - useTimestampAsPersistenceTimestamp
        - value
      type: object
      properties:
        dataSensitivity:
          type: string
          description: Level of data sensitivity
          enum:
            - high
            - none
            - standard
        isEncrypted:
          type: boolean
          description: Indicates whether the property is encrypted
        isLargeValue:
          type: boolean
          description: >-
            Indicates whether the property value is stored as a large value in
            the storage
        maskedSubstrings:
          $ref: '#/components/schemas/MaskedSubstrings'
        name:
          type: string
          description: Name of custom property
        persistenceTimestamp:
          type: integer
          description: >-
            The timestamp that indicates when the value being written is
            persisted in storage
          format: int64
        requestId:
          type: string
          description: The ID of the request
        selectedByUser:
          type: boolean
          description: Indicates whether the property is selected
        selectedByUserTimestamp:
          type: integer
          description: Timestamp of when the property was selected by the user
          format: int64
        source:
          type: string
          description: Source of the property
          enum:
            - 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
        sourceId:
          type: string
          description: ID of the source of the property
        sourceLabel:
          type: string
          description: Label of the source of the property
        sourceMetadata:
          type: string
          description: Source metadata encoded as a base64 string
        sourceUpstreamDeployable:
          type: string
          description: Indicates which upstream service made the property change
        sourceVid:
          type: array
          description: The unique identifier associated with the source.
          items:
            type: integer
            format: int64
        timestamp:
          type: integer
          description: Timestamp of the request
          format: int64
        unit:
          type: string
          description: The unit
        updatedByUserId:
          type: integer
          description: The ID of the user who last updated the property
          format: int32
        useTimestampAsPersistenceTimestamp:
          type: boolean
          description: >-
            Indicates if the persistence timestamp is the same as storage
            version timestamp
        value:
          type: string
          description: Custom property value
      description: >-
        Represents a single custom property of a marketing event, storing its
        name, value, metadata (like source, timestamp, and sensitivity), and
        related audit information for tracking changes.
    AppInfo:
      required:
        - id
        - name
      type: object
      properties:
        id:
          type: string
          description: The ID of the application
        name:
          type: string
          description: The name of the application
    CrmPropertyWrapper:
      required:
        - name
        - value
      type: object
      properties:
        name:
          type: string
          description: The name of the property in the CRM
        value:
          type: string
          description: The value of the property in the CRM
    Error:
      required:
        - category
        - correlationId
        - message
      type: object
      properties:
        category:
          type: string
          description: The error category
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Context about the error condition
          example: >-
            {invalidPropertyName=[propertyValue], missingScopes=[scope1,
            scope2]}
        correlationId:
          type: string
          description: >-
            A unique identifier for the request. Include this value with any
            error reports or support tickets
          format: uuid
          example: aeb5f871-7f07-4993-9211-075dc63e7cbf
        errors:
          type: array
          description: further information about the error
          items:
            $ref: '#/components/schemas/ErrorDetail'
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            A map of link names to associated URIs containing documentation
            about the error or recommended remediation steps
        message:
          type: string
          description: >-
            A human readable message describing the error along with remediation
            steps where appropriate
          example: An error occurred
        subCategory:
          type: string
          description: >-
            A specific category that contains more specific detail about the
            error
      description: >-
        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 error encountered.
      example:
        message: Invalid input (details will vary based on the error)
        correlationId: aeb5f871-7f07-4993-9211-075dc63e7cbf
        category: VALIDATION_ERROR
        links:
          knowledge-base: https://www.hubspot.com/products/service/knowledge-base
    MaskedSubstrings:
      required:
        - substrings
      type: object
      properties:
        substrings:
          type: array
          items:
            $ref: '#/components/schemas/MaskedSubstring'
    ErrorDetail:
      required:
        - message
      type: object
      properties:
        code:
          type: string
          description: The status code associated with the error detail
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Context about the error condition
          example: '{missingScopes=[scope1, scope2]}'
        in:
          type: string
          description: The name of the field or parameter in which the error was found.
        message:
          type: string
          description: >-
            A human readable message describing the error along with remediation
            steps where appropriate
        subCategory:
          type: string
          description: >-
            A specific category that contains more specific detail about the
            error
      description: >-
        Represents detailed information about an error that occurred in the API.
        This component is used to provide additional context and specifics about
        errors, typically as part of an error response.
    MaskedSubstring:
      required:
        - end
        - start
      type: object
      properties:
        end:
          type: integer
          format: int32
        start:
          type: integer
          format: int32
  responses:
    Error:
      description: An error occurred.
      content:
        '*/*':
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://app.hubspot.com/oauth/authorize
          tokenUrl: https://api.hubapi.com/oauth/v1/token
          scopes:
            crm.objects.marketing_events.read: ''
            crm.objects.marketing_events.write: ''
            developers-read: ''
            developers-write: ''

````