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

# Upsert courses

> Crie ou atualize registros identificados por um valor de propriedade exclusivo conforme especificado pelo parâmetro de consulta "idProperty". Esse parâmetro de consulta refere-se a uma propriedade cujos valores são exclusivos para o objeto.

> **Supported products**

> **Required Scopes**


## OpenAPI

````yaml specs/2026-03/crm-courses-v2026-03.json POST /crm/objects/2026-03/0-410/batch/upsert
openapi: 3.0.1
info:
  title: Cursos
  description: Basepom for all HubSpot Projects
  version: 2026-03
  x-hubspot-product-tier-requirements:
    marketing: FREE
    sales: FREE
    service: FREE
    cms: FREE
    commerce: FREE
    crmHub: FREE
    dataHub: FREE
  x-hubspot-introduction: >-
    Use a API de cursos para criar e gerenciar registros no CRM que representam
    informações sobre um programa estruturado ou uma série de aulas,
    treinamentos ou módulos educacionais. Identifique o tipo de objeto de curso
    pelo seu ID de tipo de objeto 0-410
servers:
  - url: https://api.hubapi.com
security: []
tags:
  - name: Advanced
  - name: Basic
  - name: Batch
  - name: Search
paths:
  /crm/objects/2026-03/0-410/batch/upsert:
    post:
      tags:
        - Batch
      summary: Fazer upsert de cursos
      description: >-
        Crie ou atualize registros identificados por um valor de propriedade
        exclusivo conforme especificado pelo parâmetro de consulta "idProperty".
        Esse parâmetro de consulta refere-se a uma propriedade cujos valores são
        exclusivos para o objeto.
      operationId: post-/crm/objects/2026-03/0-410/batch/upsert
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/BatchInputSimplePublicObjectBatchInputUpsert
        required: true
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchResponseSimplePublicUpsertObject'
        '207':
          description: multiple statuses
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/BatchResponseSimplePublicUpsertObjectWithErrors
        default:
          $ref: '#/components/responses/Error'
          description: ''
      security: []
