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

# Update a batch of objects by internal ID, or unique property values

> Mettre à jour un lot d'objets CRM dans votre compte HubSpot. Ce point de terminaison vous permet de modifier plusieurs objets à la fois en fournissant leurs détails dans le corps de la requête. Il est utile pour effectuer des mises à jour en masse des propriétés d'objets de manière efficace.

> **Supported products**

> **Required Scopes**


## OpenAPI

````yaml specs/2026-09/crm-custom-objects-v2026-09.json POST /crm/objects/2026-09/{objectType}/batch/update
openapi: 3.0.1
info:
  title: Objets personnalisés
  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
  x-hubspot-api-use-case: >-
    Après avoir créé un objet personnalisé Voitures, vous pouvez créer une fiche
    d'informations pour chaque voiture, puis l'associer au contact qui l'a
    achetée.
  x-hubspot-introduction: >-
    Utilisez les API des objets pour créer et gérer les enregistrements d'un
    objet. Les points de terminaison peuvent être utilisés pour les objets
    inclus dans tous les comptes, tels que les contacts et les entreprises,
    ainsi que pour les objets personnalisés des comptes Entreprise.
servers:
  - url: https://api.hubapi.com
security: []
tags:
  - name: Advanced
  - name: Basic
  - name: Batch
  - name: Search
