> ## 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.

# Create or update a batch of products by unique property values

> Erstellen oder aktualisieren Sie einen Batch von CRM-Objekten anhand eindeutiger Eigenschaftswerte. Dieser Endpunkt ermöglicht die effiziente Verwaltung mehrerer Objekte in einer einzigen Anfrage und stellt sicher, dass jedes Objekt basierend auf seinen eindeutigen IDs entweder erstellt oder aktualisiert wird.

> **Supported products**

> **Required Scopes**


## OpenAPI

````yaml specs/2026-09/crm-products-v2026-09.json POST /crm/objects/2026-09/products/batch/upsert
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/batch/upsert:
    post:
      tags:
        - Batch
      summary: Upsert für Batch-Objekte durchführen
      description: >-
        Erstellen oder aktualisieren Sie einen Batch von CRM-Objekten anhand
        eindeutiger Eigenschaftswerte. Dieser Endpunkt ermöglicht die effiziente
        Verwaltung mehrerer Objekte in einer einzigen Anfrage und stellt sicher,
        dass jedes Objekt basierend auf seinen eindeutigen IDs entweder erstellt
        oder aktualisiert wird.
      operationId: >-
        post-/crm/objects/2026-09/products/batch/upsert_/crm/objects/2026-09-beta/{objectType}/batch/upsert
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/BatchInputSimplePublicObjectBatchInputUpsert
        required: true
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchResponseSimplePublicUpsertObject'
        '207':
          description: multiple statuses
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/BatchResponseSimplePublicUpsertObjectWithErrors
        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:
    BatchInputSimplePublicObjectBatchInputUpsert:
      required:
        - inputs
      type: object
      properties:
        inputs:
          type: array
          description: >-
            Ein Array von SimplePublicObjectBatchInputUpsert-Objekten. Jedes
            Objekt im Array enthält die Eigenschaften und IDs, die für den
            Upsert-Vorgang erforderlich sind.
          items:
            $ref: '#/components/schemas/SimplePublicObjectBatchInputUpsert'
      description: >-
        Stellt einen Batch-Eingabevorgang zum Upserting einfacher öffentlicher
        Objekte in HubSpot dar. Diese Komponente wird verwendet, um mehrere
        Upsert-Vorgänge in einer einzigen Anfrage zu verarbeiten und so die
        Effizienz und Leistung zu verbessern.
    BatchResponseSimplePublicUpsertObject:
      required:
        - completedAt
        - results
        - startedAt
        - status
      type: object
      properties:
        completedAt:
          type: string
          description: >-
            Der Zeitpunkt (Datum und Uhrzeit), zu dem der Batch-Vorgang im
            ISO-8601-Format abgeschlossen wurde.
          format: date-time
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            Eine Zuordnung von zugehörigen Links, die dem Batch-Vorgang
            zugeordnet sind, wobei jeder Schlüssel ein Link-Name und jeder Wert
            eine URL ist.
        requestedAt:
          type: string
          description: >-
            Der Zeitpunkt (Datum und Uhrzeit), zu dem der Batch-Vorgang im
            ISO-8601-Format angefordert wurde.
          format: date-time
        results:
          type: array
          description: >-
            Ein Array von SimplePublicUpsertObject-Elementen, die die Objekte
            darstellen, für die im Batch-Vorgang ein Upsert durchgeführt wurde.
          items:
            $ref: '#/components/schemas/SimplePublicUpsertObject'
        startedAt:
          type: string
          description: >-
            Der Zeitpunkt (Datum und Uhrzeit), zu dem der Batch-Vorgang im
            ISO-8601-Format gestartet wurde.
          format: date-time
        status:
          type: string
          description: >-
            Der aktuelle Status des Batch-Vorgangs. Gültige Werte sind
            „PENDING“, „PROCESSING“, „CANCELED“ und „COMPLETE“.
          enum:
            - CANCELED
            - COMPLETE
            - PENDING
            - PROCESSING
      description: >-
        Stellt das Ergebnis eines Batch-Upsert-Vorgangs dar, einschließlich des
        Status des Vorgangs, der Zeitstempel und einer Liste erfolgreich
        erstellter oder aktualisierter Objekte.
    BatchResponseSimplePublicUpsertObjectWithErrors:
      required:
        - completedAt
        - results
        - startedAt
        - status
      type: object
      properties:
        completedAt:
          type: string
          description: >-
            Der Zeitpunkt (Datum und Uhrzeit), zu dem der Batch-Vorgang im
            ISO-8601-Format abgeschlossen wurde.
          format: date-time
        errors:
          type: array
          description: >-
            Ein Array von StandardError-Objekten, das alle Fehler detailliert
            beschreibt, die während des Batch-Vorgangs aufgetreten sind.
          items:
            $ref: '#/components/schemas/StandardError'
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            Eine Zuordnung von Linknamen zu zugehörigen URIs, die zusätzliche
            Informationen oder Aktionen im Zusammenhang mit dem Batch-Vorgang
            bereitstellt.
        numErrors:
          type: integer
          description: >-
            Die Gesamtanzahl der während des Batch-Vorgangs aufgetretenen
            Fehler.
          format: int32
        requestedAt:
          type: string
          description: >-
            Der Zeitpunkt (Datum und Uhrzeit), zu dem der Batch-Vorgang im
            ISO-8601-Format angefordert wurde.
          format: date-time
        results:
          type: array
          description: >-
            Ein Array von SimplePublicUpsertObject-Elementen, das die Ergebnisse
            des Batch-Upsert-Vorgangs darstellt.
          items:
            $ref: '#/components/schemas/SimplePublicUpsertObject'
        startedAt:
          type: string
          description: >-
            Der Zeitpunkt (Datum und Uhrzeit), zu dem der Batch-Vorgang im
            ISO-8601-Format gestartet wurde.
          format: date-time
        status:
          type: string
          description: >-
            Der aktuelle Status des Batch-Vorgangs. Gültige Werte sind
            „PENDING“, „PROCESSING“, „CANCELED“ und „COMPLETE“.
          enum:
            - CANCELED
            - COMPLETE
            - PENDING
            - PROCESSING
      description: >-
        Stellt die Antwort eines Batch-Upsert-Vorgangs dar, einschließlich
        Status, Zeitstempel, erfolgreich verarbeiteter Objekte und aller während
        der Verarbeitung aufgetretenen Fehler.
    SimplePublicObjectBatchInputUpsert:
      required:
        - id
        - properties
      type: object
      properties:
        id:
          type: string
          description: Eine Zeichenfolge, die die eindeutige ID des CRM-Objekts darstellt.
        idProperty:
          type: string
          description: >-
            Der Name einer Eigenschaft, deren Werte für dieses Objekt eindeutig
            sind.
        objectWriteTraceId:
          type: string
          description: Eine Zeichenfolgen-ID zum Tracen des Schreibvorgangs des Objekts.
        properties:
          type: object
          additionalProperties:
            type: string
          description: >-
            Ein Objekt, das Schlüssel-Wert-Paare enthält, die die Eigenschaften
            des CRM-Objekts darstellen. Jeder Schlüssel ist ein Eigenschaftsname
            und der Wert ist der Wert der Eigenschaft.
      description: >-
        Stellt ein Objekt dar, das in Batch-Upsert-Vorgängen verwendet wird und
        die eindeutige Kennung eines Objekts, dessen Eigenschaften und optional
        den eindeutigen Eigenschaftsnamen sowie eine Write-Trace-ID enthält.
    SimplePublicUpsertObject:
      required:
        - archived
        - createdAt
        - id
        - new
        - 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.
        new:
          type: boolean
          description: >-
            Ein boolescher Wert, der angibt, ob dieses Objekt neu erstellt
            wurde.
        objectWriteTraceId:
          type: string
          description: >-
            Eine Trace-ID zur Nachverfolgung des Schreibvorgangs, der dieses
            Objekt erstellt oder aktualisiert hat.
        properties:
          type: object
          additionalProperties:
            type: string
          description: >-
            Eine Zuordnung von Eigenschaftsnamen zu ihren aktuellen Werten für
            dieses Objekt.
        propertiesWithHistory:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/ValueWithTimestamp'
          description: >-
            Eine Zuordnung von Eigenschaftsnamen zu Arrays von Verlaufswerten,
            jeweils mit einem Zeitstempel und Quelleninformationen.
        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: Die URL für den Zugriff auf dieses Objekt im HubSpot-CRM.
        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: >-
        Stellt ein CRM-Objekt dar, das entweder erstellt oder aktualisiert
        (Upsert) wurde
    StandardError:
      required:
        - category
        - context
        - errors
        - links
        - message
        - status
      type: object
      properties:
        category:
          type: string
          description: Eine Zeichenfolge, die den Fehler kategorisiert.
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: >-
            Ein Objekt, das zusätzlichen Kontext zum Fehler enthält, wobei die
            Schlüssel als Kontextnamen und Werte als Arrays von Zeichenfolgen
            dargestellt werden.
        errors:
          type: array
          description: >-
            Ein Array von ErrorDetail-Objekten mit weiteren Informationen zum
            aufgetretenen Fehler.
          items:
            $ref: '#/components/schemas/ErrorDetail'
        id:
          type: string
          description: Eine Zeichenfolge, die die eindeutige ID für den Fehler darstellt.
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            Ein Objekt, das Namen von Links zu zugeordneten URIs zuordnet, mit
            einer Dokumentation zum Fehler oder empfohlenen Abhilfemaßnahmen.
        message:
          type: string
          description: >-
            Eine Zeichenfolge, die eine für Menschen lesbare Nachricht mit einer
            Beschreibung des Fehlers enthält.
        status:
          type: string
          description: Eine Zeichenfolge, die auf den Status des Fehlers verweist.
        subCategory:
          type: object
          properties: {}
          description: >-
            Ein Objekt, das eine spezifischere Kategorisierung des Fehlers
            bereitstellt.
      description: >-
        Stellt eine Standard-Fehlerantwort in der HubSpot-API dar, die
        detaillierte Informationen über einen Fehler bereitstellt, der während
        einer API-Anfrage aufgetreten ist.
    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
    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.
    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: ''

````