> ## 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 or update a subscription

> Créez un nouvel abonnement au journal de webhook pour le portail spécifié. Ce point de terminaison vous permet de définir les actions et les types d'objets que l'abonnement surveillera. Il nécessite un corps de requête avec les détails de l'abonnement.

> **Supported products**


## OpenAPI

````yaml specs/2026-09/webhooks-journal-webhooks-journal-v2026-09.json POST /webhooks-journal/subscriptions/2026-09
openapi: 3.0.1
info:
  title: Webhooks Journal Webhooks Journal
  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
paths:
  /webhooks-journal/subscriptions/2026-09:
    post:
      tags:
        - Basic
      summary: Insérer un abonnement
      description: >-
        Créez un nouvel abonnement au journal de webhook pour le portail
        spécifié. Ce point de terminaison vous permet de définir les actions et
        les types d'objets que l'abonnement surveillera. Il nécessite un corps
        de requête avec les détails de l'abonnement.
      operationId: post-/webhooks-journal/subscriptions/2026-09
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubscriptionUpsertRequest'
        required: true
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionResponse'
        default:
          $ref: '#/components/responses/Error'
          description: ''
      security: []
components:
  schemas:
    SubscriptionUpsertRequest:
      properties: {}
      oneOf:
        - $ref: '#/components/schemas/ObjectSubscriptionUpsertRequest'
        - $ref: '#/components/schemas/AssociationSubscriptionUpsertRequest'
        - $ref: '#/components/schemas/AppLifecycleEventSubscriptionUpsertRequest'
        - $ref: '#/components/schemas/ListMembershipSubscriptionUpsertRequest'
        - $ref: '#/components/schemas/GdprPrivacyDeletionSubscriptionUpsertRequest'
    SubscriptionResponse:
      required:
        - actions
        - appId
        - createdAt
        - id
        - objectTypeId
        - subscriptionType
        - updatedAt
      type: object
      properties:
        actionOverrides:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ActionOverrideRequest'
          description: >-
            Un objet contenant des remplacements pour les actions, où chaque clé
            est une action et la valeur est un objet ActionOverrideRequest.
        actions:
          type: array
          description: "Un ensemble d'actions associées à l'abonnement. Les actions valides incluent «\_CREATE\_», «\_UPDATE\_», «\_DELETE\_», «\_MERGE\_», «\_RESTORE\_», «\_ASSOCIATION_ADDED\_», «\_ASSOCIATION_REMOVED\_», «\_SNAPSHOT\_», «\_APP_INSTALL\_», «\_APP_UNINSTALL\_», «\_ADDED_TO_LIST\_», «\_REMOVED_FROM_LIST\_» et «\_RGPD_DELETE\_»."
          items:
            type: string
            enum:
              - CREATE
              - UPDATE
              - DELETE
              - MERGE
              - RESTORE
              - ASSOCIATION_ADDED
              - ASSOCIATION_REMOVED
              - SNAPSHOT
              - APP_INSTALL
              - APP_UNINSTALL
              - ADDED_TO_LIST
              - REMOVED_FROM_LIST
              - GDPR_DELETE
        appId:
          type: integer
          description: >-
            L'identifiant unique de l'application associée à l'abonnement,
            représenté par un entier.
          format: int64
        associatedObjectTypeIds:
          type: array
          description: >-
            Un tableau de chaînes représentant les identifiants des types
            d'objets associés.
          items:
            type: string
        createdAt:
          type: string
          description: La date et l'heure de création de l'abonnement, au format ISO 8601.
          format: date-time
        createdBy:
          type: integer
          description: >-
            L'identifiant unique de l'utilisateur qui a créé l'abonnement,
            représenté par un entier.
          format: int64
        deletedAt:
          type: string
          description: >-
            La date et l'heure de suppression de l'abonnement, au format ISO
            8601, le cas échéant.
          format: date-time
        id:
          type: integer
          description: >-
            L'identifiant unique de l'abonnement, représenté sous forme d'un
            nombre entier.
          format: int64
        listIds:
          type: array
          description: >-
            Un tableau d'entiers représentant les ID des listes associées à
            l'abonnement.
          items:
            type: integer
            format: int64
        objectIds:
          type: array
          description: >-
            Un tableau d'entiers représentant les ID d'objets associés à
            l'abonnement.
          items:
            type: integer
            format: int64
        objectTypeId:
          type: string
          description: >-
            L'identifiant du type d'objet associé à l'abonnement, représenté
            sous forme de chaîne de caractères.
        portalId:
          type: integer
          description: >-
            L'identifiant unique du portail associé à l'abonnement, représenté
            par un entier.
          format: int64
        properties:
          type: array
          description: >-
            Un tableau de chaînes de caractères représentant les propriétés
            associées à l'abonnement.
          items:
            type: string
        subscriptionType:
          type: string
          description: >-
            Le type d'abonnement, indiquant la nature des événements auxquels il
            se rapporte. Les valeurs valides incluent « OBJECT », « ASSOCIATION
            », « EVENT », « APP_LIFECYCLE_EVENT », « LIST_MEMBERSHIP » et «
            RGPD_PRIVACY_DELETION ».
          enum:
            - APP_LIFECYCLE_EVENT
            - ASSOCIATION
            - EVENT
            - GDPR_PRIVACY_DELETION
            - LIST_MEMBERSHIP
            - OBJECT
        updatedAt:
          type: string
          description: >-
            La date et l'heure de la dernière mise à jour de l'abonnement, au
            format ISO 8601.
          format: date-time
    ObjectSubscriptionUpsertRequest:
      required:
        - actions
        - objectIds
        - objectTypeId
        - portalId
        - properties
        - subscriptionType
      type: object
      properties:
        actions:
          type: array
          description: "Un tableau de chaînes spécifiant les actions qui déclenchent l'abonnement. Les actions valides sont les suivantes\_: «\_CREATE\_», «\_UPDATE\_», «\_DELETE\_», «\_MERGE\_», «\_RESTORE\_», «\_ASSOCIATION_ADDED\_», «\_ASSOCIATION_REMOVED\_», «\_SNAPSHOT\_», «\_APP_INSTALL\_», «\_APP_UNINSTALL\_», «\_ADDED_TO_LIST\_», «\_REMOVED_FROM_LIST\_» et «\_RGPD_DELETE\_»."
          items:
            type: string
            enum:
              - CREATE
              - UPDATE
              - DELETE
              - MERGE
              - RESTORE
              - ASSOCIATION_ADDED
              - ASSOCIATION_REMOVED
              - SNAPSHOT
              - APP_INSTALL
              - APP_UNINSTALL
              - ADDED_TO_LIST
              - REMOVED_FROM_LIST
              - GDPR_DELETE
        objectIds:
          type: array
          description: >-
            Un tableau d'entiers spécifiant les identifiants uniques des objets
            impliqués dans l'abonnement.
          items:
            type: integer
            format: int64
        objectTypeId:
          type: string
          description: >-
            Une chaîne représentant l'identifiant unique du type d'objet pour
            lequel l'abonnement est créé ou mis à jour.
        portalId:
          type: integer
          description: Un entier représentant l'identifiant unique du portail HubSpot.
          format: int64
        properties:
          type: array
          description: >-
            Un tableau de chaînes de caractères listant les propriétés des
            objets qui sont pertinentes pour l'abonnement.
          items:
            type: string
        subscriptionType:
          type: string
          description: "Une chaîne indiquant le type d'abonnement, qui est toujours «\_OBJECT\_» pour cette demande."
          default: OBJECT
          enum:
            - OBJECT
      x-hubspot-sub-type-impl: true
    AssociationSubscriptionUpsertRequest:
      required:
        - actions
        - associatedObjectTypeIds
        - objectIds
        - objectTypeId
        - portalId
        - subscriptionType
      type: object
      properties:
        actions:
          type: array
          description: "Un tableau de chaînes spécifiant les actions qui déclenchent l’abonnement. Les actions valides incluent «\_CREATE\_», «\_UPDATE\_», «\_DELETE\_», «\_MERGE\_», «\_RESTORE\_», «\_ASSOCIATION_ADDED\_», «\_ASSOCIATION_REMOVED\_», «\_SNAPSHOT\_», «\_APP_INSTALL\_», «\_APP_UNINSTALL\_», «\_ADDED_TO_LIST\_», «\_REMOVED_FROM_LIST\_» et «\_RGPD_DELETE\_»."
          items:
            type: string
            enum:
              - CREATE
              - UPDATE
              - DELETE
              - MERGE
              - RESTORE
              - ASSOCIATION_ADDED
              - ASSOCIATION_REMOVED
              - SNAPSHOT
              - APP_INSTALL
              - APP_UNINSTALL
              - ADDED_TO_LIST
              - REMOVED_FROM_LIST
              - GDPR_DELETE
        associatedObjectTypeIds:
          type: array
          description: >-
            Un tableau de chaînes représentant les identifiants de type des
            objets associés dans l'abonnement.
          items:
            type: string
        objectIds:
          type: array
          description: >-
            Un tableau d'entiers représentant les identifiants uniques des
            objets impliqués dans l'abonnement.
          items:
            type: integer
            format: int64
        objectTypeId:
          type: string
          description: >-
            Une chaîne représentant l'identifiant de type de l'objet impliqué
            dans l'abonnement.
        portalId:
          type: integer
          description: Un entier représentant l'identifiant unique du portail HubSpot.
          format: int64
        subscriptionType:
          type: string
          description: "Une chaîne indiquant le type d’abonnement, qui est «\_ASSOCIATION\_» pour ce composant."
          default: ASSOCIATION
          enum:
            - ASSOCIATION
      x-hubspot-sub-type-impl: true
    AppLifecycleEventSubscriptionUpsertRequest:
      required:
        - eventTypeId
        - properties
        - subscriptionType
      type: object
      properties:
        eventTypeId:
          type: string
          description: >-
            Une chaîne représentant l'identifiant unique du type d'événement
            auquel l'abonnement est lié.
        properties:
          type: array
          description: >-
            Un tableau de chaînes spécifiant les propriétés associées au type
            d'événement qui doivent être incluses dans l'abonnement.
          items:
            type: string
        subscriptionType:
          type: string
          description: "Une chaîne indiquant le type d'abonnement, qui est «\_APP_LIFECYCLE_EVENT\_» par défaut."
          default: APP_LIFECYCLE_EVENT
          enum:
            - APP_LIFECYCLE_EVENT
      x-hubspot-sub-type-impl: true
    ListMembershipSubscriptionUpsertRequest:
      required:
        - actions
        - listIds
        - objectIds
        - portalId
        - subscriptionType
      type: object
      properties:
        actions:
          type: array
          description: >-
            Un tableau de chaînes de caractères spécifiant les actions qui
            déclenchent l'abonnement. Les actions valides incluent « CREATE », «
            UPDATE », « DELETE », « MERGE », « RESTORE », « ASSOCIATION_ADDED »,
            « ASSOCIATION_REMOVED », « SNAPSHOT », « APP_INSTALL », «
            APP_UNINSTALL », « ADDED_TO_LIST », « REMOVED_FROM_LIST » et «
            RGPD_DELETE ».
          items:
            type: string
            enum:
              - CREATE
              - UPDATE
              - DELETE
              - MERGE
              - RESTORE
              - ASSOCIATION_ADDED
              - ASSOCIATION_REMOVED
              - SNAPSHOT
              - APP_INSTALL
              - APP_UNINSTALL
              - ADDED_TO_LIST
              - REMOVED_FROM_LIST
              - GDPR_DELETE
        listIds:
          type: array
          description: >-
            Un tableau d'entiers représentant les identifiants uniques des
            listes impliquées dans l'abonnement.
          items:
            type: integer
            format: int64
        objectIds:
          type: array
          description: >-
            Un tableau d'entiers représentant les identifiants uniques des
            objets impliqués dans l'abonnement.
          items:
            type: integer
            format: int64
        portalId:
          type: integer
          description: >-
            Un entier représentant l'identifiant unique du portail dans lequel
            l'abonnement est géré.
          format: int64
        subscriptionType:
          type: string
          description: "Une chaîne indiquant le type d'abonnement. La valeur par défaut et la seule valeur valide est «\_LIST_MEMBERSHIP\_»."
          default: LIST_MEMBERSHIP
          enum:
            - LIST_MEMBERSHIP
      x-hubspot-sub-type-impl: true
    GdprPrivacyDeletionSubscriptionUpsertRequest:
      required:
        - actions
        - objectTypeId
        - portalId
        - subscriptionType
      type: object
      properties:
        actions:
          type: array
          description: "Un tableau d'actions pouvant déclencher l'abonnement, telles que «\_CREATE\_», «\_UPDATE\_», «\_DELETE\_» et «\_RGPD_DELETE\_»."
          items:
            type: string
            enum:
              - CREATE
              - UPDATE
              - DELETE
              - MERGE
              - RESTORE
              - ASSOCIATION_ADDED
              - ASSOCIATION_REMOVED
              - SNAPSHOT
              - APP_INSTALL
              - APP_UNINSTALL
              - ADDED_TO_LIST
              - REMOVED_FROM_LIST
              - GDPR_DELETE
        objectTypeId:
          type: string
          description: >-
            Une chaîne représentant l'identifiant unique du type d'objet associé
            à l'abonnement.
        portalId:
          type: integer
          description: "L'identifiant unique du portail HubSpot, représenté par un entier de 64\_bits."
          format: int64
        subscriptionType:
          type: string
          description: "Le type d'abonnement, qui est défini comme «\_RGPD_PRIVACY_DELETION\_»."
          default: GDPR_PRIVACY_DELETION
          enum:
            - GDPR_PRIVACY_DELETION
      x-hubspot-sub-type-impl: true
    ActionOverrideRequest:
      type: object
      properties:
        associatedObjectTypeIds:
          type: array
          description: >-
            Un tableau de chaînes de caractères représentant les identifiants
            des types d'objets associés impliqués dans l'action.
          items:
            type: string
        listIds:
          type: array
          description: >-
            Un tableau d'entiers (format int64) représentant les ID des listes
            impliquées dans l'action.
          items:
            type: integer
            format: int64
        objectIds:
          type: array
          description: >-
            Un tableau d'entiers (format int64) représentant les ID des objets
            impliqués dans l'action.
          items:
            type: integer
            format: int64
        properties:
          type: array
          description: >-
            Un tableau de chaînes représentant les propriétés à remplacer ou à
            spécifier pour l'action.
          items:
            type: string
    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
    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'

````