---
title: "PUT /components/v1/product/{externalId}"
method: PUT
path: "/components/v1/product/{externalId}"
tags: ["Products"]
---

# PUT /components/v1/product/{externalId}

`PUT /components/v1/product/{externalId}`

Updates a product.

## Request body

- ProductUpdate
  - `name` string — Product name.
  - `displayName` string — Product display name.
  - `publisherProductId` string — Product ID that you define
  - `type` 'Quantity' | 'Time' — Product unit type.
  - `prefix` string — Product prefix text.
  - `suffix` string — Product suffix text.
  - `textFontColorHex` string — Product text font color in hex format.
  - `productImageUrl` string, url — Product image URL in PNG or JPEG format. For uploaded files, this is the Appcharge-hosted CDN URL. For external image URLs, this is the original image URL served from the provided URL. External image URLs are saved and used as-is, and Appcharge doesn't download, copy, upload, or host them. Images must remain available at the provided URLs. We recommend uploading image files instead of using external URLs when possible.
  - `productPrefixImageUrl` string, url — Product prefix image URL in PNG or JPEG format. For uploaded files, this is the Appcharge-hosted CDN URL. For external image URLs, this is the original image URL served from the provided URL. External image URLs are saved and used as-is, and Appcharge doesn't download, copy, upload, or host them. Images must remain available at the provided URLs. We recommend uploading image files instead of using external URLs when possible.

## Response `200`

Product updated successfully.

- ProductResponse
  - `id` string — Product ID.
  - `name` string — Product name.
  - `displayName` string — Product display name.
  - `publisherProductId` string — Product ID that you defined.
  - `type` 'Quantity' | 'Time' — Product unit type.
  - `description` string — Product description.
  - `prefix` string — Product prefix text.
  - `suffix` string — Product suffix text.
  - `textFontColorHex` string — Product text font color in hex format.
  - `productImageUrl` string, url — Product image URL. For uploaded files, this is the Appcharge-hosted CDN URL. For external image URLs, this is the original image URL served from the provided URL.
  - `productPrefixImageUrl` string, url — Product prefix image URL. For uploaded files, this is the Appcharge-hosted CDN URL. For external image URLs, this is the original image URL served from the provided URL.
  - `productImageExternalUrl` string, url — Original product image URL when the product uses an external image URL. This URL is used as provided to serve the image.

## Other responses

- `400` — Bad request. Invalid input or validation failure.
- `404` — Product not found.

---

[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/versions/b4f6759240d5/schema)
