---
title: "Put one of the partner's businesses on a plan the partner pays for (the business goes live without its own checkout), or stop it with plan: null (the line plays a suspended message and its numbers are kept 30 days). Refused for a business that already pays KaiCalls directly. Partner keys with billing:write."
method: POST
path: "/v1/partner-billing"
---

# Put one of the partner's businesses on a plan the partner pays for (the business goes live without its own checkout), or stop it with plan: null (the line plays a suspended message and its numbers are kept 30 days). Refused for a business that already pays KaiCalls directly. Partner keys with billing:write.

`POST /v1/partner-billing`

## Request

- Base URL: `https://www.kaicalls.com/api`
- URL: `https://www.kaicalls.com/api/v1/partner-billing`
- Auth: HTTP bearer

## Request body

- object
  - `business_id` string, required
  - `plan` string, nullable, required: A plan key from GET /v1/partner-billing, or null to stop.

## Response `200`

Plan set (or stopped)

## Other responses

- `400`: Unknown plan
- `403`: Not a partner key, or not one of the partner's businesses
- `409`: Partner billing is not on for this partner, or the business pays KaiCalls directly

---

[API](https://skmtc.dev/kaicalls/apis/kaicalls-public-api.md) · [All operations](https://skmtc.dev/kaicalls/apis/kaicalls-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/kaicalls/apis/kaicalls-public-api/revisions/e607fc6cf36e?raw)
