---
title: "Add Contract Tier"
method: POST
path: "/api/v1/admin/distributors/contracts/{contract_id}/tiers"
tags: ["Admin APIs", "distributors", "Wholesale Distribution"]
---

# Add Contract Tier

`POST /api/v1/admin/distributors/contracts/{contract_id}/tiers`

Add a tier to an existing contract (PRO-2569). Slots may be 0 — a 0-slot
tier is a valid upgrade/downgrade target that fills only via transfers.

## Path parameters

- `contract_id` string, uuid, required

## Request body

- ContractTierAdd — Add a tier to an existing contract (PRO-2569 / PRO-2675). ``slots_purchased`` may be 0 — a 0-slot tier is a valid transfer-only upgrade/downgrade target that only ever fills via transfers from other tiers. A price is required either way (PRO-2768): this is the path for offering a catalog tier introduced after the contract was created. The tier's name + daily MCP token cap come from the referenced catalog entry; only slots + price are per-contract.
  - `mcp_mapping_id` string, uuid4, required
  - `slots_purchased` integer, required
  - `wholesale_price_cents` integer, required

## Response `200`

Successful Response

- DistributorTierDetail
  - `id` string, uuid4, required
  - `name` string, nullable
  - `slots_purchased` integer, required
  - `slots_occupied` integer, required
  - `slots_available` integer, required
  - `wholesale_price_cents` integer, nullable
  - `mcp_mapping_id` string, uuid4, nullable
  - `mcp_daily_token_cap` integer, nullable
  - `status` string, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/carbonarc/apis/carbon-arc-client-admin-api.md) · [All operations](https://skmtc.net/carbonarc/apis/carbon-arc-client-admin-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/carbonarc/carbon-arc-client-admin-api/revisions/a8ca30023371/schema)
