# Information Requests (RFIs)

## Overview

When transactions are flagged as high-risk, they are marked as pending on our system. Our compliance team will review transactions and may ask a customer for further information on a transaction to better understand the nature of the request. If an administrator needs more details to make this decision, they can send an information request (RFI) to the customer. This module will enable API users to retrieve information requests and respond with supporting documents and information.

When a information request is issued, API users will receive a [callback notification](https://customer-api-docs.ibanera.com/callbacks/information-requests#information-requested-callback). Similarly, when a request is updated (either being accepted, rejected, or requires more information), [another callback request is sent.](https://customer-api-docs.ibanera.com/callbacks/information-requests#information-request-updated-callback)

#### Endpoints in this Section:

1. [**List Information Requests**](#list-information-requests) - Retrieves a list of information requests (RFIs). Optional filters can be applied to narrow down the list by customer.
2. [**Get Information Request Details**](#get-information-request-details) - Retrieves detailed information about a specific information request using its unique ID.
3. [**Submit Information Request**](#submit-information-request) - Allows a customer to submit information and documents in response to an RFI.

***

## List Information Requests

Retrieves a list of information requests (RFIs). Optional filters can be applied to narrow down the list by customer.

* **Endpoint:** `/api/v1/customer/informationrequests/getinformationrequestlist`
* **Method:** GET
* **Response Format:** application/json

#### `GET` Query Parameters

<table data-header-hidden><thead><tr><th width="198"></th><th width="103"></th><th></th></tr></thead><tbody><tr><td><strong>Request body parameter</strong></td><td><strong>Format</strong></td><td><strong>Description</strong></td></tr><tr><td>CustomersId</td><td>int</td><td>Filter by this id (optional)</td></tr><tr><td>PageNumber</td><td>int</td><td>Page number (optional – default 1)</td></tr><tr><td>PageSize</td><td>int</td><td>Number of results per page (optional – default 10)</td></tr></tbody></table>

#### Example Success Response

```json
{
    "id": 14152,
    "details": [
       {
            "id": 1004,
            "status": "More Information Required",
            "addDate": "2024-03-20T12:29:16.023",
            "expiryDate": "2024-03-27T12:29:16.023",
            "orderType": "OUT",
            "name": "Addison Payee",
            "reference": "United States Dollar: CTX31165",
            "amount": -20.000000000000000000,
            "currencySymbol": "$",
            "assetCode": "USD"
        },
        …
    ],
    "pageSize": 10,
    "pageNumber": 1,
    "numberOfPages": 2,
    "status": "1",
    "errors": []
}
	

```

<table data-header-hidden><thead><tr><th width="204"></th><th></th></tr></thead><tbody><tr><td><strong>Error message code example</strong></td><td><strong>Description</strong></td></tr><tr><td>Invalid</td><td>Invalid request values</td></tr><tr><td>Unauthorized</td><td>User is not authorized for this action</td></tr></tbody></table>

***

## Get Information Request Details

Retrieves detailed information about a specific information request using its unique ID.

* **Endpoint:** /api/v1/customer/informationrequests/ getinformationrequestdetails
* **Method:** GET
* **Response Format:** application/json

#### `GET` Query Parameters

<table data-header-hidden><thead><tr><th width="231"></th><th width="103"></th><th></th></tr></thead><tbody><tr><td><strong>Request body parameter</strong></td><td><strong>Format</strong></td><td><strong>Description</strong></td></tr><tr><td>informationRequestsId</td><td>int</td><td>The information request to access</td></tr></tbody></table>

#### Example Success Response

```json
{
    "id": 1004,
    "details": {
        "Id": 1004,
        "Status": "More Information Required",
        "OrderType": "OUT",
        "Name": "Sample Customer",
        "TransactionID": 123456,
        "PaymentDescription": "External transfer - Deposit",
        "TransactionDate": "01-02-2025",
        "currencySymbol": "$",
        "assetCode": "USD",
        "amount": -20.000000000000000000,
        "description": "Dear Customer, Please provide the .....",
        "responseFormGuid": "F0A88644-A105-4CF1-ACE0-B570F1411783"
    },
    "status": "1",
    "errors": []
}
```

<table data-header-hidden><thead><tr><th width="201"></th><th></th></tr></thead><tbody><tr><td><strong>Error message code example</strong></td><td><strong>Description</strong></td></tr><tr><td>Not_Found</td><td>InformationRequestsID not found</td></tr><tr><td>Invalid</td><td>User is not valid for this action</td></tr></tbody></table>

***

## Submit Information Request

Allows a customer to submit information and documents in response to an RFI.

* **Endpoint:** /api/v1/customer/informationrequests/submitinformationrequest
* **Method:** POST
* **Request format:** form-data
* **Response format:** application/json

<table data-header-hidden data-full-width="true"><thead><tr><th width="504"></th><th width="103"></th><th></th></tr></thead><tbody><tr><td><strong>Request body parameter</strong></td><td><strong>Format</strong></td><td><strong>Description</strong></td></tr><tr><td>CustomerAssetAccountsTransactionsInformationRequestsId</td><td>int</td><td>Id</td></tr><tr><td>ResponseFormGuid</td><td>string</td><td>GUID for identifying responses</td></tr><tr><td>SupportingInformation</td><td>string</td><td>Text response</td></tr><tr><td>SupportingDocumentUploads</td><td>file</td><td>One or more files to be uploaded as evidence</td></tr></tbody></table>

**Request Body**

```
CustomerAssetAccountsTransactionsInformationRequestsId
1004

ResponseFormGuid
BCBE8BF9-1171-4F60-B434-694C19BFDD9F

SupportingInformation
Example supporting information

SupportingDocumentUploads
/C:/Path/To/File/dummy.pdf

SupportingDocumentUploads
/C:/ Path/To/File/dummy_2.pdf	
```

**Example Success Response**

```json
{
  "id": 1046,
  "status": "1",
  "errors": []
}	
```

<table data-header-hidden><thead><tr><th width="272"></th><th width="103"></th><th></th></tr></thead><tbody><tr><td><strong>Request body parameter</strong></td><td><strong>Format</strong></td><td><strong>Description</strong></td></tr><tr><td>id</td><td>int</td><td>Id of the response</td></tr></tbody></table>

<table data-header-hidden><thead><tr><th width="292"></th><th></th></tr></thead><tbody><tr><td><strong>Error message code example</strong></td><td><strong>Description</strong></td></tr><tr><td>Not_Found</td><td>InformationRequestsID not found</td></tr><tr><td>Invalid User</td><td>User is not valid for this action</td></tr><tr><td>Information_request_not_found</td><td>Information request does not exist with the expected status</td></tr><tr><td>Information_response_not_needed</td><td>Information response does not exist with the expected status</td></tr><tr><td>Response_form_already_submitted</td><td>Response form has been submitted with this GUID</td></tr></tbody></table>
