# Archive product price

By using this method, you can <a href="https://docs.solidgate.com/billing/manage-products/#edit-price" target="_blank">archive an existing product price</a>.
<blockquote>
<p>Only non-default prices that are not already archived can be archived.</p>
<p>To archive the current default price, first promote a different price to <code>default</code> using the <a href="https://api-docs.solidgate.com/api/products-and-prices/update-product-price" target="_blank">update product price</a> operation. Promotion only removes the default status from the previous default price, but it stays active. Archive it with a separate call to this operation once it is no longer the default.</p>
</blockquote>

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

## Path parameters:

  - `product_id` (string, required)

  - `product_price_id` (string, required)

## Header parameters:

  - `merchant` (string, required)

  - `signature` (string, required)

## 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.
    Example: false

  - `status` (string, required)
    Product price status.
    Enum: "archived"

  - `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

## 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}

## Response 422 fields (application/json):

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

  - `error.code` (string, required)
    Error code indicating that while the request is well-formed, it cannot be processed due to conflicting or incorrect data.
    Example: 2.01

  - `error.message` (string, required)
    Descriptive message providing more details about the processing failure.
    Example: Unprocessable entity

