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

# Get campaigns

> Ce point de terminaison d'API lit un lot de campagnes basé sur les données d'entrée fournies et affiche les campagnes ainsi que leurs ressources associées. 
Le nombre maximum d'éléments dans une requête de lot est de 50.
Il n'est pas garanti que les campagnes dans la réponse soient dans le même ordre que celui fourni dans la demande.
Si des identifiants de campagne en double sont fournis dans la demande, les doublons seront ignorés. La réponse inclura uniquement des identifiants uniques et sera renvoyée sans doublons.
.


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.read'
]}
    />
  </Accordion>
</AccordionGroup>


## OpenAPI

````yaml specs/legacy/v3/marketing-campaigns-public-api-v3.json POST /marketing/v3/campaigns/batch/read
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/read:
    post:
      tags:
        - Batch
      summary: Lire un lot de campagnes
      description: >
        Ce point de terminaison d'API lit un lot de campagnes basé sur les
        données d'entrée fournies et affiche les campagnes ainsi que leurs
        ressources associées. 

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

        Il n'est pas garanti que les campagnes dans la réponse soient dans le
        même ordre que celui fourni dans la demande.

        Si des identifiants de campagne en double sont fournis dans la demande,
        les doublons seront ignorés. La réponse inclura uniquement des
        identifiants uniques et sera renvoyée sans doublons.

        .
      operationId: post-/marketing/v3/campaigns/batch/read
      parameters:
        - name: endDate
          in: query
          description: "Date de fin pour récupérer les indicateurs de ressources, au format JJ-MM-AAAA. Cette date est utilisée pour récupérer les indicateurs associés aux ressources pour une période spécifiée. Si elle n'est pas fournie, aucun indicateur de ressources ne sera récupéré.\nExemple\_: 27-01-2024"
          required: false
          style: form
          explode: true
          schema:
            type: string
        - name: properties
          in: query
          description: "Une liste de propriétés séparées par des virgules à afficher dans la réponse. Si l'une des propriétés spécifiées a une valeur vide sur l'objet/les objets demandé(s), elle sera ignorée et ne sera pas affichée dans la réponse. Si ce paramètre est vide, la réponse inclura une carte de propriétés vide.\nExemple\_: hs_name, hs_campaign_status, hs_notes"
          required: false
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: startDate
          in: query
          description: "Date de début pour récupérer les indicateurs de ressources, au format JJ-MM-AAAA. Cette date est utilisée pour récupérer les indicateurs associés aux ressources pour une période spécifiée. Si elle n'est pas fournie, aucun indicateur de ressources ne sera récupéré.\nExemple\_: 20-01-2023"
          required: false
          style: form
          explode: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchInputPublicCampaignReadInput'
        required: true
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchResponsePublicCampaignWithAssets'
        '207':
          description: multiple statuses
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/BatchResponsePublicCampaignWithAssetsWithErrors
        default:
          $ref: '#/components/responses/Error'
          description: ''
      security:
        - oauth2:
            - marketing.campaigns.read
