Skip to main content
POST

Authorizations

Authorization
string
header
required

The data.access_token value from Get access token.

x-api-key
string
header
required

API key issued by Kira.

Headers

X-Api-Version
string

Version applied to this request. It wins over your account's pinned version — see Versioning.

Example:

"2026-06-01"

Body

application/json

Send exactly one of virtual_account_id or quote_for. Any field not listed here is rejected.

amount
string
required

How much to price, as a decimal string with exactly two decimals, above zero — "1000.00". With inverse this is what the recipient should end up with instead.

virtual_account_id
string<uuid>

Price against this account. The account pins the direction and the source currency.

quote_for
object

Price a rail before any account exists. Nothing is saved against an account, so quote_id comes back null.

target
object

What the recipient should end up with.

rail
enum<string>

Which bank rail the payout will use. Only with virtual_account_id, because one account accepts several rails and only you know which one you mean.

Leave it out and no rail charge is priced — a payout to a bank recipient then refuses the quote rather than carry that charge for free.

Available options:
ACH_STANDARD,
ACH_SAME_DAY,
WIRE_DOMESTIC
payment_instructions
object

The token and chain you will deposit to fund the payout. Only with virtual_account_id, and not together with from_held_balance.

inverse
boolean

Work backwards: treat amount as what the recipient receives and return what you have to send. false when you omit it.

from_held_balance
boolean

Price a payout from a balance you already hold, so the charges taken when the money arrived are not charged again. Needs virtual_account_id. false when you omit it.

effective_at
string

Price as of this moment instead of now, as an ISO 8601 timestamp with an offset.

client_markup
object

Your own fees for this one quote, replacing whatever is configured on your account. At least one of the two has to be above zero.

Response

The quote was priced.

The priced quote, line by line.

quote_id
string | null

Send this with a payout to settle at this price. null on a quote_for quote, which is a preview and is not saved.

quote_expires_at
string

When the price stops holding, as an ISO 8601 timestamp.

source
object

What you send.

recipient
object

What the recipient ends up with.

pricing_context
object

Why this price and not another.

conversion
object

The currency conversion. Always present: when no currency changed it echoes the movement back at a rate of 1.000000, so read pair, or compare source_currency with target_currency, to tell whether a conversion happened.

fees
object[]

Every charge as its own line. Add them up and you get totals.fee_total.

One charge. kind says which shape it takes: a percentage line also carries the rate and what it was applied to.

totals
object

The lines added up.

balance_sufficient
boolean

Whether the balance you hold covered source.amount when the quote was priced. Only on a from_held_balance quote, and only as a courtesy — the balance is checked again for real when the payout runs.