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

# Cancel Change

> Cancela un cambio de contrato específico en la cuenta de HubSpot. Esta operación es útil cuando necesitas revocar un cambio propuesto o pendiente a un contrato. Requiere el identificador único del cambio que deseas cancelar.

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={[
  'revenue-contracts-public-api-write'
]}
    />
  </Accordion>
</AccordionGroup>


## OpenAPI

````yaml specs/2027-03-beta/commerce-contracts-v2027-03-beta.json POST /commerce/contracts/2027-03-beta/changes/{changeId}/cancel
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/changes/{changeId}/cancel:
    post:
      tags:
        - Changes
      summary: Cancelar cambio
      description: >-
        Cancela un cambio de contrato específico en la cuenta de HubSpot. Esta
        operación es útil cuando necesitas revocar un cambio propuesto o
        pendiente a un contrato. Requiere el identificador único del cambio que
        deseas cancelar.
      operationId: post-/commerce/contracts/2027-03-beta/changes/{changeId}/cancel
      parameters:
        - name: changeId
          in: path
          description: ''
          required: true
          style: simple
          explode: false
          schema:
            type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractChangeResponse'
        default:
          $ref: '#/components/responses/Error'
          description: ''
      security:
        - oauth2:
            - revenue-contracts-public-api-write
