Get transfer limit

Answers the per-transfer cap that applies to a transfer you are about to create,
so you can size the amount (or ask the API to split it, see split on
createBankTransaction) before you send anything.

The cap is not a property of a bank alone: it depends on the sending bank, the
destination bank (same-bank transfers are never capped), whether the transfer
belongs to an online or a deferred payroll, and the LBTR flag. Rather than
reimplementing those four rules — and drifting from them — ask here.

The answer does not depend on the amount, so it is cacheable — but the caller is
part of the key
: (caller, sender_id, recipient_id, bank_payroll_id, lbtr). Both
recipient_id and bank_payroll_id are resolved through the calling user's own
visibility, so the same tuple is a 404 for a caller who cannot see them and a cap
for one who can. Cache it private / per-session only — never in a shared or proxy
cache, which would hand the second answer to the first.

It resolves a cap, it does not validate the transfer

This endpoint answers only "how large may one transfer be". It does not run the
validations of createBankTransaction, so a 200 here is not a promise that the
transfer is creatable — in particular for lbtr:

  • lbtr: true between two accounts of the same bank answers max_amount: null
    (same-bank is uncapped), but creating it is a 422 "Lbtr cannot create lbtr transaction if the sender and recipient belong to the same bank".
  • lbtr: true out of a bank other than Banco de Chile or Santander answers that
    bank's ordinary cap (LBTR does not lift it there), and creating it is a 422 "Lbtr is not yet implemented at bank {bank_id}".

The rest of the create-time rules (recipient approved, description format, budget,
payroll state) are likewise out of scope here; they are listed on the 422 of
createBankTransaction.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Query Params
uuid
required

The account the transfer would leave from. Must be an account you are a user of
— that is the guard, not bank-key reachability: unlike createBankTransaction, this
endpoint resolves no bank key. An account you are not a user of is 401; an id that
matches no account at all is 404.

uuid
required

The recipient the transfer would go to, enrolled in sender_id
(GET /v1/banking/bank_recipients?owner_id={sender_id}). A recipient of another
account answers 404.

uuid

The payroll the transfer would join, if any. It matters: at Banco de Chile and BICE
a deferred payroll (online: false) has no cap, while an online one keeps it.
At Banco Security the cap is flat and the payroll changes nothing.

Must be a payroll of sender_id (payrolls belong to one sending account), otherwise
404 — including a payroll of another of your own accounts, which you can see but
this transfer could not join. Omitting the parameter is a different question
("no payroll") and answers the no-payroll cap; it is never treated as a missing
record.

boolean
Defaults to false

Whether the transfer would be sent as LBTR (Chile's RTGS), which lifts the cap where
supported (Banco de Chile and Santander). Anywhere else the cap comes back unchanged
and the transfer itself would be rejected at creation — this endpoint does not check
that.

Headers
uuid
required

UUID of the company on whose behalf the request is made. Send it on banking
requests to identify the acting company. Note that user-scoped list endpoints
(e.g. the recipients/transactions indexes) resolve results across all companies
the authenticated user is a member of, rather than strictly from this header.
See The company-id header for details on how to obtain
a value for this header and the error responses to expect when it is missing or invalid.

Responses

Language
Credentials
Bearer
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json