Fetching RFIs
Two endpoints let you retrieve the RFI cases raised against an account:
GET /v1/rfi— list all RFI cases. Returns open cases by default.GET /v1/rfi/{rfiId}— fetch a single case in full, including every question and document request.
Both endpoints require the standard AccountId and Authorization: Bearer <token> headers — identical to
the rest of the /v1/account/... operations.
List RFIs
See the List RFIs API reference for the full request/response schema.
curl -L 'https://sandbox-api.hubpay.io/v1/rfi' \
-H 'Accept: application/json' \
-H 'AccountId: 058a2d45-139c-436b-8d1f-eec265e0f418' \
-H 'Authorization: Bearer <token>'
By default the list returns only OPEN cases. To include cases in terminal states (CLOSED,
CANCELLED), pass includeTerminal=true:
curl -L 'https://sandbox-api.hubpay.io/v1/rfi?includeTerminal=true' \
-H 'Accept: application/json' \
-H 'AccountId: 058a2d45-139c-436b-8d1f-eec265e0f418' \
-H 'Authorization: Bearer <token>'
Get a single RFI
See the Get RFI API reference for the full response schema.
curl -L 'https://sandbox-api.hubpay.io/v1/rfi/11111111-1111-1111-1111-111111111111' \
-H 'Accept: application/json' \
-H 'AccountId: 058a2d45-139c-436b-8d1f-eec265e0f418' \
-H 'Authorization: Bearer <token>'
The detail response includes:
- Case metadata —
id,caseNumber,status,subjectType,subjectId,subjectReference,customerDisplayMessage, timestamps.caseNumberis the customer-facing reference (e.g.RFI-20260611-9F3A21B7) that Hubpay ops and support teams quote in emails and tickets — surface it in your own UI so customers can match what they see in our communications.subjectReferenceis the human-readable identifier of the subject. Null for onboarding-application RFIs. questions[]— each with its ownid, prompt text and current answer (if any).documentRequests[]— each with its ownid, requested document type, status, and (once attached) thedocumentIdyou need to correlatev1.rfi.document.*webhooks. The attached files are also inlined asdocumentUploads[](the same shape returned byPOST /v1/rfi/{rfiId}/documents/upload) — empty until the slot is satisfied.
Per-item statuses tell you what work is still outstanding. Submit each response via the respond endpoints.
When to call which
| Use case | Endpoint |
|---|---|
| Polling for new cases on accounts you manage | GET /v1/rfi (or subscribe to v1.rfi.case.opened). |
| Reconciling state after losing a webhook | GET /v1/rfi?includeTerminal=true |
| Rendering the RFI form for the customer | GET /v1/rfi/{rfiId} |
Refer to the API Reference for the full request/response schemas.