Life Cycle

How does Devengo’s Access 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 access verification has been accepted, and in this response, you will receive the access verification's ID that you will be able to match seconds later with the notifications you will receive every time your access verification enters a new state.

States of an access verification

Access Verifications life cycle

Created

The initial state of any access verification is created. Before its creation Devengo checks that all the provided information is syntactically valid (well-formatted IBANs and recipients).
The access verification system does not allow a customer to create multiple access verifications for the same IBAN if there are still any access verifications in a transient state for this same IBAN.
So your access verification has passed that first filter, congrats! However, the access verification process has not started yet.

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

Webhook sent: access_verification.created.

Delivered

Your access 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: access_verification.delivered.

Rejected

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

Webhook sent: access_verification.rejected.

Confirmed

Depending on the processor, it means:

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

Webhook sent: access_verification.confirmed.

Failed

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

Webhook sent: access_verification.failed.

Expired

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

Webhook sent: access_verification.expired.