BillingTierResult billing.tier-result@1
Generated at from
openvibe-contracts v0.221.0 and
openvibe-sdk v0.65.0.
- Version
- 1.0.0
- Owner
- billing
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Schema
https://openvibe.network/contracts/billing/tier-result.v1.json
billing.tier-result@1: answers of billing.tier.manage on OpenVibe.Billing. GET /api/v1/tiers/:streamer → { streamer, tiers, default_price_cents, min_price_cents, max_price_cents, max_tiers } (tiers: every tier with a price, archived included; tier 1 without a row is sold at default_price_cents); PUT /api/v1/tiers/:streamer/:tier → { tier }.
Fields
This schema has no named fields.
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: list
{
"streamer": {
"type": "user",
"id": "usr_01JAB2C3D4E5F6G7H8J9K0MNPR"
},
"tiers": [
{
"tier": 1,
"price_cents": 499,
"status": "active",
"updated_at": "2026-10-17T06:00:00.000Z"
},
{
"tier": 2,
"price_cents": 1500,
"status": "active"
}
],
"default_price_cents": 499,
"min_price_cents": 100,
"max_price_cents": 50000,
"max_tiers": 10
}Valid: put
{
"tier": {
"tier": 2,
"price_cents": 1500,
"status": "active"
}
}Rejected: tier-zero
{
"tier": {
"tier": 0,
"price_cents": 1500,
"status": "active"
}
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('billing.tier-result@1', value); // { valid, errors: [{ path, message }] }