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

# Add products to a price book

> Créez plusieurs articles dans un catalogue des prix spécifié en une seule opération par lot. Ce point de terminaison est utile pour ajouter efficacement un grand nombre d'articles à un catalogue des prix, réduisant ainsi le besoin de multiples requêtes individuelles. L'opération renvoie une réponse par lot indiquant le succès ou l'échec de chaque création d'article.

> **Supported products**

> **Required Scopes**


## OpenAPI

````yaml specs/2026-09/commerce-price-books-v2026-09.json POST /commerce/price-books/2026-09/price-books/{priceBookId}/items/batch/create
openapi: 3.0.1
info:
  title: Commerce Price Books
  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: Items
paths:
  /commerce/price-books/2026-09/price-books/{priceBookId}/items/batch/create:
    post:
      tags:
        - Batch
      summary: Créer des articles de catalogue des prix par lot
      description: >-
        Créez plusieurs articles dans un catalogue des prix spécifié en une
        seule opération par lot. Ce point de terminaison est utile pour ajouter
        efficacement un grand nombre d'articles à un catalogue des prix,
        réduisant ainsi le besoin de multiples requêtes individuelles.
        L'opération renvoie une réponse par lot indiquant le succès ou l'échec
        de chaque création d'article.
      operationId: >-
        post-/commerce/price-books/2026-09/price-books/{priceBookId}/items/batch/create_/commerce/price-books/2026-09-beta/price-books/{priceBookId}/items/batch/create
      parameters:
        - name: priceBookId
          in: path
          description: >-
            L'identifiant unique du catalogue des prix auquel les éléments
            seront ajoutés.
          required: true
          style: simple
          explode: false
          schema:
            type: integer
            format: int64
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchInputPriceBookAddProductRequest'
        required: true
      responses:
        '201':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchResponsePriceBookItemResponse'
        '207':
          description: multiple statuses
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/BatchResponsePriceBookItemResponseWithErrors
        default:
          $ref: '#/components/responses/Error'
          description: ''
      security: []
