Life Cycle

How does Devengo’s Account Verification API work?

When you want to guarantee the owner of a bank account there are a variety of ways to verify. At Devengo, we provide a simple process where you’re able to check the current bank account status and ensure ownership of it.

Everything starts with a simple POST request.

But before that, it's important to note that all this happens asynchronously. Yep, that means that when you send your POST request, our response only implies that the verification has been accepted, and in this response, you will receive the verification's ID that you will be able to match seconds later with the notifications you will receive every time your verification enters a new state.

States of a verification

Verifications life cycle


The initial state of any verification is created. Before its creation Devengo checks that all the provided information is syntactically valid (well-formatted IBANs and recipients). So your verification has passed that first filter, congrats! However, the verification process has not started yet.

Interestingly, with this event, you will receive the verification's ID, the selected verification third party, numbers of confirmation attempts and an ETA (Estimated Time of Arrival) when the destination bank should receive the request.

Webhook sent: verification.created.


Your verification request has been accepted by the banking system. You can now check in the response the number of attempts that have been used.

Webhook sent: verification.delivered.


This is the final state for a verification that couldn't be delivered.

Webhook sent: verification.rejected.


Depending on the processor, it means:

This is the successful final state when your verification request is confirmed by providing the right code.

Webhook sent: verification.confirmed.


All the attempts to confirm the verification have been used, so the verification process has failed since no more attempts will be allowed. Maximum number of attempts is 5. This is a final state.

Webhook sent: verification.failed.


Verification has not been confirmed in 7 days from its creation, so it is marked as expired. This is a final state.

Webhook sent: verification.expired.