---
title: "Patch Subscription"
method: PATCH
path: "/admin/subscriptions/{org_id}"
tags: ["admin"]
---

# Patch Subscription

`PATCH /admin/subscriptions/{org_id}`

## Request

- Base URL: `https://api.meetadmiral.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.meetadmiral.com/admin/subscriptions/{org_id}`
- Auth: none declared

Every refusal here is a way the console could make Admiral's idea of
a plan disagree with the bill, or hand out access with no end.

- `active` and `past_due` come only from the payment provider's webhook
  (models/billing.py: "the provider webhook is the only writer of
  status"), so they cannot be typed in.
- While a provider bills the plan, its tier, status and dates are the
  provider's: changing any of them here would make entitlements disagree
  with what the customer is charged, and cancelling would cut access
  while the provider keeps billing.
- Complimentary access needs an end date. Without one it used to keep
  the old trial end, and `resolve()` turned it into `cancelled` the day
  the trial would have ended, or at once if that day had passed.

## Path parameters

- `org_id` string, uuid, required

## Request body

- SubscriptionPatch: Complimentary access, trial extensions, tier moves on unbilled plans, and cancellation: the things that used to need psql. `reason` is for us and is kept in the admin log. `note` is for the customer: the product shows it in Settings, so a comped workspace is never a mystery to them either.
  - `tier` string, nullable
  - `status` string, nullable
  - `band` string, nullable
  - `seats` integer, nullable
  - `note` string, nullable
  - `ends_at` string, date-time, nullable
  - `reason` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/meetadmiral/apis/admiral-api.md) · [All operations](https://skmtc.dev/meetadmiral/apis/admiral-api/llms.txt) · [OpenAPI document](https://skmtc.dev/meetadmiral/apis/admiral-api/revisions/3cf1ee58ce50?raw)
