List 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/transactions/get

Returns one page of transactions for a financial account, with amounts as positive numbers plus a debit/credit type, the effective category (your override if set) and attached tags. Filter by category, subcategory, name, merchant, date range, amount range, debit/credit 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. Returns 404 when a Plaid item or account id sent belongs to another case.

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.

  • category string

    Filter by transaction category (categoryPrimary). Case-insensitive partial match.

  • subcategory string

    Filter by transaction subcategory (Plaid categoryDetailed). Case-insensitive partial match. Only matches transactions whose primary category has not been overridden.

  • name string

    Filter by transaction name. Case-insensitive partial match.

  • merchant string

    Filter to a single merchant. Exact match on merchantName, as returned by the transaction list. Transactions with no merchant name never match.

  • startDate string

    Filter transactions from this date (inclusive). Format: YYYY-MM-DD.

  • endDate string

    Filter transactions up to this date (inclusive). Format: YYYY-MM-DD.

  • minAmount number

    Filter transactions with amount >= minAmount.

  • maxAmount number

    Filter transactions with amount <= maxAmount (absolute value).

  • transactionType string

    Filter by transaction type. debit = money out (positive in Plaid), credit = money in (negative in Plaid).

    Values are debit or credit.

  • sortBy string

    Field to sort by.

    Values are date, amount, or category. Default value is date.

  • sortOrder string

    Sort direction.

    Values are asc or desc. Default value is desc.

  • tagIds array[string]

    Filter transactions that have all 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
        • plaidTransactionId string Required
        • amount number Required

          Absolute value of the transaction amount.

        • transactionType string Required

          debit = money out, credit = money in.

          Values are debit or credit.

        • authorizedDate string(date-time) | null
        • detailed string | null
        • category string | null

          Effective category: the user override when set, otherwise Plaid’s primary category.

        • categoryOverridden boolean Required

          True when category comes from a user override rather than Plaid.

        • createdAt string(date-time) Required
        • transactionDate string(date-time) Required
        • financialAccount string Required
        • currency string | null
        • merchantName string | null
        • name string Required
        • paymentChannel string Required
        • pending boolean Required
        • pendingTransactionId string | null
        • plaidAccountId string Required
        • transactionCode string | null
        • unofficialCurrencyCode string | null
        • updatedAt string(date-time) Required
        • isRecurring boolean Required

          True if this transaction belongs to a recurring stream.

        • 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/transactions/get
curl \
 --request GET 'http://api.example.com/financial-data/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": "65a1b2c3d4e5f6a7b8c9d0c1",
        "plaidItemId": "65a1b2c3d4e5f6a7b8c9d0a0",
        "plaidTransactionId": "lPNjeW1nR6CDn5okmGQ6hEpMo4lLNoSrzqDje",
        "amount": 42.18,
        "transactionType": "debit",
        "authorizedDate": "2026-01-13T00:00:00.000Z",
        "detailed": "FOOD_AND_DRINK_COFFEE",
        "category": "FOOD_AND_DRINK",
        "categoryOverridden": false,
        "createdAt": "2026-01-14T08:00:00.000Z",
        "transactionDate": "2026-01-14T00:00:00.000Z",
        "financialAccount": "65a1b2c3d4e5f6a7b8c9d0e1",
        "currency": "USD",
        "merchantName": "Corner Coffee",
        "name": "CORNER COFFEE 1123",
        "paymentChannel": "in store",
        "pending": false,
        "pendingTransactionId": "string",
        "plaidAccountId": "BxBXxLj1m4HMXBm9WZZmCWVbPjX16EHwv99vp",
        "transactionCode": "string",
        "unofficialCurrencyCode": "string",
        "updatedAt": "2026-01-14T08:00:00.000Z",
        "isRecurring": false,
        "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"
}