---
title: "PUT /products/{product_id}"
method: PUT
path: "/products/{product_id}"
tags: ["Products"]
---

# PUT /products/{product_id}

`PUT /products/{product_id}`

## Path parameters

- `product_id` string, required

## Request body

- DpProductMasterVersionUpdate
  - `usage_rule` object
  - `name` string
  - `external_id` string, nullable
  - `short_description` string
  - `detailed_description` string
  - `icon` string, binary
  - `capabilities` DpVirtualCapabilities
    - `ppu` DpPayAsYouGo
      - `ppu` boolean, required
      - `schema` 'TR' | 'CR' | 'PR' | 'QT'
      - `dynamic` boolean
      - `predictive` boolean
      - `future` boolean
      - `late` boolean
      - `required_custom_fields` string[]
    - `reservation` DpReservation
      - `consumption` boolean
    - `cart` DpCart
      - `validation` boolean
    - `inquiring` DpInquiring
      - `validation` boolean
    - `tiers` DpTiers
      - `updates` boolean
      - `configs` DpTiersConfigs
        - `configs` boolean, required
        - `level` string
        - `setup` DpTiersConfigsSetup
          - `inquiring_validation` boolean
        - `update` DpTiersConfigsUpdate
          - `validation` boolean
          - `inquiring_validation` boolean
      - `validation` boolean
    - `subscription` DpVCSubscriptionSerializer
      - `cancel` DpSubscriptionCancel
        - `editable_ordering_parameters` boolean
        - `scheduling` boolean
        - `offline` 'no' | 'auto' | 'allowed'
      - `change` DpSubscriptionChange
        - `editable_ordering_parameters` boolean
        - `validation` boolean
        - `inquiring_validation` boolean
        - `scheduling` boolean
        - `simultaneous_adjustment` boolean
        - `editable_fulfillment_parameters` boolean
      - `parameter` DpSubscriptionParameter
        - `versions` boolean
      - `purchase` DpSubscriptionPurchase
        - `scheduling` boolean
      - `resume` DpSubscriptionResume
        - `scheduling` boolean
      - `suspend` DpSubscriptionSuspend
        - `scheduling` boolean
        - `offline` 'no' | 'auto' | 'allowed'
      - `renew` DpSubscriptionRenew
        - `enable_renew` boolean
        - `editable_ordering_parameters` boolean
        - `editable_fulfillment_parameters` boolean
        - `validation` boolean
        - `inquiring_validation` boolean
        - `scheduling` boolean
        - `allow_items` boolean
      - `transfer` DpSubscriptionTransfer
        - `enable_transfer` boolean
        - `transfer_autoapprove` boolean
        - `editable_ordering_parameters` boolean
        - `editable_fulfillment_parameters` boolean
        - `validation` boolean
        - `inquiring_validation` boolean
      - `hold` boolean
      - `schema` 'explicit' | 'evergreen'
  - `customer_ui_settings` object
  - `preferred_names` object, nullable

## Response `200`

- DpProductMasterVersionUpdate
  - `usage_rule` object
  - `name` string
  - `external_id` string, nullable
  - `short_description` string
  - `detailed_description` string
  - `icon` string, binary
  - `capabilities` DpVirtualCapabilities
    - `ppu` DpPayAsYouGo
      - `ppu` boolean, required
      - `schema` 'TR' | 'CR' | 'PR' | 'QT'
      - `dynamic` boolean
      - `predictive` boolean
      - `future` boolean
      - `late` boolean
      - `required_custom_fields` string[]
    - `reservation` DpReservation
      - `consumption` boolean
    - `cart` DpCart
      - `validation` boolean
    - `inquiring` DpInquiring
      - `validation` boolean
    - `tiers` DpTiers
      - `updates` boolean
      - `configs` DpTiersConfigs
        - `configs` boolean, required
        - `level` string
        - `setup` DpTiersConfigsSetup
          - `inquiring_validation` boolean
        - `update` DpTiersConfigsUpdate
          - `validation` boolean
          - `inquiring_validation` boolean
      - `validation` boolean
    - `subscription` DpVCSubscriptionSerializer
      - `cancel` DpSubscriptionCancel
        - `editable_ordering_parameters` boolean
        - `scheduling` boolean
        - `offline` 'no' | 'auto' | 'allowed'
      - `change` DpSubscriptionChange
        - `editable_ordering_parameters` boolean
        - `validation` boolean
        - `inquiring_validation` boolean
        - `scheduling` boolean
        - `simultaneous_adjustment` boolean
        - `editable_fulfillment_parameters` boolean
      - `parameter` DpSubscriptionParameter
        - `versions` boolean
      - `purchase` DpSubscriptionPurchase
        - `scheduling` boolean
      - `resume` DpSubscriptionResume
        - `scheduling` boolean
      - `suspend` DpSubscriptionSuspend
        - `scheduling` boolean
        - `offline` 'no' | 'auto' | 'allowed'
      - `renew` DpSubscriptionRenew
        - `enable_renew` boolean
        - `editable_ordering_parameters` boolean
        - `editable_fulfillment_parameters` boolean
        - `validation` boolean
        - `inquiring_validation` boolean
        - `scheduling` boolean
        - `allow_items` boolean
      - `transfer` DpSubscriptionTransfer
        - `enable_transfer` boolean
        - `transfer_autoapprove` boolean
        - `editable_ordering_parameters` boolean
        - `editable_fulfillment_parameters` boolean
        - `validation` boolean
        - `inquiring_validation` boolean
      - `hold` boolean
      - `schema` 'explicit' | 'evergreen'
  - `customer_ui_settings` object
  - `preferred_names` object, nullable

## Other responses

- `400`

---

[API](https://skmtc.net/cloudblue/apis/cloudblue-connect-api.md) · [All operations](https://skmtc.net/cloudblue/apis/cloudblue-connect-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cloudblue/cloudblue-connect-api/revisions/0421d2a97c52/schema)
