Other BaaS operations

Includes sensitive operations
These tools are enabled on request and only work for users with Tilopay banking API credentials. They are not part of the default MCP access: Tilopay enables the group case by case. Requires: Tilopay banking API credentials registered by Tilopay for that user.

Banking API contexts (assignments)

Read only

baas_list_assignments

Lists the tenant/account contexts (assignments) available for the user's banking API credentials. Use it when another tool asks for assignmentId.

Parameters

No parameters.

Returns

{ assignments[] }

assignments = available contexts with assignment_id, tenant_code, owner_type, country_code and status.

Banking API diagnostics

Read only

baas_diagnostics

Checks the user's banking API credentials, the login, the token exchange and access to accounts. Use it when a query fails.

Parameters

ParameterTypeRequiredDescription
assignmentIdstring—Banking API context (assignment); only needed when there are several

Returns

{ checks[], failed }

checks = one row per check (credentials, login + assignments, accounts) with ok and detail; failed = how many failed. The credential email comes back masked.

List banking API accounts

Read only

baas_list_accounts

Lists the accessible banking API accounts, without balances: identifier type, value and currency.

API operation: GET /api/public/v1/accounts — see the operation page

Parameters

ParameterTypeRequiredDescription
accountTypestring—Filter by scheme (IBAN)
accountValuestring—Filter by identifier
limitinteger—Page size, between 1 and 100
offsetinteger—Pagination offset
assignmentIdstring—Banking API context (assignment); only needed when there are several

Returns

{ result }

result = the banking API response as returned.

Balance of one account

Read only

baas_get_balance

Gets the current balance of a banking API account.

API operation: POST /api/public/v1/accounts/balance — see the operation page

Parameters

ParameterTypeRequiredDescription
currencystring—Account currency (CRC or USD): first account in that currency. Precedence for choosing the own account: accountValue (only if it matches one of the user's accounts) → currency (first account in that currency) → accountIndex (base 1: the number baas_list_accounts shows) → if there is a single account, that one.
accountIndexinteger—Account number in the list shown by baas_list_accounts (base 1). Precedence for choosing the own account: accountValue (only if it matches one of the user's accounts) → currency (first account in that currency) → accountIndex (base 1: the number baas_list_accounts shows) → if there is a single account, that one.
accountValuestring—Only if a tool already returned it and it matches one of the user's accounts; do not write account numbers from memory.
assignmentIdstring—Banking API context (optional)

Returns

{ account: { value, currency }, amounts: { available, posted }, as_of }

account = the queried account; amounts.available = available balance; amounts.posted = posted balance; as_of = cutoff date.

Statement request status

Read only

baas_get_statement_status

Reads the status of an asynchronous account statement request. The API returns 200 with status PENDING, PROCESSING, DONE or ERROR. When DONE, it includes download_url, valid for 48 hours, and its expiry.

API operation: GET /api/public/v1/accounts/statements/{request_id} — see the operation page

Parameters

ParameterTypeRequiredDescription
requestIdstringyesrequest_id returned when the statement was requested
assignmentIdstring—Banking API context (assignment); only needed when there are several

Returns

{ result }

result = the banking API response as returned.

Merchant's full account number

Read only

baas_get_account_number

Shows the FULL IBAN of one of the merchant's own accounts. Use it ONLY when the merchant explicitly asks for their account number (for example to give it to a customer or supplier) and with confirm=true. It is recorded in the audit log. In any other answer the masked number is used.

Parameters

ParameterTypeRequiredDescription
confirmbooleanyestrue only if the merchant explicitly asked for their full account number
currencystring—Account currency (CRC or USD)
accountIndexinteger—Account number in the list
assignmentIdstring—Banking API context (optional)

Returns

{ result: { account_id, currency, iban } }

result = the own account with its full IBAN.

Cancel the pending transfer

Write

baas_cancel_transfer

Cancels the transfer that is waiting for the authorization code. Use it when the merchant says they do not want to make it.

Parameters

ParameterTypeRequiredDescription
intentIdstring—Intent identifier (optional)

Returns

{ message }

message = cancellation confirmation.

Approve or reject a pending operation

Sensitive

banca_decide_approval

The dual-control approver approves or rejects a pending transfer, with the 6-digit code that arrived at their email. Never write the code in the answer.

Requires confirmation: Confirmations Tilopay requires

Parameters

ParameterTypeRequiredDescription
decisionstring (aprobar | rechazar)yesThe approver's decision
codestringyes6-digit code from the approver's email
approvalIdstring—Approval identifier (optional; if missing, the most recent pending approval is used)
reasonstring—Rejection reason (max. 255 characters, optional)

Returns

{ status, message }

status = result of the decision; message = confirmation text.

Close banking session

Write

baas_close_session

Immediately closes the active banking session (only in the WhatsApp assistant).

Parameters

No parameters.

Returns

Document status and download#

baas_get_statement_status checks an asynchronously created request (202 ACCEPTED, request_id, PENDING). The API returns 200 with PENDING, PROCESSING, DONE or ERROR; DONE includes download_url, valid for 48 hours.

Last verified: 2026-10-22

View as raw Markdown