January 2023

by Dominik Cholewski

It's a new year, new resolutions, and big improvements! πŸ€“

API and documentation updates

πŸŽ‰ New

New resource: Categorization!

With Belvo’s new Categorization resource, you can now send a request with raw transaction data (such as amount, description, and holder information) to which Belvo:

  • assigns a standardized category to each transaction
  • provides additional information about the merchant involved in the transaction (name, logo, and website URL)
    For more information, check out our DevPortal article and API reference.

Transaction categorization: introducing subcategories!

For those using our Transaction categorization feature, we now return greater details regarding the transaction with the new subcategory field. With this new field, you'll gain even greater insights regarding your user's transactions.
For more information, check out our Subcategorization DevPortal article.

πŸ“˜

Note: At the moment our subcategorization feature is only supported for Income & Payment transactions in Brazil πŸ‡§πŸ‡·.

Async support for transactions

You can now make asynchronous POST requests for transactions! By using theX-Belvo-Request-Mode=async header, you can reduce your risk of timeouts and improve your overall product flow.

For more information, check out our POST Retrieve transactions for a link method.

⚠️ Deprecated

No parameters or resources scheduled for deprecation

November - December 2022

by Dominik Cholewski

Mr and Mrs Clause are coming to town, and so are we! πŸ§‘β€πŸŽ„ πŸŽ…

API and documentation updates

πŸŽ‰ New

  • New resource: Tax Declarations!
    For our DIAN fans, you've got a whole new resource! With Tax Declarations, you can retrieve in-depth information regarding the annual tax declarations in Colombia.
    Check out our API reference and DevPortal article for more info!

πŸ’ͺ Improved

  • external_id now requires a minimum of three characters
  • Made it a bit clearer in the description of date fields when it's a simple date (YYYY-MM-DD format)

⚠️ Deprecated

On 30.11.2022 we deprecated our investment transactions and gig economy resources.

🐞 Fixed

  • accounts.funds_data.balance and accounts.funds_data.percentage were listed as strings instead of floats. Fixed that little whoopsie.
  • Added null to our access_mode and refresh_rates response parameters (for those of you using our OpenAPI spec to integrate with Belvo).
  • Plenty of small adjustments to our OpenAPI spec that'll give you greater clarity about how our API works.

October 2022

by Dominik Cholewski

The weather might be cooling, but we're warming up! πŸ‚

API and documentation updates

πŸ’ͺ Improved

  • Better DIAN-specific annotations in our API reference
    We know that it was a bit confusing regarding which of our fiscal fields are returned for DIAN or SAT, so we went through it with a fine comb and made annotations for each field that's not applicable for DIAN.
  • Invoices resource now has a PATCH method!
    We added the PATCH method for our Invoices resource so that you can make multiple requests for invoices in DIAN.
  • More recurring expenses categories
    Our recurring expenses resource now returns categories related to credit cards, loans, transportation, traveling, taxation, and more!

⚠️ Deprecated

Our gig economy and investment transaction resources will be deprecated on 30.11.2022. We've added deprecation notices throughout our documentation for additional details which fields, and resources, will no longer be supported.

🐞 Fixed

  • We accidentally removed the UNKNOWN enum from our documentation for transaction categories. It's back now!
  • We erroneously had an example for accouting_date that was a date in YYYY-MM-DD format, but in fact, our API returns a timestamp. We fixed that!
  • Oh, and as always, we found some typos to fix... sorry about that!

September 2022

by Dominik Cholewski

Greenday might want to wake up when September ends, but we were bright-eyed and bushy-tailed! 🐿️

Dashboard updates

Lending analytics

Because at Belvo we are all about empowering the next generation of financial services to create amazing new financial experiences, we just added a new feature in da-house!

This time, we focus our efforts on lenders, to make their life easier, by providing access to raw and enriched data from open finance, without writing a single line of code.

And we came up with - drum roll - Lending Analytics!

