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

# Batch retrieve subscription statuses

> Récupérer par lots les statuts d'abonnement d'un ensemble de contacts.

> **Supported products**

> **Required Scopes**


## OpenAPI

````yaml specs/2026-03/communication-preferences-subscriptions-v2026-03.json POST /communication-preferences/2026-03/statuses/batch/read
openapi: 3.0.1
info:
  title: Communication Preferences Subscriptions
  description: Basepom for all HubSpot Projects
  version: 2026-03
  x-hubspot-product-tier-requirements:
    marketing: STARTER
    sales: FREE
    service: FREE
    cms: FREE
    commerce: FREE
    crmHub: FREE
    dataHub: FREE
servers:
  - url: https://api.hubapi.com
security: []
tags:
  - name: Batch
  - name: Definitions
  - name: Status
paths:
  /communication-preferences/2026-03/statuses/batch/read:
    post:
      tags:
        - Batch
      summary: Récupérer par lots les statuts d'abonnement
      description: Récupérer par lots les statuts d'abonnement d'un ensemble de contacts.
      operationId: post-/communication-preferences/2026-03/statuses/batch/read
      parameters:
        - name: channel
          in: query
          description: "Une chaîne de caractères requise spécifiant le canal de communication. Actuellement, seul «\_EMAIL\_» est pris en charge."
          required: true
          style: form
          explode: true
          schema:
            type: string
            enum:
              - EMAIL
        - name: businessUnitId
          in: query
          description: >-
            Un entier facultatif représentant l'ID de l'unité commerciale. Ce
            paramètre permet de filtrer les résultats en fonction d'une unité
            commerciale spécifique.
          required: false
          style: form
          explode: true
          schema:
            type: integer
            format: int64
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchInputString'
        required: true
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchResponsePublicStatusBulkResponse'
        '207':
          description: multiple statuses
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/BatchResponsePublicStatusBulkResponseWithErrors
        default:
          $ref: '#/components/responses/Error'
          description: ''
      security:
        - oauth2:
            - communication_preferences.statuses.batch.read
