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

# Update a Price Point

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

## Request

- The document declares no server URL.
- Auth: none required
- TypeScript: <https://skmtc.dev/appcharge/apis/grant-award/docs/v1/price-points/:priceInUsdCents/put.ts> (a function with typed inputs; its response is checked against the schema)

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.dev/appcharge/apis/grant-award.md) - [All operations](https://skmtc.dev/appcharge/apis/grant-award/llms.txt) - [OpenAPI document](https://skmtc.dev/appcharge/apis/grant-award/revisions/b4f6759240d5?raw)