components:
  schemas:
    ContractChangeResponse:
      required:
        - contractId
        - deltaLineItems
        - id
        - lineItemChanges
        - proposedLineItems
        - prorating
        - status
        - type
      type: object
      properties:
        contractId:
          type: string
          description: El identificador único del contrato asociado a este cambio.
        createdAt:
          type: string
          description: >-
            La fecha y hora en que se creó este cambio de contrato, en formato
            ISO 8601.
          format: date-time
        deltaLineItems:
          type: array
          items:
            $ref: '#/components/schemas/LineItem'
        effectiveDate:
          type: string
          description: >-
            La fecha en que el cambio de contrato entra en vigor, en formato de
            fecha ISO 8601.
          format: date
        id:
          type: string
          description: El identificador único de este cambio de contrato.
        lineItemChanges:
          type: array
          description: >-
            Un conjunto de cambios en los elementos de pedido asociados a este
            cambio de contrato.
          items:
            $ref: '#/components/schemas/LineItemChangeResponse'
        name:
          type: string
          description: El nombre del cambio de contrato.
        proposedLineItems:
          type: array
          items:
            $ref: '#/components/schemas/LineItem'
        prorating:
          type: boolean
          description: Un booleano que indica si el cambio de contrato implica prorrateo.
        quoteId:
          type: string
          description: >-
            El identificador único de la cotización asociada a este cambio de
            contrato, si corresponde.
        status:
          type: string
          description: >-
            El estado actual del cambio de contrato. Los valores válidos son
            "DRAFT", "PROPOSED", "ACCEPTED", "CANCELED", "FAILED" y "EXPIRED".
          enum:
            - ACCEPTED
            - CANCELED
            - DRAFT
            - EXPIRED
            - FAILED
            - PROPOSED
        type:
          type: string
          description: El tipo de cambio de contrato, que puede ser "DIRECT" o "QUOTE".
          enum:
            - DIRECT
            - QUOTE
        updatedAt:
          type: string
          description: >-
            La fecha y hora de la última actualización de este cambio de
            contrato, en formato ISO 8601.
          format: date-time
    LineItem:
      required:
        - id
        - name
        - pricing
        - quantity
      type: object
      properties:
        acv:
          type: number
          description: >-
            El valor anual del contrato para el elemento de pedido. Es un valor
            numérico.
        allowBuyerSelectedQuantity:
          type: boolean
          description: >-
            Indica si el comprador puede seleccionar la cantidad del elemento de
            pedido. Es un valor booleano.
        amount:
          type: number
          description: >-
            La cantidad total del elemento de pedido, calculada como precio
            multiplicado por cantidad. Es un valor numérico.
        archived:
          type: boolean
          description: >-
            Indica si el elemento de pedido está archivado. Es un valor
            booleano.
        archivedAt:
          type: string
          description: >-
            La fecha y hora en que se archivó el elemento de pedido, en formato
            ISO 8601.
          format: date-time
        arr:
          type: number
          description: >-
            Los ingresos recurrentes anuales del elemento de pedido. Es un valor
            numérico.
        billingCycleAnchorDate:
          type: string
          description: >-
            La fecha de anclaje para el ciclo de facturación, en formato ISO
            8601.
          format: date
        billingPeriodEndDate:
          type: string
          description: >-
            La fecha de finalización del periodo de facturación, en formato ISO
            8601.
          format: date
        billingPeriodStartDate:
          type: string
          description: La fecha de inicio del período de facturación, en formato ISO 8601.
          format: date
        billingStartDelayDays:
          type: integer
          description: >-
            El número de días para el retraso del inicio de la facturación,
            representado como un número entero.
          format: int32
        billingStartDelayMonths:
          type: integer
          description: >-
            El número de meses para retrasar el inicio de la facturación,
            representado como un número entero.
          format: int32
        billingStartDelayType:
          type: string
          description: >-
            El tipo de retraso para el inicio de la facturación. Los valores
            válidos incluyen "HS_BILLING_START_DELAY_DAYS",
            "HS_BILLING_START_DELAY_MONTHS" y "HS_RECURRING_BILLING_START_DATE".
          enum:
            - HS_BILLING_START_DELAY_DAYS
            - HS_BILLING_START_DELAY_MONTHS
            - HS_RECURRING_BILLING_START_DATE
        buyerSelectedQuantityMax:
          type: number
          description: >-
            La cantidad máxima que un comprador puede seleccionar para el
            elemento de pedido. Es un valor numérico.
        buyerSelectedQuantityMin:
          type: number
          description: >-
            La cantidad mínima que un comprador puede seleccionar para el
            elemento de pedido. Es un valor numérico.
        createdAt:
          type: string
          description: >-
            La fecha y hora en que se creó el elemento de pedido, en formato ISO
            8601.
          format: date-time
        description:
          type: string
          description: Una descripción de texto del elemento de pedido.
        discount:
          type: number
          description: El descuento aplicado al elemento de pedido. Es un valor numérico.
        discountPercentage:
          type: number
          description: >-
            El porcentaje de descuento aplicado al elemento de pedido. Es un
            valor numérico.
        effectiveUnitPrice:
          type: number
          description: >-
            El precio efectivo por unidad después de los descuentos. Un valor
            numérico.
        externalId:
          type: string
          description: >-
            Un identificador externo para el elemento de pedido, usado para
            fines de integración.
        id:
          type: string
          description: El identificador único del elemento de pedido.
        images:
          type: string
          description: Una URL o referencia a imágenes asociadas con el elemento de pedido.
        isEditablePrice:
          type: boolean
          description: >-
            Indica si el precio del elemento de pedido es editable. Un valor
            booleano.
        isOptional:
          type: boolean
          description: Indica si el elemento de pedido es opcional. Es un valor booleano.
        isParent:
          type: boolean
        lineItemCurrencyCode:
          type: string
          description: >-
            El código de divisa para el elemento de pedido, siguiendo el formato
            ISO 4217.
        mrr:
          type: number
          description: >-
            Los ingresos recurrentes mensuales del elemento de pedido. Es un
            valor numérico.
        name:
          type: string
          description: El nombre del elemento de pedido.
        parentLineItemId:
          type: string
        positionOnQuote:
          type: integer
          description: >-
            La posición del elemento de pedido en una cotización, representada
            como un número entero.
          format: int32
        postTaxAmount:
          type: number
          description: >-
            La cantidad total después de aplicar los impuestos. Un valor
            numérico.
        preDiscountAmount:
          type: number
          description: La cantidad antes de aplicar cualquier descuento. Un valor numérico.
        price:
          type: number
          description: >-
            El precio de una sola unidad del elemento de pedido. Es un valor
            numérico.
        priceBookId:
          type: string
          description: >-
            El identificador único del catálogo de precios asociado al elemento
            de pedido.
        pricing:
          $ref: '#/components/schemas/Pricing'
        pricingModel:
          type: string
          description: >-
            El modelo de precios utilizado para el elemento de pedido. Los
            valores válidos incluyen "FLAT", "GRADUATED", "STAIRSTEP" y
            "VOLUME".
          enum:
            - FLAT
            - GRADUATED
            - STAIRSTEP
            - VOLUME
        productId:
          type: string
          description: El identificador único del producto asociado al elemento de pedido.
        productType:
          type: string
          description: El tipo de producto asociado con el elemento de pedido.
        quantity:
          type: number
          description: La cantidad del elemento de pedido. Un valor numérico.
        rampKey:
          type: string
          description: >-
            Un identificador único para el incremento progresivo asociado al
            elemento de pedido.
        recurringBillingDayOfMonth:
          type: integer
          description: >-
            El día del mes en que ocurre la facturación recurrente, representado
            como un número entero.
          format: int32
        recurringBillingEndDate:
          type: string
          description: >-
            La fecha de finalización de la facturación recurrente, en formato
            ISO 8601.
          format: date
        recurringBillingFrequency:
          type: string
          description: >-
            La frecuencia de la facturación recurrente para el elemento de
            pedido. Los valores válidos 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
        recurringBillingNumberOfPayments:
          type: integer
          description: >-
            El número de pagos en el ciclo de facturación recurrente,
            representado como un número entero.
          format: int32
        recurringBillingPeriod:
          type: string
          description: El periodo de facturación recurrente.
        recurringBillingStartDate:
          type: string
          description: >-
            La fecha de inicio de la facturación recurrente, en formato ISO
            8601.
          format: date
        recurringBillingTerms:
          type: string
          description: >-
            Los términos de la facturación recurrente. Los valores válidos
            incluyen "AUTOMATICALLY_RENEW" y "FIXED".
          enum:
            - AUTOMATICALLY_RENEW
            - FIXED
        richTextDescription:
          type: string
          description: Una descripción de texto enriquecido del elemento de pedido.
        sku:
          type: string
          description: >-
            El identificador de la unidad de mantenimiento de existencias para
            el elemento de pedido.
        tax:
          type: number
          description: El impuesto aplicado al elemento de pedido. Es un valor numérico.
        taxAmount:
          type: number
        taxCategory:
          type: string
        taxRateGroupId:
          type: string
        tcv:
          type: number
          description: >-
            El valor total del contrato para el elemento de pedido. Es un valor
            numérico.
        termInMonths:
          type: integer
          description: >-
            La duración del elemento de pedido en meses, representada como un
            número entero.
          format: int32
        tierAmount:
          type: number
          description: >-
            La cantidad asociada a un nivel de precios específico. Un valor
            numérico.
        totalDiscount:
          type: number
          description: >-
            El importe total del descuento al elemento de pedido. Es un valor
            numérico.
        updatedAt:
          type: string
          description: >-
            La fecha y hora de la última actualización del elemento de pedido,
            en formato ISO 8601.
          format: date-time
        variantId:
          type: string
          description: >-
            El identificador único de la variante del producto asociada al
            elemento de pedido.
    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
    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
    Pricing:
      required:
        - prices
        - pricingModel
      type: object
      properties:
        prices:
          type: array
          description: >-
            Un conjunto de entradas de precio, cada una de las cuales detalla la
            divisa y el precio para el contrato o el elemento de pedido.
          items:
            $ref: '#/components/schemas/PriceEntry'
        pricingModel:
          type: string
          description: >-
            El modelo de precios aplicado al contrato o elemento de pedido. Los
            valores válidos son "FLAT", "GRADUATED", "STAIRSTEP" y "VOLUME".
          enum:
            - FLAT
            - GRADUATED
            - STAIRSTEP
            - VOLUME
    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.
    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.
    PriceEntry:
      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 aplicable para esta entrada de precio,
            representada como una cadena.
          format: int32
        price:
          type: number
          description: >-
            El valor monetario del producto o servicio, representado como un
            número.
    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: ''

````