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

# Update campaigns

> Ce point de terminaison d'API met à jour un lot de campagnes en fonction des données d'entrée fournies.
Le nombre maximum d'éléments dans une requête de lot est de 50.
Si une chaîne vide («») est passée pour une propriété dans la mise à jour de lot, la valeur de cette propriété sera réinitialisée.

export const ScopesList = ({scopes = [], description = "Cette API requiert l'une des portées suivantes :"}) => {
  if (!scopes || scopes.length === 0) {
    return null;
  }
  const sortedScopes = scopes.sort((a, b) => a.localeCompare(b));
  return <div>
      <div className="text-sm mb-2">{description}</div>
      <div>
        {sortedScopes.map((scope, index) => <div key={index}>
            <code>
              <span className="text-xs">{scope}</span>
            </code>
          </div>)}
      </div>
    </div>;
};

export const SupportedProducts = ({marketing, sales, service, cms, marketingLevel, salesLevel, serviceLevel, cmsLevel}) => {
  const translations = {
    header: "Produits pris en charge",
    description: "Exige l'un des produits suivants ou un produit supérieur.",
    productNames: {
      marketing: "Marketing Hub",
      sales: "Sales Hub",
      service: "Service Hub",
      cms: "Content Hub"
    },
    tiers: {
      free: "Gratuit",
      starter: "Starter",
      professional: "Pro",
      enterprise: "Entreprise"
    }
  };
  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>;
};

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

  <Accordion title="Required Scopes" icon="key">
    <ScopesList
      scopes={[
  'marketing.campaigns.write'
]}
    />
  </Accordion>
</AccordionGroup>


## OpenAPI

````yaml specs/legacy/v3/marketing-campaigns-public-api-v3.json POST /marketing/v3/campaigns/batch/update
openapi: 3.0.1
info:
  title: Marketing Campaigns Public Api
  description: Basepom for all HubSpot Projects
  version: v3
  x-hubspot-product-tier-requirements:
    marketing: PROFESSIONAL
    sales: FREE
    service: FREE
    cms: FREE
    commerce: FREE
    crmHub: FREE
    dataHub: FREE
  x-hubspot-related-documentation:
    - name: Campaigns
      url: https://developers.hubspot.com/docs/guides/api/marketing/campaigns
servers:
  - url: https://api.hubapi.com
security: []
tags:
  - name: Assets
  - name: Basic
  - name: Batch
  - name: Budget
  - name: Metrics
  - name: Spend
paths:
  /marketing/v3/campaigns/batch/update:
    post:
      tags:
        - Batch
      summary: Mettre à jour un lot de campagnes
      description: >-
        Ce point de terminaison d'API met à jour un lot de campagnes en fonction
        des données d'entrée fournies.

        Le nombre maximum d'éléments dans une requête de lot est de 50.

        Si une chaîne vide («») est passée pour une propriété dans la mise à
        jour de lot, la valeur de cette propriété sera réinitialisée.
      operationId: post-/marketing/v3/campaigns/batch/update
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchInputPublicCampaignBatchUpdateItem'
        required: true
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchResponsePublicCampaign'
        '207':
          description: multiple statuses
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchResponsePublicCampaignWithErrors'
        default:
          $ref: '#/components/responses/Error'
          description: ''
      security:
        - oauth2:
            - marketing.campaigns.write