Directly from Belvo’s dashboard, lenders can now access open finance data in three steps:

  1. Customize and connect: personalize the Connect Page with your brand elements and share it with your customers.
  2. Data download: retrieve raw aggregated and enriched data, ready to download in XLS format.
  3. Dig into the data: integrate the data into your current credit models to reinforce credit decisions and enrich your credit scoring.

API and documentation updates

πŸŽ‰ New

  • OpenAPI spec now defines all possible filters
    We've added all the possible filters you can use while using the List all method in our documentation.
  • New 30-day refresh rate
    You can now create links with a refresh rate of 30 days! Useful for those of you that want to automatically update information about your clients on a monthly basis.

πŸ’ͺ Improved

  • Better Balance examples
    Previously we autogenerated the examples for our Balance resource, which resulted in examples that showed balances coming from several different accounts in the same JSON object (which is not possible at all). Now, each Balance example only shows one type of account associated with it.
  • Improved description for num_accounts in Risk Insights
    We received some feedback that the description wasn't that clear to our readers. So we improved that :).

⚠️ Deprecated

No parameters or resources scheduled for deprecation.

🐞 Fixed

And of course, there are always improvements that we can make in our documentation:

  • We improved the examples for our Receivables resource to make them closer to what you'll see in real life.
  • Fixed incorrect Detail examples (we previously showed that the Detail method returned an array, when it should be an object)
  • And of course, quite a few typo and OpenAPI fixes behind the scenes.

August 2022

by Dominik Cholewski

Europe might be on summer vacation, but we definitely weren't ⛱️.

Dashboard updates

Links view!

So, you know how we're all about bringing you the easiest, most intuitive, and best-in-class developer experience?

Well, you're just going to love what you can do with our newest feature: Links dashboard. But it's so much more than just a dashboard. With this new section you can quickly and easily:

  • view all the links created in your account
  • get the details regarding the webhook events and API calls made for that link
  • dive into each call and event - with just one click!

Now, no matter the complexity of your product, number of users, or size of your team, you'll be able to find, debug, and manage all your links from one place.

We're running around like some maniacs working on another super-secret project that'll surely lend you some ideas.

API and documentation updates

πŸŽ‰ New

  • New Institution: Daviplata!
    You can now retrieve information for individuals from Daviplata (Colombia).
  • Custom overlay for the widget
    You can now customize the overlay color that appears when the widget is opened. Check out all the details in our Branding and customization article.

πŸ’ͺ Improved

  • Improved performance with List all transactions
    To your experience and performance, we've made the link id a mandatory query parameter when using List all transactions.
  • Added more examples to transactions
    We've added specific examples for transactions coming from savings or checking accounts.
  • Improved error documentation
    In our API reference you'll now see more specific information regarding the possible errors that you can encounter for each endpoint, as well as links to how to debug them.
  • Better external_id description
    To avoid some questions in the future, we rewrote our description and use case for external_id (used when creating links) to underline the fact that it can't contain any personal identifiable information.

⚠️ Deprecated

  • We no longer retrieve thepersonal_information field for Tax Status.

🐞 Fixed

And of course, there's always improvements that we can make in our documentation:

  • We showed an incorrect example for our fund field in investment transactions. Fixed!
  • Added nullable: true to certain institution fields as well as external_id (for those of you using our OpenApi specification to generate their SDKs). No more return errors!
  • Fixed about 50 small typos that were a little embarassing..

With ❀️, the "we-can-finally-enjoy-summer-time" Belvo development team.

Junly (June + July) 2022

by Dominik Cholewski

Summertime... and the writing is eassssy (🍹 + 🏝 + 😴 ) (But so many updates!)

API and documentation updates

