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

# Update

> Ein durch „{objectId}“ identifiziertes Objekt wird teilweise aktualisiert. „{objectId}“ bezieht sich standardmäßig auf die interne Objekt-ID oder optional auf einen beliebigen eindeutigen Eigenschaftswert, wie im Abfrageparameter „idProperty“ spezifiziert. Bereitgestellte Eigenschaftswerte werden überschrieben. Schreibgeschützte und nicht vorhandene Eigenschaften werden ignoriert. Eigenschaftswerte können durch Übergabe einer leeren Zeichenfolge gelöscht werden.

> **Supported products**

> **Required Scopes**


## OpenAPI

````yaml specs/2026-09/crm-products-v2026-09.json PATCH /crm/objects/2026-09/products/{productId}
openapi: 3.0.1
info:
  title: CRM Products
  description: Basepom for all HubSpot Projects
  version: 2026-09
  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: Advanced
  - name: Basic
  - name: Batch
  - name: Search
paths:
  /crm/objects/2026-09/products/{productId}:
    patch:
      tags:
        - Basic
      summary: Aktualisieren
      description: >-
        Ein durch „{objectId}“ identifiziertes Objekt wird teilweise
        aktualisiert. „{objectId}“ bezieht sich standardmäßig auf die interne
        Objekt-ID oder optional auf einen beliebigen eindeutigen
        Eigenschaftswert, wie im Abfrageparameter „idProperty“ spezifiziert.
        Bereitgestellte Eigenschaftswerte werden überschrieben.
        Schreibgeschützte und nicht vorhandene Eigenschaften werden ignoriert.
        Eigenschaftswerte können durch Übergabe einer leeren Zeichenfolge
        gelöscht werden.
      operationId: >-
        patch-/crm/objects/2026-09/products/{productId}_/crm/objects/2026-09-beta/{objectType}/{objectId}
      parameters:
        - name: productId
          in: path
          required: true
          schema:
            pattern: .+
            type: string
        - name: idProperty
          in: query
          description: >-
            Der Name einer Eigenschaft, deren Werte für diesen Objekttyp
            eindeutig sind
          required: false
          style: form
          explode: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SimplePublicObjectInput'
        required: true
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SimplePublicObject'
        default:
          $ref: '#/components/responses/Error'
          description: ''
      security:
        - oauth2:
            - crm.objects.deals.read
        - oauth2:
            - crm.objects.subscriptions.read
        - oauth2:
            - crm.objects.services.read
        - oauth2:
            - crm.objects.tickets.sensitive.read
        - oauth2:
            - crm.objects.orders.read
        - oauth2:
            - crm.objects.listings.write
        - oauth2:
            - crm.objects.custom.read
        - oauth2:
            - crm.objects.companies.write
        - oauth2:
            - crm.objects.tasks.read
        - oauth2:
            - crm.objects.custom.sensitive.write.v2
        - oauth2:
            - crm.objects.custom.highly_sensitive.write.v2
        - oauth2:
            - crm.objects.companies.read
        - oauth2:
            - crm.objects.appointments.sensitive.read.v2
        - oauth2:
            - crm.objects.contacts.highly_sensitive.read.v2
        - oauth2:
            - crm.objects.tickets.highly_sensitive.read
        - oauth2:
            - crm.objects.companies.sensitive.read.v2
        - oauth2:
            - crm.objects.tickets.sensitive.write
        - oauth2:
            - media_bridge.read
        - oauth2:
            - crm.objects.deals.highly_sensitive.read.v2
        - oauth2:
            - crm.objects.contacts.highly_sensitive.write.v2
        - oauth2:
            - crm.objects.companies.highly_sensitive.read.v2
        - oauth2:
            - crm.objects.commercepayments.write
        - oauth2:
            - crm.objects.invoices.write
        - oauth2:
            - crm.objects.contacts.sensitive.write.v2
        - oauth2:
            - crm.objects.calls.read
        - oauth2:
            - crm.objects.users.write
        - oauth2:
            - crm.objects.meetings.read
        - oauth2:
            - crm.objects.custom.sensitive.read.v2
        - oauth2:
            - crm.objects.users.read
        - oauth2:
            - crm.objects.partner-services.read
        - oauth2:
            - crm.objects.orders.write
        - oauth2:
            - crm.objects.partner-services.write
        - oauth2:
            - crm.objects.appointments.write
        - oauth2:
            - crm.objects.projects.highly_sensitive.write
        - oauth2:
            - crm.objects.carts.write
        - oauth2:
            - crm.objects.tickets.highly_sensitive.write
        - oauth2:
            - crm.objects.commercepayments.read
        - oauth2:
            - crm.objects.products.write
        - oauth2:
            - crm.objects.feedback_submissions.read
        - oauth2:
            - crm.objects.services.write
        - oauth2:
            - crm.objects.subscriptions.write
        - oauth2:
            - crm.objects.deals.sensitive.write.v2
        - oauth2:
            - crm.objects.contacts.read
        - oauth2:
            - crm.objects.appointments.sensitive.write.v2
        - oauth2:
            - crm.objects.projects.highly_sensitive.read
        - oauth2:
            - crm.objects.invoices.read
        - oauth2:
            - crm.objects.custom.write
        - oauth2:
            - tickets.sensitive.v2
        - oauth2:
            - crm.objects.deals.write
        - oauth2:
            - e-commerce
        - oauth2:
            - crm.objects.appointments.read
        - oauth2:
            - crm.objects.projects.read
        - oauth2:
            - crm.objects.companies.sensitive.write.v2
        - oauth2:
            - crm.objects.companies.highly_sensitive.write.v2
        - oauth2:
            - crm.objects.deals.highly_sensitive.write.v2
        - oauth2:
            - crm.objects.custom.highly_sensitive.read.v2
        - oauth2:
            - crm.objects.goals.write
        - oauth2:
            - crm.objects.projects.sensitive.read
        - oauth2:
            - crm.objects.line_items.write
        - oauth2:
            - crm.objects.contacts.write
        - oauth2:
            - crm.objects.goals.read
        - oauth2:
            - crm.objects.line_items.read
        - oauth2:
            - crm.objects.partner-clients.write
        - oauth2:
            - crm.objects.projects.write
        - oauth2:
            - crm.objects.projects.sensitive.write
        - oauth2:
            - crm.objects.deals.sensitive.read.v2
        - oauth2:
            - crm.objects.quotes.write
        - oauth2:
            - tickets.highly_sensitive.v2
        - oauth2:
            - crm.objects.leads.read
        - oauth2:
            - crm.objects.leads.write
        - oauth2:
            - crm.objects.carts.read
        - oauth2:
            - crm.objects.emails.read
        - oauth2:
            - crm.objects.quotes.read
        - oauth2:
            - crm.objects.courses.write
        - oauth2:
            - crm.objects.partner-clients.read
        - oauth2:
            - crm.objects.notes.read
        - oauth2:
            - crm.objects.courses.read
        - oauth2:
            - crm.objects.listings.read
        - oauth2:
            - crm.objects.contacts.sensitive.read.v2
        - oauth2:
            - crm.objects.products.read