components:
  schemas:
    BatchInputPublicCampaignBatchUpdateItem:
      required:
        - inputs
      type: object
      properties:
        inputs:
          type: array
          description: >-
            Un tableau d'objets PublicCampaignBatchUpdateItem, chacun contenant
            l'ID et les propriétés à mettre à jour pour une campagne spécifique.
          items:
            $ref: '#/components/schemas/PublicCampaignBatchUpdateItem'
    BatchResponsePublicCampaign:
      required:
        - completedAt
        - results
        - startedAt
        - status
      type: object
      properties:
        completedAt:
          type: string
          description: >-
            La date et l'heure de la fin de l'opération par lot, formatées en
            tant que chaîne date-heure.
          format: date-time
        links:
          type: object
          additionalProperties:
            type: string
          description: Une carte des liens associés à l'opération par lot.
        requestedAt:
          type: string
          description: >-
            La date et l'heure auxquelles l'opération par lot a été demandée,
            formatées en tant que chaîne date-heure.
          format: date-time
        results:
          type: array
          description: >-
            Un tableau de résultats de l'opération par lot, chaque élément
            représentant une campagne publique.
          items:
            $ref: '#/components/schemas/PublicCampaign'
        startedAt:
          type: string
          description: >-
            La date et l'heure du début de l'opération par lot, formatées en
            tant que chaîne date-heure.
          format: date-time
        status:
          type: string
          description: "Statut actuel de l'opération par lots, avec les valeurs possibles suivantes\_: ANNULÉ, TERMINÉ, EN ATTENTE, EN COURS DE TRAITEMENT."
          enum:
            - CANCELED
            - COMPLETE
            - PENDING
            - PROCESSING
    BatchResponsePublicCampaignWithErrors:
      required:
        - completedAt
        - results
        - startedAt
        - status
      type: object
      properties:
        completedAt:
          type: string
          description: La date et l'heure de la fin de l'opération par lot.
          format: date-time
        errors:
          type: array
          description: >-
            La liste des erreurs pour les opérations de campagne individuelles
            qui ont échoué dans le lot. Incluse uniquement si elle n'est pas
            vide.
          items:
            $ref: '#/components/schemas/StandardError'
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            URL renvoyant vers des ressources ou de la documentation associées à
            l'opération par lots.
        numErrors:
          type: integer
          description: Le nombre total d'erreurs rencontrées pendant l'opération par lot.
          format: int32
        requestedAt:
          type: string
          description: La date et l'heure auxquelles la demande par lot a été faite.
          format: date-time
        results:
          type: array
          description: |
            La liste des campagnes créées ou mises à jour avec succès.
          items:
            $ref: '#/components/schemas/PublicCampaign'
        startedAt:
          type: string
          description: La date et l'heure du début de l'opération par lots.
          format: date-time
        status:
          type: string
          description: "Statut actuel de l'opération par lots. Les valeurs acceptées sont\_: ANNULÉ, TERMINÉ, EN ATTENTE, EN COURS DE TRAITEMENT."
          enum:
            - CANCELED
            - COMPLETE
            - PENDING
            - PROCESSING
    PublicCampaignBatchUpdateItem:
      required:
        - id
        - properties
      type: object
      properties:
        id:
          type: string
          description: Identifiant unique de la campagne à mettre à jour.
        properties:
          type: object
          additionalProperties:
            type: string
          description: >-
            Ensemble de paires clé-valeur représentant les propriétés à mettre à
            jour pour la campagne.
    PublicCampaign:
      required:
        - businessUnits
        - createdAt
        - id
        - properties
        - updatedAt
      type: object
      properties:
        businessUnits:
          type: array
          description: >-
            Un tableau d'unités commerciales associées à la campagne, chacune
            représentée par un objet PublicBusinessUnit.
          items:
            $ref: '#/components/schemas/PublicBusinessUnit'
        createdAt:
          type: string
          description: >-
            Date et heure de création de la campagne, au format chaîne
            date-heure.
          format: date-time
        id:
          type: string
          description: Identifiant unique de la campagne.
        properties:
          type: object
          additionalProperties:
            type: string
          description: >-
            Ensemble de paires clé-valeur représentant les propriétés
            supplémentaires de la campagne.
        updatedAt:
          type: string
          description: >-
            Date et heure de la dernière mise à jour de la campagne, au format
            chaîne date-heure.
          format: date-time
    StandardError:
      required:
        - category
        - context
        - errors
        - links
        - message
        - status
      type: object
      properties:
        category:
          type: string
          description: La catégorie principale de l'erreur.
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Informations contextuelles supplémentaires relatives à l'erreur.
        errors:
          type: array
          description: Les objets d'erreur détaillés.
          items:
            $ref: '#/components/schemas/ErrorDetail'
        id:
          type: string
          description: Un identifiant unique pour l'instance d'erreur.
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            URL renvoyant à la documentation ou aux ressources associées à
            l'erreur.
        message:
          type: string
          description: >-
            Chaîne lisible par l'homme décrivant l'erreur et les mesures
            correctives possibles.
        status:
          type: string
          description: Le code d'état HTTP associé à l'erreur.
        subCategory:
          type: object
          properties: {}
          description: >-
            Une catégorie d'erreurs plus spécifique au sein de chaque catégorie
            principale.
      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
    PublicBusinessUnit:
      required:
        - id
      type: object
      properties:
        id:
          type: integer
          description: >-
            Identifiant unique de l'unité commerciale, représenté sous forme
            d'un nombre entier.
          format: int64
    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:
            marketing.campaigns.read: ''
            marketing.campaigns.revenue.read: ''
            marketing.campaigns.write: ''

````