components:
  schemas:
    BatchInputString:
      required:
        - inputs
      type: object
      properties:
        inputs:
          type: array
          description: >-
            Liste de chaînes représentant les entrées pour les opérations par
            lots.
          items:
            type: string
    BatchResponsePublicStatusBulkResponse:
      required:
        - completedAt
        - results
        - startedAt
        - status
      type: object
      properties:
        completedAt:
          type: string
          description: La date et l'heure de la fin du processus par lot.
          format: date-time
        links:
          type: object
          additionalProperties:
            type: string
          description: Une collection de liens associés à la réponse par lot.
        requestedAt:
          type: string
          description: La date et l'heure auxquelles la demande par lot a été faite.
          format: date-time
        results:
          type: array
          description: >-
            Le tableau des résultats du traitement par lots, chacun contenant
            des informations sur l'état de l'abonnement.
          items:
            $ref: '#/components/schemas/PublicStatusBulkResponse'
        startedAt:
          type: string
          description: La date et l'heure du début du processus par lot.
          format: date-time
        status:
          type: string
          description: "Statut actuel du processus par lots, avec les valeurs possibles suivantes\_: EN ATTENTE, EN COURS DE TRAITEMENT, ANNULÉ, TERMINÉ."
          enum:
            - CANCELED
            - COMPLETE
            - PENDING
            - PROCESSING
    BatchResponsePublicStatusBulkResponseWithErrors:
      required:
        - completedAt
        - results
        - startedAt
        - status
      type: object
      properties:
        completedAt:
          type: string
          description: La date et l'heure de la fin de l'opération.
          format: date-time
        errors:
          type: array
          description: >-
            Un tableau d'objets d'erreur détaillant tous les problèmes
            rencontrés pendant l'opération.
          items:
            $ref: '#/components/schemas/StandardError'
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            Un objet contenant des liens connexes, où chaque clé est un nom de
            lien et chaque valeur est une URL.
        numErrors:
          type: integer
          description: Le nombre d'erreurs rencontrées pendant l'opération.
          format: int32
        requestedAt:
          type: string
          description: La date et l'heure auxquelles la demande a été faite.
          format: date-time
        results:
          type: array
          description: Un tableau contenant les résultats de l'opération.
          items:
            $ref: '#/components/schemas/PublicStatusBulkResponse'
        startedAt:
          type: string
          description: La date et l'heure du début de l'opération.
          format: date-time
        status:
          type: string
          description: >-
            Le statut actuel de l'opération, qui peut être EN ATTENTE, EN COURS
            DE TRAITEMENT, ANNULÉE ou TERMINÉE.
          enum:
            - CANCELED
            - COMPLETE
            - PENDING
            - PROCESSING
    PublicStatusBulkResponse:
      required:
        - statuses
        - subscriberIdString
      type: object
      properties:
        statuses:
          type: array
          description: >-
            Un tableau d'objets représentant le statut des abonnements pour le
            contact.
          items:
            $ref: '#/components/schemas/PublicStatus'
        subscriberIdString:
          type: string
          description: L'adresse e-mail du contact.
    StandardError:
      required:
        - category
        - context
        - errors
        - links
        - message
        - status
      type: object
      properties:
        category:
          type: string
          description: Une chaîne qui catégorise le type d'erreur.
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: >-
            Un objet contenant un contexte supplémentaire sur la condition
            d'erreur, avec des clés comme noms de contexte et des valeurs comme
            tableaux 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 qui
            contiennent de la documentation sur l'erreur ou des étapes de
            remédiation recommandées pour celle-ci.
        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: Ye olde error
    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
    PublicStatus:
      required:
        - channel
        - source
        - status
        - subscriberIdString
        - subscriptionId
        - timestamp
      type: object
      properties:
        businessUnitId:
          type: integer
          description: L'IDde l'unité commerciale associée à l'abonnement.
          format: int64
        channel:
          type: string
          description: "Le type de canal de communication, avec «\_E-MAIL\_» comme seule option prise en charge."
          enum:
            - EMAIL
        legalBasis:
          type: string
          description: "La base juridique de la communication, avec les options suivantes\_: «\_LEGITIMATE_INTEREST_PQL\_», «\_LEGITIMATE_INTEREST_CLIENT\_», «\_PERFORMANCE_OF_CONTRACT\_», «\_CONSENT_WITH_NOTICE\_», «\_NON_GDPR\_», «\_PROCESS_AND_STORE\_» et «\_LEGITIMATE_INTEREST_OTHER\_»."
          enum:
            - CONSENT_WITH_NOTICE
            - LEGITIMATE_INTEREST_CLIENT
            - LEGITIMATE_INTEREST_OTHER
            - LEGITIMATE_INTEREST_PQL
            - NON_GDPR
            - PERFORMANCE_OF_CONTRACT
            - PROCESS_AND_STORE
        legalBasisExplanation:
          type: string
          description: Une explication de la base juridique utilisée pour la communication.
        setStatusSuccessReason:
          type: string
          description: "La raison du changement réussi du statut d'abonnement, telle que «\_RESUBSCRIBE_OCCURRED\_» ou «\_NO_STATUS_CHANGE\_»."
          enum:
            - NO_STATUS_CHANGE
            - REQUESTED_CHANGE_OCCURRED
            - RESUBSCRIBE_OCCURRED
            - UNSUBSCRIBE_FROM_ALL_OCCURRED
        source:
          type: string
          description: >-
            L'origine ou la méthode par laquelle le statut d'abonnement a été
            défini.
        status:
          type: string
          description: "Le statut d'abonnement actuel du contact, qui peut être «\_SUBSCRIBED\_», «\_UNSUBSCRIBED\_» ou «\_NOT_SPECIFIED\_»."
          enum:
            - NOT_SPECIFIED
            - SUBSCRIBED
            - UNSUBSCRIBED
        subscriberIdString:
          type: string
          description: L'adresse e-mail d'un contact.
        subscriptionId:
          type: integer
          description: L'identifiant unique de l'abonnement.
          format: int64
        subscriptionName:
          type: string
          description: Le nom de l'abonnement.
        timestamp:
          type: string
          description: >-
            La date et l'heure de la dernière mise à jour du statut de
            l'abonnement.
          format: date-time
    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é trouvée.
        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.
  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:
            communication_preferences.read_write: ''
            communication_preferences.statuses.batch.read: ''
            communication_preferences.statuses.batch.write: ''

````