---
title: "Update a Price Point"
method: PUT
path: "/v1/price-points/{priceInUsdCents}"
---

# Update a Price Point

`PUT /v1/price-points/{priceInUsdCents}`

Updates a price point.

When a price point is updated, Appcharge recalculates all localized prices. If both `priceInUsdCents` and `priceOverrides` are provided in the same request, Appcharge first recalculates localized prices from the updated base price and then applies the override values.

## Path parameters

- `priceInUsdCents` number, required

## Request body

- object
  - `updatedPriceInUsdCents` number — New base price in USD cents.
  - `priceOverrides` PriceOverride[] — List of country-specific prices that replace the auto-calculated price. Exchange rates and rounding rules aren't applied. If a country's tax model includes taxes in the price, make sure the custom price include tax. If a country's tax model excludes tax from the price, Appcharge adds the applicable tax during checkout. Overrides apply only to the countries you specify.
    - `countryCode2` string — Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. Required if `playerIp` is not provided. Example: `US`.
    - `playerIp` string — Player IP address in [IPv4](https://en.wikipedia.org/wiki/IPv4) format. Required if `countryCode2` is not provided. Example: `192.0.2.1`.
    - `price` number — Override price amount. If the country's currency isn't enabled, the value is treated as USD and displayed in USD.

## Response `200`

Price point updated successfully.

- PricePoint
  - `priceInUsdCents` number — Base price in USD cents.
  - `lastUpdate` string, date-time — Timestamp indicating when the price point was last updated, in UTC ISO 8601 format.
  - `priceByCountry` PriceByCountry[] — List of localized prices by country, including overrides if present.
    - `price` number — Localized price for the country.
    - `currencyCode` string — Currency code.
    - `isOverridden` boolean — Whether the price was overridden.
    - `taxModel` 'Included' | 'Excluded' — Tax model applied to the price.
    - `taxRate` number — Tax rate applied to the price.
    - `country` string — Country name.
    - `countryCode2` string — Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. Required if `playerIp` is not provided. Example: `US`.
    - `playerIp` string — Player IP address in [IPv4](https://en.wikipedia.org/wiki/IPv4) format. Required if `countryCode2` is not provided. Example: `192.0.2.1`.
    - `usdExchangeRateOnCalc` number — USD exchange rate used at the time of calculation.
    - `exchangeRateDrift` string — Exchange rate drift since the last calculation.

## Other responses

- `400` — Bad request. This can occur due to a schema validation error or an invalid country code.
- `404` — Price point not found.
- `409` — Conflict. The price point already exists.

---

[API](https://skmtc.net/appcharge/apis/grant-award.md) · [All operations](https://skmtc.net/appcharge/apis/grant-award/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/appcharge/grant-award/revisions/b4f6759240d5/schema)
