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

# Retrieve changes

> Obtén una lista de los cambios asociados a un contrato específico en tu cuenta de HubSpot. Este punto de conexión es útil para hacer un seguimiento de las modificaciones hechas a un contrato a lo largo del tiempo, lo que te permite auditar los cambios y entender el historial de las modificaciones de un contrato.

export const ScopesList = ({scopes = [], description = "Esta API requiere uno de los siguientes ámbitos:"}) => {
  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: "Productos compatibles",
    description: "Se requiere uno de los siguientes productos o productos de ediciones superiores.",
    productNames: {
      marketing: "Marketing Hub",
      sales: "Sales Hub",
      service: "Service Hub",
      cms: "Content Hub"
    },
    tiers: {
      free: "Gratuito",
      starter: "Starter",
      professional: "Pro",
      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="FREE" salesLevel="FREE" serviceLevel="FREE" cmsLevel="FREE" />
  </Accordion>

  <Accordion title="Required Scopes" icon="key">
    <ScopesList
      scopes={[
  'contracts-read'
]}
    />
  </Accordion>
</AccordionGroup>


## OpenAPI

````yaml specs/2027-03-beta/commerce-contracts-v2027-03-beta.json GET /commerce/contracts/2027-03-beta/contracts/{contractId}/changes
openapi: 3.0.1
info:
  title: Commerce Contracts
  description: Basepom for all HubSpot Projects
  version: 2027-03-beta
  x-hubspot-product-tier-requirements:
    marketing: FREE
    sales: FREE
    service: FREE
    cms: FREE
    commerce: FREE
    crmHub: FREE
    dataHub: FREE
servers:
  - url: https://api.hubapi.com
security: []
tags:
  - name: Advanced
  - name: Basic
  - name: Changes
paths:
  /commerce/contracts/2027-03-beta/contracts/{contractId}/changes:
    get:
      tags:
        - Changes
      summary: Obtener cambios
      description: >-
        Obtén una lista de los cambios asociados a un contrato específico en tu
        cuenta de HubSpot. Este punto de conexión es útil para hacer un
        seguimiento de las modificaciones hechas a un contrato a lo largo del
        tiempo, lo que te permite auditar los cambios y entender el historial de
        las modificaciones de un contrato.
      operationId: get-/commerce/contracts/2027-03-beta/contracts/{contractId}/changes
      parameters:
        - name: contractId
          in: path
          description: ''
          required: true
          style: simple
          explode: false
          schema:
            type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractChangesResponse'
        default:
          $ref: '#/components/responses/Error'
          description: ''
      security:
        - oauth2:
            - contracts-read
components:
  schemas:
    ContractChangesResponse:
      required:
        - changes
      type: object
      properties:
        changes:
          type: array
          description: >-
            Un conjunto de objetos de cambio de contrato, cada uno de los cuales
            representa un cambio específico hecho al contrato. Cada elemento del
            conjunto es un objeto ContractChangeResponse.
          items:
            $ref: '#/components/schemas/ContractChangeSummaryResponse'
    ContractChangeSummaryResponse:
      required:
        - contractId
        - id
        - lineItemChanges
        - prorating
        - status
        - type
      type: object
      properties:
        contractId:
          type: string
        createdAt:
          type: string
          format: date-time
        effectiveDate:
          type: string
          format: date
        id:
          type: string
        lineItemChanges:
          type: array
          items:
            $ref: '#/components/schemas/LineItemChangeResponse'
        name:
          type: string
        prorating:
          type: boolean
        quoteId:
          type: string
        status:
          type: string
          enum:
            - ACCEPTED
            - CANCELED
            - DRAFT
            - EXPIRED
            - FAILED
            - PROPOSED
        type:
          type: string
          enum:
            - DIRECT
            - QUOTE
        updatedAt:
          type: string
          format: date-time
    Error:
      required:
        - category
        - correlationId
        - message
      type: object
      properties:
        category:
          type: string
          description: La categoría del error
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Contexto de la condición de error
          example: >-
            {invalidPropertyName=[propertyValue], missingScopes=[scope1,
            scope2]}
        correlationId:
          type: string
          description: >-
            Un identificador único para la solicitud. Incluye este valor con
            cualquier informe de error o ticket de asistencia.
          format: uuid
          example: aeb5f871-7f07-4993-9211-075dc63e7cbf
        errors:
          type: array
          description: información adicional acerca del error
          items:
            $ref: '#/components/schemas/ErrorDetail'
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            Un mapa de nombres de enlaces a las URI asociadas que contienen
            documentación sobre el error o los pasos recomendados para
            solucionarlo
        message:
          type: string
          description: >-
            Un mensaje legible en el que se describa el error y los pasos para
            solucionarlo, si procede
          example: An error occurred
        subCategory:
          type: string
          description: >-
            Una categoría específica que contiene detalles más concretos acerca
            del error
      description: >-
        Representa una respuesta de error que devuelve la API cuando una
        operación falla. Este componente se usa en varios puntos de terminación
        para dar información detallada sobre el error que se encontró.
      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
    LineItemChangeResponse:
      required:
        - action
        - rampKey
      type: object
      properties:
        action:
          type: string
          description: >-
            El tipo de acción realizada en relación con el elemento de pedido.
            Los valores válidos son "ADD", "UPDATE" y "REMOVE".
          enum:
            - ADD
            - REMOVE
            - UPDATE
        lineItemAdd:
          oneOf:
            - $ref: '#/components/schemas/LineItemCustomCreateRequest'
            - $ref: '#/components/schemas/LineItemFromProductCreateRequest'
            - $ref: '#/components/schemas/LineItemCloneCreateRequest'
        lineItemUpdate:
          $ref: '#/components/schemas/LineItemChangeUpdate'
        rampKey:
          type: string
          description: >-
            Un identificador único para el incremento progresivo asociado con el
            cambio del elemento de pedido, con formato UUID.
          format: uuid
    ErrorDetail:
      required:
        - message
      type: object
      properties:
        code:
          type: string
          description: El código de estado asociado al detalle del error
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Contexto de la condición de error
          example: '{missingScopes=[scope1, scope2]}'
        in:
          type: string
          description: El nombre del campo o parámetro en el que se encontró el error.
        message:
          type: string
          description: >-
            Un mensaje legible en el que se describa el error y los pasos para
            solucionarlo, si procede
        subCategory:
          type: string
          description: >-
            Una categoría específica que contiene detalles más concretos acerca
            del error
      description: >-
        Representa información detallada sobre un error que ocurrió en la API.
        Este componente se usa para dar contexto adicional y detalles
        específicos sobre los errores, normalmente como parte de una respuesta
        de error.
    LineItemCustomCreateRequest:
      title: CUSTOM
      required:
        - mode
        - name
        - pricing
        - quantity
      type: object
      properties:
        allowBuyerSelectedQuantity:
          type: boolean
          description: >-
            Un valor booleano que especifica si el comprador puede seleccionar
            la cantidad del elemento de pedido.
        billingCycleAnchorDate:
          type: string
          description: >-
            Una cadena en formato de fecha que representa la fecha de anclaje
            para el ciclo de facturación.
          format: date
        billingStartDelayDays:
          type: integer
          description: >-
            Un número entero que indica la cantidad de días para retrasar el
            inicio de la facturación.
          format: int32
        billingStartDelayMonths:
          type: integer
          description: >-
            Un número entero que especifica la cantidad de meses para retrasar
            el inicio de la facturación.
          format: int32
        buyerSelectedQuantityMax:
          type: number
          description: >-
            Un número que representa la cantidad máxima que el comprador puede
            seleccionar.
        buyerSelectedQuantityMin:
          type: number
          description: >-
            Un número que representa la cantidad mínima que el comprador puede
            seleccionar.
        description:
          type: string
          description: Una cadena que proporciona una descripción del elemento de pedido.
        discount:
          type: number
          description: >-
            Un número que representa el descuento aplicado al elemento de
            pedido.
        discountPercentage:
          type: number
          description: >-
            Un número que indica el porcentaje de descuento aplicado al elemento
            de pedido.
        externalId:
          type: string
          description: >-
            Una cadena que contiene un identificador externo para el elemento de
            pedido.
        images:
          type: string
          description: >-
            Una cadena que contiene URL o referencias a imágenes asociadas con
            el elemento de pedido.
        isEditablePrice:
          type: boolean
          description: >-
            Un valor booleano que indica si el precio del elemento de pedido es
            editable.
        isOptional:
          type: boolean
          description: Un valor booleano que indica si el elemento de pedido es opcional.
        lineItemCurrencyCode:
          type: string
          description: >-
            Una cadena que representa el código de divisa del elemento de
            pedido.
        mode:
          type: string
          description: >-
            Una cadena que indica el modo del elemento de pedido, con un valor
            predeterminado de "CUSTOM".
          default: CUSTOM
          enum:
            - CUSTOM
        name:
          type: string
          description: Una cadena que representa el nombre del elemento de pedido.
        positionOnQuote:
          type: integer
          description: >-
            Un número entero que indica la posición del elemento de pedido en
            una cotización.
          format: int32
        priceBookId:
          type: string
          description: >-
            Una cadena que representa el ID del catálogo de precios asociado con
            el elemento de pedido.
        pricing:
          $ref: '#/components/schemas/PricingFullUpdateRequest'
        productId:
          type: string
          description: >-
            Una cadena que identifica el producto asociado con el elemento de
            pedido.
        productType:
          type: string
          description: >-
            Una cadena que indica el tipo de producto para el elemento de
            pedido.
        quantity:
          type: number
          description: Un número que especifica la cantidad del elemento de pedido.
        recurringBillingEndDate:
          type: string
          description: >-
            Una cadena en formato de fecha que indica la fecha de finalización
            de la facturación recurrente.
          format: date
        recurringBillingFrequency:
          type: string
          description: >-
            Una cadena que especifica la frecuencia de la facturación recurrente
            para el elemento de pedido, con valores válidos que incluyen
            "ANNUALLY", "BIWEEKLY", "MONTHLY", "PER_FIVE_YEARS",
            "PER_FOUR_YEARS", "PER_SIX_MONTHS", "PER_THREE_YEARS",
            "PER_TWO_YEARS", "QUARTERLY" y "WEEKLY".
          enum:
            - ANNUALLY
            - BIWEEKLY
            - MONTHLY
            - PER_FIVE_YEARS
            - PER_FOUR_YEARS
            - PER_SIX_MONTHS
            - PER_THREE_YEARS
            - PER_TWO_YEARS
            - QUARTERLY
            - WEEKLY
        recurringBillingPeriod:
          type: string
          description: Una cadena que especifica el periodo de facturación recurrente.
        recurringBillingStartDate:
          type: string
          description: >-
            Una cadena en formato de fecha que representa la fecha de inicio de
            la facturación recurrente.
          format: date
        richTextDescription:
          type: string
          description: >-
            Una cadena que contiene una descripción de texto enriquecido del
            elemento de pedido.
        sku:
          type: string
          description: >-
            Una cadena que representa la unidad de mantenimiento de existencias
            (SKU) del elemento de pedido.
        taxCategory:
          type: string
        taxRateGroupId:
          type: string
        variantId:
          type: string
          description: >-
            Una cadena que identifica la variante del producto para el elemento
            de pedido.
      x-hubspot-sub-type-impl: true
    LineItemFromProductCreateRequest:
      title: FROM_PRODUCT
      required:
        - allowBuyerSelectedQuantity
        - billingCycleAnchorDate
        - billingStartDelayDays
        - billingStartDelayMonths
        - buyerSelectedQuantityMax
        - buyerSelectedQuantityMin
        - description
        - discount
        - discountPercentage
        - externalId
        - images
        - isEditablePrice
        - isOptional
        - lineItemCurrencyCode
        - mode
        - name
        - positionOnQuote
        - priceBookId
        - pricing
        - productId
        - productType
        - quantity
        - recurringBillingEndDate
        - recurringBillingFrequency
        - recurringBillingPeriod
        - recurringBillingStartDate
        - richTextDescription
        - sku
        - taxCategory
        - taxRateGroupId
        - variantId
      type: object
      properties:
        allowBuyerSelectedQuantity:
          type: object
          properties: {}
          description: >-
            Un objeto que indica si el comprador puede seleccionar la cantidad
            del elemento de pedido.
        billingCycleAnchorDate:
          type: object
          properties: {}
          description: >-
            Un objeto que representa la fecha de anclaje del ciclo de
            facturación.
        billingStartDelayDays:
          type: object
          properties: {}
          description: >-
            Un objeto que representa el número de días para retrasar el inicio
            de la facturación.
        billingStartDelayMonths:
          type: object
          properties: {}
          description: >-
            Un objeto que representa el número de meses para retrasar el inicio
            de la facturación.
        buyerSelectedQuantityMax:
          type: object
          properties: {}
          description: >-
            Un objeto que representa la cantidad máxima que el comprador puede
            seleccionar.
        buyerSelectedQuantityMin:
          type: object
          properties: {}
          description: >-
            Un objeto que representa la cantidad mínima que el comprador puede
            seleccionar.
        description:
          type: object
          properties: {}
          description: Un objeto que representa la descripción del elemento de pedido.
        discount:
          type: object
          properties: {}
          description: >-
            Un objeto que representa el descuento aplicado al elemento de
            pedido.
        discountPercentage:
          type: object
          properties: {}
          description: >-
            Un objeto que representa el porcentaje de descuento aplicado al
            elemento de pedido.
        externalId:
          type: object
          properties: {}
          description: >-
            Un objeto que representa un identificador externo para el elemento
            de pedido.
        images:
          type: object
          properties: {}
          description: >-
            Un objeto que representa las imágenes asociadas con el elemento de
            pedido.
        isEditablePrice:
          type: object
          properties: {}
          description: >-
            Un objeto que indica si el precio del elemento de pedido es
            editable.
        isOptional:
          type: object
          properties: {}
          description: Un objeto que indica si el elemento de pedido es opcional.
        lineItemCurrencyCode:
          type: object
          properties: {}
          description: >-
            Un objeto que representa el código de divisa para el elemento de
            pedido.
        mode:
          type: string
          description: >-
            Una cadena que indica el modo de creación del elemento de pedido,
            con 'FROM_PRODUCT' como valor predeterminado.
          default: FROM_PRODUCT
          enum:
            - FROM_PRODUCT
        name:
          type: object
          properties: {}
          description: Un objeto que representa el nombre del elemento de pedido.
        positionOnQuote:
          type: object
          properties: {}
          description: >-
            Un objeto que representa la posición del elemento de pedido en la
            cotización.
        priceBookId:
          type: object
          properties: {}
          description: >-
            Un objeto que representa el ID del catálogo de precios asociado con
            el elemento de pedido.
        pricing:
          type: object
          properties: {}
          description: >-
            Un objeto que representa los detalles de precios del elemento de
            pedido.
        productId:
          type: string
          description: >-
            Una cadena que representa el ID del producto asociado con el
            elemento de pedido.
        productType:
          type: object
          properties: {}
          description: >-
            Un objeto que representa el tipo de producto para el elemento de
            pedido.
        quantity:
          type: object
          properties: {}
          description: >-
            Un objeto que representa la cantidad del producto en el elemento de
            pedido.
        recurringBillingEndDate:
          type: object
          properties: {}
          description: >-
            Un objeto que representa la fecha de finalización de la facturación
            recurrente.
        recurringBillingFrequency:
          type: object
          properties: {}
          description: >-
            Un objeto que representa la frecuencia de la facturación recurrente
            del elemento de pedido.
        recurringBillingPeriod:
          type: object
          properties: {}
          description: Un objeto que representa el periodo de facturación recurrente.
        recurringBillingStartDate:
          type: object
          properties: {}
          description: >-
            Un objeto que representa la fecha de inicio de la facturación
            recurrente.
        richTextDescription:
          type: object
          properties: {}
          description: >-
            Un objeto que representa la descripción de texto enriquecido del
            elemento de pedido.
        sku:
          type: object
          properties: {}
          description: >-
            Un objeto que representa la unidad de mantenimiento de existencias
            (SKU) del producto.
        taxCategory:
          type: object
          properties: {}
        taxRateGroupId:
          type: object
          properties: {}
        variantId:
          type: object
          properties: {}
          description: Un objeto que representa el ID de variante del producto.
      x-hubspot-sub-type-impl: true
    LineItemCloneCreateRequest:
      title: CLONE
      required:
        - allowBuyerSelectedQuantity
        - billingCycleAnchorDate
        - billingStartDelayDays
        - billingStartDelayMonths
        - buyerSelectedQuantityMax
        - buyerSelectedQuantityMin
        - description
        - discount
        - discountPercentage
        - externalId
        - images
        - isEditablePrice
        - isOptional
        - lineItemCurrencyCode
        - mode
        - name
        - positionOnQuote
        - priceBookId
        - pricing
        - productType
        - quantity
        - recurringBillingEndDate
        - recurringBillingFrequency
        - recurringBillingPeriod
        - recurringBillingStartDate
        - richTextDescription
        - sku
        - sourceLineItemId
        - taxCategory
        - taxRateGroupId
        - variantId
      type: object
      properties:
        allowBuyerSelectedQuantity:
          type: object
          properties: {}
          description: >-
            Un objeto que indica si el comprador puede seleccionar la cantidad
            del elemento de pedido.
        billingCycleAnchorDate:
          type: object
          properties: {}
          description: >-
            Un objeto que representa la fecha de anclaje para el ciclo de
            facturación del elemento de pedido.
        billingStartDelayDays:
          type: object
          properties: {}
          description: >-
            Un objeto que representa el número de días para el retraso del
            inicio de la facturación del elemento de pedido.
        billingStartDelayMonths:
          type: object
          properties: {}
          description: >-
            Un objeto que representa el número de meses para retrasar el inicio
            de la facturación del elemento de pedido.
        buyerSelectedQuantityMax:
          type: object
          properties: {}
          description: >-
            Un objeto que representa la cantidad máxima que el comprador puede
            seleccionar para el elemento de pedido.
        buyerSelectedQuantityMin:
          type: object
          properties: {}
          description: >-
            Un objeto que representa la cantidad mínima que el comprador puede
            seleccionar para el elemento de pedido.
        description:
          type: object
          properties: {}
          description: Un objeto que representa la descripción del elemento de pedido.
        discount:
          type: object
          properties: {}
          description: >-
            Un objeto que representa el descuento aplicado al elemento de
            pedido.
        discountPercentage:
          type: object
          properties: {}
          description: >-
            Un objeto que representa el porcentaje de descuento aplicado al
            elemento de pedido.
        externalId:
          type: object
          properties: {}
          description: >-
            Un objeto que representa un identificador externo para el elemento
            de pedido.
        images:
          type: object
          properties: {}
          description: >-
            Un objeto que representa las imágenes asociadas con el elemento de
            pedido.
        isEditablePrice:
          type: object
          properties: {}
          description: >-
            Un objeto que indica si el precio del elemento de pedido es
            editable.
        isOptional:
          type: object
          properties: {}
          description: Un objeto que indica si el elemento de pedido es opcional.
        lineItemCurrencyCode:
          type: object
          properties: {}
          description: >-
            Un objeto que representa el código de divisa para el elemento de
            pedido.
        mode:
          type: string
          description: >-
            Una cadena que indica el modo de creación del elemento de pedido,
            que es "CLONE" de forma predeterminada.
          default: CLONE
          enum:
            - CLONE
        name:
          type: object
          properties: {}
          description: Un objeto que representa el nombre del elemento de pedido.
        positionOnQuote:
          type: object
          properties: {}
          description: >-
            Un objeto que representa la posición del elemento de pedido en la
            cotización.
        priceBookId:
          type: object
          properties: {}
          description: >-
            Un objeto que representa el ID del catálogo de precios asociado con
            el elemento de pedido.
        pricing:
          type: object
          properties: {}
          description: >-
            Un objeto que representa los detalles de precios del elemento de
            pedido.
        productType:
          type: object
          properties: {}
          description: >-
            Un objeto que representa el tipo de producto para el elemento de
            pedido.
        quantity:
          type: object
          properties: {}
          description: Un objeto que representa la cantidad del elemento de pedido.
        recurringBillingEndDate:
          type: object
          properties: {}
          description: >-
            Un objeto que representa la fecha de finalización de la facturación
            recurrente del elemento de pedido.
        recurringBillingFrequency:
          type: object
          properties: {}
          description: >-
            Un objeto que representa la frecuencia de la facturación recurrente
            del elemento de pedido.
        recurringBillingPeriod:
          type: object
          properties: {}
          description: >-
            Un objeto que representa el periodo de facturación para la
            facturación recurrente del elemento de pedido.
        recurringBillingStartDate:
          type: object
          properties: {}
          description: >-
            Un objeto que representa la fecha de inicio de la facturación
            recurrente del elemento de pedido.
        richTextDescription:
          type: object
          properties: {}
          description: >-
            Un objeto que representa la descripción de texto enriquecido del
            elemento de pedido.
        sku:
          type: object
          properties: {}
          description: >-
            Un objeto que representa la unidad de mantenimiento de existencias
            (SKU) del elemento de pedido.
        sourceLineItemId:
          type: string
          description: >-
            Una cadena que representa el ID del elemento de pedido de origen que
            se está clonando.
        taxCategory:
          type: object
          properties: {}
        taxRateGroupId:
          type: object
          properties: {}
        variantId:
          type: object
          properties: {}
          description: Un objeto que representa el ID de variante del elemento de pedido.
      x-hubspot-sub-type-impl: true
    LineItemChangeUpdate:
      required:
        - allowBuyerSelectedQuantity
        - billingCycleAnchorDate
        - billingStartDelayDays
        - billingStartDelayMonths
        - buyerSelectedQuantityMax
        - buyerSelectedQuantityMin
        - description
        - discount
        - discountPercentage
        - externalId
        - images
        - isEditablePrice
        - isOptional
        - lineItemCurrencyCode
        - name
        - positionOnQuote
        - priceBookId
        - pricing
        - productType
        - quantity
        - recurringBillingEndDate
        - recurringBillingFrequency
        - recurringBillingPeriod
        - recurringBillingStartDate
        - richTextDescription
        - sku
        - taxCategory
        - taxRateGroupId
        - variantId
      type: object
      properties:
        allowBuyerSelectedQuantity:
          type: object
          properties: {}
          description: >-
            Un objeto que indica si el comprador puede seleccionar la cantidad
            del elemento de pedido.
        billingCycleAnchorDate:
          type: object
          properties: {}
          description: >-
            Un objeto que representa la fecha de anclaje para el ciclo de
            facturación del elemento de pedido.
        billingStartDelayDays:
          type: object
          properties: {}
          description: >-
            Un objeto que representa el número de días para el retraso del
            inicio de la facturación del elemento de pedido.
        billingStartDelayMonths:
          type: object
          properties: {}
          description: >-
            Un objeto que representa el número de meses para retrasar el inicio
            de la facturación del elemento de pedido.
        buyerSelectedQuantityMax:
          type: object
          properties: {}
          description: >-
            Un objeto que representa la cantidad máxima que el comprador puede
            seleccionar para el elemento de pedido.
        buyerSelectedQuantityMin:
          type: object
          properties: {}
          description: >-
            Un objeto que representa la cantidad mínima que el comprador puede
            seleccionar para el elemento de pedido.
        description:
          type: object
          properties: {}
          description: Un objeto que representa la descripción del elemento de pedido.
        discount:
          type: object
          properties: {}
          description: >-
            Un objeto que representa el descuento aplicado al elemento de
            pedido.
        discountPercentage:
          type: object
          properties: {}
          description: >-
            Un objeto que representa el porcentaje de descuento aplicado al
            elemento de pedido.
        externalId:
          type: object
          properties: {}
          description: Un objeto que representa el ID externo del elemento de pedido.
        images:
          type: object
          properties: {}
          description: >-
            Un objeto que representa las imágenes asociadas con el elemento de
            pedido.
        isEditablePrice:
          type: object
          properties: {}
          description: >-
            Un objeto que indica si el precio del elemento de pedido es
            editable.
        isOptional:
          type: object
          properties: {}
          description: Un objeto que indica si el elemento de pedido es opcional.
        lineItemCurrencyCode:
          type: object
          properties: {}
          description: >-
            Un objeto que representa el código de divisa para el elemento de
            pedido.
        name:
          type: object
          properties: {}
          description: Un objeto que representa el nombre del elemento de pedido.
        positionOnQuote:
          type: object
          properties: {}
          description: >-
            Un objeto que representa la posición del elemento de pedido en la
            cotización.
        priceBookId:
          type: object
          properties: {}
          description: >-
            Un objeto que representa el ID del catálogo de precios asociado con
            el elemento de pedido.
        pricing:
          type: object
          properties: {}
          description: >-
            Un objeto que representa los detalles de precios del elemento de
            pedido.
        productType:
          type: object
          properties: {}
          description: >-
            Un objeto que representa el tipo de producto para el elemento de
            pedido.
        quantity:
          type: object
          properties: {}
          description: Un objeto que representa la cantidad del elemento de pedido.
        recurringBillingEndDate:
          type: object
          properties: {}
          description: >-
            Un objeto que representa la fecha de finalización de la facturación
            recurrente del elemento de pedido.
        recurringBillingFrequency:
          type: object
          properties: {}
          description: >-
            Un objeto que representa la frecuencia de la facturación recurrente
            del elemento de pedido.
        recurringBillingPeriod:
          type: object
          properties: {}
          description: >-
            Un objeto que representa el periodo de facturación para la
            facturación recurrente del elemento de pedido.
        recurringBillingStartDate:
          type: object
          properties: {}
          description: >-
            Un objeto que representa la fecha de inicio de la facturación
            recurrente del elemento de pedido.
        richTextDescription:
          type: object
          properties: {}
          description: >-
            Un objeto que representa la descripción de texto enriquecido del
            elemento de pedido.
        sku:
          type: object
          properties: {}
          description: >-
            Un objeto que representa la unidad de mantenimiento de existencias
            (SKU) del elemento de pedido.
        taxCategory:
          type: object
          properties: {}
          description: Un objeto que representa la categoría fiscal del elemento de pedido.
        taxRateGroupId:
          type: object
          properties: {}
          description: >-
            Un objeto que representa el ID del grupo de tasas de impuestos para
            el elemento de pedido.
        variantId:
          type: object
          properties: {}
          description: Un objeto que representa el ID de variante del elemento de pedido.
    PricingFullUpdateRequest:
      required:
        - prices
        - pricingModel
      type: object
      properties:
        prices:
          type: array
          description: >-
            Un conjunto de objetos PriceUpdateEntry, cada uno representando una
            entrada con detalles como código de divisa y precio.
          items:
            $ref: '#/components/schemas/PriceUpdateEntry'
        pricingModel:
          type: string
          description: >-
            Una cadena que representa el modelo de precios utilizado. Los
            valores válidos son "FLAT", "GRADUATED", "STAIRSTEP" y "VOLUME".
          enum:
            - FLAT
            - GRADUATED
            - STAIRSTEP
            - VOLUME
    PriceUpdateEntry:
      required:
        - currencyCode
        - price
      type: object
      properties:
        currencyCode:
          type: string
          description: >-
            El código de la divisa en la que se expresa el precio, representado
            como una cadena.
        maxQuantity:
          type: integer
          description: >-
            La cantidad máxima a la que se aplica este precio, representada como
            una cadena.
          format: int32
        price:
          type: object
          properties: {}
          description: >-
            El valor del precio para la divisa especificada, representado como
            un objeto.
  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:
            contracts-read: ''
            revenue-contracts-public-api-write: ''

````