List recurring transactions

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://docs.usehearsay.com/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  "integrations MCP server": {
    "url": "https://docs.usehearsay.com/mcp"
  }
}

Close
GET /financial-data/recurring-transactions/get

Returns one page of recurring transaction streams (regular payments or deposits Plaid detected) for a financial account, with amounts, frequency, dates and attached tags; filter by stream type, active flag, frequency or tags. On a case shared with opposing counsel, an account the caller may not see returns an empty page, and attachedTags leave out tags the other side added by hand.

Query parameters

  • page number

    Default value is 1.

  • perPage number

    Default value is 10.

  • skip number

    If skip/limit not provided, page/perPage will take precedence

  • limit number

    If skip/limit not provided, page/perPage will take precedence

  • caseId string Required

    Case ID this financial data belongs to.

  • plaidItemId string

    Internal PlaidItem document ID. Optional for extraction code users — resolved automatically from caseId.

  • financialAccountId string Required

    Internal FinancialAccount document ID.

  • type string

    Filter by stream type.

    Values are inflow or outflow.

  • isActive boolean

    Filter by active status.

  • frequency string

    Filter by frequency (e.g. WEEKLY, MONTHLY).

  • sortBy string

    Field to sort by.

    Values are averageAmount, lastDate, or firstDate. Default value is lastDate.

  • sortOrder string

    Sort direction.

    Values are asc or desc. Default value is desc.

  • tagIds array[string]

    Filter recurring transactions that have at least one of the provided tag IDs.

Responses

  • 200 application/json
    Hide response attributes Show response attributes object
    • data object Required
      Hide data attributes Show data attributes object
      • total number Required
      • page number
      • perPage number
      • skip number
      • limit number
      • totalPages number Required
      • nextPage number | null Required
      • previousPage number | null Required
      • data array[object]
        Hide data attributes Show data attributes object
        • id string Required
        • plaidItemId string Required
        • streamId string Required
        • averageAmount number | null
        • averageAmountCurrency string | null
        • detailed string | null
        • category string | null
        • createdAt string(date-time) Required
        • description string Required
        • financialAccount string Required
        • firstDate string(date-time) Required
        • frequency string Required
        • isActive boolean Required
        • lastAmount number | null
        • lastDate string(date-time) Required
        • merchantName string | null
        • plaidAccountId string Required
        • predictedNextDate string(date-time) | null
        • status string Required
        • transactionIds array[string] Required
        • type string Required

          Values are inflow or outflow.

        • updatedAt string(date-time) Required
        • tags array[object]
          Hide tags attributes Show tags attributes object
          • id string Required
          • name string Required
        • attachedTags array[object]
          Hide attachedTags attributes Show attachedTags attributes object
          • tagId string Required

            Tag id (Tag._id)

          • tag string Required

            Tag display name (Tag.name)

          • addedBy string Required

            Values are user, ai, auto, auto-import, system, or default.

          • addedById string | null
          • removedAt string(date-time) | null
          • removedBy string | null

            Values are user, ai, auto, auto-import, system, or default.

          • removedById string | null
    • statusCode number Required
    • timestamp string(date-time) Required
GET /financial-data/recurring-transactions/get
curl \
 --request GET 'http://api.example.com/financial-data/recurring-transactions/get?caseId=string&financialAccountId=string' \
 --header "Authorization: Bearer $ACCESS_TOKEN"
Response examples (200)
{
  "data": {
    "total": 42,
    "page": 1,
    "perPage": 20,
    "skip": 0,
    "limit": 20,
    "totalPages": 3,
    "nextPage": 2,
    "previousPage": 42.0,
    "data": [
      {
        "id": "65a1b2c3d4e5f6a7b8c9d0d1",
        "plaidItemId": "65a1b2c3d4e5f6a7b8c9d0a0",
        "streamId": "no86Eox18VHMvaOVL7gPUM9ap3aR1LsAVZ5nc",
        "averageAmount": 15.49,
        "averageAmountCurrency": "USD",
        "detailed": "ENTERTAINMENT_TV_AND_MOVIES",
        "category": "ENTERTAINMENT",
        "createdAt": "2026-01-10T09:00:00.000Z",
        "description": "STREAMING SERVICE",
        "financialAccount": "65a1b2c3d4e5f6a7b8c9d0e1",
        "firstDate": "2025-03-01T00:00:00.000Z",
        "frequency": "MONTHLY",
        "isActive": true,
        "lastAmount": 15.49,
        "lastDate": "2026-01-01T00:00:00.000Z",
        "merchantName": "Streaming Service",
        "plaidAccountId": "BxBXxLj1m4HMXBm9WZZmCWVbPjX16EHwv99vp",
        "predictedNextDate": "2026-02-01T00:00:00.000Z",
        "status": "MATURE",
        "transactionIds": [
          "lPNjeW1nR6CDn5okmGQ6hEpMo4lLNoSrzqDje"
        ],
        "type": "outflow",
        "updatedAt": "2026-01-15T14:30:00.000Z",
        "tags": [
          {
            "id": "65a1b2c3d4e5f6a7b8c9d0a1",
            "name": "Responsive"
          }
        ],
        "attachedTags": [
          {
            "tagId": "507f1f77bcf86cd799439011",
            "tag": "Important",
            "addedBy": "user",
            "addedById": "507f1f77bcf86cd799439012",
            "removedAt": "2026-05-04T09:42:00Z",
            "removedBy": "user",
            "removedById": "string"
          }
        ]
      }
    ]
  },
  "statusCode": 200,
  "timestamp": "2026-01-15T10:15:00.000Z"
}