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

# Update a subscription product

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

## Request

- Base URL: `https://api.payretailers.com`
- URL: `https://api.payretailers.com/v1/subscription-products/{subscriptionProductId}`
- Auth: HTTP basic

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.dev/payretailers/apis/subscriptions-module-api.md) - [All operations](https://skmtc.dev/payretailers/apis/subscriptions-module-api/llms.txt) - [OpenAPI document](https://skmtc.dev/payretailers/apis/subscriptions-module-api/revisions/dd2464c871f8?raw)
