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:57 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 effective state-policy view for one merchant: every state that either layer says something
about, each carrying the platform rule, the merchant override, and the merged outcome. Read-only.
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
platformRulesEnforcedrequired
boolean
Whether the platform-seeded ruleset is currently enforced underneath merchant policies. When
`false`, every row's merged outcome comes from the merchant layer alone and the platform
columns are informational.
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.
resolvedAtUtcrequired
string (date-time)
The instant the platform rules were resolved against, so a row's effective-dated rule is
reproducible. UTC, as everything the API returns is.
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.
configurationExistsrequired
boolean
Whether the merchant has a persisted surcharge configuration. When `false` there is nothing
for a state policy to attach to, so the write path would fail; the view still resolves and shows
the platform layer.
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.
One row per constrained state, ordered by state code. States neither layer restricts are omitted.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 SurchargeEffectiveStatePolicyDto:
Field
Type
Description
stateCoderequired
string
Two-letter US state or territory code, uppercase.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.
hasMerchantOverriderequired
boolean
Whether the merchant has an entry of their own for this state. Reported separately from
`merchantRestrictionType` because a null restriction cannot distinguish "no
entry" from "an entry that never recorded one".
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 merchant's configured restriction for this state, or `null` when the merchant has no
entry for it (in which case the platform layer alone governs). Check
`hasMerchantOverride` to tell that apart from an entry with no restriction recorded.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.
Prohibited
Surcharging is prohibited outright in the state.
Restricted
Surcharging is allowed but constrained (e.g. a state cap or disclosure rules).
Permissive
Surcharging is permitted with no state-specific restriction beyond network rules.
merchantCapRaterequired
number (double)
The merchant's configured cap for this state (decimal fraction), if any.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 platform-seeded restriction governing this state on the evaluation date, or `null` when
the platform seeds no rule for it.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.
Prohibited
Surcharging is prohibited outright in the state.
Restricted
Surcharging is allowed but constrained (e.g. a state cap or disclosure rules).
Permissive
Surcharging is permitted with no state-specific restriction beyond network rules.
platformCapRaterequired
number (double)
The platform-seeded cap for this state (decimal fraction), if any.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.
platformCitationrequired
string
The statute the platform rule cites, for display beside the row. Rationale text only; nothing
branches on it.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.
effectiveIsProhibitedrequired
boolean
Whether surcharging is prohibited in this state by the merged outcome. Reflects the enforcement
gate: with platform rules unenforced, only the merchant layer can produce a prohibition.
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.
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.
None
Neither layer produced an outcome (no rule for the state).
MerchantConfiguration
The merchant's own SurchargeStatePolicy entry produced the outcome. Merchant policy can only tighten a platform rule, never relax one.
PlatformPolicy
The platform's seeded reference data (SurchargePlatformStatePolicyLookup) produced the outcome.
merchantEntryIsIneffectiverequired
boolean
Whether the merchant's entry for this state is inert: it exists, but the merged outcome is
identical to what the platform layer produces alone, so removing it would change nothing. The
usual cause is an entry trying to relax a platform prohibition, which the merge ignores by
design. Computed server-side so the UI does not have to re-derive the merge to detect it.
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.