Overview - Bank account verification
introduction signzy's bank account verification service offers extensive coverage, enabling the verification of bank accounts in over 195 countries worldwide for the us market, we have integrated with finicity & flinks, our trusted partners, to provide comprehensive verification capabilities for the canada market, we have integrated with flinks also we are collaborating with other partners around the world to ensure global coverage for for bank account verification beyond the united states our bank account verification solution is highly customizable to cater to the specific requirements of our clients this means that we can implement country specific workflows tailored to the needs of our clients for instance, if you prefer to verify the bank accounts of your us customers using finicity while using another solution for customers from other countries, our system seamlessly supports such configurations through a single endpoint please contact your sales spoc to configure the account supported countries us finicity & flinks are the open banking providers canada flinks is the open banking provider sample flow api details our bank account verification service offers a seamless experience by providing a single endpoint for customization based on country specific requirements regardless of the chosen flow, our solution ensures efficient verification of global bank accounts for us bank account verification, we leverage our trusted partners, finicity or flinks, renowned for its real time capabilities by utilizing the relevant apis in the background, we gather the necessary data points required by our clients the system then generates a json response, providing the client with the verified information irrespective of the chosen solution, clients receive a standard response from signzy, streamlining the integration and ensuring a consistent experience across different verification methods flow of apis please note that we have mentioned the flow below to give you idea on how it works at the backend signzy will provide you single endpoint for all your bank account verification needs us (finicity flow) please find the below flow of finicity apis to get the desired output please note that signzy will run these apis in the backend according to the requirements of the client signzy will not give different endpoints to their client client will be able to use a single endpoint for all their needs we have illustrated the below flow in order to give you an idea about signzy's process calling create bank connect journey link api for the user to start the journey and authorize finicity for account access signzy gives a unique tracking id to the client for user mapping (please read more about tracking id below ) once the authorization and bank connection are successfully established, signzy triggers finicity apis in the backend the responses from the all backend apis of finicity will be combined, and the desired parameters will be extracted these parameters will then be formatted into a json file and shared with the client the json file will also contain the tracking id for the mapping with correct user clients do not need to call any finicity api directly all finicity integrations are managed internally by signzy, and clients continue to use a single unified signzy endpoint for their operations us & canada (flinksโ flow) please find the below flow of flinks apis to get the desired output please note that signzy will run these apis in the backend according to the requirements of the client signzy will not give different endpoints to their client client will be able to use a single endpoint for all their needs we have illustrated the below flow in order to give you an idea about signzy's process calling create bank connect journey link api for the user to start the journey and authorize flinks for account access signzy gives a unique tracking id to the client for user mapping (please read more about tracking id below ) once the authorization and bank connection are successfully established, signzy triggers flinks apis in the backend we also gather transaction categories which is an added feature in flinks this api automatically classifies transactions into meaningful types and subtypes such as food โ groceries travel โ flights income โ salary utilities โ electricity / water / internet entertainment โ movies / subscriptions the categorization helps in understanding user spending behavior and enhances reporting and analytics for clients please get more information below on supported categories the responses from the above apis will be combined, and the desired parameters will be extracted these parameters will then be formatted into a json file and shared with the client the json file will also contain the tracking id for the mapping with correct user clients do not need to call any flinks api directly all flinks integrations are managed internally by signzy, and clients continue to use a single unified signzy endpoint for their operations sample curl (single endpoint for signzy's client) curl location 'https //api signzy us/api/v3/global bank verification/generate link' \\ \ header 'authorization ' \\ \ header 'content type application/json' \\ \ data '{ "customerid" "6524e64350d7ee6ceb4ed667", "country" "ca", "flowid" "2", "redirecturl" "www signzy com", "gettransactions" true, "transactionsperiod" "12", "getbankbalance" false, "requestid" "dc5de635 dbe6 4a5d 823f e6a54baa1433" }'curl location 'https //api preproduction signzy us/api/v3/global bank verification/generate link' \\ \ header 'content type application/json' \\ \ header 'authorization \<auth token>' \\ \ data '{ "customerid" "6524e64350d7ee6ceb4ed667", "country" "ca", "flowid" "2", "redirecturl" "www signzy com", "gettransactions" true, "transactionsperiod" "12", "getbankbalance" false, "requestid" "dc5de635 dbe6 4a5d 823f e6a54baa1433" }' request body parameters paramater name data type required description customerid string yes a unique 24 digit clientid assigned to signzy's customer client has to send the same id each request for tracking at signzy's end country string yes country of bank account for which verification is being done e g "us", "ca" flowid string optional a flowid is an exclusive identification number that is allocated to each customization within a journey, such as a brand logo or brand color multiple distinct customizations can be established, and each one is represented by a unique flowid this is optional as you can have only single default flowid as well please contact your sales administrator to setup customizations e g "1", "2" redirecturl string optional redirecturl is a url on which end user will be redirected after completing the journey you can pass the redirecturl every time in request body or you can contact us to setup your default redirect url this is optional as you can have only single default redirecturl as well e g "www signzy com" gettransactions boolean optional transactions will be fetched when this value will be set to true transactionsperiod string required when gettransactions is true transactionperiod is the number of months for which transactions need "3" 3 months transactions will be fetched, "12" 12 months transactions will be fetched "36" 36 months transactions will be fetched ca and us flinks is not supported for 36 months flinks only support 3 or 12 months getbankbalance string optional by default "true" balance will not be fetched when this value will false requestid string optional only applicable for flinks the requestid returned by the us flinks refresh api it is used to continue and complete the mfa journey in case error encountered during refresh api sample api success response us finicity { "result" { "link" "https //connect2 finicity com?customerid=7015178151\&experience=default\&origin=url\&partnerid=2445584066256\&redirecturi=https%3a%2f%2fwww google com\&signature=06e34afd2c4fb44b86c21afe25587c73298c6759b01bc53e8fa36e26a911c7f6\×tamp=1705671353707\&ttl=1705678553707\&webhook=https%3a%2f%2fapi signzy us%2fapi%2fv3%2fglobal bank verification%2ffinicity callback", "traceid" "7015178151" } } us flinks { "result" { "link" "https //api preproduction signzy us/api/v3/global bank verification/bank connect/ec0d51e2d307839d1d4cef58a99e9c34 69148d8b2c478eb36e2a9b30 f35c10a406debd0049dfc64e25", "traceid" "69148d8b2c478eb36e2a9b30" } } ca flinks { "result" { "link" "https //api preproduction signzy us/api/v3/global bank verification/bank connect/d7ac17b53xx2234d5ec494a6d6ddf47a 656052e0c1c3f1981b7d36f2 54a1d7c4921b09ac9deb029456", "traceid" "656052f0c1z1f1981b7d36f2" } } response body parameters paramater name data type description link string journey link on which you will direct your end user to complete the consent based bank account verification journey traceid string traceid is a unique id for this customer which you need to store at your end in the bank account verification response which will be received in callback, you will also get this trackingid so that you can map the details to correct user tracking id/ trace id details t rackingid is necessary to do the correct response mapping after sucessful completion of bank account verification you will get link and a unique trackingid as the api response the same trackingid will come in the json after succesful completion of bank account verification at your callback please store this trackingid so that you can map the json response (received in callback) with the correct user multiple/single accounts support flexibility is key when it comes to catering to the diverse needs of our end users our system is designed to accommodate both scenarios, allowing end users to choose between managing multiple bank accounts or opting for a single bank account as part of our response mechanism, we can furnish information on either multiple accounts or a singular account, depending on the user's preference to tailor this functionality to your specific requirements, we recommend collaborating with your dedicated account manager your account manager will guide you through the configuration process, ensuring that the system is optimized to meet your business goals and provide an optimal experience for your end users sample response callback (with balance & transactions) the user has completed the journey { "trackingid" "7015178151", "status" "successfull", "loginid" "4e0c9d40 10c6 4443 ce1e 08de3cc95e03", "message" "the user has completed the journey ", "account1" { "account" { "currency" "usd", "accounttype" "checking", "accountnumber" "1111001", "accountid" "85a6676d 2788 4452 b251 c18a0418cc2a", "balance" 25014 43 }, "accountholder" { "name" "john doe", "address" " nicole cir aurora il 605023702", "splitaddress" { "street" "nicole cir", "pobox" "", "city" "aurora", "state" "il", "zipcode" "605023702", "country" "us" }, "emails" \[ "john212\@gmail com" ], "phonenumbers" \[ "2945074373" ] }, "bank" { "routingnumberorkey" "77777", "iban" "", "swiftcode" "", "name" "dccapital", "address" "", "splitaddress" { "street" "", "pobox" "", "city" "", "state" "", "zipcode" "", "country" "" }, "emails" \[], "phonenumbers" \[] }, "transactions" \[ { "date" "2025 10 05", "amount" 14, "description" "il tollway autorepleni 800 824 7277 il", "balance" 14, "type" "travel and transportation", "subtype" "parking and tolls", "transactionid" "35f148c0 29bd 42f2 9e8a da5262a3559d" }, { "date" "2025 10 01", "amount" 317, "description" "mobile payment thank you", "balance" 0, "type" "income", "subtype" "other", "transactionid" "337e1c5f 2742 4975 b054 a71009c51d64" }, { "date" "2025 09 27", "amount" 76, "description" "nicor gas bill 866 383 1846 ga", "balance" 317, "type" "utilities", "subtype" "water / gas / electricity / sewage", "transactionid" "337e1c5f 2742 4975 b054 a71009c51d65" }, { "date" "2025 09 26", "amount" 120, "description" "abc anytime pt 804 2129131 il", "balance" 120, "type" "healthandlifestyle", "subtype" "hlfitness", "transactionid" "337e1c5f 2742 4975 b054 a71009c51d10" }, { "date" "2025 09 25", "amount" 257 57, "description" "tmobile postpaid pda 800 937 8997 wa", "balance" 205 2, "type" "utilities", "subtype" "tv / internet / phone", "transactionid" "337e1c5f 2742 4975 b054 a71009c51d22" }, { "date" "2025 09 13", "amount" 131 53, "description" "primark chicago state chicago il", "balance" 351 52, "type" "education", "subtype" "other education", "transactionid" "337e1c5f 2742 4975 b054 a71009c51d11" } ], "balance" { "available" 1000, "current" 350, "limit" 250 } }, "account2" { "account" { "currency" "usd", "accounttype" "cd", "accountnumber" "", "accountid" "d03efa55 910f 4b60 9c69 96b8bac92f94", "balance" 1000 }, "accountholder" { "name" "john doe", "address" " nicole cir aurora il 605023702", "splitaddress" { "street" " nicole cir", "pobox" "", "city" "aurora", "state" "il", "zipcode" "605023702", "country" "us" }, "emails" \[ "john212\@gmail com" ], "phonenumbers" \[ "2945074373" ] }, "bank" { "routingnumberorkey" "", "iban" "", "swiftcode" "", "name" "chase", "address" "", "splitaddress" { "street" "270 park avenue 270 park avenue, new york", "pobox" "", "city" "new york", "state" "ny", "zipcode" "10017", "country" "usa" }, "emails" \[], "phonenumbers" \[] }, "transactions" \[], "balance" { "available" 1000, "current" 350, "limit" 250 } }, "account3" { "account" { "currency" "usd", "accounttype" "savings", "accountnumber" "00100000120479459", "accountid" "9d029059 b380 41c2 ae99 d4eb868a48a6", "balance" 6022 34 }, "accountholder" { "name" "john doe", "address" " nicole cir aurora il 605023702", "splitaddress" { "street" "nicole cir", "pobox" "", "city" "aurora", "state" "il", "zipcode" "605023702", "country" "us" }, "emails" \[ "john212\@gmail com" ], "phonenumbers" \[ "2945074373" ] }, "bank" { "routingnumberorkey" "028000121", "iban" "", "swiftcode" "", "name" "chase", "address" "", "splitaddress" { "street" "270 park avenue 270 park avenue, new york", "pobox" "", "city" "new york", "state" "ny", "zipcode" "10017", "country" "usa" }, "emails" \[], "phonenumbers" \[] }, "transactions" \[ { "date" "2025 10 01", "amount" 317, "description" "mobile payment thank you", "balance" 0, "type" "income", "subtype" "other", "transactionid" "4c77644c 2ce0 47eb af64 947be22cafd2" }, { "date" "2025 09 27", "amount" 76, "description" "nicor gas bill 866 383 1846 ga", "balance" 317, "type" "utilities", "subtype" "water / gas / electricity / sewage", "transactionid" "4c77644c 2ce0 47eb af64 947be22cafd3" }, { "date" "2025 09 26", "amount" 120, "description" "abc anytime pt 804 2129131 il", "balance" 120, "type" "healthandlifestyle", "subtype" "hlfitness", "transactionid" "4c77644c 2ce0 47eb af64 947be22cafd4" } ], "balance" { "available" 1000, "current" 350, "limit" 250 } } } after 15 minutes of dormancy { "trackingid" "6031770783", "status" "indeterminate", "message" "the user is in a state of dormancy we will send a bank account verification response in case the user completes the journey " } sample response callback (without balance & transactions) the user has completed the journey { "trackingid" "7015178151", "status" "successfull", "loginid" "4e0c9d40 10c6 4443 ce1e 08de3cc95e03", "message" "the user has completed the journey ", "account1" { "account" { "currency" "usd", "accounttype" "checking", "accountnumber" "1111001", "accountid" "9d029059 b380 41c2 ae99 d4eb868a48a6", }, "accountholder" { "name" "john doe", "address" " nicole cir aurora il 605023702", "splitaddress" { "street" "nicole cir", "pobox" "", "city" "aurora", "state" "il", "zipcode" "605023702", "country" "us" }, "emails" \[ "john212\@gmail com" ], "phonenumbers" \[ "2945074373" ] }, "bank" { "routingnumberorkey" "77777", "iban" "", "swiftcode" "", "name" "dccapital", "address" "", "splitaddress" { "street" "", "pobox" "", "city" "", "state" "", "zipcode" "", "country" "" }, "emails" \[], "phonenumbers" \[] } }, "account2" { "account" { "currency" "usd", "accounttype" "cd", "accountnumber" "", "accountid" "9d029059 b380 41c2 ae99 d4eb868a48a8", }, "accountholder" { "name" "john doe", "address" " nicole cir aurora il 605023702", "splitaddress" { "street" " nicole cir", "pobox" "", "city" "aurora", "state" "il", "zipcode" "605023702", "country" "us" }, "emails" \[ "john212\@gmail com" ], "phonenumbers" \[ "2945074373" ] }, "bank" { "routingnumberorkey" "", "iban" "", "swiftcode" "", "name" "chase", "address" "", "splitaddress" { "street" "270 park avenue 270 park avenue, new york", "pobox" "", "city" "new york", "state" "ny", "zipcode" "10017", "country" "usa" }, "emails" \[], "phonenumbers" \[] } }, "account3" { "account" { "currency" "usd", "accounttype" "savings", "accountnumber" "00100000120479459", "accountid" "9d029059 b380 41c2 ae99 d4eb268a48a1", }, "accountholder" { "name" "john doe", "address" " nicole cir aurora il 605023702", "splitaddress" { "street" "nicole cir", "pobox" "", "city" "aurora", "state" "il", "zipcode" "605023702", "country" "us" }, "emails" \[ "john212\@gmail com" ], "phonenumbers" \[ "2945074373" ] }, "bank" { "routingnumberorkey" "028000121", "iban" "", "swiftcode" "", "name" "chase", "address" "", "splitaddress" { "street" "270 park avenue 270 park avenue, new york", "pobox" "", "city" "new york", "state" "ny", "zipcode" "10017", "country" "usa" }, "emails" \[], "phonenumbers" \[] } } } after 15 minutes of dormancy { "trackingid" "6031770783", "status" "indeterminate", "message" "the user is in a state of dormancy we will send a bank account verification response in case the user completes the journey " } note the data in above fields is subject to availability in the source response parameters response paramater by signzy data type description available in us finicity response available in us flinks response available in ca flinks response trackingid integer unique tracking id to map the response with correct user this is unique per request yes yes yes status string status of bank account verification value can be either "successfull" or "indeterminate" yes yes yes loginid string loginid associated with the user account this is unique per connected account as long as these parameters remain same username, language, bank no yes yes message string message on whether the user has completed the journey e g "the user has completed the journey " yes yes yes account1 object object containing account1 details similarly, there will be account2, account3, account4 etc yes yes yes account currency string currency of the account yes yes yes account accounttype string type of account yes yes yes account accountnumber string bank account number yes yes yes account accountid string unique account id with the account (this is not bank account number) no yes yes account balance float account balance yes yes yes accountholder name string account holder's name yes yes yes accountholder address string full address of the account holder yes yes yes accountholder splitaddress object represents the split address object comprising street, city, state, zip code, and country details of the account holder's address yes yes yes accountholder emails array account holder's emails (array of strings) yes yes yes accountholder phonenumbers array account holder's phone numbers (array of strings) yes yes yes bank routingnumberorkey string bank routing number or key yes yes yes bank name string bank name yes yes yes bank iban string international bank account number (iban) no no no bank swiftcode string society for worldwide interbank financial telecommunication (swift) code no no no bank name string bank name yes yes yes bank address string bank address yes no no bank splitaddress object represents the split address object comprising street, city, state, zip code, and country details of the bank's address yes no no bank emails array bank's emails (array of strings) no no no bank phonenumbers array bank's phone numbers (array of strings) no no no transactions date string date of the transaction yes yes yes transactions amount float amount of the transaction yes yes yes transactions description string description of the transaction yes yes yes transactions balance float balance after the transaction no yes yes transactions type string type of transaction (if available) yes yes yes transactions subtype string subtype of transaction (if available) no yes yes transactions transactionid string unique transaction id of each transaction no yes yes balance available float available balance after considering pending transactions no yes yes balance current float current balance of the account no yes yes balance limit float limit associated with the account no yes yes note for us finicity specifically, the cd account (certificate of deposit) , and ach transactions are not supported for cd account types the ach service currently supports account types such as "checking," "savings," "moneymarket," and "loan " this means for cd accounts, we will not have account number and routing number type & sub type (us flinks & canada flinks) type sub type contributions other charitable contributions charities religious organizations political & civic organizations earned income interest dividend wages & salary bonus business income education student loans other education tuition & school fees entertainment activities amusements & attractions events other entertainment fees & charges other fees & charges atm fees service fees finance charges food & dining coffee shops groceries restaurants fast food other food & dining alcohol & bars goods & merchandise internet purchases children & toys general merchandise books & other media electronics & computers health & beauty home garden & tools specialty stores clothing & accessories mail & phone order purchases sporting goods office supplies furnishings & appliances miscellaneous equipment materials & supplies health & lifestyle life insurance health insurance child support personal care medical care pet care clubs gyms fitness veterinary care dental care vision care other health & lifestyle child care home expenses mortgage home insurance rent hoa fees home improvement repair & maintenance miscellaneous expenses check cash withdrawal awards & rebate credits cash advance deposit services other services accounting & financial services advertising services government services printing & shipping professional dues & subscriptions legal services transfers & adjustments credit card payment balance adjustment other transfers & adjustments travel & transportation auto/vehicle loan auto/vehicle insurance gas & fuel ground transportation auto/vehicle repair & maintenance auto/vehicle leasing & purchase parking & tolls other travel & transportation air travel hotel & lodging auto/vehicle rental travel agencies public transit sea travel utilities wireless/cellular other utilities tv internet phone water gas electricity sewage type (us finicity) if provided by the institution, the following values may be returned in the field of a record for us finicity "atm" "cash" "check" "credit" "debit" "deposit" "directdebit" "directdeposit" "dividend" "fee" "interest" "other" "payment" "pointofsale" "repeatpayment" "servicecharge" "transfer" sample error bad request { "error" { "name" "error", "message" " message ", "status" 400, "reason" "validation request", "type" "bad request", "statuscode" 400 } } upstream error { "error" { "name" "error", "message" "upstream is down", "status" 409, "reason" "error", "type" "conflict", "statuscode" 409 } } error response parameters parameter description error this parameter contains the error error name the name of the error error message the error message error status status of the api error reason reason for error error type type of the error error statuscode request status code from signzy getting help please feel free to contact us if you have any questions, require clarification, or have ideas for how to make the documents or any of our services better you can reach out to us at help\@signzy com we strive to provide prompt and reliable assistance, ensuring your queries are addressed effectively we value your feedback and are committed to making your experience smooth and enjoyable our team is dedicated to assisting you with any needs you may have thank you for choosing our services we look forward to helping you!