{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-platform/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["typography"]},"type":"markdown"},"seo":{"title":"RFI Webhooks","siteUrl":"https://docs.glomo.one","llmstxt":{"title":"Glomo developer documentation","description":"Cross-border payments APIs, organised by product. Each product section carries both the explanation of its objects and the job-shaped integration guides that set them up.","details":{"content":"How to use these docs:\n\n- Get started is the front door. It has one section per integration\n  (what you're building), each with the API calls in order and the guide that builds it, plus\n  how to get API keys.\n- The product sections - Payin, Payout, Multi-currency accounts,\n  Verification, Request for Information (RFI) - each hold two kinds of page.\n  Pages titled as a noun (\"Subscriptions\", \"Bank Transfer\") explain what\n  an object is. Pages titled as a job (\"Set up recurring subscriptions\",\n  \"Collect LRS remittances from India\") are complete integration flows\n  and live one level under the object they set up. Match a user's goal\n  against the job-shaped titles first.\n- Reports and Identity and Access Management are the two subjects with no\n  API counterpart. There are no endpoints for reports, users, roles or\n  invites; both pages document the merchant dashboard. A dashboard\n  procedure for something the API also does (a refund, a payout) is NOT\n  here - it stays in the product that owns it.\n- API reference is generated from OpenAPI and carries endpoint detail.\n- The OpenAPI description itself is published as a single self-contained\n  document at /openapi.yaml, and the same document as JSON at\n  /openapi.json. Every $ref is resolved into it, so one fetch is the\n  whole contract: 61 paths, 81 operations, 68 schemas - the same\n  endpoints the API reference pages render. Fetch that instead of\n  reading the 129 pages under /api-reference/.\n- Every page below, in full, is one document at /llms-full.txt. Fetch that\n  instead of the pages one by one. It leaves out the API reference;\n  /openapi.yaml is that.\n- Developer resources covers what every integration touches and no single\n  product owns: auth, errors, pagination, rate limits, webhooks,\n  versioning, supported countries, quotes, the MCP server for AI\n  agents, and the client SDKs.\n"},"sections":[{"title":"Get started","description":"The front door. The ordered API calls for each integration and the guide that delivers it, how to obtain API keys, and the platform glossary.","includeFiles":["**/get-started/**"]},{"title":"Payin","description":"Collecting money: customers, orders, checkout, payment links, payment methods (cards, bank transfer, pay via bank), refunds, disputes, purpose codes, fee models, custom fields, subscriptions, and resident India remittance under LRS. Includes the flows that set each up - bank transfers, subscriptions, LRS remittances, and server-to-server card payments.","includeFiles":["**/payin/**"]},{"title":"Payout","description":"Sending money: the payout life cycle, queued payouts, creating and cancelling a payout, rails, beneficiaries, purpose codes, and the action required state. Includes the flow that sends a payout over the API.","includeFiles":["**/payout/**"]},{"title":"Multi-currency accounts","description":"Holding money: balances, balance conversion, adding balance, and withdrawing balance.","includeFiles":["**/multi-currency-account/**"]},{"title":"Verification","description":"Proving who someone is and that an account is theirs: KYC, bank account validation, and third-party verification (TPV) with the flow that verifies a payer's bank account.","includeFiles":["**/verification/**"]},{"title":"Request for Information (RFI)","description":"Responding to a compliance request for information, per object - payment link, order, payment, payout - plus compliance reviews and RFIs raised on already-successful payments.","includeFiles":["**/request-for-information/**"]},{"title":"Nivo (Capital markets)","description":"Nivo, Glomo's capital markets suite (Nivo for AMCs, Nivo for Distributors, and overseas investing for brokers and wealth platforms). Mutual fund investments run as payment sessions: the fund, distributor, scheme, plan, ARN and folio roles; the distributor's relationship with a fund and what it fixes; and the flow that opens a session as a distributor.","includeFiles":["**/capital-markets/**"]},{"title":"Reports","description":"The downloadable and scheduled reports a merchant pulls from the dashboard for reconciliation, compliance and treasury: payment, subscription, settlement breakup, balance statement and KYC reports, plus scheduling one for recurring email delivery. Dashboard only - there is no reports API.","includeFiles":["**/reports/**"]},{"title":"Identity and Access Management","description":"Administering who can use a merchant account: one set of credentials across multiple MIDs, switching between them without logging out, the Admin / Member / Sales Partner roles and what each may see and do, and inviting a new member. Dashboard only - there is no users, roles or invites API.","includeFiles":["**/access-management/**"]},{"title":"Settlement holidays","description":"The settlement holiday calendar for 2026 - the Indian and US bank and FX holidays on which payin, payout and settlement to the merchant's bank account may be delayed.","includeFiles":["**/settlement-holidays/**"]},{"title":"API reference","description":"Endpoint reference generated from the Glomo OpenAPI description.","includeFiles":["**/api-reference/**"]},{"title":"Developer resources","description":"What every integration touches and no single product owns: auth, errors, pagination, rate limits, webhooks, versioning, API validations, security, supported countries, quotes, connecting an AI agent to the Glomo MCP server, and the client SDKs - React Native, Flutter, Android and the Unified Web SDK, with per-version references and changelogs. Reports and Identity and Access Management used to be listed here and are now their own sections.","includeFiles":["**/platform/**"]}]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"rfi-webhooks","__idx":0},"children":["RFI Webhooks"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["RFI webhooks notify you when Glomo raises a Request for Information (RFI) against one of your resources, and as it moves through review. They fire for every RFI, whatever it was raised against: a payment, payin, payout, subscription, chargeback, KYC record or KYB journey. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["data"]}," has the same shape as the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-reference/openapi/rfi/getrfi"},"children":["Fetch an RFI API"]}," response, so the RFI ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}," you need for the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-reference/openapi/rfi/respondrfi"},"children":["Respond to an RFI API"]}," is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["data.id"]},"."]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Note:"]}," The sample payloads on this page are pretty-printed. The body Glomo sends is the RFC 8785 canonical form of the same object, and the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["X-Glomopay-Signature"]}," header is computed over those bytes. See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/platform/webhooks#webhook-authentication--security"},"children":["Webhook Authentication & Security"]},"."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Payment ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["compliance_*"]}," events (see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/platform/webhooks/payment"},"children":["Payment Webhooks"]},") still fire for screened payments, independently of these."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Event Type"},"children":["Event Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"Typography","attributes":{"fontColor":"#B75906"},"children":[" action_required "]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["An RFI has been raised. Submit what ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["documents_required"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fields_required"]}," ask for."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"Typography","attributes":{"fontColor":"#B75906"},"children":[" under_review "]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The requested information has been submitted and is being reviewed."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"Typography","attributes":{"fontColor":"#008A5A"},"children":[" approved "]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The RFI has been approved."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"Typography","attributes":{"fontColor":"#BC1919"},"children":[" rejected "]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The RFI has been rejected."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"sample-payload","__idx":1},"children":["Sample Payload"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"Sample","header":{"controls":{"copy":{}}},"source":"{\n  \"entity_type\": \"rfi\",\n  \"event_type\": \"action_required\",\n  \"data\": {\n    \"id\": \"rfi_6a7c5018ZGuKP\",\n    \"business_id\": \"merch_685bb99eFhPGA\",\n    \"entity_type\": \"Payout\",\n    \"entity_id\": \"payout_9z8y7x6w5v\",\n    \"status\": \"action_required\",\n    \"created_at\": \"2026-08-12T10:51:04.747Z\",\n    \"updated_at\": \"2026-08-12T10:51:04.747Z\",\n    \"documents_required\": [\n      {\n        \"rfi_doc_id\": \"rfidoc_6a72a39b38jDD\",\n        \"description\": \"Invoice\",\n        \"multiple_allowed\": false,\n        \"max_count\": 1\n      }\n    ],\n    \"fields_required\": [],\n    \"instructions\": \"Please upload the requested documents to resolve this request.\",\n    \"review_comments\": null,\n    \"uploader_comments\": null\n  }\n}\n","lang":"Sample"},"children":[]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["RFI identifier, starting with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["rfi_"]},". Use it with the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-reference/openapi/rfi/respondrfi"},"children":["Respond to an RFI API"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["business_id"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Identifier of the merchant the RFI belongs to."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["entity_type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Type of resource the RFI was raised against, capitalised: for example ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Payment"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Payin"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Payout"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Subscription"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Chargeback"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["KycRecord"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["KybVerificationJourney"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["entity_id"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Identifier of that resource, for example the payout ID."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Current RFI status: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["action_required"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["under_review"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["approved"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["rejected"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["superseded"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expired"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cancelled"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["created_at"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["When the RFI was raised, in ISO 8601 format (UTC)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["updated_at"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["When the RFI last changed, in ISO 8601 format (UTC)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["documents_required"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Documents to submit, each with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["rfi_doc_id"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["description"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["multiple_allowed"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["max_count"]},". Empty array when no documents are needed."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fields_required"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Structured values to submit, each with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["name"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["integer"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["hash"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["date"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["enum"]},") and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["required"]},". ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["date"]}," fields add ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["format"]},"; ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["enum"]}," fields add ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["allowed_values"]},". Empty array when none."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["instructions"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["What the reviewer is asking for, or a generic message if they didn't write one."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["review_comments"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The reviewer's comments. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["null"]}," if none."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["uploader_comments"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Comments you sent with your response. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["null"]}," if none."]}]}]}]}]}]},"headings":[{"value":"RFI Webhooks","id":"rfi-webhooks","depth":1},{"value":"Sample Payload","id":"sample-payload","depth":2}],"frontmatter":{"seo":{"title":"RFI Webhooks"}},"lastModified":"2026-10-08T09:51:36.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/platform/webhooks/rfi","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}