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

---
id: e8cab689-cc74-424d-b9f8-7f0a48ff4735
---

# Create a payment link

> Create a new payment link in your HubSpot account. This endpoint allows you to specify various attributes for the payment link, such as accepted payment methods, currency, and additional form fields. The payment link can be configured for one-time use and can also collect shipping and billing addresses. This operation requires a valid JSON request body. Some defaults will be applied if no value provided.

export const ScopesList = ({scopes = [], description = "This API requires one of the following scopes:"}) => {
  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, data, commerce, crm, marketingLevel, salesLevel, serviceLevel, cmsLevel, dataLevel, commerceLevel, crmLevel}) => {
  const translations = {
    description: "Requires one of the following products or higher.",
    productNames: {
      marketing: "Marketing Hub",
      sales: "Sales Hub",
      service: "Service Hub",
      cms: "Content Hub",
      data: "Data Hub",
      commerce: "Revenue Hub",
      crm: "Smart CRM"
    },
    tiers: {
      free: "Free",
      starter: "Starter",
      professional: "Professional",
      enterprise: "Enterprise"
    }
  };
  const translateTier = tier => {
    if (!tier) return '';
    const lowerTier = tier.toLowerCase();
    return translations.tiers[lowerTier] || tier;
  };
  const products = [{
    name: marketing ? translations.productNames.marketing : '',
    level: translateTier(marketingLevel),
    icon: "https://www.hubspot.com/hubfs/Knowledge_Base_2023-24-25/developer/icons/MarketingHub.svg",
    alt: "Marketing Hub"
  }, {
    name: sales ? translations.productNames.sales : '',
    level: translateTier(salesLevel),
    icon: "https://www.hubspot.com/hubfs/Knowledge_Base_2023-24-25/developer/icons/SalesHub.svg",
    alt: "Sales Hub"
  }, {
    name: service ? translations.productNames.service : '',
    level: translateTier(serviceLevel),
    icon: "https://www.hubspot.com/hubfs/Knowledge_Base_2023-24-25/developer/icons/ServiceHub.svg",
    alt: "Service Hub"
  }, {
    name: cms ? translations.productNames.cms : '',
    level: translateTier(cmsLevel),
    icon: "https://www.hubspot.com/hubfs/Knowledge_Base_2023-24-25/developer/icons/ContentHub.svg",
    alt: "Content Hub"
  }, {
    name: data ? translations.productNames.data : '',
    level: translateTier(dataLevel),
    icon: "https://www.hubspot.com/hubfs/Knowledge_Base_2023-24-25/developer/icons/DataHub.svg",
    alt: "Data Hub"
  }, {
    name: commerce ? translations.productNames.commerce : '',
    level: translateTier(commerceLevel),
    icon: "https://www.hubspot.com/hubfs/Knowledge_Base/subscription_key_icons/commerce_icon.svg",
    alt: "Revenue Hub"
  }, {
    name: crm ? translations.productNames.crm : '',
    level: translateTier(crmLevel),
    icon: "https://www.hubspot.com/hubfs/Knowledge_Base_2023-24-25/developer/icons/SmartCRM.svg",
    alt: "Smart CRM"
  }].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={[
  'commerce.payment_links.write'
]}
    />
  </Accordion>
</AccordionGroup>


## OpenAPI

````yaml specs/2026-09/commerce-payment-links-v2026-09.json POST /commerce/payment-links/2026-09/payment-links
openapi: 3.0.1
info:
  title: Commerce Payment Links
  description: Basepom for all HubSpot Projects
  version: 2026-09
  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: Basic
paths:
  /commerce/payment-links/2026-09/payment-links:
    post:
      tags:
        - Basic
      summary: Create a payment link
      description: >-
        Create a new payment link in your HubSpot account. This endpoint allows
        you to specify various attributes for the payment link, such as accepted
        payment methods, currency, and additional form fields. The payment link
        can be configured for one-time use and can also collect shipping and
        billing addresses. This operation requires a valid JSON request body.
        Some defaults will be applied if no value provided.
      operationId: post-/commerce/payment-links/2026-09/payment-links
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentLinkCreateRequest'
        required: true
      responses:
        '201':
          description: successful operation
          headers:
            Location:
              description: URL of the newly created resource
              style: simple
              explode: false
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentLinkResponse'
        default:
          $ref: '#/components/responses/Error'
          description: ''
      security:
        - oauth2:
            - payment-links-write
components:
  schemas:
    PaymentLinkCreateRequest:
      required:
        - acceptedPaymentMethods
        - additionalFormFields
        - currencyCode
        - discountObjectIds
        - enableDefaultCheckoutFees
        - feeObjectIds
        - fees
        - includeEmailInSuccessRedirect
        - isOneTimeUseEnabled
        - lineItemObjectIds
        - lineItems
        - paymentLinkName
        - state
        - taxObjectIds
        - taxes
      type: object
      properties:
        acceptedPaymentMethods:
          type: array
          description: >-
            An array of accepted payment methods for the payment link. Valid
            values include 'CREDIT_OR_DEBIT_CARD', 'ACH', 'SEPA', 'BACS', and
            'PADS'.
          items:
            type: string
            enum:
              - CREDIT_OR_DEBIT_CARD
              - ACH
              - SEPA
              - BACS
              - PADS
              - AFFIRM
              - KLARNA
        additionalFormFields:
          type: array
          description: >-
            An array of PaymentLinkFormField objects representing additional
            form fields to be included in the payment link.
          items:
            $ref: '#/components/schemas/PaymentLinkFormField'
        automatedSalesTaxEnabled:
          type: boolean
          description: A boolean indicating whether automated sales tax is enabled.
        businessUnitId:
          type: string
          description: >-
            A string representing the business unit ID associated with the
            payment link.
        collectFullBillingAddress:
          type: boolean
          description: >-
            A boolean indicating whether to collect the full billing address
            during checkout.
        collectShippingAddress:
          type: boolean
          description: >-
            A boolean indicating whether the shipping address should be
            collected during checkout.
        createContractOnPurchase:
          type: boolean
        currencyCode:
          type: string
          description: The currency code for the payment, represented as a string.
        dealConfigurations:
          $ref: '#/components/schemas/DealConfigurations'
        descriptionHtml:
          type: string
          description: A string containing the HTML description of the payment link.
        discount:
          $ref: '#/components/schemas/DiscountRequest'
        discountCodeEnabled:
          type: boolean
          description: >-
            A boolean indicating whether discount codes are enabled for the
            payment link.
        discountObjectId:
          type: string
          description: >-
            A string representing the object ID of a discount associated with
            the payment link.
        discountObjectIds:
          type: array
          description: >-
            An array of strings representing the IDs of discount objects
            associated with the payment link.
          items:
            type: string
        domainId:
          type: string
          description: >-
            The domain ID associated with the payment link, represented as a
            string.
        enableDefaultCheckoutFees:
          type: boolean
          description: A boolean indicating whether default checkout fees are enabled.
        feeObjectIds:
          type: array
          description: >-
            An array of strings representing the IDs of fee objects associated
            with the payment link.
          items:
            type: string
        fees:
          type: array
          description: >-
            An array of FeeRequest objects, representing the fees to be applied
            to the payment link.
          items:
            $ref: '#/components/schemas/FeeRequest'
        includeEmailInSuccessRedirect:
          type: boolean
          description: >-
            A boolean indicating whether to include the email in the success
            redirect URL.
        isOneTimeUseEnabled:
          type: boolean
          description: >-
            A boolean indicating whether the payment link is enabled for
            one-time use.
        lineItemObjectIds:
          type: array
          description: >-
            An array of line item object IDs associated with the payment link,
            each represented as a string.
          items:
            type: string
        lineItems:
          type: array
          description: >-
            An array of line items, which can be custom, from a product, or
            cloned, as defined by their respective schemas.
          items:
            oneOf:
              - $ref: '#/components/schemas/LineItemCustomCreateRequest'
              - $ref: '#/components/schemas/LineItemFromProductCreateRequest'
              - $ref: '#/components/schemas/LineItemCloneCreateRequest'
        paymentLinkName:
          type: string
          description: The name of the payment link. It is a string value.
        state:
          type: string
          description: >-
            The state of the payment link, represented as a string. Valid values
            are 'ON' and 'OFF'.
          enum:
            - 'OFF'
            - 'ON'
        storePaymentMethodAtCheckout:
          type: boolean
          description: >-
            A boolean indicating whether to store the payment method at
            checkout.
        successUrl:
          type: string
          description: >-
            A string that defines the URL to redirect to upon successful
            payment.
        taxObjectIds:
          type: array
          description: >-
            An array of string IDs representing tax objects associated with the
            payment link.
          items:
            type: string
        taxes:
          type: array
          description: >-
            An array of TaxRequest objects, each representing a tax associated
            with the payment link.
          items:
            $ref: '#/components/schemas/TaxRequest'
    PaymentLinkResponse:
      required:
        - acceptedPaymentMethods
        - additionalFormFields
        - archived
        - automatedSalesTaxEnabled
        - checkoutFeeIds
        - collectFullBillingAddress
        - collectShippingAddress
        - createContractOnPurchase
        - currencyCode
        - discountCodeEnabled
        - discounts
        - fees
        - formGuid
        - id
        - includeEmailInSuccessRedirect
        - isOneTimeUseEnabled
        - lineItems
        - paymentLinkName
        - paymentLinkUrl
        - state
        - storePaymentMethodAtCheckout
        - taxes
      type: object
      properties:
        acceptedPaymentMethods:
          type: array
          description: >-
            An array of accepted payment methods for the payment link. Valid
            values include 'CREDIT_OR_DEBIT_CARD', 'ACH', 'SEPA', 'BACS', and
            'PADS'.
          items:
            type: string
            enum:
              - CREDIT_OR_DEBIT_CARD
              - ACH
              - SEPA
              - BACS
              - PADS
              - AFFIRM
              - KLARNA
        additionalFormFields:
          type: array
          description: An array of additional form fields included in the payment link.
          items:
            $ref: '#/components/schemas/PaymentLinkFormField'
        archived:
          type: boolean
          description: A boolean indicating whether the payment link is archived.
        archivedAt:
          type: string
          description: >-
            The date and time when the payment link was archived, in ISO 8601
            format.
          format: date-time
        automatedSalesTaxEnabled:
          type: boolean
          description: >-
            A boolean indicating whether automated sales tax is enabled for the
            payment link.
        businessUnitId:
          type: string
          description: >-
            The business unit ID associated with the payment link, represented
            as a string.
        checkoutFeeIds:
          type: array
          description: An array of checkout fee IDs associated with the payment link.
          items:
            type: string
        collectFullBillingAddress:
          type: boolean
          description: >-
            A boolean indicating whether to collect the full billing address
            during checkout.
        collectShippingAddress:
          type: boolean
          description: >-
            A boolean indicating whether to collect the shipping address during
            checkout.
        createContractOnPurchase:
          type: boolean
        createdAt:
          type: string
          description: >-
            The date and time when the payment link was created, in ISO 8601
            format.
          format: date-time
        currencyCode:
          type: string
          description: The currency code for the payment link, represented as a string.
        dealConfigurations:
          $ref: '#/components/schemas/DealConfigurations'
        descriptionHtml:
          type: string
          description: The HTML description of the payment link, represented as a string.
        discountCodeEnabled:
          type: boolean
          description: >-
            A boolean indicating whether discount codes are enabled for the
            payment link.
        discounts:
          type: array
          description: An array of discount objects associated with the payment link.
          items:
            $ref: '#/components/schemas/DiscountResponse'
        domainId:
          type: string
          description: >-
            The domain ID associated with the payment link, represented as a
            string.
        fees:
          type: array
          description: An array of fee objects associated with the payment link.
          items:
            $ref: '#/components/schemas/FeeResponse'
        formGuid:
          type: string
          description: >-
            The form GUID associated with the payment link, represented as a
            string.
        id:
          type: string
          description: The unique identifier for the payment link, represented as a string.
        includeEmailInSuccessRedirect:
          type: boolean
          description: >-
            A boolean indicating whether to include the email in the success
            redirect URL.
        isOneTimeUseEnabled:
          type: boolean
          description: >-
            A boolean indicating whether the payment link is enabled for
            one-time use.
        lineItems:
          type: array
          description: An array of line items associated with the payment link.
          items:
            $ref: '#/components/schemas/LineItem'
        paymentLinkName:
          type: string
          description: The name of the payment link, represented as a string.
        paymentLinkUrl:
          type: string
          description: The URL of the payment link, represented as a string.
        state:
          type: string
          description: >-
            The current state of the payment link, represented as a string.
            Valid values include 'ON' and 'OFF'.
          enum:
            - 'OFF'
            - 'ON'
        storePaymentMethodAtCheckout:
          type: boolean
          description: >-
            A boolean indicating whether to store the payment method at
            checkout.
        successUrl:
          type: string
          description: >-
            The URL to redirect to upon successful payment, represented as a
            string.
        taxes:
          type: array
          description: An array of tax objects associated with the payment link.
          items:
            $ref: '#/components/schemas/TaxResponse'
        updatedAt:
          type: string
          description: >-
            The date and time when the payment link was last updated, in ISO
            8601 format.
          format: date-time
    PaymentLinkFormField:
      required:
        - isRequired
        - label
        - objectType
        - options
        - propertyName
      type: object
      properties:
        description:
          type: string
          description: >-
            A description of the form field, providing additional context or
            instructions, represented as a string.
        isRequired:
          type: boolean
          description: >-
            A boolean indicating whether this form field is required to be
            filled out.
        label:
          type: string
          description: >-
            The label for the form field, which is displayed to users,
            represented as a string.
        objectType:
          type: string
          description: >-
            The type of object this form field is associated with, represented
            as a string. Valid values include 'CONTACT' and 'COMPANY'.
          enum:
            - COMPANY
            - CONTACT
        options:
          type: array
          description: >-
            An array of options available for this form field, each represented
            as a FormFieldOption object.
          items:
            $ref: '#/components/schemas/FormFieldOption'
        propertyName:
          type: string
          description: >-
            The name of the property associated with this form field,
            represented as a string.
    DealConfigurations:
      required:
        - createNewDealOnPurchase
      type: object
      properties:
        createNewDealOnPurchase:
          type: boolean
          description: >-
            A boolean indicating whether a new deal should be created in HubSpot
            upon a purchase. Required field.
        pipelineStageId:
          type: string
          description: >-
            The identifier for the pipeline stage where the new deal will be
            placed. This is a string value.
    DiscountRequest:
      required:
        - label
        - value
        - valueType
      type: object
      properties:
        label:
          type: string
          description: A descriptive label for the discount. This is a string.
        value:
          type: number
          description: The numerical value of the discount to be applied. This is a number.
        valueType:
          type: string
          description: >-
            The type of discount value, which can either be 'FIXED' or
            'PERCENT'.
          enum:
            - FIXED
            - PERCENT
    FeeRequest:
      required:
        - label
        - value
        - valueType
      type: object
      properties:
        label:
          type: string
          description: A descriptive label for the fee, represented as a string.
        value:
          type: number
          description: >-
            The numerical value of the fee. This is a number representing either
            a fixed amount or a percentage, depending on the valueType.
        valueType:
          type: string
          description: >-
            The type of the fee value, indicating whether it is a fixed amount
            or a percentage. Valid values include 'FIXED' and 'PERCENT'.
          enum:
            - FIXED
            - PERCENT
    LineItemCustomCreateRequest:
      title: CUSTOM
      required:
        - mode
        - name
        - pricing
        - quantity
      type: object
      properties:
        allowBuyerSelectedQuantity:
          type: boolean
          description: >-
            A boolean specifying if the buyer can select the quantity of the
            line item.
        billingCycleAnchorDate:
          type: string
          description: >-
            A string in date format representing the anchor date for the billing
            cycle.
          format: date
        billingStartDelayDays:
          type: integer
          description: >-
            An integer indicating the number of days to delay the start of
            billing.
          format: int32
        billingStartDelayMonths:
          type: integer
          description: >-
            An integer indicating the number of months to delay the start of
            billing.
          format: int32
        buyerSelectedQuantityMax:
          type: number
          description: A number indicating the maximum quantity the buyer can select.
        buyerSelectedQuantityMin:
          type: number
          description: A number indicating the minimum quantity the buyer can select.
        description:
          type: string
          description: A string providing a description of the line item.
        discount:
          type: number
          description: A number representing the discount applied to the line item.
        discountPercentage:
          type: number
          description: >-
            A number indicating the discount percentage applied to the line
            item.
        externalId:
          type: string
          description: A string representing an external identifier for the line item.
        images:
          type: string
          description: >-
            A string containing URLs or identifiers for images associated with
            the line item.
        isEditablePrice:
          type: boolean
          description: A boolean indicating whether the price of the line item is editable.
        isOptional:
          type: boolean
          description: A boolean indicating whether the line item is optional.
        lineItemCurrencyCode:
          type: string
          description: A string representing the currency code for the line item.
        mode:
          type: string
          description: >-
            A string that indicates the mode of the line item, which is set to
            'CUSTOM'.
          default: CUSTOM
          enum:
            - CUSTOM
        name:
          type: string
          description: A string representing the name of the line item.
        positionOnQuote:
          type: integer
          description: An integer indicating the position of the line item on a quote.
          format: int32
        priceBookId:
          type: string
          description: >-
            A string that identifies the price book associated with the line
            item.
        pricing:
          $ref: '#/components/schemas/PricingFullUpdateRequest'
        productId:
          type: string
          description: A string that identifies the product associated with the line item.
        productType:
          type: string
          description: A string indicating the type of product for the line item.
        quantity:
          type: number
          description: A number indicating the quantity of the line item.
        recurringBillingEndDate:
          type: string
          description: >-
            A string in date format indicating the end date of recurring
            billing.
          format: date
        recurringBillingFrequency:
          type: string
          description: >-
            A string specifying the frequency of recurring billing. Valid values
            include 'ANNUALLY', 'BIWEEKLY', 'MONTHLY', 'PER_FIVE_YEARS',
            'PER_FOUR_YEARS', 'PER_SIX_MONTHS', 'PER_THREE_YEARS',
            'PER_TWO_YEARS', 'QUARTERLY', and '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: A string representing the period of recurring billing.
        recurringBillingStartDate:
          type: string
          description: >-
            A string in date format indicating the start date of recurring
            billing.
          format: date
        richTextDescription:
          type: string
          description: A string containing a rich text description of the line item.
        sku:
          type: string
          description: A string representing the stock keeping unit (SKU) of the line item.
        taxCategory:
          type: string
        taxRateGroupId:
          type: string
        variantId:
          type: string
          description: A string representing the variant identifier of the product.
      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: >-
            An object indicating whether the buyer can select the quantity of
            the product.
        billingCycleAnchorDate:
          type: object
          properties: {}
          description: An object representing the anchor date for the billing cycle.
        billingStartDelayDays:
          type: object
          properties: {}
          description: >-
            An object representing the number of days to delay the start of
            billing.
        billingStartDelayMonths:
          type: object
          properties: {}
          description: >-
            An object representing the number of months to delay the start of
            billing.
        buyerSelectedQuantityMax:
          type: object
          properties: {}
          description: An object representing the maximum quantity the buyer can select.
        buyerSelectedQuantityMin:
          type: object
          properties: {}
          description: An object representing the minimum quantity the buyer can select.
        description:
          type: object
          properties: {}
          description: >-
            An object representing the description of the product associated
            with the line item.
        discount:
          type: object
          properties: {}
          description: An object representing any discount applied to the line item.
        discountPercentage:
          type: object
          properties: {}
          description: >-
            An object representing the percentage discount applied to the line
            item.
        externalId:
          type: object
          properties: {}
          description: An object representing an external identifier for the line item.
        images:
          type: object
          properties: {}
          description: An object representing images associated with the product.
        isEditablePrice:
          type: object
          properties: {}
          description: An object indicating whether the price of the line item is editable.
        isOptional:
          type: object
          properties: {}
          description: An object indicating whether the line item is optional.
        lineItemCurrencyCode:
          type: object
          properties: {}
          description: An object representing the currency code for the line item.
        mode:
          type: string
          description: >-
            A string indicating the mode of the line item creation. The default
            and only valid value is 'FROM_PRODUCT'.
          default: FROM_PRODUCT
          enum:
            - FROM_PRODUCT
        name:
          type: object
          properties: {}
          description: >-
            An object representing the name of the product associated with the
            line item.
        positionOnQuote:
          type: object
          properties: {}
          description: An object representing the position of the line item on a quote.
        priceBookId:
          type: object
          properties: {}
          description: >-
            An object representing the ID of the price book associated with the
            product.
        pricing:
          type: object
          properties: {}
          description: An object representing the pricing details of the line item.
        productId:
          type: string
          description: A string representing the unique identifier of the product.
        productType:
          type: object
          properties: {}
          description: An object representing the type of product.
        quantity:
          type: object
          properties: {}
          description: >-
            An object representing the quantity of the product to be included in
            the line item.
        recurringBillingEndDate:
          type: object
          properties: {}
          description: An object representing the end date of the recurring billing cycle.
        recurringBillingFrequency:
          type: object
          properties: {}
          description: >-
            An object representing the frequency of recurring billing for the
            line item.
        recurringBillingPeriod:
          type: object
          properties: {}
          description: An object representing the period of the recurring billing cycle.
        recurringBillingStartDate:
          type: object
          properties: {}
          description: >-
            An object representing the start date of the recurring billing
            cycle.
        richTextDescription:
          type: object
          properties: {}
          description: >-
            An object representing a rich text description of the product
            associated with the line item.
        sku:
          type: object
          properties: {}
          description: An object representing the stock keeping unit (SKU) of the product.
        taxCategory:
          type: object
          properties: {}
        taxRateGroupId:
          type: object
          properties: {}
        variantId:
          type: object
          properties: {}
          description: An object representing the variant ID of the product.
      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: >-
            An object indicating whether the buyer can select the quantity of
            the line item.
        billingCycleAnchorDate:
          type: object
          properties: {}
          description: >-
            An object representing the anchor date for the billing cycle of the
            line item.
        billingStartDelayDays:
          type: object
          properties: {}
          description: >-
            An object representing the number of days to delay the start of
            billing for the line item.
        billingStartDelayMonths:
          type: object
          properties: {}
          description: >-
            An object representing the number of months to delay the start of
            billing for the line item.
        buyerSelectedQuantityMax:
          type: object
          properties: {}
          description: >-
            An object representing the maximum quantity the buyer can select for
            the line item.
        buyerSelectedQuantityMin:
          type: object
          properties: {}
          description: >-
            An object representing the minimum quantity the buyer can select for
            the line item.
        description:
          type: object
          properties: {}
          description: An object representing the description of the line item.
        discount:
          type: object
          properties: {}
          description: An object representing the discount applied to the line item.
        discountPercentage:
          type: object
          properties: {}
          description: >-
            An object representing the discount percentage applied to the line
            item.
        externalId:
          type: object
          properties: {}
          description: An object representing an external identifier for the line item.
        images:
          type: object
          properties: {}
          description: An object representing the images associated with the line item.
        isEditablePrice:
          type: object
          properties: {}
          description: An object indicating whether the price of the line item is editable.
        isOptional:
          type: object
          properties: {}
          description: An object indicating whether the line item is optional.
        lineItemCurrencyCode:
          type: object
          properties: {}
          description: An object representing the currency code for the line item.
        mode:
          type: string
          description: >-
            A string indicating the mode of the line item creation, which is
            'CLONE' for this component.
          default: CLONE
          enum:
            - CLONE
        name:
          type: object
          properties: {}
          description: An object representing the name of the line item.
        positionOnQuote:
          type: object
          properties: {}
          description: An object representing the position of the line item on the quote.
        priceBookId:
          type: object
          properties: {}
          description: >-
            An object representing the price book ID associated with the line
            item.
        pricing:
          type: object
          properties: {}
          description: An object representing the pricing details of the line item.
        productType:
          type: object
          properties: {}
          description: An object representing the type of product for the line item.
        quantity:
          type: object
          properties: {}
          description: An object representing the quantity of the line item.
        recurringBillingEndDate:
          type: object
          properties: {}
          description: >-
            An object representing the end date for recurring billing of the
            line item.
        recurringBillingFrequency:
          type: object
          properties: {}
          description: >-
            An object representing the frequency of recurring billing for the
            line item.
        recurringBillingPeriod:
          type: object
          properties: {}
          description: >-
            An object representing the billing period for recurring billing of
            the line item.
        recurringBillingStartDate:
          type: object
          properties: {}
          description: >-
            An object representing the start date for recurring billing of the
            line item.
        richTextDescription:
          type: object
          properties: {}
          description: An object representing the rich text description of the line item.
        sku:
          type: object
          properties: {}
          description: >-
            An object representing the stock keeping unit (SKU) of the line
            item.
        sourceLineItemId:
          type: string
          description: A string representing the ID of the source line item being cloned.
        taxCategory:
          type: object
          properties: {}
        taxRateGroupId:
          type: object
          properties: {}
        variantId:
          type: object
          properties: {}
          description: An object representing the variant ID of the line item.
      x-hubspot-sub-type-impl: true
    TaxRequest:
      required:
        - label
        - value
        - valueType
      type: object
      properties:
        label:
          type: string
          description: >-
            A string that provides a label or description for the tax, used for
            identification or display purposes.
        value:
          type: number
          description: >-
            The numeric value of the tax. It represents the amount or
            percentage, depending on the valueType.
        valueType:
          type: string
          description: >-
            A string indicating the type of tax value. Valid values are 'FIXED'
            for a fixed amount and 'PERCENT' for a percentage-based tax.
          enum:
            - FIXED
            - PERCENT
    DiscountResponse:
      required:
        - id
      type: object
      properties:
        archived:
          type: boolean
          description: Indicates whether this discount has been archived. A boolean value.
        archivedAt:
          type: string
          description: >-
            The date and time when this discount was archived, in ISO 8601
            format.
          format: date-time
        createdAt:
          type: string
          description: >-
            The date and time when this discount was created, in ISO 8601
            format.
          format: date-time
        id:
          type: string
          description: The unique identifier for this discount.
        label:
          type: string
          description: A descriptive label for the discount.
        updatedAt:
          type: string
          description: >-
            The date and time when this discount was last updated, in ISO 8601
            format.
          format: date-time
        value:
          type: number
          description: The numerical value of the discount.
        valueType:
          type: string
          description: >-
            The type of discount value, which can be either 'FIXED' or
            'PERCENT'.
          enum:
            - FIXED
            - PERCENT
    FeeResponse:
      required:
        - id
      type: object
      properties:
        archived:
          type: boolean
          description: Indicates whether this fee has been archived. A boolean value.
        archivedAt:
          type: string
          description: The date and time when this fee was archived, in ISO 8601 format.
          format: date-time
        createdAt:
          type: string
          description: The date and time when this fee was created, in ISO 8601 format.
          format: date-time
        id:
          type: string
          description: The unique identifier for this fee.
        label:
          type: string
          description: A descriptive label for the fee.
        updatedAt:
          type: string
          description: >-
            The date and time when this fee was last updated, in ISO 8601
            format.
          format: date-time
        value:
          type: number
          description: The monetary value of the fee. A number representing the fee amount.
        valueType:
          type: string
          description: >-
            The type of value for the fee, which can be either 'FIXED' or
            'PERCENT'.
          enum:
            - FIXED
            - PERCENT
    LineItem:
      required:
        - id
        - name
        - pricing
        - quantity
      type: object
      properties:
        acv:
          type: number
          description: The annual contract value for the line item.
        allowBuyerSelectedQuantity:
          type: boolean
          description: >-
            Indicates whether the buyer can select the quantity of the line
            item.
        amount:
          type: number
          description: >-
            The total amount for the line item, calculated as price multiplied
            by quantity.
        archived:
          type: boolean
          description: Indicates whether the line item is archived.
        archivedAt:
          type: string
          description: >-
            The date and time when the line item was archived, in ISO 8601
            format.
          format: date-time
        arr:
          type: number
          description: The annual recurring revenue for the line item.
        billingCycleAnchorDate:
          type: string
          description: The anchor date for the billing cycle, in ISO 8601 date format.
          format: date
        billingPeriodEndDate:
          type: string
          description: The end date of the billing period, in ISO 8601 date format.
          format: date
        billingPeriodStartDate:
          type: string
          description: The start date of the billing period, in ISO 8601 date format.
          format: date
        billingStartDelayDays:
          type: integer
          description: The number of days to delay the start of billing.
          format: int32
        billingStartDelayMonths:
          type: integer
          description: The number of months to delay the start of billing.
          format: int32
        billingStartDelayType:
          type: string
          description: >-
            The type of delay for the start of billing. Valid values include
            'HS_BILLING_START_DELAY_DAYS', 'HS_BILLING_START_DELAY_MONTHS', and
            '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: The maximum quantity the buyer can select for the line item.
        buyerSelectedQuantityMin:
          type: number
          description: The minimum quantity the buyer can select for the line item.
        createdAt:
          type: string
          description: >-
            The date and time when the line item was created, in ISO 8601
            format.
          format: date-time
        description:
          type: string
          description: A text description of the line item.
        discount:
          type: number
          description: The discount applied to the line item.
        discountPercentage:
          type: number
          description: The percentage discount applied to the line item.
        effectiveUnitPrice:
          type: number
          description: The effective price per unit after discounts.
        externalId:
          type: string
          description: >-
            An external identifier for the line item, used for integration
            purposes.
        id:
          type: string
          description: The unique identifier for the line item.
        images:
          type: string
          description: A URL or identifier for images associated with the line item.
        isEditablePrice:
          type: boolean
          description: Indicates whether the price of the line item is editable.
        isOptional:
          type: boolean
          description: Indicates whether the line item is optional.
        isParent:
          type: boolean
        lineItemCurrencyCode:
          type: string
          description: The currency code for the line item, following ISO 4217 format.
        mrr:
          type: number
          description: The monthly recurring revenue for the line item.
        name:
          type: string
          description: The name of the line item.
        parentLineItemId:
          type: string
        positionOnQuote:
          type: integer
          description: The position of the line item on a quote, represented as an integer.
          format: int32
        postTaxAmount:
          type: number
          description: The amount after taxes are applied.
        preDiscountAmount:
          type: number
          description: The amount before any discounts are applied.
        price:
          type: number
          description: The price of a single unit of the line item.
        priceBookId:
          type: string
          description: The identifier for the price book associated with the line item.
        pricing:
          $ref: '#/components/schemas/Pricing'
        pricingModel:
          type: string
          description: >-
            The pricing model used for the line item. Valid values include
            'FLAT', 'GRADUATED', 'STAIRSTEP', and 'VOLUME'.
          enum:
            - FLAT
            - GRADUATED
            - STAIRSTEP
            - VOLUME
        productId:
          type: string
          description: The identifier for the product associated with the line item.
        productType:
          type: string
          description: The type of product for the line item.
        quantity:
          type: number
          description: The quantity of the line item, represented as a number.
        rampKey:
          type: string
          description: A key used to identify the ramp schedule for the line item.
        recurringBillingDayOfMonth:
          type: integer
          description: The day of the month when recurring billing occurs.
          format: int32
        recurringBillingEndDate:
          type: string
          description: The end date for recurring billing, in ISO 8601 date format.
          format: date
        recurringBillingFrequency:
          type: string
          description: >-
            The frequency of recurring billing for the line item. Valid values
            include 'ANNUALLY', 'BIWEEKLY', 'MONTHLY', 'PER_FIVE_YEARS',
            'PER_FOUR_YEARS', 'PER_SIX_MONTHS', 'PER_THREE_YEARS',
            'PER_TWO_YEARS', 'QUARTERLY', and '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: The number of payments for the recurring billing cycle.
          format: int32
        recurringBillingPeriod:
          type: string
          description: The period for recurring billing.
        recurringBillingStartDate:
          type: string
          description: The start date for recurring billing, in ISO 8601 date format.
          format: date
        recurringBillingTerms:
          type: string
          description: >-
            The terms of recurring billing. Valid values include
            'AUTOMATICALLY_RENEW' and 'FIXED'.
          enum:
            - AUTOMATICALLY_RENEW
            - FIXED
        richTextDescription:
          type: string
          description: A rich text formatted description of the line item.
        sku:
          type: string
          description: The stock keeping unit (SKU) identifier for the line item.
        tax:
          type: number
          description: The tax amount applied to the line item.
        taxAmount:
          type: number
        taxCategory:
          type: string
        taxRateGroupId:
          type: string
        tcv:
          type: number
          description: The total contract value for the line item.
        termInMonths:
          type: integer
          description: The term length for the line item in months.
          format: int32
        tierAmount:
          type: number
          description: The tiered amount applicable to the line item.
        totalDiscount:
          type: number
          description: The total discount amount applied to the line item.
        updatedAt:
          type: string
          description: >-
            The date and time when the line item was last updated, in ISO 8601
            format.
          format: date-time
        variantId:
          type: string
          description: >-
            The identifier for the product variant associated with the line
            item.
    TaxResponse:
      required:
        - id
      type: object
      properties:
        archived:
          type: boolean
          description: Indicates whether this tax entry is archived. A boolean value.
        archivedAt:
          type: string
          description: >-
            The date and time when this tax entry was archived, in ISO 8601
            format.
          format: date-time
        createdAt:
          type: string
          description: >-
            The date and time when this tax entry was created, in ISO 8601
            format.
          format: date-time
        id:
          type: string
          description: The unique identifier for this tax entry.
        label:
          type: string
          description: A descriptive label for this tax entry.
        updatedAt:
          type: string
          description: >-
            The date and time when this tax entry was last updated, in ISO 8601
            format.
          format: date-time
        value:
          type: number
          description: The numerical value of the tax.
        valueType:
          type: string
          description: >-
            The type of value for the tax, which can be either 'FIXED' or
            'PERCENT'.
          enum:
            - FIXED
            - PERCENT
    Error:
      required:
        - category
        - correlationId
        - message
      type: object
      properties:
        category:
          type: string
          description: The error category
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Context about the error condition
          example: >-
            {invalidPropertyName=[propertyValue], missingScopes=[scope1,
            scope2]}
        correlationId:
          type: string
          description: >-
            A unique identifier for the request. Include this value with any
            error reports or support tickets
          format: uuid
          example: aeb5f871-7f07-4993-9211-075dc63e7cbf
        errors:
          type: array
          description: further information about the error
          items:
            $ref: '#/components/schemas/ErrorDetail'
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            A map of link names to associated URIs containing documentation
            about the error or recommended remediation steps
        message:
          type: string
          description: >-
            A human readable message describing the error along with remediation
            steps where appropriate
          example: An error occurred
        subCategory:
          type: string
          description: >-
            A specific category that contains more specific detail about the
            error
      description: >-
        Represents an error response returned by the API when an operation
        fails. This component is used in various endpoints to provide detailed
        information about the error encountered.
      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
    FormFieldOption:
      required:
        - label
        - value
      type: object
      properties:
        description:
          type: string
          description: >-
            A string providing additional information or context about the form
            field option.
        label:
          type: string
          description: A string representing the display name of the form field option.
        value:
          type: string
          description: >-
            A string representing the underlying value associated with the form
            field option.
    PricingFullUpdateRequest:
      required:
        - prices
        - pricingModel
      type: object
      properties:
        prices:
          type: array
          description: >-
            An array of PriceUpdateEntry objects, each specifying the price
            details such as currency code and price amount for different
            quantities.
          items:
            $ref: '#/components/schemas/PriceUpdateEntry'
        pricingModel:
          type: string
          description: >-
            The pricing model applied to the line item. Valid values include
            'FLAT', 'GRADUATED', 'STAIRSTEP', and 'VOLUME'.
          enum:
            - FLAT
            - GRADUATED
            - STAIRSTEP
            - VOLUME
    Pricing:
      required:
        - prices
        - pricingModel
      type: object
      properties:
        prices:
          type: array
          description: >-
            An array of price entries, each detailing a specific price point
            within the pricing model.
          items:
            $ref: '#/components/schemas/PriceEntry'
        pricingModel:
          type: string
          description: >-
            The type of pricing model applied. Valid values include 'FLAT',
            'GRADUATED', 'STAIRSTEP', and 'VOLUME'.
          enum:
            - FLAT
            - GRADUATED
            - STAIRSTEP
            - VOLUME
    ErrorDetail:
      required:
        - message
      type: object
      properties:
        code:
          type: string
          description: The status code associated with the error detail
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Context about the error condition
          example: '{missingScopes=[scope1, scope2]}'
        in:
          type: string
          description: The name of the field or parameter in which the error was found.
        message:
          type: string
          description: >-
            A human readable message describing the error along with remediation
            steps where appropriate
        subCategory:
          type: string
          description: >-
            A specific category that contains more specific detail about the
            error
      description: >-
        Represents detailed information about an error that occurred in the API.
        This component is used to provide additional context and specifics about
        errors, typically as part of an error response.
    PriceUpdateEntry:
      required:
        - currencyCode
        - price
      type: object
      properties:
        currencyCode:
          type: string
          description: >-
            The currency code in which the price is specified, represented as a
            string.
        maxQuantity:
          type: integer
          description: >-
            The maximum quantity for which this price is applicable, represented
            as a string.
          format: int32
        price:
          type: object
          properties: {}
          description: >-
            An object representing the price details. The specific structure of
            this object is not detailed in the specification.
    PriceEntry:
      required:
        - currencyCode
        - price
      type: object
      properties:
        currencyCode:
          type: string
          description: The currency code for the price, represented as a string.
        maxQuantity:
          type: integer
          description: >-
            The maximum quantity for which this price is applicable, represented
            as a string.
          format: int32
        price:
          type: number
          description: The price of the item, represented as a number.
  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:
            payment-links-delete: ''
            payment-links-read: ''
            payment-links-write: ''

````