---
title: "Billing Downgrade"
method: POST
path: "/v1/billing/downgrade"
---

# Billing Downgrade

`POST /v1/billing/downgrade`

## Request

- Base URL: `https://api.graphify.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.graphify.com/v1/billing/downgrade`
- Auth: HTTP bearer

Teams -> Pro downgrade (owner-only), scheduled at period end. 402 until armed.

## Headers

- `X-Graphify-Tenant-ID` string, required

## Request body

- BillingDowngradeRequest: POST /v1/billing/downgrade (Teams -> Pro, AD-FLOW-2, owner-only). A workspace with more than one active developer seat must confirm member suspension AND pass the current member count it observed, so a stale UI cannot silently strand members.
  - `confirmSuspendMembers` boolean
  - `expectedMemberCount` integer, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/graphify/apis/graphify-control-plane.md) · [All operations](https://skmtc.dev/graphify/apis/graphify-control-plane/llms.txt) · [OpenAPI document](https://skmtc.dev/graphify/apis/graphify-control-plane/revisions/0e75c82b5ea8?raw)
