# Update product price

By using this method, merchants can update the existing product price, providing the updated product price details.


  Recurring products can only be updated when all associated subscriptions are in expired status. Products without subscriptions can be updated without restrictions.

Endpoint: PATCH /products/{product_id}/prices/{product_price_id}
Version: 1.0.0
Security: MerchantID

## Header parameters:

  - `merchant` (string, required)
    Unique public key provided upon registration and must be shared for identification purposes.
    Example: "api_pk_7b197...ba108f842"

  - `signature` (string, required)
    Request signature that allows verification of merchant authenticity on the payment gateway server.
    Example: "M2E3OTkyNzcz...xMmExODI4"

## Path parameters:

  - `product_id` (string, required)
    Unique product identifier.
    Example: "ac43b415-5522-4373-b026-a365462f9657"

  - `product_price_id` (string, required)
    Unique product price identifier.
    Example: "fa43b415-5522-4373-b026-a365562f9649"

## Request fields (application/json):

  - `status` (string)
    Product price status.
    Enum: "disabled", "active"

  - `product_price` (integer)
    Product price.
    Example: 1000

  - `trial_price` (integer)
    Trial price.
    Example: 500

  - `currency` (string)
    Three-letter ISO-4217 currency code of the product price currency.
    Example: "USD"

  - `country` (string)
    Country code.


  Not returned or expected for default prices.
    Example: "USA"

## Response 200 fields (application/json):

  - `id` (string, required)
    Unique product price identifier.
    Example: "cb43b415-5522-4373-b026-a365462f9114"

  - `default` (boolean, required)
    Indicates whether the price is the default for the product.

  - `status` (string, required)
    Product price status.
    Enum: same as `status` (2 values)

  - `created_at` (string, required)
    Datetime of the product price creation.
    Example: "2025-05-31 12:53:12"

  - `updated_at` (string, required)
    Datetime of the product price update.
    Example: "2025-05-31 12:53:13"

  - `product_price` (integer, required)
    Product price.
    Example: 1000

  - `trial_price` (integer)
    Trial price.
    Example: 500

  - `currency` (string, required)
    Three-letter ISO-4217 currency code of the product price currency.
    Example: "USD"

  - `country` (string)
    Country code.


  Not returned or expected for default prices.
    Example: "USA"

## Response 400 fields (application/json):

  - `error` (object, required)
    Error object.

  - `error.code` (string, required)
    Error code.
    Example: "2.01"

  - `error.message` (string, required)
    Error message.
    Example: "Validation error"

  - `error.constraints` (object)
    Map of constraints.

## Response 401 fields (application/json):

  - `error` (object, required)
    Error object.

  - `error.code` (string, required)
    Error code indicating the specific authorization failure.
    Example: "1.01"

  - `error.message` (string, required)
    Descriptive message providing more details about the authorization failure.
    Example: "Authorization failed"

## Response 403 fields (application/json):

  - `error` (object, required)
    Error object.

  - `error.code` (string, required)
    Error code indicating that access to the service is denied.
    Example: "1.02"

  - `error.message` (string, required)
    Message informing that the service is not allowed for the account.
    Example: "Access denied"

## Response 404 fields (application/json):

  - `error` (object, required)
    Error object.

  - `error.code` (string, required)
    Error code.
    Example: "2.01"

  - `error.message` (string, required)
    Error message.
    Example: "{entityName} not found with id: {entityId}"


