This instance couldn't reach its API specification on the last attempt, so this page shows the copy fetched before that. Anything added or changed since then is missing here, and the reference updates itself as soon as the specification is readable again. Last fetched 2026-10-22 22:52 UTC.
A model the API reference uses in a request or a response. The operation pages link every field typed as this model here.
The minimum a plan picker needs: what to show, and what it costs today.
Values
Values:Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Fields
Field
Type
Description
idrequired
string (uuid)
The plan's identifier, which is what a contract stores.
Values:Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
merchantIdrequired
string (uuid)
The merchant that owns the plan.
Values:Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
namerequired
string
The plan's operator-facing name.nullable
Values:Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
coderequired
string
The merchant's own short code for the plan, or null.nullable
Values:Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
currencyCoderequired
string
The ISO 4217 alphabetic currency code the plan's amounts are denominated in.nullable
Values:Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
isActiverequired
boolean
Whether the plan is still open to new subscriptions. Normally true: the picker lists active
plans. It is false only for a plan pulled in by `includePlanId`, which is how a contract
already subscribed to a retired plan keeps showing what it is on.
Values:Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
isDeletedrequired
boolean
Whether the plan has been deleted. Only ever true for a plan pulled in by
`includePlanId`. A deleted plan cannot price anything: the billing engine refuses to
charge a contract it cannot read a plan for, and that refusal is the point of deleting one.
It is carried here so the contract that is still pointing at it says so, instead of the
picker quietly showing no plan at all.
Values:Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
currentTotalAmountrequired
number (double)
What a subscriber is charged per cycle today: the revision in force at the moment the picker
was loaded. A plan carrying a scheduled change still shows today's price here, because that
is what a contract created now would first bill.
Values:Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
trialDaysrequired
integer (int32)
The trial length a new contract on this plan inherits, in days, or null when the plan offers
no trial. The contract form seeds its trial end date from it when the plan is picked.nullable
Values:Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
The recurrence a new contract on this plan starts from, or null when the plan suggests none.
A suggestion only: the contract owns its schedule once created, and changing the plan's never
moves an existing subscriber.
Values:Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
The first day of week, used in calculating weekday-based recurrencesnullable
Values:Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
nextScheduledRunrequired
string (date-time)
The next computed billing date, updated after each billing run. Null for contracts that
have never been scheduled or have ended.nullable
Values:Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
startDaterequired
string (date-time)
The earliest date on which this contract is eligible to bill. Set by the user
when creating the contract (defaults to the creation date) and may be set to a
future date to delay first billing. The recurrence engine anchors expansion to
this date and the daily billing job will not fire a contract whose
`startDate` is in the future.
Null on contracts created before this field existed. When it is null, the server
anchors the schedule on the contract's creation time, or on the current time when
that is also absent; callers that compute a schedule themselves should apply the
same fallback.nullable
Values:Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
This body has no documented fields.
This model has no documented fields.
Reconnecting to the server
Could not reconnect
This session has ended
Attempt 1
Your work on this page is still here. Retrying keeps it; reloading starts the page again.
The server no longer holds this page's state, so it has to be loaded again.