# Respond to an RFI

Submits the documents requested by a Request for Information (RFI). An RFI is raised when Glomo's compliance checks need additional information — for example, a sanctions-screening hold — before a transaction can be completed. Respond to it using the RFI `id` exposed on the underlying resource (for example, the `rfi.id` field on a Payment).
Upload each document first using the [Create a Document](/api-reference/openapi/document/createdocument) endpoint, then submit the resulting `doc_id` (or `doc_ids`) against the matching `rfi_doc_id` from the RFI's `documents_required` list. Once the documents are submitted successfully, the RFI status transitions to `submitted` and the final decision is communicated via webhook.
For RFIs that also ask for structured values, read them from the RFI's `fields_required` list and send them as a `fields` object.

Endpoint: PATCH /rfis/{id}/respond
Version: 1.0.0
Security: JWT

## Security:

  - `JWT` (unknown)
    http bearer JWT

## Path parameters:

  - `id` (string, required)
    The unique identifier of the RFI to respond to. Starts with `rfi_`.

## Request fields (application/json):

  - `documents` (array)
    The documents being submitted in response to the RFI. At least one document is required.

  - `documents.rfi_doc_id` (string, required)
    The identifier of the RFI document requirement this document satisfies, taken from the `documents_required` list on the underlying resource's `rfi` object. Starts with `rfidoc_`.
    Example: rfidoc_6a7c5018sI3ht

  - `documents.doc_id` (string)
    The identifier of a single uploaded document, returned by the Create a Document endpoint. Provide either `doc_id` or `doc_ids`. Starts with `doc_`.
    Example: doc_6a79c6c4SbTxf

  - `documents.doc_ids` (array)
    The identifiers of multiple uploaded documents satisfying this requirement. Provide either `doc_id` or `doc_ids`.
    Example: ["doc_6a79c6c4SbTxf"]

  - `fields` (object)
    The structured values requested by the RFI, keyed by the `name` of each entry in its `fields_required` list.
    Example: {"invoice_number":"INV-2091","invoice_date":"2026-08-20","invoice_amount":1250000,"invoice_currency":"INR","customer_name":"Rohan Textiles Pvt Ltd","customer_address":{"address_line1":"14 Mint Street"…

  - `uploader_comments` (string)
    An optional note recorded against the RFI alongside the submitted documents.
    Example: Passport attached for review

## Response 200:

  - `200` (unknown)
    The RFI response was submitted successfully; the RFI transitions to `submitted`.

## Response 200 fields (application/json):

  - `id` (string)
    The unique identifier for the RFI.
    Example: rfi_6a72a39b38jDD

  - `status` (string)
    The current status of the RFI. A successful response transitions the RFI from `information_required` to `submitted`. The final decision (`approved` or `rejected`) is communicated via webhook.
    Enum: "information_required", "submitted", "approved", "rejected", "superseded", "expired"

## Response 400:

  - `400` (unknown)
    Bad request.

## Response 400 fields (application/json):

  - `error` (string)
    Enum: "Bad Request"

  - `message` (string)
    Error message.
    Example: must provide doc_id or doc_ids

## Response 401:

  - `401` (unknown)
    Unauthorized

## Response 403:

  - `403` (unknown)
    Forbidden. The RFI belongs to a different business.

## Response 404:

  - `404` (unknown)
    The RFI, or a referenced document, could not be found.

## Response 404 fields (application/json):

  - `error` (string)
    Enum: "Not found"

  - `message` (string)
    Entity not found
    Enum: "Entity not found"

## Response 422:

  - `422` (unknown)
    The RFI is not awaiting information — for example, it has already been submitted, or is approved, rejected, superseded, or expired — and cannot be responded to.

## Response 422 fields (application/json):

  - `error` (string)
    Enum: "Unprocessable Entity"

  - `message` (string)
    Error message.
    Example: RFI information has already been submitted

