View as Markdown

llms.txt

The API reference isn't available right now

This instance couldn't load its API specification. The reference returns as soon as the specification is readable again.

Back to the API reference

No such model

This instance publishes no model under that name. It may have been renamed, or no operation this installation serves uses it.

Back to the API reference

This reference may be out of date

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.

API reference Models

ContractAggregates

A model the API reference uses in a request or a response. The operation pages link every field typed as this model here.

Cumulative execution statistics and recent history for a recurring billing contract.

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
totalExecutions required integer (int32)
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.
successfulExecutions required integer (int32)
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.
failedExecutions required integer (int32)
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.
amountBilled required number (double) min 0
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.
consecutiveFailures required integer (int32) Consecutive failed billing attempts without an intervening success. Reset to 0 on success. Used with `maxFailCount` to determine suspension. 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.
lastSuccessfulExecution required string (date-time) Timestamp of the last successful billing execution. 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.
lastExecution required string (date-time) Timestamp of the last billing execution (success or failure). 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.
executionHistory required array of ContractExecutionRecord array of ContractExecutionRecord The most recent execution records for this contract (capped at 10, newest first). May be `null` on older contracts; treat `null` the same as an empty list. 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.

Fields of each ContractExecutionRecord:

Field Type Description
executedAt required string (date-time) The date and time the billing execution was performed.
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.
success required boolean Whether the billing attempt was approved by the payment processor.
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.
amountBilled required number (double) The amount charged in this billing execution.
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.
transactionId required string (uuid) The transaction ID created in the payment engine, if one was created. 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.
failureReason required string An explanation of why the billing execution failed. Null for successful attempts. 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.
responseCode required string The processor response code for this execution. Used for failure classification against `failureRetryResultCodes`. 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.
scheduledRunTime required string (date-time) The scheduled occurrence time this execution was triggered for. Used by the Layer 2 idempotency guard to detect duplicate billing for the same scheduled occurrence. Null for execution records created before this field was added. 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.
preCreditAmount required number (double) The contract amount this cycle was priced at before any proration credit was applied: the inline per-bill total, or the plan revision in force. Pre-surcharge, so it is the number a later cycle compares against to detect a mid-cycle price change (`amountBilled` is the processor's response amount and may include a surcharge). Null on records written before proration existed; such a record never seeds a proration credit. 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.
creditApplied required number (double) The proration credit taken off this charge, or null when none applied. Zero is never written; a cycle with no credit leaves the field absent. 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.
chargedAmount required number (double) The contract amount actually submitted for this cycle after the credit: `preCreditAmount` less `creditApplied`, floored at zero. Pre-surcharge, like the two fields it derives from. Null on records written before proration existed. 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.
planPriceId required string (uuid) The plan price revision this charge was billed under, or null when the contract carries no plan and bills its own inline amounts. Null too on records written before the field existed. 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.
planId required string (uuid) The plan the revision in `planPriceId` belongs to. Written together with it, and null under exactly the same conditions. 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.

pendingCredit required number (double) A proration credit still owed to the customer, to be taken off the next charge, or `null` (equivalently zero) when none is owed. 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.
lastBillingSkip required ContractBillingSkip ContractBillingSkip The most recent billing run that found this contract due and did not charge it, and why, or `null` when the last run that looked at the contract charged it (or none has skipped it). Read-only: the billing engine is the only writer. nullableread only
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 of ContractBillingSkip:

Field Type Description
skippedAt required string (date-time) When the run decided not to charge the contract, in UTC.
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.
scheduledRunTime required string (date-time) The scheduled charge the run did not make, in UTC.
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.
category required RecurringBillingSkipCategory RecurringBillingSkipCategory Why the run did not charge the contract.
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.
AlreadyBilled The contract already has a successful charge for this scheduled run. Harmless: nothing is owed, and nothing needs attention.
MerchantIneligible The merchant that owns the contract is missing, deleted, or inactive.
InvalidContract The contract's own per-bill amount is zero or less, so there is nothing to charge.
PlanUnresolved The contract subscribes to a plan whose price could not be read, so the amount is unknown.
MissingConsent The stored payment method has no active stored-credential consent that permits a recurring charge.
ConsentLookupUnavailable The platform could not read the stored payment method's consent state. A platform fault rather than a configuration problem, recorded as a failed run item, and retried on the next run.
reason required string The billing engine's explanation of the skip, at most `MaxReasonLength` characters. Never carries payment credential data. 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.