components:
  schemas:
    SimplePublicObjectInput:
      required:
        - properties
      type: object
      properties:
        properties:
          type: object
          additionalProperties:
            type: string
          description: >-
            Ein Objekt, das Schlüsselwertpaare enthält, wobei die Schlüssel
            Eigenschaftsnamen und die Werte die entsprechenden Eigenschaftswerte
            sind. Jeder Eigenschaftswert ist eine Zeichenfolge.
      description: >-
        Stellt die erforderliche Eingabe zum Aktualisieren eines CRM-Objekts
        dar, das ein Objekt mit Eigenschaftsnamen und den entsprechenden Werten
        enthält.
    SimplePublicObject:
      required:
        - archived
        - createdAt
        - id
        - properties
        - updatedAt
      type: object
      properties:
        archived:
          type: boolean
          description: Ein boolescher Wert, der angibt, ob dieses Objekt archiviert ist.
        archivedAt:
          type: string
          description: >-
            Der Zeitpunkt (Datum und Uhrzeit) der Archivierung dieses Objekts im
            ISO-8601-Format.
          format: date-time
        createdAt:
          type: string
          description: >-
            Der Zeitpunkt (Datum und Uhrzeit) der Erstellung dieses Objekts im
            ISO-8601-Format.
          format: date-time
        id:
          type: string
          description: Die eindeutige ID für dieses Objekt, dargestellt als Zeichenfolge.
        objectWriteTraceId:
          type: string
          description: >-
            Eine Zeichenfolge, die zum Tracen der Schreibvorgänge für dieses
            Objekt verwendet wird.
        properties:
          type: object
          additionalProperties:
            type: string
          description: >-
            Eine Zuordnung von Eigenschaftsnamen zu ihren Werten, wobei jeder
            Wert eine Zeichenfolge ist.
        propertiesWithHistory:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/ValueWithTimestamp'
          description: >-
            Eine Zuordnung von Eigenschaftsnamen zu einem Array von historischen
            Werten, jeweils mit einem Zeitstempel und Quellinformationen.
        updatedAt:
          type: string
          description: >-
            Der Zeitpunkt (Datum und Uhrzeit) der letzten Aktualisierung dieses
            Objekts im ISO-8601-Format.
          format: date-time
        url:
          type: string
          description: Eine Zeichenfolge, die die URL dieses Objekts darstellt.
        warnings:
          type: array
          description: >-
            Ein Array von Warnungen zu diesem Objekt, die jeweils eine
            Kategorie, eine Nachricht und einen Kontext enthalten.
          items:
            $ref: '#/components/schemas/PublicObjectWarning'
      description: Ein einfaches öffentliches Objekt.
    ValueWithTimestamp:
      required:
        - sourceType
        - timestamp
        - value
      type: object
      properties:
        sourceId:
          type: string
          description: >-
            Eine Zeichenfolgen-ID für die spezifische Quelle, die den Wert
            bereitgestellt hat.
        sourceLabel:
          type: string
          description: Ein Zeichenfolgenlabel, das die Quelle des Werts beschreibt.
        sourceType:
          type: string
          description: >-
            Eine Zeichenfolge, die den Typ der Quelle angibt, die den Wert
            bereitgestellt hat.
        timestamp:
          type: string
          description: >-
            Der Zeitpunkt (Datum und Uhrzeit) der Erfassung des Werts im
            ISO-8601-Format.
          format: date-time
        updatedByUserId:
          type: integer
          description: >-
            Eine Ganzzahl, die die ID des Benutzers darstellt, der den Wert
            zuletzt aktualisiert hat.
          format: int32
        value:
          type: string
          description: Der aktuelle Wert der Eigenschaft, dargestellt als Zeichenfolge.
      description: Eigenschaftsmodell, das einen Zeitstempel enthält.
    PublicObjectWarning:
      required:
        - category
        - context
        - message
      type: object
      properties:
        category:
          type: string
          description: Eine Zeichenfolge, die die Kategorie der Warnung angibt.
        context:
          type: object
          additionalProperties:
            type: string
          description: >-
            Ein Objekt, das zusätzlichen Kontext zur Warnung bereitstellt, mit
            Zeichenfolgenwerten für jeden Kontextschlüssel.
        message:
          type: string
          description: Eine Zeichenfolge, die die Warnmeldung enthält.
      description: >-
        Stellt eine Warnmeldung zu einem öffentlichen Objekt in HubSpot dar, die
        Details zur Art und zum Kontext der Warnung bereitstellt.
    Error:
      required:
        - category
        - correlationId
        - message
      type: object
      properties:
        category:
          type: string
          description: Die Fehlerkategorie
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Kontext zur Fehlerbedingung
          example: >-
            {invalidPropertyName=[propertyValue], missingScopes=[scope1,
            scope2]}
        correlationId:
          type: string
          description: >-
            Eine eindeutige ID für die Anfrage. Berücksichtigen Sie diesen Wert
            in Fehlerberichten oder Support-Tickets.
          format: uuid
          example: aeb5f871-7f07-4993-9211-075dc63e7cbf
        errors:
          type: array
          description: Weitere Informationen zum Fehler
          items:
            $ref: '#/components/schemas/ErrorDetail'
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            Eine Zuordnung der Namen von Links zu zugeordneten URIs mit einer
            Dokumentation zum Fehler oder empfohlenen Abhilfemaßnahmen
        message:
          type: string
          description: >-
            Eine für Menschen lesbare Nachricht mit einer Beschreibung des
            Fehlers und ggf. Abhilfemaßnahmen
          example: An error occurred
        subCategory:
          type: string
          description: Eine spezifische Kategorie, die genauere Details zum Fehler enthält
      description: >-
        Stellt eine Fehlerantwort dar, die von der API zurückgegeben wird, wenn
        ein Vorgang fehlschlägt. Diese Komponente wird in verschiedenen
        Endpunkten verwendet, um detaillierte Informationen über den
        aufgetretenen Fehler bereitzustellen.
      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
    ErrorDetail:
      required:
        - message
      type: object
      properties:
        code:
          type: string
          description: Der Statuscode, der dem Fehlerdetail zugeordnet ist
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Kontext zur Fehlerbedingung
          example: '{missingScopes=[scope1, scope2]}'
        in:
          type: string
          description: >-
            Der Name des Felds oder Parameters, in dem der Fehler gefunden
            wurde.
        message:
          type: string
          description: >-
            Eine für Menschen lesbare Nachricht mit einer Beschreibung des
            Fehlers und ggf. Abhilfemaßnahmen
        subCategory:
          type: string
          description: Eine spezifische Kategorie, die genauere Details zum Fehler enthält
      description: >-
        Stellt detaillierte Informationen zu einem in der API aufgetretenen
        Fehler dar. Diese Komponente wird verwendet, um zusätzlichen Kontext und
        spezifische Details zu Fehlern bereitzustellen, typischerweise als Teil
        einer Fehlerantwort.
  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.appointments.read: ''
            crm.objects.appointments.sensitive.read.v2: ''
            crm.objects.appointments.sensitive.write.v2: ''
            crm.objects.appointments.write: ''
            crm.objects.calls.read: ''
            crm.objects.carts.read: ''
            crm.objects.carts.write: ''
            crm.objects.commercepayments.read: ''
            crm.objects.commercepayments.write: ''
            crm.objects.companies.highly_sensitive.read.v2: ''
            crm.objects.companies.highly_sensitive.write.v2: ''
            crm.objects.companies.read: ''
            crm.objects.companies.sensitive.read.v2: ''
            crm.objects.companies.sensitive.write.v2: ''
            crm.objects.companies.write: ''
            crm.objects.contacts.highly_sensitive.read.v2: ''
            crm.objects.contacts.highly_sensitive.write.v2: ''
            crm.objects.contacts.read: ''
            crm.objects.contacts.sensitive.read.v2: ''
            crm.objects.contacts.sensitive.write.v2: ''
            crm.objects.contacts.write: ''
            crm.objects.courses.read: ''
            crm.objects.courses.write: ''
            crm.objects.custom.highly_sensitive.read.v2: ''
            crm.objects.custom.highly_sensitive.write.v2: ''
            crm.objects.custom.read: ''
            crm.objects.custom.sensitive.read.v2: ''
            crm.objects.custom.sensitive.write.v2: ''
            crm.objects.custom.write: ''
            crm.objects.deals.highly_sensitive.read.v2: ''
            crm.objects.deals.highly_sensitive.write.v2: ''
            crm.objects.deals.read: ''
            crm.objects.deals.sensitive.read.v2: ''
            crm.objects.deals.sensitive.write.v2: ''
            crm.objects.deals.write: ''
            crm.objects.emails.read: ''
            crm.objects.feedback_submissions.read: ''
            crm.objects.goals.read: ''
            crm.objects.goals.write: ''
            crm.objects.invoices.read: ''
            crm.objects.invoices.write: ''
            crm.objects.leads.read: ''
            crm.objects.leads.write: ''
            crm.objects.line_items.read: ''
            crm.objects.line_items.write: ''
            crm.objects.listings.read: ''
            crm.objects.listings.write: ''
            crm.objects.meetings.read: ''
            crm.objects.notes.read: ''
            crm.objects.orders.read: ''
            crm.objects.orders.write: ''
            crm.objects.partner-clients.read: ''
            crm.objects.partner-clients.write: ''
            crm.objects.partner-services.read: ''
            crm.objects.partner-services.write: ''
            crm.objects.products.read: ''
            crm.objects.products.write: ''
            crm.objects.projects.highly_sensitive.read: ''
            crm.objects.projects.highly_sensitive.write: ''
            crm.objects.projects.read: ''
            crm.objects.projects.sensitive.read: ''
            crm.objects.projects.sensitive.write: ''
            crm.objects.projects.write: ''
            crm.objects.quotes.read: ''
            crm.objects.quotes.write: ''
            crm.objects.services.read: ''
            crm.objects.services.write: ''
            crm.objects.subscriptions.read: ''
            crm.objects.subscriptions.write: ''
            crm.objects.tasks.read: ''
            crm.objects.tickets.highly_sensitive.read: ''
            crm.objects.tickets.highly_sensitive.write: ''
            crm.objects.tickets.sensitive.read: ''
            crm.objects.tickets.sensitive.write: ''
            crm.objects.users.read: ''
            crm.objects.users.write: ''
            e-commerce: ''
            media_bridge.read: ''
            tickets.highly_sensitive.v2: ''
            tickets.sensitive.v2: ''

````