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

# Create a batch of appointments

> Créer plusieurs rendez-vous en une seule demande.

> **Supported products**

> **Required Scopes**


## OpenAPI

````yaml specs/2026-09/crm-appointments-v2026-09.json POST /crm/objects/2026-09/{objectType}/batch/create
openapi: 3.0.1
info:
  title: CRM Appointments
  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/{objectType}/batch/create:
    post:
      tags:
        - Batch
      summary: Créer un lot de rendez-vous
      description: Créer plusieurs rendez-vous en une seule demande.
      operationId: >-
        post-/crm/objects/2026-09/{objectType}/batch/create_/crm/objects/2026-09-beta/{objectType}/batch/create
      parameters:
        - name: objectType
          in: path
          description: >-
            Le type d'objet CRM à créer par lot. Cela spécifie la catégorie
            d'objets créés, tels 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/BatchInputSimplePublicObjectBatchInputForCreate
        required: true
      responses:
        '201':
          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:
    BatchInputSimplePublicObjectBatchInputForCreate:
      required:
        - inputs
      type: object
      properties:
        inputs:
          type: array
          description: >-
            Un tableau d'objets SimplePublicObjectBatchInputForCreate, chacun
            contenant les propriétés et les associations nécessaires à la
            création d'un seul objet CRM.
          items:
            $ref: '#/components/schemas/SimplePublicObjectBatchInputForCreate'
      description: >-
        Représente une entrée de lot pour la création de plusieurs objets
        publics simples en une seule requête. Ce composant est utilisé pour
        rationaliser le processus d'ajout de nouveaux objets à un compte HubSpot
        en permettant la création de plusieurs entrées à la fois.
    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 de résultats de l'opération par lot, chacun représenté
            comme un SimplePublicObject.
          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, fournissant des
            informations ou des ressources supplémentaires liées à l'opération
            de 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 d'éléments SimplePublicObject représentant les résultats
            de 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.
    SimplePublicObjectBatchInputForCreate:
      required:
        - associations
        - properties
      type: object
      properties:
        associations:
          type: array
          description: "Un tableau d'associations qui définissent les relations entre les objets CRM en cours de création et d'autres objets. Chaque association est représentée par un objet «\_PublicAssociationsForObject\_»."
          items:
            $ref: '#/components/schemas/PublicAssociationsForObject'
        objectWriteTraceId:
          type: string
          description: Un identifiant permettant de tracer la demande de création.
        properties:
          type: object
          additionalProperties:
            type: string
          description: Paires clé-valeur représentant les propriétés de l'objet.
      description: >-
        Un objet d'entrée qui contient une collection d'objets à créer ensemble
        en lot.
    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: >-
            L'ID unique permettant d'identifier chaque opération d'écriture, qui
            sera renvoyé avec les erreurs éventuelles afin d'identifier quelle
            requête a rencontré quelle erreur.
        properties:
          type: object
          additionalProperties:
            type: string
          description: >-
            Un objet contenant des paires clé-valeur représentant les propriétés
            de l'objet CRM, où chaque clé est un nom de propriété et la valeur
            est une chaîne de caractères.
        propertiesWithHistory:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/ValueWithTimestamp'
          description: >-
            Un objet contenant des paires clé-valeur où chaque clé est un nom de
            propriété et la valeur est un tableau de valeurs historiques,
            chacune avec un horodatage.
        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: URL pour accéder à l'objet
        warnings:
          type: array
          description: >-
            Un tableau d'avertissements associés à cet objet, chacun représenté
            par un objet PublicObjectWarning.
          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 qui catégorise 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 connexes contenant de
            la documentation sur l'erreur ou des étapes de remédiation
            recommandées.
        message:
          type: string
          description: Chaîne contenant le message d'erreur.
        status:
          type: string
          description: Une chaîne indiquant le statut de l'erreur.
        subCategory:
          type: object
          properties: {}
          description: >-
            Un objet qui fournit des détails plus spécifiques sur la catégorie
            d'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 concernant la condition d'erreur
          example: >-
            {invalidPropertyName=[propertyValue], missingScopes=[scope1,
            scope2]}
        correlationId:
          type: string
          description: >-
            Un identifiant unique pour la demande. Incluez cette valeur dans
            tous les rapports d'erreurs ou tickets d'assistance
          format: uuid
          example: aeb5f871-7f07-4993-9211-075dc63e7cbf
        errors:
          type: array
          description: informations supplémentaires à propos de l'erreur
          items:
            $ref: '#/components/schemas/ErrorDetail'
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            Une carte des noms de liens vers les URI associés contenant de la
            documentation sur l'erreur ou les mesures correctives recommandées
        message:
          type: string
          description: >-
            Un message lisible par la personne décrivant l'erreur ainsi que les
            mesures correctives possibles, 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
      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
    PublicAssociationsForObject:
      required:
        - to
        - types
      type: object
      properties:
        to:
          $ref: '#/components/schemas/PublicObjectId'
        types:
          type: array
          description: >-
            Un tableau de spécifications d'association, chacune définissant la
            catégorie et l'ID de type de l'association.
          items:
            $ref: '#/components/schemas/AssociationSpec'
      description: >-
        Représente les associations pour un objet spécifique dans HubSpot,
        détaillant les types d'associations et les objets associés impliqués.
    ValueWithTimestamp:
      required:
        - sourceType
        - timestamp
        - value
      type: object
      properties:
        sourceId:
          type: string
          description: >-
            L'identifiant unique de la source d'où la valeur a été dérivée. 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ù la valeur a été dérivée. 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 de l'utilisateur qui a mis à jour la valeur. Il s'agit d'un
            entier.
          format: int32
        value:
          type: string
          description: >-
            La valeur de la propriété à l'horodatage spécifié. Il s'agit d'une
            chaîne de caractères.
      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 propriétés 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 du statut associé au détail de l'erreur
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Contexte concernant la condition d'erreur
          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 la personne décrivant l'erreur ainsi que les
            mesures correctives possibles, le cas échéant
        subCategory:
          type: string
          description: >-
            Une catégorie spécifique qui contient des détails plus précis sur
            l'erreur
      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.
    PublicObjectId:
      required:
        - id
      type: object
      properties:
        id:
          type: string
          description: L'ID unique de l'objet.
      description: Contains the Id of a Public Object
    AssociationSpec:
      required:
        - associationCategory
        - associationTypeId
      type: object
      properties:
        associationCategory:
          type: string
          description: "Chaîne de caractères représentant la catégorie de l'association. Les valeurs valides incluent «\_HUBSPOT_DEFINED\_», «\_USER_DEFINED\_», «\_INTEGRATOR_DEFINED\_» et «\_WORK\_»."
          enum:
            - HUBSPOT_DEFINED
            - INTEGRATOR_DEFINED
            - USER_DEFINED
            - WORK
        associationTypeId:
          type: integer
          description: Un entier représentant l'identifiant unique du type d'association.
          format: int32
      description: >-
        Définit le type, la direction et les détails de la relation entre deux
        objets CRM.
  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: ''

````