Policies

List effective policies

GEThttps://api.firstleeward.com/v0/policies/effective

Returns the policies in force for a card, cardholder, or your program, resolved up the attachment chain (a card inherits its cardholder and program policies). Limits that track a running total over a window include their current usage and remaining headroom, so you can show how much is left. Only active policies are included.

Authorizations

Authorizationstring · headerrequired

API key as Bearer token, e.g. Bearer YOUR_API_KEY

Headers

Leeward-Versionenum<string>required

API version (YYYY-MM-DD). Available option: 2026-09-18

Query Parameters

scopeTypestringrequired

The scope level to resolve policies for.

Available options:PROJECTUSERCARD
scopeIdstring<uuid>

The entity to resolve policies for. Required for entity-level scopes; omit for program-level scopes that carry no id.

Response

200The policies in force for the scope, with current usage for each limit that tracks a running total over a window.
itemsobject[]required

Policies in force for the scope, ordered most-specific first (card, then user, then project).

Show child attributes
policyobjectrequired

Policy resource

Show child attributes
Option 1 · MerchantRestrictionPolicy
idstringrequired

Policy ID. A UUID for your policies; a stable identifier for platform policies.

scopeobjectrequired

Where the policy attaches.

Show child attributes
Option 1 · Project
typestringrequired
Option 2 · User
typestringrequired
idstring<uuid>required
Option 3 · Card
typestringrequired
idstring<uuid>required
statusstringrequired
Available options:ACTIVEDISABLED
namestringrequired

Human-readable label.

createdAtstringrequired

ISO 8601 creation timestamp.

updatedAtstringrequired

ISO 8601 last-update timestamp.

typestringrequired
configobjectrequired

Block transactions whose merchant matches the criteria.

Show child attributes
matchobjectrequired
Show child attributes
Option 1 · Mcc
dimensionstringrequired
codesstring[]required
Option 2 · MerchantCountry
dimensionstringrequired
countriesstring[]required
Option 2 · ChannelRestrictionPolicy
idstringrequired

Policy ID. A UUID for your policies; a stable identifier for platform policies.

scopeobjectrequired

Where the policy attaches.

Show child attributes
Option 1 · Project
typestringrequired
Option 2 · User
typestringrequired
idstring<uuid>required
Option 3 · Card
typestringrequired
idstring<uuid>required
statusstringrequired
Available options:ACTIVEDISABLED
namestringrequired

Human-readable label.

createdAtstringrequired

ISO 8601 creation timestamp.

updatedAtstringrequired

ISO 8601 last-update timestamp.

typestringrequired
configobjectrequired

Block transactions on the listed channels.

Show child attributes
channelsstring[]required
Available options:ATMPOSECOMMERCEVISA_DIRECT
Option 3 · TransactionAmountLimitPolicy
idstringrequired

Policy ID. A UUID for your policies; a stable identifier for platform policies.

scopeobjectrequired

Where the policy attaches.

Show child attributes
Option 1 · Project
typestringrequired
Option 2 · User
typestringrequired
idstring<uuid>required
Option 3 · Card
typestringrequired
idstring<uuid>required
statusstringrequired
Available options:ACTIVEDISABLED
namestringrequired

Human-readable label.

createdAtstringrequired

ISO 8601 creation timestamp.

updatedAtstringrequired

ISO 8601 last-update timestamp.

typestringrequired
currencystringrequired

Currency of the policy's amounts - the billing currency of the project's card program.

configobjectrequired

Cap the amount of a single transaction.

Show child attributes
maxAmountnumberrequired

Amount in the project's billing currency.

Option 4 · SpendLimitPolicy
idstringrequired

Policy ID. A UUID for your policies; a stable identifier for platform policies.

scopeobjectrequired

Where the policy attaches.

Show child attributes
Option 1 · Project
typestringrequired
Option 2 · User
typestringrequired
idstring<uuid>required
Option 3 · Card
typestringrequired
idstring<uuid>required
statusstringrequired
Available options:ACTIVEDISABLED
namestringrequired

Human-readable label.

createdAtstringrequired

ISO 8601 creation timestamp.

updatedAtstringrequired

ISO 8601 last-update timestamp.

typestringrequired
currencystringrequired

Currency of the policy's amounts - the billing currency of the project's card program.

configobjectrequired

Cap cumulative spend over a calendar window.

Show child attributes
windowobjectrequired
Show child attributes
typestringrequired
periodstringrequired
Available options:DAILYWEEKLYMONTHLYYEARLYLIFETIME
maxAmountnumberrequired

Amount in the project's billing currency.

filterobject
Show child attributes
channelsstring[]
Available options:ATMPOSECOMMERCEVISA_DIRECT
merchantobject
Show child attributes
Option 1 · Mcc
dimensionstringrequired
codesstring[]required
Option 2 · MerchantCountry
dimensionstringrequired
countriesstring[]required
Option 5 · AuthorizationCountLimitPolicy
idstringrequired

Policy ID. A UUID for your policies; a stable identifier for platform policies.

scopeobjectrequired

Where the policy attaches.

Show child attributes
Option 1 · Project
typestringrequired
Option 2 · User
typestringrequired
idstring<uuid>required
Option 3 · Card
typestringrequired
idstring<uuid>required
statusstringrequired
Available options:ACTIVEDISABLED
namestringrequired

Human-readable label.

createdAtstringrequired

ISO 8601 creation timestamp.

updatedAtstringrequired

ISO 8601 last-update timestamp.

typestringrequired
configobjectrequired

Cap the number of transactions over a calendar window.

Show child attributes
windowobjectrequired
Show child attributes
typestringrequired
periodstringrequired
Available options:DAILYWEEKLYMONTHLYYEARLYLIFETIME
maxCountintegerrequired

Maximum number of transactions in the window.

filterobject
Show child attributes
channelsstring[]
Available options:ATMPOSECOMMERCEVISA_DIRECT
merchantobject
Show child attributes
Option 1 · Mcc
dimensionstringrequired
codesstring[]required
Option 2 · MerchantCountry
dimensionstringrequired
countriesstring[]required
usageobject | nullrequired

Current usage for limits that track a running total over a window; null for policies that keep no running total.

Show child attributes
limitnumberrequired

The configured cap for the window (an amount in the project's billing currency or a transaction count, depending on what the limit measures).

usednumberrequired

Usage recorded so far in the current window.

remainingnumberrequired

Headroom left in the current window.

resetsAtstring<date-time> | nullrequired

When the current window resets and usage returns to zero, as a UTC timestamp. Null for a lifetime limit, which never resets.

400The entity the policy attaches to does not exist
errorobjectrequired
Show child attributes
codestringrequired
messagestringrequired
detailobject | nullrequired