Overview
An RFI is opened by our compliance team after a review, either against a user’s KYC/KYB or against a single transfer. The request is emailed to your compliance contact, not to the end user. It carries a HIFI-hosted link you can answer on directly, so the default path needs no integration work. The endpoints below exist for clients who would rather gather the evidence inside their own product and reply programmatically.Knowing an RFI Is Open
There are three ways to find out, and they answer slightly different questions.A user can sit at
RFI_PENDING with rfi still null. Our compliance team flags the case first and composes the request afterwards, so the status changes before there is anything to answer. Once the request is issued and emailed, rfi is populated.Rounds
Each RFI has one open round at a time, numbered from 1. A round carries its own questions, its own deadline, and its own link. If the reply does not settle the question, our compliance team asks again, which closes the current round and opens the next one with a fresh link. A round accepts one submission. Answering twice, or answering after the deadline, returns an error rather than replacing the reply.Request Items
Theitems array on the current round is what is being asked for, in the order it should be shown. Each item is answered by its id.
Example: Answer an RFI
1
Find the open request
List the requests raised against your users, filtering by status.RequestResponse
2
Upload any documents
Upload each file via POST
/v2/files and keep the file_ ID from the response.3
Submit the reply
Answer every required item in one call. Each entry carries exactly one of Response
fileId or answerText, and repeating a requestItemId attaches several files to the same item.Request4
Track the outcome
The request sits at
submitted while our compliance team reviews it. It then moves to resolved and a KYC.RFI.CLOSED webhook is sent, or a new round opens if they need more. A request left unanswered past its deadline moves to expired.Statuses
These are the RFI’s own statuses. The user’s KYC status is separate: it reads
RFI_PENDING while an onboarding request is open, and moves on once the request is resolved.Getting Help
- 📧 Email: support@hifi.com
- 💬 Slack: Message us in our shared Slack channel
Related Resources
- KYC Status - Individual KYC statuses
- KYB Status - Business KYB statuses
- KYC Links - HIFI-hosted KYC collection