---
title: "Update subscription coupon"
method: POST
path: "/v1/admin/coupons/{coupon_id}"
tags: ["Operations"]
---

# Update subscription coupon

`POST /v1/admin/coupons/{coupon_id}`

## Request

- Base URL: `https://loppee.com`
- URL: `https://loppee.com/v1/admin/coupons/{coupon_id}`
- Auth: HTTP bearer

Update subscription coupon. The response is scoped and validated by the runtime repository; unknown or unauthorized resources use the canonical error envelope.

## Path parameters

- `coupon_id` string, required

## Request body

- object
  - `active` boolean
  - `note` string
  - `applies_to_tier` string, nullable
  - `applies_to_period` 'all' | 'monthly' | 'annual'
  - `max_redemptions` integer, nullable
  - `per_customer_limit` number
  - `starts_at` string, nullable
  - `expires_at` string, nullable

## Response `200`

Update subscription coupon response

- object: Updated coupon; immutable commercial identity fields cannot change.

## Other responses

- `400`: ErrorResponse
- `401`: ErrorResponse
- `403`: ErrorResponse
- `404`: ErrorResponse
- `409`: ErrorResponse
- `413`: ErrorResponse
- `429`: RateLimitError
- `default`: ErrorResponse

---

[API](https://skmtc.dev/loppee/apis/loppee-business-registry-api-for-external-agents.md) · [All operations](https://skmtc.dev/loppee/apis/loppee-business-registry-api-for-external-agents/llms.txt) · [OpenAPI document](https://skmtc.dev/loppee/apis/loppee-business-registry-api-for-external-agents/revisions/37285f7cddcd?raw)
