SetRateCardInput
No description
input SetRateCardInput {
scope: RateScope!
metric: String!
priceCents: Float
unitLabel: String
unitQuantity: BigInt
acknowledgeRepricing: Boolean
freePerHour: BigInt
freeUnits: BigInt
freePeriod: AllowancePeriod
freePerMonth: BigInt
reason: String!
}
Fields
SetRateCardInput.scope ● RateScope! non-null enum
Which card to edit.
SetRateCardInput.metric ● String! non-null scalar
The metered dimension to reprice. Refused unless the platform actually meters it: a rate for an unmetered metric bills nobody while appearing configured.
SetRateCardInput.priceCents ● Float scalar
New price in cents per unitQuantity raw units. Must be >= 0; 0 means meter but do not charge. Omit to leave the price unchanged. Fractional values are accepted (the column is NUMERIC(20,6)).
SetRateCardInput.unitLabel ● String scalar
New human unit this price is quoted in, e.g. "GiB" or "GiB-mo". Must be supplied together with unitQuantity: a label on its own restates the rate card while the arithmetic keeps the old divisor. Omit both to leave the unit unchanged.
SetRateCardInput.unitQuantity ● BigInt scalar
New number of raw metric units one priceCents charge covers, as a BigInt decimal string. Must be > 0 and supplied together with unitLabel. Needed because every rate seed is ON CONFLICT DO NOTHING, so a unit corrected in the declaration never reaches a tier that is already installed.
SetRateCardInput.acknowledgeRepricing ● Boolean scalar
Required when a unit change also changes the money. Restating 19c per GiB as 1.769513c per 100 MB is the same price and needs nothing; changing 20c per 100 MB to 20c per GiB-month is a 7841x cut and must be stated deliberately. The mutation refuses rather than guessing which one you meant.
SetRateCardInput.freePerHour ● BigInt scalar
New hourly free allowance in raw metric units, as a BigInt decimal string. Must be >= 0. Omit to leave the allowance unchanged.
SetRateCardInput.freeUnits ● BigInt scalar
New free allowance in raw metric units per freePeriod, as a BigInt decimal string. Must be >= 0. Leaves the period as it is unless freePeriod is also given. Not combinable with freePerHour, which is the older spelling of freeUnits with freePeriod HOUR.
SetRateCardInput.freePeriod ● AllowancePeriod enum
New period for the free allowance. Leaves the units as they are unless freeUnits is also given. Moving a dimension to MONTH is how the development quota is stated.
SetRateCardInput.freePerMonth ● BigInt scalar
New monthly free allowance in raw metric units, as a BigInt decimal string. Must be >= 0. On the PLAYER card with metric player_wasm_compute_units this is the pooled monthly TRIAL BUDGET per (player, app) — the only sanctioned way to change it on a live tier. Omit to leave it unchanged.
SetRateCardInput.reason ● String! non-null scalar
Why this price is changing. Required: a rate change with no stated reason is not auditable after the fact. Recorded in the operator log with the before and after values.
Member Of
setBillingRate mutation