---
title: "Update Subscription Item Feature"
method: PUT
path: "/api/v1/subscription-item-features/{id}"
tags: ["Subscription Item Features"]
---

# Update Subscription Item Feature

`PUT /api/v1/subscription-item-features/{id}`

## Path parameters

- `id` string, required

## Request body

- object
  - `subscriptionItemFeature` union, required
    - object
      - `id` string, required
      - `subscriptionItemId` string
      - `featureId` string
      - `productFeatureId` string, nullable
      - `type` 'toggle', required
      - `amount` unknown
      - `usageMeterId` unknown
      - `renewalFrequency` unknown
      - `expiredAt` integer, nullable — Epoch milliseconds.
      - `detachedAt` integer, nullable — Epoch milliseconds.
      - `detachedReason` string, nullable
      - `manuallyCreated` boolean
      - `resourceId` unknown
    - object
      - `id` string, required
      - `subscriptionItemId` string
      - `featureId` string
      - `productFeatureId` string, nullable
      - `type` 'usage_credit_grant', required
      - `amount` integer, required
      - `usageMeterId` string, required
      - `renewalFrequency` 'once' | 'every_billing_period', required
      - `expiredAt` integer, nullable — Epoch milliseconds.
      - `detachedAt` integer, nullable — Epoch milliseconds.
      - `detachedReason` string, nullable
      - `manuallyCreated` boolean
      - `resourceId` unknown
    - object
      - `id` string, required
      - `subscriptionItemId` string
      - `featureId` string
      - `productFeatureId` string, nullable
      - `type` 'resource', required
      - `amount` integer, required
      - `usageMeterId` unknown
      - `renewalFrequency` unknown
      - `expiredAt` integer, nullable — Epoch milliseconds.
      - `detachedAt` integer, nullable — Epoch milliseconds.
      - `detachedReason` string, nullable
      - `manuallyCreated` boolean
      - `resourceId` string, required

## Response `200`

Successful response

- object
  - `subscriptionItemFeature` union, required
    - object
      - `id` string, required
      - `createdAt` integer, required — Epoch milliseconds.
      - `updatedAt` integer, required — Epoch milliseconds.
      - `livemode` boolean, required
      - `subscriptionItemId` string, required
      - `featureId` string, required
      - `productFeatureId` string, nullable
      - `type` 'toggle', required
      - `amount` unknown
      - `usageMeterId` unknown
      - `renewalFrequency` unknown
      - `expiredAt` integer, nullable — Epoch milliseconds.
      - `detachedAt` integer, nullable — Epoch milliseconds.
      - `detachedReason` string, nullable
      - `manuallyCreated` boolean, required
      - `pricingModelId` string, required
      - `resourceId` unknown
      - `name` string, required
      - `slug` string, required
    - object
      - `id` string, required
      - `createdAt` integer, required — Epoch milliseconds.
      - `updatedAt` integer, required — Epoch milliseconds.
      - `livemode` boolean, required
      - `subscriptionItemId` string, required
      - `featureId` string, required
      - `productFeatureId` string, nullable
      - `type` 'usage_credit_grant', required
      - `amount` integer, required
      - `usageMeterId` string, required
      - `renewalFrequency` 'once' | 'every_billing_period', required
      - `expiredAt` integer, nullable — Epoch milliseconds.
      - `detachedAt` integer, nullable — Epoch milliseconds.
      - `detachedReason` string, nullable
      - `manuallyCreated` boolean, required
      - `pricingModelId` string, required
      - `resourceId` unknown
      - `name` string, required
      - `slug` string, required
    - object
      - `id` string, required
      - `createdAt` integer, required — Epoch milliseconds.
      - `updatedAt` integer, required — Epoch milliseconds.
      - `livemode` boolean, required
      - `subscriptionItemId` string, required
      - `featureId` string, required
      - `productFeatureId` string, nullable
      - `type` 'resource', required
      - `amount` integer, required
      - `usageMeterId` unknown
      - `renewalFrequency` unknown
      - `expiredAt` integer, nullable — Epoch milliseconds.
      - `detachedAt` integer, nullable — Epoch milliseconds.
      - `detachedReason` string, nullable
      - `manuallyCreated` boolean, required
      - `pricingModelId` string, required
      - `resourceId` string, required
      - `name` string, required
      - `slug` string, required

## Other responses

- `400` — Invalid input data
- `401` — Authorization not provided
- `403` — Insufficient access
- `404` — Not found
- `500` — Internal server error

## Changes

- **2026-01-11** `599bbd902d65` — 1 breaking, 9 info
  - added `#/components/schemas/ResourceSubscriptionItemFeatureRecord` to the `subscriptionItemFeature` response property `oneOf` list for the response status `200`
  - added the new optional request property `subscriptionItemFeature/oneOf[#/components/schemas/ToggleSubscriptionItemFeatureClientUpdateSchema]/resourceId`
  - added the new optional request property `subscriptionItemFeature/oneOf[#/components/schemas/UsageCreditGrantSubscriptionItemFeatureClientUpdateSchema]/resourceId`
  - added `resource` discriminator mapping keys to the `subscriptionItemFeature` request property
  - …6 more
- **2025-12-08** `d53efdb1a902` — 4 info
  - added the new optional request property `subscriptionItemFeature/oneOf[#/components/schemas/ToggleSubscriptionItemFeatureClientUpdateSchema]/manuallyCreated`
  - added the new optional request property `subscriptionItemFeature/oneOf[#/components/schemas/UsageCreditGrantSubscriptionItemFeatureClientUpdateSchema]/manuallyCreated`
  - added the required property `subscriptionItemFeature/oneOf[#/components/schemas/ToggleSubscriptionItemFeatureRecord]/manuallyCreated` to the response with the `200` status
  - added the required property `subscriptionItemFeature/oneOf[#/components/schemas/UsageCreditGrantSubscriptionItemFeatureRecord]/manuallyCreated` to the response with the `200` status
- …earlier changes not shown

[Full history](https://skmtc.dev/flowglad/apis/flowglad-api/changes/api/v1/subscription-item-features/:id/put.md)

---

[API](https://skmtc.dev/flowglad/apis/flowglad-api.md) · [All operations](https://skmtc.dev/flowglad/apis/flowglad-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/flowglad/flowglad-api/revisions/06c4dd78e137/schema)
