---
title: "Add line items"
method: POST
path: "/v2/quotes/{quoteId}/line-items"
tags: ["Quote line items"]
---

# Add line items

`POST /v2/quotes/{quoteId}/line-items`

Limited to 30 total line items. This api supports adding 1 or more at a time.Line items with required relationships must be added together.

## Path parameters

- `quoteId` string, uuid, required

## Request body

- union[]
  - union
    - AddCustomLineItemPayload
      - `effectiveDate` string, date-time, required
      - `note` string — Max length 2000 characters.
      - `price` number, double, required
      - `quantity` integer, required
      - `type` 'Standard' | 'Custom' | 'UsageBased', required — Type of line item
      - `billingTerm` 'Monthly' | 'Annual' | 'Trial' | 'One-Time', required
      - `cost` number, double, required
      - `initialTotal` number, double, required
      - `productName` string, required — Max length 255 characters. Only alpha numeric characters and spaces allowed.
      - `productSku` string — Max length 100 characters. Only alpha numeric characters, and dashes allowed.
    - AddStandardLineItemPayload
      - `effectiveDate` string, date-time, required
      - `note` string — Max length 2000 characters.
      - `price` number, double, required
      - `quantity` integer, required
      - `type` 'Standard' | 'Custom' | 'UsageBased', required — Type of line item
      - `billingTerm` 'Monthly' | 'Annual' | '1 Year' | '2 Year' | '3 Year' | 'Trial' | 'Activation' | 'One-Time', required
      - `commitmentTermId` string, uuid
      - `productId` string, uuid, required
      - `requiredLineItemId` string, uuid
      - `requiredLineItemIndex` integer
      - `requiredSubscriptionId` string, uuid
      - `subscriptionId` string, uuid
    - AddUsageBasedLineItemPayload
      - `effectiveDate` string, date-time, required
      - `note` string — Max length 2000 characters.
      - `price` number, double, required
      - `quantity` integer, required
      - `type` 'Standard' | 'Custom' | 'UsageBased', required — Type of line item
      - `billingTerm` 'Monthly' | 'Annual' | '1 Year' | '2 Year' | '3 Year' | 'Trial' | 'Activation' | 'One-Time', required
      - `commitmentTermId` string, uuid
      - `cost` number, double, required
      - `productId` string, uuid, required
      - `requiredLineItemId` string, uuid
      - `requiredLineItemIndex` integer
      - `requiredSubscriptionId` string, uuid
      - `subscriptionId` string, uuid
      - `usageBased` UsageBased, required
        - `displayNote` boolean, required
        - `type` 'PRICE_FLAT' | 'PRICE_VARIES' | 'QTY_VARIES', required

## Response `201`

Created

- LineItemResponse[]
  - `billingTerm` 'Monthly' | 'Annual' | '1 Year' | '2 Year' | '3 Year' | 'Trial' | 'Activation' | 'One-Time', required
  - `commitmentTerm` CommitmentTerm
    - `months` integer
    - `endDate` string, date-time
  - `cost` AmountCurrency, required
    - `amount` number, double, required
    - `currency` string, required
  - `effectiveDate` string, date-time, required
  - `id` string, uuid, required
  - `note` string, required
  - `price` AmountCurrency, required
    - `amount` number, double, required
    - `currency` string, required
  - `product` Product, required
    - `id` string, uuid, required
    - `isMspOnly` boolean, required
    - `name` string, required
    - `sku` string, required
    - `type` 'Standalone' | 'Solution' | 'Custom', required
  - `quantity` integer, required
  - `relationship` LineItemRelationship
    - `requiredLineItemId` string, uuid
    - `requiredSubscriptionId` string, uuid
  - `subscriptionId` string, uuid
  - `totals` InvoiceTotals, required
    - `initialCost` AmountCurrency, required
      - `amount` number, double, required
      - `currency` string, required
    - `initialProfit` AmountCurrency, required
      - `amount` number, double, required
      - `currency` string, required
    - `initialTotal` AmountCurrency, required
      - `amount` number, double, required
      - `currency` string, required
    - `recurringCost` AmountCurrency, required
      - `amount` number, double, required
      - `currency` string, required
    - `recurringProfit` AmountCurrency, required
      - `amount` number, double, required
      - `currency` string, required
    - `recurringTotal` AmountCurrency, required
      - `amount` number, double, required
      - `currency` string, required
  - `usageBased` UsageBased
    - `displayNote` boolean, required
    - `type` 'PRICE_FLAT' | 'PRICE_VARIES' | 'QTY_VARIES', required

## Other responses

- `400` — Bad Request
- `403` — Authorization Error

---

[API](https://skmtc.dev/pax8/apis/authentication.md) · [All operations](https://skmtc.dev/pax8/apis/authentication/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/pax8/authentication/revisions/4026bf405528/schema)