components:
  schemas:
    BatchInputSimplePublicObjectBatchInputUpsert:
      required:
        - inputs
      type: object
      properties:
        inputs:
          type: array
          description: >-
            Uma matriz de itens SimplePublicObjectBatchInputUpsert, cada um
            representando um objeto a ser atualizado ou inserido. Cada item
            contém as propriedades e identificadores necessários para a operação
            de upsert.
          items:
            $ref: '#/components/schemas/SimplePublicObjectBatchInputUpsert'
      description: >-
        Representa uma operação de entrada em lote para fazer upsert de objetos
        públicos simples no HubSpot. Este componente é usado para processar
        várias operações de upsert em uma única solicitação, melhorando a
        eficiência e o desempenho.
    BatchResponseSimplePublicUpsertObject:
      required:
        - completedAt
        - results
        - startedAt
        - status
      type: object
      properties:
        completedAt:
          type: string
          description: >-
            A data e 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 mapa de nomes de links para URIs associadas, fornecendo
            informações adicionais sobre a operação em lote.
        requestedAt:
          type: string
          description: >-
            A data e a hora em que a operação em lote foi solicitada, no formato
            ISO 8601.
          format: date-time
        results:
          type: array
          description: >-
            Uma matriz de itens SimplePublicUpsertObject representando os
            resultados da operação de upsert em lote.
          items:
            $ref: '#/components/schemas/SimplePublicUpsertObject'
        startedAt:
          type: string
          description: >-
            A data e a hora em que a operação em lote foi iniciada, no formato
            ISO 8601.
          format: date-time
        status:
          type: string
          description: >-
            O status atual da operação em lote. Os valores válidos incluem
            'PENDENTE', 'PROCESSANDO', 'CANCELADO' e 'CONCLUÍDO'.
          enum:
            - CANCELED
            - COMPLETE
            - PENDING
            - PROCESSING
      description: >-
        Representa o resultado de uma operação de upsert em lote, incluindo o
        status da operação, carimbos de data/hora e uma lista de objetos criados
        ou atualizados com sucesso.
    BatchResponseSimplePublicUpsertObjectWithErrors:
      required:
        - completedAt
        - results
        - startedAt
        - status
      type: object
      properties:
        completedAt:
          type: string
          description: >-
            A data e hora em que a operação em lote foi concluída, no formato
            ISO 8601.
          format: date-time
        errors:
          type: array
          description: >-
            Uma matriz de erros que ocorreram durante a operação em lote, cada
            um representado como um StandardError.
          items:
            $ref: '#/components/schemas/StandardError'
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            Um mapa de nomes de links para URIs associadas contendo documentação
            sobre a operação em lote.
        numErrors:
          type: integer
          description: O número total 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, no formato
            ISO 8601.
          format: date-time
        results:
          type: array
          description: >-
            Matriz de resultados da operação de upsert em lote, cada um
            representado como um SimplePublicUpsertObject.
          items:
            $ref: '#/components/schemas/SimplePublicUpsertObject'
        startedAt:
          type: string
          description: >-
            A data e a hora em que a operação em lote foi iniciada, no formato
            ISO 8601.
          format: date-time
        status:
          type: string
          description: >-
            O status atual da operação em lote. Os valores válidos incluem
            'PENDENTE', 'PROCESSANDO', 'CANCELADO' e 'CONCLUÍDO'.
          enum:
            - CANCELED
            - COMPLETE
            - PENDING
            - PROCESSING
      description: >-
        Represents the response from a batch upsert operation, including the
        status, timestamps, successfully processed objects, and any errors that
        occurred during processing.
    SimplePublicObjectBatchInputUpsert:
      required:
        - id
        - properties
      type: object
      properties:
        id:
          type: string
          description: >-
            Uma string que representa o identificador exclusivo do objeto do
            CRM.
        idProperty:
          type: string
          description: >-
            Uma string que especifica o nome de uma propriedade cujos valores
            são exclusivos para este tipo de objeto.
        objectWriteTraceId:
          type: string
          description: >-
            Uma string usada para rastrear a operação de gravação para fins de
            depuração ou registro.
        properties:
          type: object
          additionalProperties:
            type: string
          description: >-
            Um objeto que contém pares chave-valor que representam as
            propriedades do objeto do CRM. Cada chave é um nome de propriedade e
            cada valor é o valor da propriedade.
      description: >-
        Representa um objeto usado em operações de upsert em lote, contendo o
        identificador exclusivo de um objeto, suas propriedades e,
        opcionalmente, o nome da propriedade exclusiva e um ID de rastreamento
        de gravação.
    SimplePublicUpsertObject:
      required:
        - archived
        - createdAt
        - id
        - new
        - properties
        - updatedAt
      type: object
      properties:
        archived:
          type: boolean
          description: Indica se o objeto está arquivado. Um valor booleano.
        archivedAt:
          type: string
          description: >-
            A data e a hora em que este objeto foi arquivado, no formato ISO
            8601.
          format: date-time
        createdAt:
          type: string
          description: A data e a hora em que este objeto foi criado, no formato ISO 8601.
          format: date-time
        id:
          type: string
          description: O identificador exclusivo deste objeto.
        new:
          type: boolean
          description: Indica se o objeto foi criado recentemente. Um valor booleano.
        objectWriteTraceId:
          type: string
          description: >-
            Um ID de rastreamento para acompanhar a operação de gravação que
            criou ou atualizou este objeto.
        properties:
          type: object
          additionalProperties:
            type: string
          description: >-
            Um mapa de nomes de propriedades para seus valores, representando os
            dados do objeto.
        propertiesWithHistory:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/ValueWithTimestamp'
          description: >-
            Um mapa dos nomes das propriedades às matrizes de seus valores
            históricos, cada entrada contendo um valor e uma data/hora.
        updatedAt:
          type: string
          description: >-
            A data e a hora da última atualização deste objeto, no formato ISO
            8601.
          format: date-time
        url:
          type: string
          description: A URL do objeto no HubSpot.
        warnings:
          type: array
          description: >-
            Uma matriz de avisos relacionados ao objeto, cada um contendo uma
            categoria, mensagem e contexto.
          items:
            $ref: '#/components/schemas/PublicObjectWarning'
      description: Representa um objeto do CRM que foi criado ou atualizado (upserted)
    StandardError:
      required:
        - category
        - context
        - errors
        - links
        - message
        - status
      type: object
      properties:
        category:
          type: string
          description: Uma string que categoriza o erro.
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: >-
            Um objeto que contém contexto adicional sobre a condição de erro.
            Cada chave é mapeada a uma matriz de strings.
        errors:
          type: array
          description: >-
            Uma matriz de objetos ErrorDetail que fornece mais detalhes sobre o
            erro.
          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 detalhes mais específicos sobre a categoria 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 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 informações específicas
            sobre o erro
      description: >-
        Representa uma resposta de erro retornada pela API quando uma operação
        falha. Este componente é usado em vários endpoints para fornecer
        informações detalhadas sobre o erro encontrado.
      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
    ValueWithTimestamp:
      required:
        - sourceType
        - timestamp
        - value
      type: object
      properties:
        sourceId:
          type: string
          description: Uma string que representa o identificador exclusivo da origem.
        sourceLabel:
          type: string
          description: Uma string que fornece rótulo ou descrição para a origem.
        sourceType:
          type: string
          description: Uma string que indica o tipo de origem do valor.
        timestamp:
          type: string
          description: >-
            A data e a hora em que o registro foi adicionado, no formato ISO
            8601.
          format: date-time
        updatedByUserId:
          type: integer
          description: >-
            Um número inteiro que representa o ID do usuário que atualizou o
            valor pela última vez.
          format: int32
        value:
          type: string
          description: Uma string que representa o valor dos dados.
      description: Modelo de propriedade que inclui data e hora.
    PublicObjectWarning:
      required:
        - category
        - context
        - message
      type: object
      properties:
        category:
          type: string
          description: Uma string que representa a categoria do aviso.
        context:
          type: object
          additionalProperties:
            type: string
          description: >-
            Um objeto que fornece contexto adicional para o aviso, com
            propriedades de string.
        message:
          type: string
          description: Uma string contendo a mensagem de aviso.
      description: >-
        Representa uma mensagem de aviso relacionada a um objeto público no
        HubSpot, fornecendo detalhes sobre a natureza e o contexto do aviso.
    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 informações específicas
            sobre o erro
      description: >-
        Representa informações detalhadas sobre um erro ocorrido na API. Este
        componente é usado para fornecer contexto e detalhes adicionais sobre os
        erros, geralmente como parte de uma resposta de erro.
  responses:
    Error:
      description: An error occurred.
      content:
        '*/*':
          schema:
            $ref: '#/components/schemas/Error'

````