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

# Batch create event subscriptions

> Crie assinaturas de eventos em lote para o aplicativo especificado.

export const SupportedProducts = ({marketing, sales, service, cms, marketingLevel, salesLevel, serviceLevel, cmsLevel}) => {
  const translations = {
    header: "Produtos suportados",
    description: "Requer um dos seguintes produtos ou superior.",
    productNames: {
      marketing: "Marketing Hub",
      sales: "Sales Hub",
      service: "Service Hub",
      cms: "Content Hub"
    },
    tiers: {
      free: "Grátis",
      starter: "Starter",
      professional: "Professional",
      enterprise: "Enterprise"
    }
  };
  const translateTier = tier => {
    if (!tier) return '';
    const lowerTier = tier.toLowerCase();
    return translations.tiers[lowerTier] || tier;
  };
  const products = [{
    name: marketing ? translations.productNames.marketing : '',
    level: translateTier(marketingLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/marketing-bolt.svg",
    alt: "Marketing Hub"
  }, {
    name: sales ? translations.productNames.sales : '',
    level: translateTier(salesLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/sales-star.svg",
    alt: "Sales Hub"
  }, {
    name: service ? translations.productNames.service : '',
    level: translateTier(serviceLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/service-heart.svg",
    alt: "Service Hub"
  }, {
    name: cms ? translations.productNames.cms : '',
    level: translateTier(cmsLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/content-play.svg",
    alt: "Content Hub"
  }].filter(product => product.name && product.level);
  if (products.length === 0) return null;
  return <div>
      <div className="text-sm mb-2">{translations.description}</div>
      <div className={`grid ${products.length === 1 ? 'grid-cols-1' : 'grid-cols-2'} gap-1.5`}>
        {products.map((product, index) => <div key={index} style={{
    display: 'flex',
    alignItems: 'center'
  }}>
            <img src={product.icon} alt={product.alt} className="w-3.5 h-3.5 mr-1.5 mt-2.5 mb-2.5 flex-shrink-0 align-middle" />
            <span className="font-medium mr-1 text-sm">{product.name} -</span>
            <span className="text-sm">{product.level}</span>
          </div>)}
      </div>
    </div>;
};

<Accordion title="Supported products" defaultOpen="true" icon="cubes">
  <SupportedProducts marketing={true} sales={true} service={true} cms={true} marketingLevel="FREE" salesLevel="FREE" serviceLevel="FREE" cmsLevel="FREE" />
</Accordion>


## OpenAPI

````yaml specs/legacy/v3/webhooks-webhooks-v3.json POST /webhooks/v3/{appId}/subscriptions/batch/update
openapi: 3.0.1
info:
  title: Webhooks Webhooks
  description: >-
    Provides a way for apps to subscribe to certain change events in HubSpot.
    Once configured, apps will receive event payloads containing details about
    the changes at a specified target URL. There can only be one target URL for
    receiving event notifications per app.
  version: v3
  x-hubspot-product-tier-requirements:
    marketing: FREE
    sales: FREE
    service: FREE
    cms: FREE
    commerce: FREE
    crmHub: FREE
    dataHub: FREE
  x-hubspot-related-documentation:
    - name: Webhooks Guide
      url: https://developers.hubspot.com/docs/guides/api/webhooks/overview
servers:
  - url: https://api.hubapi.com
security: []
tags:
  - name: Basic
  - name: Batch
paths:
  /webhooks/v3/{appId}/subscriptions/batch/update:
    post:
      tags:
        - Batch
      summary: Criar assinaturas de eventos em lote
      description: Crie assinaturas de eventos em lote para o aplicativo especificado.
      operationId: post-/webhooks/v3/{appId}/subscriptions/batch/update_updateBatch
      parameters:
        - name: appId
          in: path
          description: O ID do aplicativo de destino.
          required: true
          style: simple
          explode: false
          schema:
            type: integer
            format: int32
      requestBody:
        description: Updated details for the specified subscriptions.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchInputSubscriptionBatchUpdateRequest'
        required: true
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchResponseSubscriptionResponse'
              example:
                completedAt: '2020-04-17T02:19:26.283Z'
                results:
                  - active: true
                    createdAt: '2019-06-06T16:56:16.652Z'
                    eventType: contact.propertyChange
                    id: '1234'
                    propertyName: firstname
                    updatedAt: '2019-08-06T16:56:16.652Z'
                  - active: false
                    createdAt: '2019-06-06T16:56:16.652Z'
                    eventType: contact.create
                    id: '4567'
                    updatedAt: '2019-08-06T16:56:16.652Z'
                startedAt: '2020-04-17T02:19:26.256Z'
                status: COMPLETE
        '207':
          description: multiple statuses
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/BatchResponseSubscriptionResponseWithErrors
              example:
                completedAt: '2020-04-17T02:19:26.283Z'
                errors:
                  - category: SUBSCRIPTION_ID_NOT_FOUND
                    context:
                      subscriptionIds:
                        - '4567'
                    message: >-
                      Failed to find subscriptions by id `4567`. Try again using
                      a different subscriptionId.
                    status: error
                    subCategory: SubscriptionErrors.SUBSCRIPTION_IDS_NOT_FOUND
                numErrors: 1
                results:
                  - active: true
                    createdAt: '2019-06-06T16:56:16.652Z'
                    eventType: contact.propertyChange
                    id: '1234'
                    propertyName: firstname
                    updatedAt: '2019-08-06T16:56:16.652Z'
                startedAt: '2020-04-17T02:19:26.256Z'
                status: COMPLETE
        default:
          $ref: '#/components/responses/Error'
          description: ''
      security:
        - oauth2:
            - developers-write
        - oauth2:
            - private-apps-write
components:
  schemas:
    BatchInputSubscriptionBatchUpdateRequest:
      required:
        - inputs
      type: object
      properties:
        inputs:
          type: array
          description: >-
            Uma matriz de objetos SubscriptionBatchUpdateRequest, cada um
            representando as configurações atualizadas para uma assinatura de
            webhook específica na operação em lote.
          items:
            $ref: '#/components/schemas/SubscriptionBatchUpdateRequest'
    BatchResponseSubscriptionResponse:
      required:
        - completedAt
        - results
        - startedAt
        - status
      type: object
      properties:
        completedAt:
          type: string
          description: >-
            A data/hora em que a operação em lote foi concluída, no formato ISO
            8601.
          format: date-time
        links:
          type: object
          additionalProperties:
            type: string
          description: Um objeto que contém URLs para recursos ou operações relacionadas.
        requestedAt:
          type: string
          description: >-
            A data/hora em que a operação em lote foi solicitada, no formato ISO
            8601.
          format: date-time
        results:
          type: array
          description: >-
            Uma matriz contendo as assinaturas de webhook processadas com
            sucesso a partir da operação em lote.
          items:
            $ref: '#/components/schemas/SubscriptionResponse'
        startedAt:
          type: string
          description: >-
            A data/hora em que a operação em lote começou a ser processada, no
            formato ISO 8601.
          format: date-time
        status:
          type: string
          description: >-
            O status da operação em lote. Os valores aceitos são "PENDING",
            "PROCESSING", "CANCELED" ou "COMPLETE".
          enum:
            - CANCELED
            - COMPLETE
            - PENDING
            - PROCESSING
    BatchResponseSubscriptionResponseWithErrors:
      required:
        - completedAt
        - results
        - startedAt
        - status
      type: object
      properties:
        completedAt:
          type: string
          description: >-
            A data/hora em que a operação em lote foi concluída, no formato ISO
            8601 (por exemplo, 2020-02-29T12:30:00Z).
          format: date-time
        errors:
          type: array
          description: >-
            Uma matriz contendo detalhes de erro para quaisquer assinaturas que
            não puderam ser processadas durante a operação em lote.
          items:
            $ref: '#/components/schemas/StandardError'
        links:
          type: object
          additionalProperties:
            type: string
          description: Um objeto que contém URLs para recursos ou operações relacionadas.
        numErrors:
          type: integer
          description: O número de erros que ocorreram durante a operação em lote.
          format: int32
        requestedAt:
          type: string
          description: >-
            A data/hora em que a operação em lote foi solicitada, no formato ISO
            8601 (por exemplo, 2020-02-29T12:30:00Z).
          format: date-time
        results:
          type: array
          description: >-
            Uma matriz contendo as assinaturas de webhook processadas com
            sucesso a partir da operação em lote.
          items:
            $ref: '#/components/schemas/SubscriptionResponse'
        startedAt:
          type: string
          description: >-
            A data/hora em que a operação em lote começou a ser processada, no
            formato ISO 8601 (por exemplo, 2020-02-29T12:30:00Z).
          format: date-time
        status:
          type: string
          description: >-
            O status da operação em lote. Os valores aceitos são PENDING,
            PROCESSING, CANCELED ou COMPLETE.
          enum:
            - CANCELED
            - COMPLETE
            - PENDING
            - PROCESSING
      description: >-
        Response for batch operations on webhook subscriptions, containing
        successful results and any errors that occurred.
      example:
        completedAt: '2020-04-17T02:19:26.283Z'
        errors:
          - category: SUBSCRIPTION_ID_NOT_FOUND
            message: Failed to find subscriptions by id `4567`.
            status: error
        numErrors: 1
        results:
          - active: true
            createdAt: '2019-06-06T16:56:16.652Z'
            eventType: contact.propertyChange
            id: '1234'
            propertyName: firstname
            updatedAt: '2019-08-06T16:56:16.652Z'
        startedAt: '2020-04-17T02:19:26.256Z'
        status: COMPLETE
    SubscriptionBatchUpdateRequest:
      required:
        - active
        - id
      type: object
      properties:
        active:
          type: boolean
          description: >-
            Indica se a assinatura do webhook deve ser ativada ou pausada. Se
            for "true", a assinatura enviará notificações de webhook. Se for
            "false", a assinatura será pausada e não enviará notificações. É um
            booleano.
        id:
          type: integer
          description: O ID da assinatura de webhook a ser atualizada. É um número inteiro.
          format: int32
      description: Updated settings for a webhook subscription in a batch update operation.
      example:
        active: true
        id: 12
    SubscriptionResponse:
      required:
        - active
        - createdAt
        - eventType
        - id
      type: object
      properties:
        active:
          type: boolean
          description: >-
            Indica se a assinatura está ativa ou pausada. Se for "true", a
            assinatura enviará notificações de webhook. Se for "false", a
            assinatura será pausada e não enviará notificações.
        createdAt:
          type: string
          description: >-
            A data/hora em que a assinatura do webhook foi criada, no formato
            ISO 8601 (por exemplo, 2020-02-29T12:30:00Z).
          format: date-time
        eventType:
          type: string
          description: >-
            O tipo de evento a ser monitorado. Os valores aceitos incluem
            contact.creation, contact.deletion, contact.propertyChange e tipos
            de eventos semelhantes para outros objetos do CRM e objetos
            personalizados.
          enum:
            - company.associationChange
            - company.creation
            - company.deletion
            - company.merge
            - company.propertyChange
            - company.restore
            - contact.associationChange
            - contact.creation
            - contact.deletion
            - contact.merge
            - contact.privacyDeletion
            - contact.propertyChange
            - contact.restore
            - conversation.creation
            - conversation.deletion
            - conversation.newMessage
            - conversation.privacyDeletion
            - conversation.propertyChange
            - deal.associationChange
            - deal.creation
            - deal.deletion
            - deal.merge
            - deal.propertyChange
            - deal.restore
            - event.completed
            - line_item.associationChange
            - line_item.creation
            - line_item.deletion
            - line_item.merge
            - line_item.propertyChange
            - line_item.restore
            - object.associationChange
            - object.creation
            - object.deletion
            - object.merge
            - object.propertyChange
            - object.restore
            - product.creation
            - product.deletion
            - product.merge
            - product.propertyChange
            - product.restore
            - ticket.associationChange
            - ticket.creation
            - ticket.deletion
            - ticket.merge
            - ticket.propertyChange
            - ticket.restore
        eventTypeName:
          type: string
          description: >-
            O nome do evento a ser monitorado. Isso é usado com objetos
            personalizados para especificar tipos de eventos personalizados além
            dos valores padrão de enumeração eventType.
        id:
          type: string
          description: O ID exclusivo da assinatura do webhook.
        objectTypeId:
          type: string
          description: >-
            O ID do objeto para a assinatura. Pode ser um objeto dp CRM padrão
            (por exemplo, "contato", "registro de empresa", "negócio") ou um ID
            de objeto personalizado para assinaturas de objetos personalizados.
        propertyName:
          type: string
          description: >-
            O nome interno da propriedade a ser monitorada quanto a alterações.
            Somente se aplica quando eventType é propertyChange.
        updatedAt:
          type: string
          description: >-
            A data/hora da última atualização da assinatura do webhook, no
            formato ISO 8601 (por exemplo, 2020-02-29T12:30:00Z).
          format: date-time
      description: Complete details for an event subscription.
    StandardError:
      required:
        - category
        - context
        - errors
        - links
        - message
        - status
      type: object
      properties:
        category:
          type: string
          description: Uma string que indica a categoria do erro.
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: >-
            Um objeto que contém o contexto sobre a condição de erro, com
            propriedades adicionais como matrizes de strings.
        errors:
          type: array
          description: >-
            Uma matriz de objetos ErrorDetail, cada um fornecendo mais
            informações sobre erros individuais.
          items:
            $ref: '#/components/schemas/ErrorDetail'
        id:
          type: string
          description: Uma string que representa o identificador exclusivo do erro.
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            Um objeto que mapeia nomes de links a URIs associadas, que contêm
            documentação sobre o erro ou as etapas de correção recomendadas.
        message:
          type: string
          description: >-
            Uma string contendo uma mensagem legível por humanos que descreve o
            erro.
        status:
          type: string
          description: Uma string que indica o status do erro.
        subCategory:
          type: object
          properties: {}
          description: >-
            Um objeto que fornece uma categorização adicional e mais específica
            do erro.
      description: >-
        Representa uma resposta de erro padrão na API do HubSpot, fornecendo
        informações detalhadas sobre um erro ocorrido durante uma solicitação de
        API.
    Error:
      required:
        - category
        - correlationId
        - message
      type: object
      properties:
        category:
          type: string
          description: A categoria do erro, representada como uma string.
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: >-
            Um objeto que contém o contexto sobre a condição de erro. Isso
            inclui propriedades adicionais, cada uma delas sendo uma matriz de
            strings.
          example: >-
            {invalidPropertyName=[propertyValue], missingScopes=[scope1,
            scope2]}
        correlationId:
          type: string
          description: >-
            Um identificador exclusivo da solicitação, formatado como um UUID.
            Inclua este valor em todos os relatórios de erro ou tickets de
            suporte.
          format: uuid
          example: aeb5f871-7f07-4993-9211-075dc63e7cbf
        errors:
          type: array
          description: >-
            Uma matriz que fornece mais informações sobre o erro. Cada item na
            matriz é um objeto ErrorDetail.
          items:
            $ref: '#/components/schemas/ErrorDetail'
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            Um mapa de nomes de links para URIs associados que contêm
            documentação sobre o erro ou etapas de correção recomendadas. Este é
            um objeto com propriedades de string.
        message:
          type: string
          description: >-
            Uma mensagem legível por humanos que descreve o erro, juntamente com
            as etapas de correção, quando apropriado. Esta é uma string.
          example: An error occurred
        subCategory:
          type: string
          description: >-
            Uma categoria específica que fornece informações mais detalhadas
            sobre o erro. Esta é uma string.
      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: O código de status associado ao detalhe do erro.
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: >-
            Contexto sobre a condição de erro, fornecido como um objeto com
            propriedades adicionais.
          example: '{missingScopes=[scope1, scope2]}'
        in:
          type: string
          description: O nome do campo ou parâmetro no qual o erro foi encontrado.
        message:
          type: string
          description: >-
            Uma mensagem legível por humanos que descreve o erro, juntamente com
            as etapas de correção, quando apropriado.
        subCategory:
          type: string
          description: >-
            Uma categoria específica que contém mais detalhes específicos sobre
            o erro.
  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:
            developers-read: ''
            developers-write: ''
            private-apps-read: ''
            private-apps-write: ''

````