Create meter

Creates a usage meter on a product. The product must be a subscription with pricing_model set to USAGE_BASED. A product can have up to 10 meters. Requires the METERS_WRITE scope.

POST https://api.pandabase.io/v2/core/stores/{storeId}/products/{productId}/meters/

Authentication

Requires a bearer token (sk_…) or an API key in the header Authorization.

Path parameters

storeId string required

(length 12–48)

productId string required

(length 12–48)

Header parameters

idempotency-key string

(length 8–32)

Body parameters

eventName string required

Name reported on POST /v2/core/…/usage; unique per product. (pattern ^[a-zA-Z0-9_.-]+$, length 1–64)

unitPrice integer required

Cents per unitQuantity units. Zero allowed for free meters. (range 0–100000000)

unitQuantity integer default: 1

Denominator for unitPrice. E.g. 1_000_000 for ‘$3 / 1M tokens’. (range 1–1000000000, defaults to 1)

aggregation enum required

No description.

settlement enum

No description.

includedUnits integer

Units included in base fee before metering kicks in. Only for BASE_PLUS_OVERAGE. (range 0–∞)

Response 201

Default Response

ok enum required

(one of true)

data object required

No description.

Response 400

Default Response

ok enum required

(one of false)

error string required

No description.

Response 404

Default Response

ok enum required

(one of false)

error string required

No description.

Response 409

Default Response

ok enum required

(one of false)

error string required

No description.

Request
curl -X POST https://api.pandabase.io/v2/core/stores/:storeId/products/:productId/meters/ \  -H "Content-Type: application/json" \  -d '{"eventName":"string","unitPrice":0,"unitQuantity":1,"aggregation":"SUM","settlement":"ARREARS","includedUnits":0}'
Response
{  "ok": true,  "data": {    "id": "umt_5e1q3npwt0u6s2k8h9j7rzbc",    "productId": "prd_8h4t6sqzy3x9w5n2k1m0vqbf",    "eventName": "input_tokens",    "unitPrice": 300,    "unitQuantity": 1000000,    "aggregation": "SUM",    "settlement": "ARREARS",    "includedUnits": null,    "createdAt": "2026-05-20T14:00:00.000Z",    "updatedAt": "2026-05-20T14:00:00.000Z"  }}