# Create or update a price schedule price break

Endpoint: POST /priceschedules/{priceScheduleID}/PriceBreaks
Version: 1.0.457.36910
Security: OAuth2

## Security:

  - `OAuth2` (unknown)
    oauth2 scopes: FullAccess, PriceScheduleAdmin

## Path parameters:

  - `priceScheduleID` (string, required)
    ID of the price schedule.

## Request fields (application/json):

  - `Quantity` (integer)
    Most commonly 1, except when offering tiered/bulk pricing.

  - `Price` (number)
    Price per unit.

  - `SalePrice` (number)
    Sale Price per unit. If the current date/time is within the PriceSchedule SaleStart and SaleEnd, this SalePrice will be used.

  - `SubscriptionPrice` (number)
    Subscription Price per unit. If set, this price is used when a subscription order is created.

  - `BundlePrice` (number)
    Bundle Price per unit. If set, this price is used when an item being added to an order is part of a bundle.

## Response 201 fields (application/json):

  - `PriceBreaks` (array)

  - `PriceBreaks.Quantity` (integer)
    Most commonly 1, except when offering tiered/bulk pricing.

  - `PriceBreaks.Price` (number)
    Price per unit.

  - `PriceBreaks.SalePrice` (number)
    Sale Price per unit. If the current date/time is within the PriceSchedule SaleStart and SaleEnd, this SalePrice will be used.

  - `PriceBreaks.SubscriptionPrice` (number)
    Subscription Price per unit. If set, this price is used when a subscription order is created.

  - `PriceBreaks.BundlePrice` (number)
    Bundle Price per unit. If set, this price is used when an item being added to an order is part of a bundle.

  - `OwnerID` (string)
    ID of the organization that owns the PriceSchedule. Only the marketplace owner can override the OwnerID on create.

  - `ID` (string)

  - `Name` (string)

  - `ApplyTax` (boolean)
    For reference only for calculating tax, does not influence any OrderCloud behavior.

  - `ApplyShipping` (boolean)
    For reference only for calculating shipping cost, does not influence any OrderCloud behavior.

  - `MinQuantity` (integer)
    The minimum line item Quantity when UseCumulativeQuantity is false.

  - `MaxQuantity` (integer)
    The maximum line item Quantity when UseCumulativeQuantity is false.

  - `UseCumulativeQuantity` (boolean)
    If true, line item quantities will be aggregated by productID when determining which price break applies, and when Min/Max quantities are met. Else, each line item is treated separately.

  - `RestrictedQuantity` (boolean)
    If true, this product can only be ordered in quantities that exactly match one of the price breaks on this schedule.

  - `Currency` (string)
    We recommend using ISO-4217 currency codes for compatibility with tax and payment processors.

  - `SaleStart` (string)
    Starting date/time for PriceBreak.SalePrice to be used as the price for the LineItem. Requires that the PriceBreak.SalePrice value is set.

  - `SaleEnd` (string)
    Ending date/time for PriceBreak.SalePrice to be used as the price for the LineItem. Requires that the PriceBreak.SalePrice value is set.

  - `IsOnSale` (boolean)
    True when at least one PriceBreak has a SalePrice defined, and the current time is between the SaleStart and SaleEnd date.

  - `xp` (object)

## Response 4XX:

  - `4XX` (unknown)
    Expected errors range from 400-409. Anything in the 5XX range indicates a server issue and should be reported to support.

## Response 4XX fields (application/json):

  - `StatusCode` (integer)
    Example: 404

  - `ErrorCode` (string)
    Example: NotFoundError

  - `Message` (string)
    Example: Object not found

  - `Data` (object)
    Example: {"ObjectType":"","ObjectID":""}