πŸŽ‰ New

  • Introducing: Receivables in Brazil
    You can now have access to receivable account and transaction data with just a few clicks. Check out our Receivables documentation for more information. Along with this new product, we also released two new institutions:

    • Rede
    • Getnet
  • Introducing: Investment Transactions!
    Now, not only do you have access to all the investment portfolio information for a link in Brazil, but also the transactions! At the moment it's limited to XP Investimentos (Brazil) but we'll be adding support for other institutions soon!

  • Widget branding and customization
    We've made a lot of improvements to our widget to make sure that you can:

  • Access to our raw openapi spec
    You asked and we delivered! Now you have access to our full OpenAPI spec, available in JSON and YAML formats.

  • More postman collections
    Head over to our Public Postman Workspace and have a look at our new one-click flows that'll make your experiments with our API even simpler and quicker (more coming soon!):

    • Single Link flows
    • ID verification flows
  • Improved performance with mandatory link_id in Transactions
    To improve your experience, and performance, we've added link_id as a mandatory query parameter when you List transactions.

  • Larger page sizes when listing resources!
    You can now add a page_size query parameter whenever you use our List method to customize how many records you receive per page. It's pretty nifty ;).

πŸ’ͺ Improved

  • Transactions now have examples from checking and saving accounts
  • A lot of tweaks to our OpenAPI spec (for a super secret project)
  • Our errors in the API reference section had a complete overhaul! More useful, more detailed, more "better".

⚠️ Deprecated

No parameters or resources scheduled for deprecation.

🐞 Fixed

Typos:

  • Our docs for investment portfolio webhooks had a few "small" typos - but no more!

Errors:

  • Our JSON examples for investments had some mismatching information - solved!
  • Our JSON examples for balances showed an account that apparently had loan, credit, gig, and fund information. Which is impossible! So we squashed that issue.

With ❀️, the "damn-are-we-ever-going-to-get-to-rest" Belvo development team.

May 2022

by Dominik Cholewski

Well, we MAYeth worked a bit of overtime πŸ˜‡.

Dashboard updates

Webhook events!

Ever wanted to see what webhooks we sent? For which link? Well, you don't need to "want" anymore πŸ₯Ή.

Just click on Events in the sidebar and you'll see all the webhooks we've sent (starting from today).

But I know what you're about to ask: will we support searching by...

  • link_id?
  • webhook_id?
  • webhook_code?
  • webhook_type?

And the answer is... YES 😍! We're working hard at it and in a few short weeks we'll roll it out πŸ’ͺ.

πŸŽ‰ New

  • Full method support for our Tax Retentions resource
    We've added the full suite of methods for our Tax Retentions resource. Now you can list all the tax retentions associated with your Belvo account, get the details for just one, or delete it!

  • More institutions and products supported for Investment Portfolios!
    We added a new institution, Orama, as well as expanded the investment products we support for Santander Retail (Brazil).

InstitutionPortfolioInstruments
Orama Retail (Brazil)FIXED_INCOME, VARIABLE_INCOMEBOND, FUND, STOCKS
Santander Retail (Brazil)FIXED_INCOME, VARIABLE_INCOMEDEPOSIT,BOND*, FUND*
  • Caixa Retail (Brazil) authorization flow
    We've added a pretty detailed explanation regarding Caixa's authorization flow for connecting a new account. Check it out in our MFA edge cases section!

πŸ’ͺ Improved

  • Python SDK docs now autogenerate
    We've worked really hard in order to increase our automation for SDK docs. And now, our Python docs will never be out of step!

  • Improved Open API specification
    We'll be making our API reference Open API spec publicly available for everyone in the next few weeks. It included a whole host of additional information that will help you integrate with Belvo even faster.

  • Added required and nullable fields to our Enrichment resources
    Now, you'll never need to wonder which fields our API always returns. It'll be clear as day in our documentation!

  • Query filter for our List methods
    We added the recommendation to use the account or link id when using our List methods to improve your performance.

⚠️ Deprecated

  • We sunset our Statements resource on 09.05.2022.
  • For gig economy transactions, we deprecated the pickup_latitude, pickup_longitude, dropoff_latitude, and dropoff_longitude parameters due to changes in our gig-economy providers' platforms.
  • Removed the already-deprecated encryption request body parameter from our documentation.

🐞 Fixed

  • Our Node SDK docs displayed all methods twice due to a small bug. Now we we will never duplicate another method again again!

  • The session and request IDs previously stated that they were UUIDs separated with hyphens, when in fact we actually remove the hyphens. Sorryaboutthat.

  • Owner document_id and document_number were incorrectly labeled as UUIDs, when in fact they're alphanumeric strings.

  • Fixed a whole host of examples in our API reference (such as settlement_date, operation_date, incorrect UUID formt for id examples, enums for investment portfolios, and much much more).

