RFI Forms
RFI Forms are secure, Nium-hosted forms that let your customers or operations teams respond to Requests for Information (RFIs) instantly — without requiring you to build or maintain a custom data collection interface.
RFIs are raised by Nium's compliance team when additional information is needed to progress an onboarding application or clear a transaction. This form is helpful for clients that:
- Want to resolve RFIs faster without building custom UI flows
- Operate both customer-facing portals and internal operations dashboards
- Need a single integration that handles both onboarding and transaction RFIs
- Want Nium to manage form hosting, compliance updates, and data transmission
Overview
To collect RFI responses using RFI Forms, clients:
- Receive a callback from Nium when a new RFI is raised.
- Create a session using the Session API, providing the customer and RFI context.
- Surface the session link to the customer or operations team.
- The customer or ops team opens the Nium-hosted RFI Form and submits the required information.
- Nium processes the submission and updates the case or transaction status automatically.
Key features
RFI Forms dynamically display the fields and document types required for each specific RFI — no configuration needed on your end. Nium handles validation, submission, and audit logging.
Other benefits of using RFI Forms include:
- No frontend build required — Nium hosts and maintains the form.
- Supports both embedded (in-portal) and standalone (new tab) integration modes.
- Works for onboarding RFIs and transaction monitoring RFIs from a single integration.
- Secure, time-bound session access — each session is configurable with an expiry and inactivity timeout.
- Full audit trail for every RFI raised and resolved, maintained by Nium.
Responsibilities
| Feature | Client | Nium |
|---|---|---|
| RFI callback listener | X | |
| Session creation | X | |
| Link delivery to customer or ops team | X | |
| Form experience and field display | X | |
| Input validation and document handling | X | |
| Data submission to Nium systems | X | |
| Case and transaction status updates | X |
RFI types
RFI Forms support two types of RFIs. Set the featureType field in the session request to match the RFI type.
| RFI type | featureType value | When it's raised | Additional fields required |
|---|---|---|---|
| Onboarding RFI | customer_onboarding_rfi | During KYC/KYB review of a customer onboarding application | None |
| Transaction RFI | transaction_rfi | During monitoring of a specific transaction | walletHashId, authCode |
For transaction RFIs, authCode is the systemReferenceNumber returned in the response to the Transfer Money, Fund Wallet v2, or Wallet to Wallet Transfer requests.
Branding
You can add your organization's logo to the RFI Form for a consistent customer experience.
Your logo appears at the top left corner of the form, replacing the Nium logo shown in the default view. Provide your logo to your Nium account manager during initial setup.
Prerequisites
Before integrating RFI Forms:
- Your client account must be onboarded in Nium. You need your
clientHashIdand API key. - Customer records must exist with valid
customerHashIdvalues. - For transaction RFIs, the relevant
walletHashIdand transactionsystemReferenceNumbermust be available. - Hosted Components must be enabled for your account. Contact your Nium account manager or Nium Support to enable and configure this feature.
Create an RFI Form session
Step 1: Request access
Contact your Nium account manager or Nium Support to enable RFI Forms for your account. During setup, provide your logo — it appears at the top left corner of the form.
Step 2: Set up callbacks
Integrate with Nium's callbacks to receive notifications when RFIs are raised. Use these callbacks to:
- Alert customers or your operations team immediately.
- Display RFI status and links in your portal, app, or CRM.
Step 3: Create a session
When a customer or ops team member needs to respond to an RFI, use the Create a Session request to generate a sessionId.
Request example — onboarding RFI
curl --location --globoff 'https://gateway.nium.com/api/v1/client/{clientHashId}/sessions' \
--header 'Content-Type: application/json' \
--header 'x-api-key: {x-api-key}' \
--data '{
"featureType": "customer_onboarding_rfi",
"customerHashId": "{customerHashId}",
"integrationType": "standalone",
"expiry": "2026-12-31T23:59:59+00:00",
"rollingDurationMinutes": 30
}'
Request example — transaction RFI
curl --location --globoff 'https://gateway.nium.com/api/v1/client/{clientHashId}/sessions' \
--header 'Content-Type: application/json' \
--header 'x-api-key: {x-api-key}' \
--data '{
"featureType": "transaction_rfi",
"customerHashId": "{customerHashId}",
"walletHashId": "{walletHashId}",
"authCode": "{systemReferenceNumber}",
"integrationType": "standalone",
"expiry": "2026-12-31T23:59:59+00:00",
"rollingDurationMinutes": 30
}'
| Field | Type | Required | Description |
|---|---|---|---|
featureType | String | Required | customer_onboarding_rfi for onboarding RFIs. transaction_rfi for transaction monitoring RFIs. |
customerHashId | String | Required | Unique identifier of the customer the RFI is raised against. |
walletHashId | String | Conditional | Required when featureType is transaction_rfi. The wallet linked to the transaction. |
authCode | String | Conditional | Required when featureType is transaction_rfi. The systemReferenceNumber of the transaction. |
integrationType | String | Required | embedded to display the form inside your portal. standalone to open in a new browser tab. |
expiry | String | Optional | Date and time the session expires. Format: yyyy-MM-dd'T'HH:mm:ssXXX. Defaults to 1 hour from session creation. |
rollingDurationMinutes | Integer | Optional | Minutes of inactivity before the session expires. Minimum: 1. Defaults to 30 minutes. |
domain | String | Conditional | Required when integrationType is embedded. The domain where the form is embedded — must match the session domain. |
Successful response
{
"sessionId": "e40e8072-7654-474b-ae31-c21a39c206ec",
"featureType": "customer_onboarding_rfi",
"metadata": {
"customerHashId": "string",
"authCode": "string",
"integrationType": "standalone",
"walletHashId": "string",
"clientHashId": "string"
},
"status": "active"
}
| Field | Description |
|---|---|
sessionId | Unique session identifier. Pass this to the hosted form URL. |
featureType | The type of RFI form generated. |
metadata | Session context including customer and transaction identifiers. |
status | Status of the session. active means the session is ready to use. |
Step 4: Open the form
Pass the sessionId to the static RFI Form URL:
- Production:
https://nformify.nium.com/rfi?sessionId= - Sandbox:
https://nformify-sandbox.nium.com/rfi?sessionId=
The form loads automatically with the relevant RFI fields — no additional requests or setup required. Surface this link by:
- Embedding the form in your customer portal or internal ops dashboard (
integrationType: "embedded") - Sending the link directly to the customer via email or in-app notification (
integrationType: "standalone") - Sharing the link through your back-office tooling for operations-led RFI workflows
Security
- Time-bound sessions: Each session has a configurable expiry and inactivity timeout. Generate a new session if the link expires before the customer or ops team uses it.
- Use HTTPS: All requests to Nium APIs must use HTTPS in production environments.
- Authenticate before sharing: For customer-facing RFI links, ensure customers are authenticated in your portal before the session link is generated or surfaced.
- Audit trail: All RFI submissions are logged and stored by Nium for regulatory compliance — no action required from your team.
Next steps
After a customer submits an RFI Form, Nium processes the submission and updates the relevant case or transaction status automatically. You can:
- Monitor RFI resolution status via callbacks.
- Use the Customer Status webhook to track applications submitted via Customer Onboarding v5. If not using Customer Onboarding v5, use the Customer Compliance Status webhook for individual customer applications or Customer KYB Status webhook for corporate customer applications.
- Contact your Nium account manager if you need help configuring branding or embedding the form in your portal.