---
title: "Update pricing"
method: POST
path: "/v1/billing/plans/{id}/update-pricing-schemes"
tags: ["plans"]
---

# Update pricing

`POST /v1/billing/plans/{id}/update-pricing-schemes`

## Request

- Base URL: `https://api-m.sandbox.paypal.com`
- URL: `https://api-m.sandbox.paypal.com/v1/billing/plans/{id}/update-pricing-schemes`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `/api/oauth-proxy` scopes: `https://uri.paypal.com/services/subscriptions`
- TypeScript: <https://skmtc.dev/paypal/apis/subscriptions/docs/v1/billing/plans/:id/update-pricing-schemes/post.ts> (a function with typed inputs; its response is checked against the schema)

Updates pricing for a plan. For example, you can update a regular billing cycle from $5 per month to $7 per month.

## Path parameters

- `id` string, required

## Headers

- `Content-Type` string, required

## Request body

- UpdatePricingSchemesListRequest: The update pricing scheme request details.
  - `pricing_schemes` UpdatePricingSchemeRequest[], required: An array of pricing schemes.
    - `billing_cycle_sequence` integer, required: The billing cycle sequence.
    - `pricing_scheme` PricingScheme, required: The pricing scheme details.
      - `version` integer: The version of the pricing scheme.
      - `fixed_price` Money: The currency and amount for a financial transaction, such as a balance or payment due.
        - `currency_code` string, required: The [three-character ISO-4217 currency code](/api/rest/reference/currency-codes/) that identifies the currency.
        - `value` string, required: The value, which might be:<ul><li>An integer for currencies like `JPY` that are not typically fractional.</li><li>A decimal fraction for currencies like `TND` that are subdivided into thousandths.</li></ul>For the required number of decimal places for a currency code, see [Currency Codes](/api/rest/reference/currency-codes/).
      - `pricing_model` union: The pricing model for tiered plan. The `tiers` parameter is required.
        - 'VOLUME': A volume pricing model.
        - 'TIERED': A tiered pricing model.
      - `tiers` PricingTier[]: An array of pricing tiers which are used for billing volume/tiered plans. pricing_model field has to be specified.
        - `starting_quantity` string, required: The starting quantity for the tier.
        - `ending_quantity` string: The ending quantity for the tier. Optional for the last tier.
        - `amount` Money, required: The currency and amount for a financial transaction, such as a balance or payment due.
          - `currency_code` string, required: The [three-character ISO-4217 currency code](/api/rest/reference/currency-codes/) that identifies the currency.
          - `value` string, required: The value, which might be:<ul><li>An integer for currencies like `JPY` that are not typically fractional.</li><li>A decimal fraction for currencies like `TND` that are subdivided into thousandths.</li></ul>For the required number of decimal places for a currency code, see [Currency Codes](/api/rest/reference/currency-codes/).
      - `create_time` string, ppaas_date_time_v3: The date and time, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are required while fractional seconds are optional.<blockquote><strong>Note:</strong> The regular expression provides guidance but does not reject all invalid dates.</blockquote>
      - `update_time` string, ppaas_date_time_v3: The date and time, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are required while fractional seconds are optional.<blockquote><strong>Note:</strong> The regular expression provides guidance but does not reject all invalid dates.</blockquote>

## Response `204`

A successful request returns the HTTP `204 No Content` status code with no JSON response body.

## Other responses

- `400`: Bad Request. Request is not well-formed, syntactically incorrect, or violates schema.
- `401`: Authentication failed due to missing authorization header, or invalid authentication credentials.
- `403`: Authorization failed due to insufficient permissions.
- `404`: The specified resource does not exist.
- `422`: The requested action could not be performed, semantically incorrect, or failed business validation.
- `500`: An internal server error has occurred.
- `default`: The default response.

---

[API](https://skmtc.dev/paypal/apis/subscriptions.md) - [All operations](https://skmtc.dev/paypal/apis/subscriptions/llms.txt) - [OpenAPI document](https://skmtc.dev/paypal/apis/subscriptions/revisions/f8535d303786?raw)