components:
  schemas:
    BatchInputPriceBookAddProductRequest:
      required:
        - inputs
      type: object
      properties:
        inputs:
          type: array
          description: >-
            Un tableau d'objets PriceBookAddProductRequest, chacun représentant
            un produit à ajouter au Catalogue des prix. Cette propriété est
            obligatoire.
          items:
            $ref: '#/components/schemas/PriceBookAddProductRequest'
    BatchResponsePriceBookItemResponse:
      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 qui fournissent
            des informations ou des actions supplémentaires lié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'objets PriceBookItemResponse représentant les résultats
            individuels de l'opération de lot.
          items:
            $ref: '#/components/schemas/PriceBookItemResponse'
        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
    BatchResponsePriceBookItemResponseWithErrors:
      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'erreurs rencontrées pendant l'opération par lot,
            chacune représentée comme un objet StandardError.
          items:
            $ref: '#/components/schemas/StandardError'
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            Une carte des noms de liens vers les URI associées, fournissant un
            contexte ou des actions supplémentaires liés à l'opération par lot.
        numErrors:
          type: integer
          description: Le nombre d'erreurs rencontrées 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 de résultats de l'opération par lot, chacun représenté
            comme un objet PriceBookItemResponse.
          items:
            $ref: '#/components/schemas/PriceBookItemResponse'
        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
    PriceBookAddProductRequest:
      required:
        - productId
      type: object
      properties:
        productId:
          type: string
          description: >-
            L'identifiant unique du produit à ajouter au catalogue des prix. Il
            s'agit d'une chaîne de caractères et il est obligatoire.
    PriceBookItemResponse:
      required:
        - customProperties
        - id
        - productId
      type: object
      properties:
        archived:
          type: boolean
          description: Un booléen indiquant si l'élément du catalogue de prix est archivé.
        archivedAt:
          type: string
          description: >-
            La date et l'heure d'archivage de l'élément du catalogue des prix,
            au format ISO 8601.
          format: date-time
        billingFrequency:
          type: string
          description: "La fréquence de facturation de l’élément du catalogue des prix. Les valeurs valides incluent : «\_annuellement\_», «\_toutes les deux semaines\_», «\_mensuellement\_», «\_une seule fois\_», «\_tous les cinq ans\_», «\_tous les quatre ans\_», «\_tous les six mois\_», «\_tous les trois ans\_», «\_tous les deux ans\_», «\_trimestriellement\_» et «\_hebdomadairement\_»."
          enum:
            - ANNUALLY
            - BIWEEKLY
            - MONTHLY
            - PER_FIVE_YEARS
            - PER_FOUR_YEARS
            - PER_SIX_MONTHS
            - PER_THREE_YEARS
            - PER_TWO_YEARS
            - QUARTERLY
            - WEEKLY
        billingPeriod:
          type: string
          description: La période de facturation pour l'élément du catalogue des prix.
        costOfGoodsSold:
          type: string
          description: >-
            Le coût des marchandises vendues pour l'article du catalogue des
            prix.
        createdAt:
          type: string
          description: >-
            La date et l'heure de création de l'article du catalogue des prix,
            au format ISO 8601.
          format: date-time
        customProperties:
          type: object
          additionalProperties:
            type: string
          description: >-
            Mappage des noms de propriétés personnalisées à leurs valeurs pour
            l'article du catalogue des prix.
        description:
          type: string
          description: Description de l'article du catalogue des prix.
        id:
          type: string
          description: L'identifiant unique de l'article du catalogue des prix.
        images:
          type: string
          description: >-
            Une chaîne représentant les images associées à l'article du
            catalogue des prix.
        name:
          type: string
          description: Le nom de l'article du catalogue des prix.
        priceBookId:
          type: string
          description: L'identifiant unique du catalogue des prix contenant cet article.
        pricing:
          $ref: '#/components/schemas/Pricing'
        productClassification:
          type: string
          description: "La classification du produit. Les valeurs valides incluent «\_OFFRE GROUPÉE\_», «\_STANDALONE\_» et «\_VARIANT\_»."
          enum:
            - BUNDLE
            - STANDALONE
            - VARIANT
        productId:
          type: string
          description: >-
            L'identifiant unique du produit associé à l'article du catalogue des
            prix.
        productType:
          type: string
          description: "Le type de produit. Les valeurs valides incluent «\_INVENTORY\_», «\_NON_INVENTORY\_» et «\_SERVICE\_»."
          enum:
            - INVENTORY
            - NON_INVENTORY
            - SERVICE
        recurringBillingTerms:
          type: string
          description: "Les conditions de facturation récurrente pour l'article du catalogue des prix. Les valeurs valides incluent «\_AUTOMATICALLY_RENEW\_» et «\_FIXED\_»."
          enum:
            - AUTOMATICALLY_RENEW
            - FIXED
        sku:
          type: string
          description: >-
            Le numéro d'unité de gestion des stocks (UGS) de l'article du
            catalogue des prix.
        status:
          type: string
          description: "Le statut actuel de l'article du catalogue des prix. Les valeurs valides incluent «\_actif »\_ et «\_inactif\_»."
          enum:
            - active
            - inactive
        taxCategory:
          type: string
          description: La catégorie fiscale de l'article du catalogue des prix.
        updatedAt:
          type: string
          description: >-
            La date et l'heure de la dernière mise à jour de l'article du
            catalogue des prix, au format ISO 8601.
          format: date-time
        url:
          type: string
          description: Une URL associée à l'article du catalogue des prix.
    StandardError:
      required:
        - category
        - context
        - errors
        - links
        - message
        - status
      type: object
      properties:
        category:
          type: string
          description: Une chaîne spécifiant la catégorie de l'erreur.
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: >-
            Un objet contenant un contexte additionnel sur l'erreur, chaque clé
            étant associée à un tableau de chaînes de caractères.
        errors:
          type: array
          description: >-
            Un tableau d'objets ErrorDetail fournissant des informations
            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 des détails plus spécifiques sur la catégorie
            d'erreur.
      description: Ye olde error
    Error:
      required:
        - category
        - correlationId
        - message
      type: object
      properties:
        category:
          type: string
          description: >-
            La catégorie d'erreur, représentée sous forme de chaine de
            caractères.
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: >-
            Un objet fournissant un contexte sur la condition d'erreur. Il
            contient des propriétés supplémentaires, chacune étant un tableau de
            chaînes de caractères.
          example: >-
            {invalidPropertyName=[propertyValue], missingScopes=[scope1,
            scope2]}
        correlationId:
          type: string
          description: >-
            Un identifiant unique pour la requête, représenté par une chaîne
            UUID. Incluez cette valeur dans tous les rapports d'erreur ou
            tickets d'assistance.
          format: uuid
          example: aeb5f871-7f07-4993-9211-075dc63e7cbf
        errors:
          type: array
          description: >-
            Un tableau fournissant des informations supplémentaires sur
            l'erreur, chaque élément étant un objet ErrorDetail.
          items:
            $ref: '#/components/schemas/ErrorDetail'
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            Un objet qui mappe les noms de liens aux URI associées contenant la
            documentation sur l'erreur ou les étapes de correction recommandées.
            Chaque propriété est 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.
          example: An error occurred
        subCategory:
          type: string
          description: >-
            Une catégorie spécifique qui contient des détails plus précis sur
            l'erreur, représentée sous forme de 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
    Pricing:
      required:
        - prices
        - pricingModel
      type: object
      properties:
        prices:
          type: array
          description: >-
            Un tableau d'entrées de prix, chacune détaillant le montant et la
            devise pour un niveau de tarification spécifique.
          items:
            $ref: '#/components/schemas/PriceEntry'
        pricingModel:
          type: string
          description: "Le type de modèle d\_e tarification appliqué, qui peut être l'un des suivants\_: «\_FORFAITAIRE\_», «\_DÉGRESSIF\_», «\_PAR PALIERS\_» ou «\_AU VOLUME\_»."
          enum:
            - FLAT
            - GRADUATED
            - STAIRSTEP
            - VOLUME
    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
            propriété de type chaîne de caractères.
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: >-
            Contexte de la condition d'erreur, qui peut inclure des informations
            supplémentaires telles que des portées manquantes ou des noms de
            propriétés non valides.
          example: '{missingScopes=[scope1, scope2]}'
        in:
          type: string
          description: >-
            Le nom du champ ou du paramètre dans lequel l'erreur a été détectée.
            Il s'agit d'une propriété de type 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. Cette propriété
            est obligatoire.
        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 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.
    PriceEntry:
      required:
        - currencyCode
        - price
      type: object
      properties:
        currencyCode:
          type: string
          description: Une chaîne représentant la devise dans laquelle le prix est exprimé.
        maxQuantity:
          type: integer
          description: >-
            Une chaîne spécifiant la quantité maximale pour laquelle cette
            entrée de prix est applicable.
          format: int32
        price:
          type: number
          description: Un nombre indiquant le prix du produit ou du service.
  responses:
    Error:
      description: An error occurred.
      content:
        '*/*':
          schema:
            $ref: '#/components/schemas/Error'

````