With ❀️, the "dear-god-we-ate-too-much-during-the-holidays" Belvo development team.

April 2022

by Dominik Cholewski

Yes, we published the April changelog on May 4 just to say: May the fourth be with you... πŸ€“

API and documentation updates

πŸŽ‰ New

  • Filter the list of institutions using just a one character
    When filtering by display_name, our API now supports partial searches of at least one character in length. For example, if you use display_name=Banco, we'll return Banco Bradesco, Banco do Brasil, Bancolombia, Banco de BogotΓ‘, Banco Falabella, Hey Banco, and so on.

We've also implemented this in our widget's search functionality (though there you need to input at least three characters).

  • New MFA parameter in 428 response
    MFA is also keeping us on our toes, but now we have a new field that indicates whether or not the user needs to provide some kind of input to log in or not.

  • Link your privacy policy in the widget
    You can now link your own privacy policy in the widget.

  • New products supported for Bradesco
    We're very happy to tell you that we now support credit cards for Bradesco Business and loan accounts in Bradesco Retail.

πŸ’ͺ Improved

  • Ruby SDK docs now autogenerate
    We're on an automation high at the moment to keep things as up to date as possible. Now, any changes to our Ruby SDK are automatically reflected in our SDK reference docs.

  • Added SDK examples for our transactions_updated webhook
    Now, you can see exactly how to query for updated transactions using our SDKs.

  • Better SAT e.firma documentation
    We added a new section in our Fiscal documentation detailing how to use SAT's e.firma to create links with Belvo.

  • Widget now supports MFA for SAT
    Yep, that's right: users that have MFA for their SAT accounts can now easily connect with Belvo's widget.

  • SAT Tax Returns: PFAI support for monthly returns
    We've done some work under the hood so that we can now return both PFAE and PFAI personal monthly tax returns.

⚠️ Deprecated

We will be sunsetting our Statements resource on the 09.05.2022. We've already informed clients using this resource that it will no longer be supported.

🐞 Fixed

  • Mentions of invoices in tax retentions
    We unfortunately mentioned invoices a lot in our tax retentions resource, which led to some confusion. Our humblest apologies, it won't happen again!

March 2022

by Dominik Cholewski

We promise we were really hard at work making some snazzy improvements to our API, widget, and docs 😎

API and documentation updates

πŸŽ‰ New

  • New resource: Tax retentions
    Want to get the tax retention data for SAT invoices? Well then, now you can with our Tax retentions resource! We only support POST requests for now, but we'll be expanding the range of methods ASAP!

  • Handle "secret question" MFA
    Our API (and widget) now handles the secret question MFA challenge! Check our Handling multi-factor authentication DevPortal article for more information.

  • Get notified of new balances with our new webhooks
    We've taken out a bit of the manual steps of getting the balances for your links. You can now receive historical update and new balances available webhooks!

  • Better duplicate transaction handling with our transaction_delete webhook
    We regularly monitor and clean transactional data in our database to improve the consistency of the data you receive. And now, whenever we spot a duplicated transaction, we'll send you a transaction deleted webhook.

  • Set up webviews in your React Native app!
    Yep, we finally finally have some documentation on how to implement Widget for webviews in your React Native app.

  • Welcome πŸ‡¨πŸ‡΄ Nequi and πŸ‡§πŸ‡· Sicoob to our institution offering
    We've added Nequi (Colombia) and Sicoob Business (Brazil) to our list of supported institutions.

πŸ’ͺ Improved

Not a week goes by where we don't find a typo that we needed to fix - and this fortnight wasn't any different!

⚠️ Deprecated

No fields scheduled to be deprecated

🐞 Fixed

  • Deprecated fields in our accounts.loan_data object
    We noticed that we didn't add a deprecated note in our API Reference examples for loan accounts - sorry for any confusion!

