---
title: "Create a plan override"
method: POST
path: "/api/plan-overrides"
tags: ["Plan Overrides"]
---

# Create a plan override

`POST /api/plan-overrides`

Create a customer-specific override for a plan (custom pricing, minimum commitment, or charge properties)

## Request body

- CreatePlanOverrideDto
  - `customerId` string, required — Customer ID
  - `planId` string, required — Plan ID
  - `overriddenPrices` string[] — Override plan prices: array of { currency, amount }
  - `overriddenMinimumCommitment` number — Override minimum commitment amount
  - `overriddenCharges` string[] — Override charge properties: array of { chargeId, properties?, graduatedRanges? }
  - `metadata` object — Custom metadata

## Response `201`

Plan override created

- PlanOverrideResponse
  - `id` string, required
  - `customerId` string, required
  - `planId` string, required
  - `overriddenPrices` object
  - `overriddenMinimumCommitment` number
  - `overriddenCharges` object
  - `metadata` object
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required

## Other responses

- `404` — Customer or plan not found
- `409` — Override already exists for this customer + plan

---

[API](https://skmtc.net/novabilling/apis/novabilling-api.md) · [All operations](https://skmtc.net/novabilling/apis/novabilling-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/novabilling/novabilling-api/revisions/0e449a4e0dc8/schema)
