GuidesAPI ReferenceChangelog
API Reference

List recipient RFI cases

List a customer's recipient RFI cases and filter those that require action.

Recipient cases live in the same collection as transaction cases. Use subject_type=RECIPIENT to keep only recipient cases, ordered by the most recent update. Set action_required=true to build your work queue, use subject_id to find the cases of one recipient, or use the inclusive updated_from filter for polling and recovery. Every list item includes its requirements and current evidence.

This is the shared RFI endpoint. The full parameter table, response schema, and Try It console are on List RFI cases.

GET /v1/customers/{customer_id}/rfi-cases?subject_type=RECIPIENT

Query parameters

Parameters combine with AND.

ParameterTypeDescription
subject_typestringRECIPIENT for recipient cases, TRANSACTION for transaction cases. Omit to receive both kinds; subject.type on each item tells them apart.
subject_idstringExact match on the recipient_id when subject_type is RECIPIENT.
action_requiredbooleantrue returns only cases you must act on; false only cases with no pending action from you.
case_idstringExact case ID match, for example to resolve a case from a webhook to its recipient.
rfi_statusstringComma-separated list of ACTION_REQUIRED, PENDING_REVIEW, ANSWERED, REJECTED, CLOSED.
updated_fromstringISO 8601 UTC timestamp; returns cases with updated_at at or after it (inclusive). Use it for incremental reconciliation.
pageintegerPage number, starting at 1. Default 1.
sizeintegerItems per page, 1 to 100. Default 10.

Examples

Your recipient work queue:

GET /v1/customers/{customer_id}/rfi-cases?subject_type=RECIPIENT&action_required=true&page=1&size=100

All cases of one recipient:

GET /v1/customers/{customer_id}/rfi-cases?subject_type=RECIPIENT&subject_id=550e8400-e29b-41d4-a716-446655440000

Recovery pull since your last successful check:

GET /v1/customers/{customer_id}/rfi-cases?subject_type=RECIPIENT&updated_from=2026-09-23T08:00:00Z&page=1&size=100

The updated_from filter includes cases updated at the exact timestamp you provide, so the last case of one check may appear again in the next. Read every page, and use case_id and updated_at to avoid processing that boundary case twice.

Response

{
  "list": [
    {
      "case_id": "TC-3N7Q-D2KV",
      "case_class": "RECIPIENT",
      "rfi_status": "ACTION_REQUIRED",
      "subject": {
        "type": "RECIPIENT",
        "id": "550e8400-e29b-41d4-a716-446655440000"
      },
      "requirements": [
        {
          "requirement_id": "RQ-5K2P-M8WD",
          "type": "TEXT",
          "accepted_document_types": [],
          "required": true,
          "status": "ACTION_REQUIRED",
          "note": "Please describe your business relationship with this recipient.",
          "submissions": []
        }
      ],
      "created_at": "2026-09-23T08:15:42.118+00:00",
      "updated_at": "2026-09-23T08:15:42.118+00:00"
    }
  ],
  "total": 1
}

subject.id is the recipient_id. A recipient subject has no transaction_type, and case_class is RECIPIENT. See Get a recipient RFI case for the meaning of each field.