Base path
All Bank Account routes are prefixed under::entityId and :bankAccountId are UUIDs.
To start a feed, connect a bank Provider as an Integration, then map one of its discovered accounts to a Bank Account. See Bank Feeds.
Authentication
Use a session cookie or passx-api-key: $SINTROPIX_API_KEY. Mutations with an API key also require x-audit-actor: my-agent. See Get an API Key.
Bank Account kinds
A Bank Account has one of two kinds, validated at creation against the mapped Ledger Account’s type:List bank accounts
Response schema
Each Bank Account in the list carries:
The last two fields (
balance and unreconciledCount) are the summary; endpoints that return a Bank Account without summary omit them.
The feed object, when present, contains:
Example
Create a bank account
Body parameters
Response
Returns201 Created with the created Bank Account, including the balance and unreconciledCount summary fields, in the same shape as the list response.
Status codes
Example
Update a bank account
name, accountNumber, and bankCode are editable through this endpoint.
Body parameters
Response
Returns200 OK with the updated Bank Account, in the same shape as the list response minus balance and unreconciledCount.
Status codes
Example
Delete a bank account
Response
Returns200 OK with:
Status codes
Example
Delete a bank account feed
Response
Returns200 OK with the Bank Account, in the same shape as the list response minus balance and unreconciledCount; feed is now null.
Status codes
Example
Sync a bank account feed
- The
descriptionbecomes the Provider’s newest text for the Movement. Some banks complete a movement’s text a day after it posts, so the description fills in with the counterparty on the next sync. - The Additional Information lines the Provider writes are rewritten. Lines you added stay, in their order.
- The Partner is set from the counterparty’s tax ID, such as a RUT, only when the Movement has none.
updatedCount.
Response
Returns201 Created with:
Status codes
Example
Tie-out
Each sync checks that the Bank Account’s Movements add up to the balance the Provider reports. The feed keeps the verdict of the last sync that judged it, and every read of the Bank Account serves it asfeed.tieOut:
The other side of the check is the Bank Account’s
balance, the sum of its Movements. The difference is reportedBalance minus balance.
Nothing blocks on
out_of_tie_out: Movements keep landing, and you can book and reconcile them as usual. Use since to tell a short lag from a lasting difference. Most differences clear on their own within two days. If one lasts longer, contact Sintropix support.
In the app, the movement queue of the Bank Account shows the verdict on every load, whether you or the scheduled sync ran it. An account out of tie-out shows No cuadra con el banco desde …, with the balance the bank reports, the sum of the Movements, and the difference.
Restatement
A restatement is a Movement the feed already landed that the Provider no longer serves: it dropped it, or serves it again under another reference. Only Movements dated inside the window the Provider still serves count, from the feed start date on. A Provider whose history simply stops reaching its oldest days isn’t restating anything. Landing that window as it is would write the Movement twice. Instead, the restated Movements give way to the Provider’s version: Sintropix deletes them and lands what the Provider serves now. That happens in one of two ways. The sync takes it by itself when both of these hold:- No restated Movement is booked or excluded.
- Each restated day still adds up: the restated Movements of the day sum to what the Provider now serves for that day that the feed hasn’t landed.
409.
Otherwise, a person accepts it. The sync lands nothing, sets feed.tieOut.status to restated, and answers 409:
restatedExternalRefs lists the Provider references of the landed Movements the Provider no longer serves. Every later sync is refused the same way until someone accepts the Provider’s version. The first refused sync also opens a Task in the Organization’s Tareas that names the Bank Account.
To accept it in the app:
- Open the Bank Account. Its movement queue shows Sincronización detenida desde ….
- Click Revisar cambios del banco. The dialog lists each restated day, with the Movements in the books (En los libros) beside what the bank lists now (El banco informa ahora), and the total of each side.
- If a restated Movement is marked Contabilizado or Excluido, unbook it or include it again first.
- Click Aceptar la versión del banco.
GET /feed/restatement
days is empty when the Provider restates nothing.
Each item of
days:
POST /feed/restatement/acceptance
books write permission, so a viewer can’t accept.
Returns
201 Created with the sync result: landedCount, skippedCount, and updatedCount. The feed’s tie-out is judged again, as on any sync.

