Banking API (BaaS)
WriteThese tools are not enabled by default. They are turned on on request and only work for users with Tilopay banking API credentials registered by Tilopay on the server side. Standard MCP access does not include the group; and if a tool is called without those credentials, it replies that they do not exist. To request it, use the access form and state that you need the banking API.
What it covers#
Eleven read tools over the banking API: contexts (assignments), credential diagnostics, accounts, balances, payments, statements and an analytical payments report.
None of these tools initiates, approves or reverses transfers. They only extract information.
The only one that is not a pure read is baas_request_statement, which generates a read-only
document: it moves no money.
Accounts are identified with accountType: "IBAN" plus accountValue, dates are RFC 3339
(2026-01-01T00:00:00Z) and assignmentId is only needed when the user has several contexts.
Tools#
Banking API contexts (assignments)
Read onlybaas_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 onlybaas_diagnostics
Checks the user's banking API credentials, the login, the token exchange and access to accounts. Use it when a query fails.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
assignmentId | string | — | 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 onlybaas_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
| Parameter | Type | Required | Description |
|---|---|---|---|
accountType | string | — | Filter by scheme (IBAN) |
accountValue | string | — | Filter by identifier |
limit | integer | — | Page size, between 1 and 100 |
cursor | string | — | Cursor from the previous page |
assignmentId | string | — | Banking API context (assignment); only needed when there are several |
Returns
{ result }
result = the banking API response as returned.
Banking API account balances
Read onlybaas_list_balances
Lists the real-time balances of the accessible accounts: account, amounts and cut-off date.
API operation: GET /api/public/v1/accounts/balances — see the operation page
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
accountType | string | — | Filter by scheme (IBAN) |
accountValue | string | — | Filter by identifier |
limit | integer | — | Page size, between 1 and 100 |
cursor | string | — | Cursor from the previous page |
assignmentId | string | — | Banking API context (assignment); only needed when there are several |
Returns
{ result }
result = the banking API response as returned.
Balance of one account
Read onlybaas_get_balance
Gets the current balance of a banking API account identified by IBAN.
API operation: GET /api/public/v1/accounts/balance — see the operation page
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
accountType | string (IBAN) | — | Identifier scheme (IBAN) |
accountValue | string | yes | Account identifier (IBAN) |
assignmentId | string | — | Banking API context (assignment); only needed when there are several |
Returns
{ result }
result = the banking API response as returned.
List banking API payments
Read onlybaas_list_payments
Reads the payments of an owned account identified by IBAN, with date, status, currency, method and direction filters. Cursor pagination.
API operation: GET /api/public/v1/transactions/payments — see the operation page
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
accountType | string (IBAN) | — | Identifier scheme (IBAN) |
accountValue | string | yes | Account identifier (IBAN) |
dateFrom | string | — | From, RFC 3339 (2026-01-01T00:00:00Z) |
dateTo | string | — | To, RFC 3339 |
status | string (pending | processing | confirmed | posted | failed) | — | Public payment status |
currency | string | — | ISO 4217 currency (CRC, USD) |
paymentMethodCode | string (PIN | SINPE_MOVIL) | — | Payment method |
direction | string (OUT | IN) | — | OUT = sent, IN = received |
clientReference | string | — | Merchant reference |
limit | integer | — | Page size, 100 maximum (20 by default) |
cursor | string | — | Cursor from the previous page |
assignmentId | string | — | Banking API context (assignment); only needed when there are several |
Returns
{ result }
result = the banking API response as returned, with its pagination cursor.
Find a payment
Read onlybaas_search_payment
Finds a payment inside an account by exactly one of: paymentId (UUID), publicId (number) or clientReference. Sending more than one returns an error.
API operation: POST /api/public/v1/transactions/payments/search — see the operation page
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
accountType | string (IBAN) | — | Identifier scheme (IBAN) |
accountValue | string | yes | Account identifier (IBAN) |
paymentId | string | — | Internal payment UUID |
publicId | string | — | Numeric public identifier |
clientReference | string | — | Merchant reference |
assignmentId | string | — | Banking API context (assignment); only needed when there are several |
Returns
{ result }
result = the banking API response as returned.
Payment detail
Read onlybaas_get_payment
Gets the detail of a banking API payment from its internal UUID, read only.
API operation: GET /api/public/v1/transactions/payments/{payment_id} — see the operation page
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
paymentId | string | yes | Internal payment UUID |
assignmentId | string | — | Banking API context (assignment); only needed when there are several |
Returns
{ result }
result = the banking API response as returned.
Request an account statement
Writebaas_request_statement
Requests the generation of an account statement for a banking API account, with a 60-day maximum range. It moves no money: it generates a read-only document and returns request_id with status PENDING.
API operation: POST /api/public/v1/accounts/statements — see the operation page
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
accountType | string (IBAN) | — | Identifier scheme (IBAN) |
accountValue | string | yes | Account identifier (IBAN) |
dateFrom | string | yes | From, RFC 3339 (2026-01-01T00:00:00Z) |
dateTo | string | yes | To, RFC 3339, at most 60 days after dateFrom |
assignmentId | string | — | Banking API context (assignment); only needed when there are several |
Returns
{ result }
result = the banking API response with request_id and status. The tool requests the document without email notification.
Statement request status
Read onlybaas_get_statement_status
Reads the status of an account statement request. When it is DONE it includes the signed download link and its expiry.
API operation: GET /api/public/v1/accounts/statements/{request_id} — see the operation page
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
requestId | string | yes | request_id returned when the statement was requested |
assignmentId | string | — | Banking API context (assignment); only needed when there are several |
Returns
{ result }
result = the banking API response as returned.
Banking API payments analyst
Read onlybaas_analyze_payments
Analyses, read only, the payments of an account in a date range and returns a natural-language report: success, failures, reversals, net amounts and recommendations. It runs a language model over the computed figures.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
accountType | string (IBAN) | — | Identifier scheme (IBAN) |
accountValue | string | yes | Account identifier (IBAN) |
dateFrom | string | yes | From, RFC 3339 |
dateTo | string | yes | To, RFC 3339 |
currency | string | — | ISO 4217 currency |
direction | string (OUT | IN) | — | OUT = sent, IN = received |
question | string | — | Specific focus for the analysis |
maxItems | integer | — | Maximum payments to analyse, between 1 and 1000 (300 by default) |
assignmentId | string | — | Banking API context (assignment); only needed when there are several |
Returns
{ summary }
summary carries account, range, totals {count, succeeded, failed, reversed, pending, successRate}, byCurrency with succeededAmount, reversedAmount, netAmount and averageTicket, failureReasons and sample. The written report comes in the text. With no payments in the range it says so and does not analyse.
Last verified: 2026-09-03 · Owner: equipo-integraciones