Fees

Create fee override

POSThttps://api.firstleeward.com/v0/fees

Creates an account-level override for one fee type. An account has at most one override per fee type; creating a second returns a conflict. Project defaults cannot be created - every project already has one row per fee type.

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

Idempotency-Keystring

Unique key for safely retrying this request. Up to 255 characters; we recommend a UUIDv4. The first request executes and its response is cached; subsequent requests with the same key replay the cached response (24h retention).

Body

application/json

typestringrequired

Which cardholder fee to override.

Available options:FX_MARKUPATM_DOMESTIC_VARIABLEATM_DOMESTIC_FIXEDATM_CROSS_BORDER_VARIABLEATM_CROSS_BORDER_FIXED
scopeobjectrequired

The account the override attaches to.

Show child attributes
typestringrequired
idstring<uuid>required

The account to override for.

valueobjectrequired

The fee value. unit must match the fee type: BPS for a rate-based type, AMOUNT for a fixed one.

Show child attributes
Option 1 · FeeBpsValueInput
unitstringrequired
bpsintegerrequired

Rate in basis points of the transaction bill amount (100 bps = 1%).

Option 2 · FeeAmountValueInput
unitstringrequired
amountnumberrequired

Fixed fee per transaction, in the project's billing currency.

Response

200A cardholder fee row.
idstring<uuid>required

Fee ID.

typestringrequired

Which cardholder fee this row sets.

Available options:FX_MARKUPATM_DOMESTIC_VARIABLEATM_DOMESTIC_FIXEDATM_CROSS_BORDER_VARIABLEATM_CROSS_BORDER_FIXED
valueobjectrequired

The fee value, denominated as unit says.

Show child attributes
Option 1 · FeeBpsValue
unitstringrequired
bpsintegerrequired

Rate in basis points of the transaction bill amount (100 bps = 1%).

Option 2 · FeeAmountValue
unitstringrequired
amountnumberrequired

Fixed fee per transaction, in the project's billing currency.

currencystringrequired

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

scopeobjectrequired

Where the fee attaches. PROJECT rows are the default rate card for your program; an ACCOUNT row overrides one fee type for one account.

Show child attributes
Option 1 · Project
typestringrequired
Option 2 · Account
typestringrequired
idstring<uuid>required
versionintegerrequired

Incremented on every change. Transaction events record the version that priced them.

createdAtstringrequired

ISO 8601 creation timestamp.

updatedAtstringrequired

ISO 8601 last-update timestamp.

400Response for status 400
Option 1 · FeeScopeNotFoundError
errorobjectrequired
Show child attributes
codestringrequired
messagestringrequired
detailobject | nullrequired
Option 2 · InvalidFeeValueError
errorobjectrequired
Show child attributes
codestringrequired
messagestringrequired
detailobject | nullrequired
Option 3 · FeeValueUnitMismatchError
errorobjectrequired
Show child attributes
codestringrequired
messagestringrequired
detailobject | nullrequired
409A fee of this type already exists at this scope
errorobjectrequired
Show child attributes
codestringrequired
messagestringrequired
detailobject | nullrequired