With ❀️, the very caffeinated Belvo development team.

February 2022

by Dominik Cholewski

Well, for those lovers of open finance and documentation, we've been got some pretty cool updates for you 😍.

API and documentation updates

πŸŽ‰ New

  • New Accounts paramter: balance_type
    We added the balance_type to our Accounts schema so that you can quickly and easily identify if a balance is an asset (like a checking account) or a liability (for example, a credit card).

  • New Link parameter: institution_user_id
    For links created after 08-02-2022, you'll now receive the institution_user_id parameter. It's a unique 44-character string that can be used to identify a user at a given institution. For more information on how to use it, check out our tips for avoiding duplicated links.

  • New recurrent link refresh rate: 7d
    You can now set your recurrent link refresh rate to seven days! For more info, have a look at our recurrent link documentation.

  • Investment portfolios links now support recurrent mode!
    You can now create recurrent investment portfolio links - that's pretty awesome, right? And this of course comes with an added perk: historical and new investment portfolio webhooks!

  • New resources parameter for institutions
    We now list all the API resources you can use to interact with each individual institution. Just look at the resources parameter in the response of any institution.

πŸ“˜

With this improvement, you can also make sure that you only load the institutions that you want in the widget. For example, if you only want to display institutions that support investment portfolios, you just need to add INVESTMENT_PORTFOLIOS to the resources parameter in the widget startup configuration.

  • New WARNING event for disabled institutions in the widget
    We added a new WARNING event in the widget that's triggered when your users try to create a link with an institution that's currently disabled. Read more about the institution_disabled warning in our docs!

  • 403 access_to_production_denied error
    To help you improve your error handling, and also understand why you might be blocked when trying to make an API call, we've added the access_to_production_denied error.

  • 403 Forbidden error
    We finally documented our 403 Forbidden error that occurs when we find irregularities in the volume of calls you make.

πŸ’ͺ Improved

  • Sandbox improvements
    We updated our sandbox, and along with that, our documentation as well! Namely:

    • We removed the ironbank_mx_retail and ironbank_co_retail institutions (as they didn't actually exist in our sandbox - sorry about that).
    • Updated the amount of information retrieved for sandbox fiscal links.
    • Updated the number of balances retrieved for banking links.
  • Postman documentation
    To make sure that you always have the most up-to-date documentation in Postman, we've added links straight to our API reference and DevPortal. Now, we'll always be on the same page.

  • Updated quickstart application
    Our quickstart application now supports our branding and customization features! Check out our quickstart documentation for more information.

  • Our API now returns only one type of timestamp!
    We now only return ISO 8601-format timestamps, that is, 2022-02-01T20:25:47.307911Z.

  • Even better request validation and schema improvements
    We've been improving our API reference schema with more field validations to make sure that your requests are picture-perfect every time. And we've got some pretty cool things in line for Postman coming up too!

  • itau_br_business now supports credit cards
    Retrieve up to three months of credit card transactions with ease from itau_br_business

⚠️ Deprecated

  • Renamedsender_blacklist_status, receiver_blacklist_status, and not_blacklisted
    We renamed these parameters to sender_tax_fraud_status and receiver_tax_fraud_status to more accurately represent the information that we receive from SAT. Additionally, we renamed the not_blacklisted enum to no_tax_fraud_status.

🐞 Fixed

  • Widget SDK code examples
    In our Widget for Web, we found a few typos in our python and ruby code examples. Sorry about that - but now it's fixed!
  • Python SDK code examples for transaction webhooks
    Thank you so much for finding the typo! We had Transaction instead of Transactions. Sorry for any errors this caused!
  • SAT XML limits with eFirma
    Previously, we stated that you can retrieve up to 6000 invoices from SAT using eFirma. However, after some bug hunting, we found that it's just up to 2000 invoices.
  • Added missing payment methods to our SAT catalogs
    No idea how we missed this, but previously we didn't list the 30 and 31 payment types in our SAT catalogs documentation. Luckily someone caught it and we fixed it!

With ❀️, the very caffeinated Belvo development team.