Overview
A request for information (RFI) is a set of questions Fluz sends to a customer when compliance needs more from them — most often during KYB review (formation documents, proof of address, an ownership chart), and sometimes later in the life of an account. The RFI API lets your platform show those requests and collect the answers in your own UI, instead of sending the customer to Fluz. Across four operations you:- List the customer’s open RFIs with openRfis, or read one with rfi,
- Upload any documents the questions ask for with the RFI document upload endpoint,
- Answer bank-link and address questions with Plaid, if you want to, using completeRfiPlaidLink, and
- Send the answers with submitRfi — all at once, or in parts.
IN_REVIEW and Fluz reviews it. The outcome comes back as a new status on the same RFI.
Questions are written per RFI. Fluz builds each RFI for the customer it is sent to, so the questions, their order and which ones are required differ between RFIs. Render what the API returns rather than hard-coding a form.
Requirements
Select
MANAGE_RFI in your application’s permission scopes in the Fluz dashboard. Customers approve it on the consent screen during OAuth like any other scope. See Application scopes.
Who can answer an RFI
An RFI is addressed to one account. The token’saccountId must be that account, and the token’s user must be the account’s addressee:
Other business owners, authorized users and sub-users cannot read or answer a business’s RFIs through the API. Mint the token for the applicant on the business
accountId.
Flow
1
Find the open RFIs
Call openRfis with the customer’s token. It returns every RFI waiting for their answers, newest first, with its questions. An empty list means there is nothing to do.
2
Render the questions
Show each question in
ordinal order. Use questionType to pick the input, options for choice questions, and visibilityCondition to hide questions that do not apply. See Question types.3
Upload documents
For each file the customer attaches, call the upload endpoint with the
rfiId and questionId. Keep the fileId it returns.4
Link a bank, if offered
Bank-statement and proof-of-address questions can be answered with a Plaid bank link instead of a file. Open Plaid Link, then pass the public token to completeRfiPlaidLink.
5
Submit
Call submitRfi with the answers. With
finalize: true (the default) the RFI goes to IN_REVIEW. Use finalize: false to save part of the answers and come back later.6
Track the outcome
Read the RFI again with rfi to see its status. If Fluz needs more, the same RFI comes back to
PENDING_DOCUMENTS with new questions and appears in openRfis again.RFI status lifecycle
Questions are returned only while an RFI is
PENDING_DOCUMENTS. In every other status questions is an empty list.
A business with an open or in-review RFI reads
PENDING in getBusiness. Submitting the RFI does not approve the business — wait for kybStatus to change.Question types
Every answer is sent asvalue in an RfiAnswerInput. Its shape depends on the question’s questionType.
Required and optional questions
isOptional: false means the question must be answered before the RFI can be finalized. Optional questions can be left out.
Conditional questions
WhenvisibilityCondition is set, the question applies only if the condition holds against the answers to earlier questions. Evaluate it in your UI to show or hide the question:
- Conditions are tested against text and choice answers only. File and bank-link answers count as unanswered.
- A question that does not apply is not required, and any answer you send for it is ignored.
Webhooks
To know when an RFI arrives without polling, subscribe to the RFI webhook events. See Webhooks.Related pages
Read RFIs
openRfis and rfi: the questions, saved answers and status.Upload RFI documents
The REST endpoint that returns the
fileId you submit.Submit an RFI
Save answers, finalize, and handle validation errors.
Answer with a bank link
Use Plaid instead of a bank statement or proof of address.