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

# Get campaigns

> Este ponto de extremidade lê um lote de campanhas com base nos dados de entrada fornecidos e retorna as campanhas junto com seus ativos associados.
O número máximo de itens em uma solicitação em lote é 50.
Não há garantia de que as campanhas na resposta estarão na mesma ordem em que foram fornecidas na solicitação.
Se IDs de campanha duplicados forem fornecidos na solicitação, os itens duplicados serão ignorados. A resposta incluirá apenas IDs exclusivos e será retornada sem itens duplicados.


export const ScopesList = ({scopes = [], description = "Esta API requer um dos seguintes escopos:"}) => {
  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: "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>;
};

<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: Ler um lote de campanhas
      description: >
        Este ponto de extremidade lê um lote de campanhas com base nos dados de
        entrada fornecidos e retorna as campanhas junto com seus ativos
        associados.

        O número máximo de itens em uma solicitação em lote é 50.

        Não há garantia de que as campanhas na resposta estarão na mesma ordem
        em que foram fornecidas na solicitação.

        Se IDs de campanha duplicados forem fornecidos na solicitação, os itens
        duplicados serão ignorados. A resposta incluirá apenas IDs exclusivos e
        será retornada sem itens duplicados.
      operationId: post-/marketing/v3/campaigns/batch/read
      parameters:
        - name: endDate
          in: query
          description: >-
            Data de término para buscar métricas de ativos, formatada como
            AAAA-MM-DD. Esta data é usada para buscar as métricas associadas aos
            ativos para um período especificado.  Se não for fornecida, nenhuma
            métrica de ativo será buscada.

            Exemplo: 2024-01-27
          required: false
          style: form
          explode: true
          schema:
            type: string
        - name: properties
          in: query
          description: >-
            Uma lista separada por vírgulas das propriedades a serem retornadas
            na resposta. Se alguma das propriedades especificadas tiver valor
            vazio no(s) objeto(s) solicitado(s), ela será ignorada e não será
            retornada na resposta. Se este parâmetro estiver vazio, a resposta
            incluirá um mapa de propriedades vazio.

            Exemplo: hs_name, hs_campaign_status, hs_notes
          required: false
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: startDate
          in: query
          description: >-
            Data de início para buscar métricas de ativos, formatada como
            AAAA-MM-DD. Esta data é usada para buscar as métricas associadas aos
            ativos para um período especificado.  Se não for fornecida, nenhuma
            métrica de ativo será buscada.

            Exemplo: 2023-01-20
          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: >-
            Uma matriz de objetos PublicCampaignReadInput, cada um contendo o ID
            de uma campanha a ser lida. Esta propriedade é obrigatória.
          items:
            $ref: '#/components/schemas/PublicCampaignReadInput'
    BatchResponsePublicCampaignWithAssets:
      required:
        - completedAt
        - results
        - startedAt
        - status
      type: object
      properties:
        completedAt:
          type: string
          description: >-
            A data e a hora em que o processamento da solicitação em lote foi
            concluído.
          format: date-time
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            Uma coleção de URLs com links para recursos ou documentação
            relacionados.
        requestedAt:
          type: string
          description: A data e a hora em que a solicitação em lote foi feita inicialmente.
          format: date-time
        results:
          type: array
          description: >-
            Uma matriz de resultados da operação em lote. Cada um deles
            representa uma campanha pública com ativos.
          items:
            $ref: '#/components/schemas/PublicCampaignWithAssets'
        startedAt:
          type: string
          description: >-
            A data e a hora em que o processamento da solicitação em lote
            começou.
          format: date-time
        status:
          type: string
          description: >-
            O status de processamento atual da operação em lote. Os valores
            possíveis são: CANCELADO, CONCLUÍDO, PENDENTE, PROCESSANDO.
          enum:
            - CANCELED
            - COMPLETE
            - PENDING
            - PROCESSING
    BatchResponsePublicCampaignWithAssetsWithErrors:
      required:
        - completedAt
        - results
        - startedAt
        - status
      type: object
      properties:
        completedAt:
          type: string
          description: A data e a hora em que a operação em lote foi concluída.
          format: date-time
        errors:
          type: array
          description: >-
            A lista de erros para leituras de campanha individuais que falharam
            no lote (por exemplo, campanha não encontrada, permissão negada).
            Incluída apenas quando não vazia.  
          items:
            $ref: '#/components/schemas/StandardError'
        links:
          type: object
          additionalProperties:
            type: string
          description: Um conjunto de links relacionados à operação em lote.
        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 e a hora em que a operação em lote foi solicitada.
          format: date-time
        results:
          type: array
          description: >-
            A lista de campanhas recuperadas com sucesso e seus ativos
            associados.
          items:
            $ref: '#/components/schemas/PublicCampaignWithAssets'
        startedAt:
          type: string
          description: A data e a hora em que a operação em lote começou.
          format: date-time
        status:
          type: string
          description: >-
            O status atual da operação em lote, que pode ser CANCELADO,
            CONCLUÍDO, PENDENTE ou PROCESSANDO.
          enum:
            - CANCELED
            - COMPLETE
            - PENDING
            - PROCESSING
    PublicCampaignReadInput:
      required:
        - id
      type: object
      properties:
        id:
          type: string
          description: O identificador exclusivo de uma campanha.
    PublicCampaignWithAssets:
      required:
        - assets
        - businessUnits
        - createdAt
        - id
        - properties
        - updatedAt
      type: object
      properties:
        assets:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/CollectionResponsePublicCampaignAsset'
          description: >-
            Contém os recursos associados à campanha, cada um representado como
            um conjunto de ativos da campanha.
        businessUnits:
          type: array
          description: >-
            Uma matriz de unidades de negócios associadas à campanha, cada uma
            representada por um objeto PublicBusinessUnit.
          items:
            $ref: '#/components/schemas/PublicBusinessUnit'
        createdAt:
          type: string
          description: >-
            A data e a hora de criação da campanha, formatadas como uma string
            de data e hora.
          format: date-time
        id:
          type: string
          description: O identificador exclusivo da campanha.
        properties:
          type: object
          additionalProperties:
            type: string
          description: >-
            Um mapa de pares chave-valor representando as propriedades da
            campanha.
        updatedAt:
          type: string
          description: >-
            A data e a hora da última atualização da campanha, formatadas como
            uma string de data e hora.
          format: date-time
    StandardError:
      required:
        - category
        - context
        - errors
        - links
        - message
        - status
      type: object
      properties:
        category:
          type: string
          description: A categoria principal do erro.
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Informações adicionais específicas do contexto relacionadas ao erro.
        errors:
          type: array
          description: Os objetos de erro detalhados.
          items:
            $ref: '#/components/schemas/ErrorDetail'
        id:
          type: string
          description: Um ID exclusivo para a instância de erro.
        links:
          type: object
          additionalProperties:
            type: string
          description: URLs com links para documentação ou recursos associados ao erro.
        message:
          type: string
          description: >-
            Uma string legível que descreve o erro e possíveis etapas de
            correção.
        status:
          type: string
          description: O código de status HTTP associado ao erro.
        subCategory:
          type: object
          properties: {}
          description: >-
            Uma categoria de erro mais específica dentro de cada categoria
            principal.
      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 de erro
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Contexto sobre a condição do erro
          example: >-
            {invalidPropertyName=[propertyValue], missingScopes=[scope1,
            scope2]}
        correlationId:
          type: string
          description: >-
            Um identificador exclusivo para a solicitação. Inclua este valor em
            relatórios de erro ou tickets de suporte
          format: uuid
          example: aeb5f871-7f07-4993-9211-075dc63e7cbf
        errors:
          type: array
          description: mais informações sobre o erro
          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 as etapas de correção recomendadas
        message:
          type: string
          description: >-
            Uma mensagem legível por humanos que descreve o erro, juntamente com
            as etapas de correção, quando apropriado
          example: An error occurred
        subCategory:
          type: string
          description: >-
            Uma categoria específica que contém mais detalhes específicos sobre
            o erro
      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: >-
            Uma matriz de ativos de campanha públicos. Cada item na matriz é uma
            referência a um objeto PublicCampaignAsset.
          items:
            $ref: '#/components/schemas/PublicCampaignAsset'
    PublicBusinessUnit:
      required:
        - id
      type: object
      properties:
        id:
          type: integer
          description: >-
            O identificador exclusivo da unidade de negócios, representado por
            um número inteiro.
          format: int64
    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 do erro
          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
    Paging:
      type: object
      properties:
        next:
          $ref: '#/components/schemas/NextPage'
        prev:
          $ref: '#/components/schemas/PreviousPage'
    PublicCampaignAsset:
      required:
        - id
      type: object
      properties:
        id:
          type: string
          description: O identificador exclusivo do ativo de campanha.
        metrics:
          type: object
          additionalProperties:
            type: number
          description: >-
            Um conjunto de métricas associadas ao ativo da campanha,
            representadas como pares chave-valor.
        name:
          type: string
          description: O nome do ativo de campanha.
    NextPage:
      required:
        - after
      type: object
      properties:
        after:
          type: string
          description: Um token de cursor de paginação para recuperar páginas subsequentes.
        link:
          type: string
          description: >-
            Um URL que pode ser usado para recuperar os resultados da próxima
            página.
      description: >-
        Especifica as informações de paginação necessárias para recuperar o
        próximo conjunto de resultados em uma resposta de API paginada
    PreviousPage:
      required:
        - before
      type: object
      properties:
        before:
          type: string
          description: Um token de cursor de paginação para recuperar páginas anteriores.
        link:
          type: string
          description: >-
            Um URL que pode ser usado para recuperar os resultados das páginas
            anteriores.
      description: >-
        especifica as informações de paginação necessárias para recuperar o
        conjunto anterior de resultados em uma resposta de API paginada
  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: ''

````