Skip to main content

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. caseNumber is 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. subjectReference is the human-readable identifier of the subject. Null for onboarding-application RFIs.
  • questions[] — each with its own id, prompt text and current answer (if any).
  • documentRequests[] — each with its own id, requested document type, status, and (once attached) the documentId you need to correlate v1.rfi.document.* webhooks. The attached files are also inlined as documentUploads[] (the same shape returned by POST /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 caseEndpoint
Polling for new cases on accounts you manageGET /v1/rfi (or subscribe to v1.rfi.case.opened).
Reconciling state after losing a webhookGET /v1/rfi?includeTerminal=true
Rendering the RFI form for the customerGET /v1/rfi/{rfiId}

Refer to the API Reference for the full request/response schemas.