---
title: "Update a subscription product"
method: PUT
path: "/v1/subscription-products/{subscriptionProductId}"
tags: ["SubscriptionProduct"]
---

# Update a subscription product

`PUT /v1/subscription-products/{subscriptionProductId}`

Updates an existing subscription product.

## Path parameters

- `subscriptionProductId` string, uuid, required

## Request body

- SubscriptionProductRequest
  - `channel` string, nullable — Payment channel/method
  - `authorizationType` string, nullable — Authorization type
  - `frequency` string, nullable — Payment frequency
  - `retryPolicy` RetryPolicy, required
    - `type` string, required — Retry policy type. Valid values: PIX_SPECIFIC (auto-configured for PIX), FIXED_RETRY (requires maxRetries and retryIntervalDays), NOT_ALLOWED (no retries).
    - `maxRetries` integer, nullable — Maximum number of retry attempts. Required when type is FIXED_RETRY.
    - `retryIntervalDays` integer, nullable — Days between retry attempts. Required when type is FIXED_RETRY.
  - `amount` AmountModel, required
    - `type` string, nullable — Amount type. Valid values: FIXED (requires fixedValue), VARIABLE (requires minValue and maxValue).
    - `fixedValue` integer, nullable — Fixed payment amount in cents. Required when type is FIXED.
    - `minValue` integer, nullable — Minimum payment amount in cents. Required when type is VARIABLE.
    - `maxValue` integer, nullable — Maximum payment amount in cents. Required when type is VARIABLE.
    - `currency` string, required — ISO currency code (3 characters)
  - `notificationUrl` string, uri, required — Webhook URL for receiving events
  - `country` string, required — ISO country code
  - `automaticScheduleAllowed` boolean
  - `description` string, nullable
  - `language` string, required — ISO language code
  - `internalReferenceId` string, nullable
  - `metadata` object, nullable

## Response `200`

Product updated successfully

- ApiResponse
  - `data` unknown
  - `errors` ApiError[]
    - `errorCode` string
    - `errorMessage` string
  - `status` boolean — Indicates if the request was successful

## Other responses

- `400` — Bad Request
- `404` — Product not found

---

[API](https://skmtc.net/payretailers/apis/transaction.md) · [All operations](https://skmtc.net/payretailers/apis/transaction/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/payretailers/transaction/versions/b022ee3a593d/schema)
