---
title: "Update Plan"
method: PUT
path: "/v5/plans/{id}"
tags: ["Plans"]
---

# Update Plan

`PUT /v5/plans/{id}`

Update an existing recurring payment plan. Be careful when updating an existing plan, as all customers signed up for this plan will have their billing changed based on your edits.

## Path parameters

- `id` string, required

## Request body

- union
  - object
    - `month_frequency` integer, required — How often, in months, to charge the customer.
    - `day_of_month` integer, required — The day of the month that the customer will be charged. For months without 29, 30, or 31 days, the charge will be on the last day.
    - `current_plan_id` string — The plan ID to update. This should match the path parameter
  - object
    - `day_frequency` integer, required — How often, in days, to charge the customer.
    - `current_plan_id` string — The plan ID to update. This should match the path parameter

## Response `200`

Success

- PlanResponse — Plan response matching PlanRestSerializer structure
  - `object` 'plan', required — Resource type identifier
  - `id` string, required — Plan ID (SKU)
  - `plan_name` string — Plan name
  - `plan_amount` string — Plan amount
  - `plan_payments` string — Number of payments (0 = until canceled)
  - `day_frequency` string — Day frequency (0 if not applicable, empty if not set)
  - `month_frequency` string — Month frequency (0 if not applicable, empty if not set)
  - `day_of_month` string — Day of month (empty if not applicable)

## Other responses

- `400` — Bad Request - Validation Error
- `401` — Unauthorized
- `404` — Plan not found

---

[API](https://skmtc.net/nmi/apis/embedded-components-api.md) · [All operations](https://skmtc.net/nmi/apis/embedded-components-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/nmi/embedded-components-api/revisions/45c2ecda3685/schema)