paths:
  /crm/objects/2026-09/{objectType}/batch/update:
    post:
      tags:
        - Batch
      summary: Mettre à jour des objets par lot
      description: >-
        Mettre à jour un lot d'objets CRM dans votre compte HubSpot. Ce point de
        terminaison vous permet de modifier plusieurs objets à la fois en
        fournissant leurs détails dans le corps de la requête. Il est utile pour
        effectuer des mises à jour en masse des propriétés d'objets de manière
        efficace.
      operationId: >-
        post-/crm/objects/2026-09/{objectType}/batch/update_/crm/objects/2026-09-beta/{objectType}/batch/update
      parameters:
        - name: objectType
          in: path
          description: >-
            Le type d'objet CRM à mettre à jour par lot, tel que les contacts,
            les entreprises ou les transactions.
          required: true
          style: simple
          explode: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchInputSimplePublicObjectBatchInput'
        required: true
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchResponseSimplePublicObject'
        '207':
          description: multiple statuses
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchResponseSimplePublicObjectWithErrors'
        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:
    BatchInputSimplePublicObjectBatchInput:
      required:
        - inputs
      type: object
      properties:
        inputs:
          type: array
          description: >-
            Un tableau d'objets SimplePublicObjectBatchInput, chacun contenant
            les propriétés et les identifiants d'un objet CRM à mettre à jour.
          items:
            $ref: '#/components/schemas/SimplePublicObjectBatchInput'
      description: >-
        Représente un composant d'entrée de lot utilisé pour gérer plusieurs
        objets publics simples dans une seule requête API. Ce composant est
        généralement utilisé lors de l'exécution d'opérations de lot pour créer,
        mettre à jour ou supprimer plusieurs fiches d'informations
        simultanément.
    BatchResponseSimplePublicObject:
      required:
        - completedAt
        - results
        - startedAt
        - status
      type: object
      properties:
        completedAt:
          type: string
          description: >-
            La date et l'heure auxquelles l'opération de lot a été effectuée, au
            format ISO 8601.
          format: date-time
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            Une carte des noms de liens vers les URI associées à l'opération de
            lot.
        requestedAt:
          type: string
          description: >-
            La date et l'heure auxquelles l'opération de lot a été demandée, au
            format ISO 8601.
          format: date-time
        results:
          type: array
          description: >-
            Un tableau d'éléments SimplePublicObject qui sont le résultat de
            l'opération de lot.
          items:
            $ref: '#/components/schemas/SimplePublicObject'
        startedAt:
          type: string
          description: >-
            La date et l'heure de début de l'opération par lot, au format ISO
            8601.
          format: date-time
        status:
          type: string
          description: "Le statut actuel de l'opération par lot. Les valeurs valides incluent «\_PENDING\_», «\_PROCESSING\_», «\_CANCELED\_» et «\_COMPLETE\_»."
          enum:
            - CANCELED
            - COMPLETE
            - PENDING
            - PROCESSING
      description: Objet de réponse de lot d'objet public
    BatchResponseSimplePublicObjectWithErrors:
      required:
        - completedAt
        - results
        - startedAt
        - status
      type: object
      properties:
        completedAt:
          type: string
          description: >-
            La date et l'heure auxquelles l'opération de lot a été effectuée, au
            format ISO 8601.
          format: date-time
        errors:
          type: array
          description: >-
            Un tableau d'objets StandardError détaillant les erreurs survenues
            pendant l'opération par lot.
          items:
            $ref: '#/components/schemas/StandardError'
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            Une carte des noms de liens vers les URI associées à l'opération de
            lot.
        numErrors:
          type: integer
          description: Le nombre d'erreurs survenues pendant l'opération par lot.
          format: int32
        requestedAt:
          type: string
          description: >-
            La date et l'heure auxquelles l'opération de lot a été demandée, au
            format ISO 8601.
          format: date-time
        results:
          type: array
          description: >-
            Un tableau d'éléments SimplePublicObject qui ont été traités dans
            l'opération par lot.
          items:
            $ref: '#/components/schemas/SimplePublicObject'
        startedAt:
          type: string
          description: >-
            La date et l'heure de début de l'opération par lot, au format ISO
            8601.
          format: date-time
        status:
          type: string
          description: "Le statut actuel de l'opération par lot. Les valeurs valides incluent «\_PENDING\_», «\_PROCESSING\_», «\_CANCELED\_» et «\_COMPLETE\_»."
          enum:
            - CANCELED
            - COMPLETE
            - PENDING
            - PROCESSING
      description: >-
        Représente le résultat d'une opération de traitement par lots sur des
        objets CRM, y compris le statut de traitement, les résultats du lot, les
        horodatages et une liste de toutes les erreurs rencontrées pendant
        l'opération.
    SimplePublicObjectBatchInput:
      required:
        - id
        - properties
      type: object
      properties:
        id:
          type: string
          description: Une chaîne représentant l'identifiant unique de l'objet CRM.
        idProperty:
          type: string
          description: >-
            Une chaîne représentant le nom d'une propriété qui contient des
            valeurs uniques pour ce type d'objet.
          example: my_unique_property_name
        objectWriteTraceId:
          type: string
          description: >-
            Un identifiant de chaîne utilisé pour tracer les opérations
            d'écriture pour l'objet.
        properties:
          type: object
          additionalProperties:
            type: string
          description: >-
            Un objet contenant des paires clé-valeur représentant les propriétés
            de l'objet CRM. Chaque clé est un nom de propriété, et chaque valeur
            est la valeur de la propriété.
      description: >-
        Contient un tableau d'enregistrements d'objets CRM à traiter dans une
        opération par lots, chacun défini par son ID et ses propriétés.
    SimplePublicObject:
      required:
        - archived
        - createdAt
        - id
        - properties
        - updatedAt
      type: object
      properties:
        archived:
          type: boolean
          description: Un booléen indiquant si cet objet est archivé.
        archivedAt:
          type: string
          description: La date et l'heure d'archivage de cet objet, au format ISO 8601.
          format: date-time
        createdAt:
          type: string
          description: La date et l'heure de création de cet objet, au format ISO 8601.
          format: date-time
        id:
          type: string
          description: >-
            L'identifiant unique de cet objet, représenté sous forme de chaîne
            de caractères.
        objectWriteTraceId:
          type: string
          description: Chaîne utilisée pour tracer les opérations d'écriture de cet objet.
        properties:
          type: object
          additionalProperties:
            type: string
          description: >-
            Une carte des noms de propriétés et de leurs valeurs
            correspondantes, où chaque valeur est une chaîne.
        propertiesWithHistory:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/ValueWithTimestamp'
          description: >-
            Une carte des noms de propriétés vers des tableaux de valeurs avec
            horodatages, montrant l'historique des modifications pour chaque
            propriété.
        updatedAt:
          type: string
          description: >-
            La date et l'heure de la dernière mise à jour de cet objet, au
            format ISO 8601.
          format: date-time
        url:
          type: string
          description: Chaîne de caractères représentant l'URL associée à cet objet.
        warnings:
          type: array
          description: >-
            Un ensemble d'avertissements liés à cet objet, chacun contenant une
            catégorie, un message et un contexte.
          items:
            $ref: '#/components/schemas/PublicObjectWarning'
      description: Un objet public simple.
    StandardError:
      required:
        - category
        - context
        - errors
        - links
        - message
        - status
      type: object
      properties:
        category:
          type: string
          description: Une chaîne catégorisant le type d'erreur.
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: >-
            Un objet contenant un contexte supplémentaire sur l'erreur, où
            chaque clé est un nom de contexte et la valeur est un tableau de
            chaînes de caractères.
        errors:
          type: array
          description: >-
            Un tableau d'objets ErrorDetail fournissant des détails
            supplémentaires sur l'erreur.
          items:
            $ref: '#/components/schemas/ErrorDetail'
        id:
          type: string
          description: Une chaîne représentant l'identifiant unique de l'erreur.
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            Un objet associant des noms de liens à des URI qui fournissent de la
            documentation ou des étapes de correction liées à l'erreur.
        message:
          type: string
          description: Message lisible par l'être humain décrivant l'erreur.
        status:
          type: string
          description: Une chaîne indiquant le statut de l'erreur.
        subCategory:
          type: object
          properties: {}
          description: Un objet fournissant une catégorisation plus spécifique de l'erreur.
      description: >-
        Représente une réponse aux erreurs standard dans l'API HubSpot,
        fournissant des informations détaillées sur une erreur survenue lors
        d'une requête API.
    Error:
      required:
        - category
        - correlationId
        - message
      type: object
      properties:
        category:
          type: string
          description: La catégorie d'erreur.
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: >-
            Contexte de la condition d'erreur, représenté sous la forme d'un
            objet avec des propriétés supplémentaires qui sont des tableaux de
            chaînes de caractères.
          example: >-
            {invalidPropertyName=[propertyValue], missingScopes=[scope1,
            scope2]}
        correlationId:
          type: string
          description: >-
            Un identifiant unique pour la requête. Incluez cette valeur dans
            tous les rapports d'erreur ou tickets d'assistance. Il est formaté
            comme un UUID.
          format: uuid
          example: aeb5f871-7f07-4993-9211-075dc63e7cbf
        errors:
          type: array
          description: >-
            Information supplémentaire sur l'erreur, représentée sous forme de
            tableau d'objets ErrorDetail.
          items:
            $ref: '#/components/schemas/ErrorDetail'
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            Une carte des noms de liens vers les URI associés contenant la
            documentation sur l'erreur ou les étapes de remédiation
            recommandées.
        message:
          type: string
          description: >-
            Un message lisible par la personne décrivant l'erreur ainsi que les
            étapes de remédiation appropriées, le cas échéant.
          example: An error occurred
        subCategory:
          type: string
          description: >-
            Une catégorie spécifique qui contient des détails plus précis sur
            l'erreur. Il s'agit d'une propriété de type chaîne de caractères.
      description: >-
        Représente une réponse d'erreur renvoyée par l'API lorsqu'une opération
        échoue. Ce composant est utilisé dans divers points de terminaison pour
        fournir des informations détaillées sur l'erreur rencontrée.
      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: >-
            L'identifiant de la source d'où provient la valeur. Il s'agit d'une
            chaîne de caractères.
        sourceLabel:
          type: string
          description: >-
            Une étiquette décrivant la source de la valeur. Il s'agit d'une
            chaîne de caractères.
        sourceType:
          type: string
          description: >-
            Le type de source d'où provient la valeur. Il s'agit d'une chaîne de
            caractères.
        timestamp:
          type: string
          description: >-
            La date et l'heure d'enregistrement de la fiche d'informations, au
            format ISO 8601.
          format: date-time
        updatedByUserId:
          type: integer
          description: >-
            L'ID utilisateur de la personne qui a mis à jour la valeur en
            dernier. Il s'agit d'un entier.
          format: int32
        value:
          type: string
          description: >-
            La valeur associée à l'horodatage. Elle est représentée sous forme
            de chaîne.
      description: Modèle de propriété qui inclut un horodatage.
    PublicObjectWarning:
      required:
        - category
        - context
        - message
      type: object
      properties:
        category:
          type: string
          description: Une chaîne indiquant la catégorie de l'avertissement.
        context:
          type: object
          additionalProperties:
            type: string
          description: >-
            Un objet fournissant un contexte supplémentaire pour
            l'avertissement, avec des valeurs de chaîne.
        message:
          type: string
          description: Chaîne contenant le message d'avertissement.
      description: >-
        Représente un message d'avertissement lié à un objet public dans
        HubSpot, fournissant des détails sur la nature et le contexte de
        l'avertissement.
    ErrorDetail:
      required:
        - message
      type: object
      properties:
        code:
          type: string
          description: >-
            Le code de statut associé au détail de l'erreur. Il s'agit d'une
            chaîne de caractères.
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: >-
            Contexte de la condition d'erreur, représenté sous la forme d'un
            objet avec des propriétés supplémentaires qui sont des tableaux de
            chaînes de caractères.
          example: '{missingScopes=[scope1, scope2]}'
        in:
          type: string
          description: >-
            Le nom du champ ou du paramètre dans lequel l'erreur a été trouvée.
            Il s'agit d'une chaîne de caractères.
        message:
          type: string
          description: >-
            Un message lisible par l'utilisateur décrivant l'erreur ainsi que
            les mesures correctives à prendre, le cas échéant. Il s'agit d'une
            chaîne de caractères.
        subCategory:
          type: string
          description: >-
            Une catégorie spécifique qui contient des détails plus précis sur
            l'erreur. Il s'agit d'une chaîne.
      description: >-
        Représente des informations détaillées sur une erreur survenue dans
        l'API. Ce composant est utilisé pour fournir un contexte et des
        spécificités supplémentaires sur les erreurs, généralement dans le cadre
        d'une réponse d'erreur.
  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: ''

````