---
title: "Update product"
method: PATCH
path: "/api/products/{productId}"
tags: ["Products"]
---

# Update product

`PATCH /api/products/{productId}`

## Request

- Base URL: `https://api.payware.eu`
- URL: `https://api.payware.eu/api/products/{productId}`
- Auth: HTTP bearer

Updates an existing product with new details

## Path parameters

- `productId` string, required

## Request body

- ProductRequest
  - `productId` string
  - `shop` string
  - `name` string
  - `shortDescription` string
  - `longDescription` string
  - `sku` string
  - `upc` string
  - `shippable` string
  - `quickPay` string
  - `active` string
  - `prData` ProductData
    - `type` string
    - `regularPrice` string
    - `currency` string
    - `overlapPriority` string
    - `activeFrom` string
    - `activeTo` string
    - `timeZone` string
    - `timeToLive` string
  - `prOptions` ProductOptions
    - `imageUrl` string
    - `termsUrl` string
    - `termsText` string

## Response `200`

Product updated successfully

## Other responses

- `400`: Invalid product data
- `401`: Unauthorized
- `403`: Forbidden - the caller is authenticated but not permitted (plan or capability gate, KYC state, or tenant scope)
- `404`: Product not found
- `429`: Too many requests - the caller exceeded its per-partner rate limit. Carries errorCode ERR_RATE_LIMIT_EXCEEDED and a Retry-After header, in seconds. The request was not processed, so the identical request is safe to retry once the window has passed.
- `500`: Internal server error

---

[API](https://skmtc.dev/payware/apis/payware-api.md) · [All operations](https://skmtc.dev/payware/apis/payware-api/llms.txt) · [OpenAPI document](https://skmtc.dev/payware/apis/payware-api/revisions/7b3352ca947b?raw)