components:
  schemas:
    BatchInputPublicCampaignReadInput:
      required:
        - inputs
      type: object
      properties:
        inputs:
          type: array
          description: >-
            Un tableau d’objets PublicCampaignReadInput, chacun contenant l’ID
            d’une campagne à lire. Cette propriété est obligatoire.
          items:
            $ref: '#/components/schemas/PublicCampaignReadInput'
    BatchResponsePublicCampaignWithAssets:
      required:
        - completedAt
        - results
        - startedAt
        - status
      type: object
      properties:
        completedAt:
          type: string
          description: >-
            L'horodatage du moment où le traitement de la demande par lots a été
            terminé.
          format: date-time
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            Une collection d'URL renvoyant vers des ressources ou de la
            documentation connexes.
        requestedAt:
          type: string
          description: >-
            L'horodatage du moment où la requête de lot a été faite
            initialement.
          format: date-time
        results:
          type: array
          description: >-
            Un tableau de résultats de l'opération par lot, chacun représentant
            une campagne publique avec des ressources.
          items:
            $ref: '#/components/schemas/PublicCampaignWithAssets'
        startedAt:
          type: string
          description: L'horodatage du début du traitement de la requête de lot.
          format: date-time
        status:
          type: string
          description: "Statut actuel du traitement de l'opération par lots, avec les valeurs possibles suivantes\_: ANNULÉ, TERMINÉ, EN ATTENTE, EN COURS DE TRAITEMENT."
          enum:
            - CANCELED
            - COMPLETE
            - PENDING
            - PROCESSING
    BatchResponsePublicCampaignWithAssetsWithErrors:
      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 lectures de campagnes individuelles
            qui ont échoué dans le lot (par exemple, campagne introuvable,
            autorisation refusée). Incluse uniquement si elle n'est pas vide.  
          items:
            $ref: '#/components/schemas/StandardError'
        links:
          type: object
          additionalProperties:
            type: string
          description: Une collection de liens associés à l'opération par lots.
        numErrors:
          type: integer
          description: Le nombre d'erreurs survenues pendant l'opération par lot.
          format: int32
        requestedAt:
          type: string
          description: La date et l'heure auxquelles l'opération par lot a été demandée.
          format: date-time
        results:
          type: array
          description: >-
            La liste des campagnes récupérées avec succès et de leurs ressources
            associées.
          items:
            $ref: '#/components/schemas/PublicCampaignWithAssets'
        startedAt:
          type: string
          description: La date et l'heure du début de l'opération par lot.
          format: date-time
        status:
          type: string
          description: >-
            Le statut actuel de l'opération par lots, qui peut être ANNULÉ,
            TERMINÉ, EN ATTENTE ou EN COURS DE TRAITEMENT.
          enum:
            - CANCELED
            - COMPLETE
            - PENDING
            - PROCESSING
    PublicCampaignReadInput:
      required:
        - id
      type: object
      properties:
        id:
          type: string
          description: Identifiant unique d'une campagne.
    PublicCampaignWithAssets:
      required:
        - assets
        - businessUnits
        - createdAt
        - id
        - properties
        - updatedAt
      type: object
      properties:
        assets:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/CollectionResponsePublicCampaignAsset'
          description: >-
            Contient les ressources associées à la campagne, chacune étant
            représentée comme un ensemble de ressources de campagne.
        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: >-
            Une carte des paires clé-valeur représentant les propriétés 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
    CollectionResponsePublicCampaignAsset:
      required:
        - results
      type: object
      properties:
        paging:
          $ref: '#/components/schemas/Paging'
        results:
          type: array
          description: >-
            Un tableau d'éléments de campagne publics. Chaque élément du tableau
            est une référence à un objet PublicCampaignAsset.
          items:
            $ref: '#/components/schemas/PublicCampaignAsset'
    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.
    Paging:
      type: object
      properties:
        next:
          $ref: '#/components/schemas/NextPage'
        prev:
          $ref: '#/components/schemas/PreviousPage'
    PublicCampaignAsset:
      required:
        - id
      type: object
      properties:
        id:
          type: string
          description: Identifiant unique de la ressource de campagne.
        metrics:
          type: object
          additionalProperties:
            type: number
          description: >-
            Ensemble de métriques associées à la ressource de campagne,
            représentées sous forme de paires clé-valeur.
        name:
          type: string
          description: Le nom de la ressource de campagne.
    NextPage:
      required:
        - after
      type: object
      properties:
        after:
          type: string
          description: >-
            Un jeton de curseur de pagination pour récupérer les pages
            suivantes.
        link:
          type: string
          description: >-
            Une URL qui peut être utilisée pour récupérer les résultats de la
            page suivante.
      description: >-
        Spécifie les informations de pagination nécessaires pour récupérer le
        prochain ensemble de résultats dans une réponse d'API paginée
    PreviousPage:
      required:
        - before
      type: object
      properties:
        before:
          type: string
          description: >-
            Un jeton de curseur de pagination pour récupérer les pages
            précédentes.
        link:
          type: string
          description: >-
            Une URL qui peut être utilisée pour récupérer les résultats des
            pages précédentes.
      description: >-
        spécifie les informations de pagination nécessaires pour récupérer
        l'ensemble de résultats précédent dans une réponse d'API paginée
  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: ''

````