---
title: "Upsert billing price"
method: POST
path: "/billing/price/upsert"
tags: ["billing"]
---

# Upsert billing price

`POST /billing/price/upsert`

## Request body

- CreateBillingPriceRequestBody
  - `billing_scheme` 'per_unit' | 'tiered', required
  - `currency` string, required
  - `external_account_id` string, required
  - `interval` string, required
  - `interval_count` integer, nullable
  - `is_active` boolean, required
  - `meter_id` string, nullable
  - `nickname` string, nullable
  - `package_size` integer, nullable
  - `price` integer, required
  - `price_decimal` string, nullable
  - `price_external_id` string, required
  - `price_tiers` CreateBillingPriceTierRequestBody[], required
    - `flat_amount` integer, nullable
    - `per_unit_decimal` string, nullable
    - `per_unit_price` integer, nullable
    - `price_external_id` string, required
    - `provider_type` 'metronome' | 'orb' | 'schematic' | 'stripe'
    - `up_to` integer, nullable
  - `product_external_id` string, required
  - `provider_type` 'metronome' | 'orb' | 'schematic' | 'stripe'
  - `tiers_mode` 'graduated' | 'volume'
  - `usage_type` 'licensed' | 'metered', required

## Response `201`

Created

- object
  - `data` BillingPriceResponseData, required
    - `currency` string, required
    - `external_price_id` string, required
    - `id` string, required
    - `interval` 'day' | 'month' | 'one-time' | 'year', required
    - `interval_count` integer, required
    - `nickname` string, nullable
    - `price` integer, required
    - `price_decimal` string, nullable
    - `provider_type` 'metronome' | 'orb' | 'schematic' | 'stripe', required
    - `scheme` 'per_unit' | 'tiered', required
  - `params` object, required — Input parameters

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found
- `500` — Server error

## Changes

- **2026-06-05** `c0d7b479cd11` — 1 warning, 2 info
  - added the new `metronome` enum value to the `data/provider_type` response property for the response status `201`
  - added the new `metronome` enum value to the request property `price_tiers/items/provider_type/allOf[#/components/schemas/BillingProviderType]/`
  - added the new `metronome` enum value to the request property `provider_type/allOf[#/components/schemas/BillingProviderType]/`

[Change history](https://skmtc.dev/schematichq/apis/schematic-api/changes/billing/price/upsert/post.md)

---

[API](https://skmtc.dev/schematichq/apis/schematic-api.md) · [All operations](https://skmtc.dev/schematichq/apis/schematic-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/schematichq/schematic-api/revisions/0b238e148fa1/schema)
