List financial accounts

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/accounts/data

Returns one page of financial accounts with balances and the provider they came from, for one Plaid item or, when none is given, every item linked to the case; filter by account type. On a case shared with opposing counsel, accounts the caller may not see are excluded; ocSharedStatus (the account's sharing status) is filled in for opposing counsel, who can also filter by it, and is null for everyone else. 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 returned by the public token exchange endpoint. Optional for extraction code users — resolved automatically from caseId.

  • accountType string

    Filter accounts by type.

    Values are depository, credit, loan, investment, brokerage, or other.

  • financialAccountId string

    Filter by a specific financial account ID.

  • sharedStatus string

    Opposing-council only. Narrows to accounts in one sharing state; ignored for OL/OG and extraction-code callers.

    Values are shared, pending, or not_gated.

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
        • plaidAccountId string Required
        • balanceAvailable number | null
        • balanceCurrent number | null
        • balanceLastUpdated string(date-time) | null
        • balanceLimit number | null
        • createdAt string(date-time) Required
        • holderCategory string | null
        • currency string | null
        • name string Required
        • officialName string | null
        • accountMask string | null

          Last digits of the account number, as the bank shows them

        • subtype string | null
        • type string Required

          Values are depository, credit, loan, investment, brokerage, or other.

        • updatedAt string(date-time) Required
        • financialAccountProviderId string Required
        • financialAccountProviderType string Required

          Value is plaid.

        • financialAccountProviderName string | null
        • extractionCodeId string | null
        • ocSharedStatus string | null

          Opposing-council only: whether this account has been shared with the OL. null for OL/OG callers — same convention as every other item listing. Transactions inherit their account's status, since FINANCIAL approvals are keyed on account ids.

          Values are shared, pending, or not_gated.

    • statusCode number Required
    • timestamp string(date-time) Required
GET /financial-data/accounts/data
curl \
 --request GET 'http://api.example.com/financial-data/accounts/data?caseId=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": "65a1b2c3d4e5f6a7b8c9d0e1",
        "plaidItemId": "65a1b2c3d4e5f6a7b8c9d0a0",
        "plaidAccountId": "BxBXxLj1m4HMXBm9WZZmCWVbPjX16EHwv99vp",
        "balanceAvailable": 1250.4,
        "balanceCurrent": 1310.75,
        "balanceLastUpdated": "2026-01-15T14:30:00.000Z",
        "balanceLimit": 42.0,
        "createdAt": "2026-01-10T09:00:00.000Z",
        "holderCategory": "personal",
        "currency": "USD",
        "name": "Everyday Checking",
        "officialName": "Example Bank Everyday Checking",
        "accountMask": "0042",
        "subtype": "checking",
        "type": "depository",
        "updatedAt": "2026-01-15T14:30:00.000Z",
        "financialAccountProviderId": "65a1b2c3d4e5f6a7b8c9d0e2",
        "financialAccountProviderType": "plaid",
        "financialAccountProviderName": "Example Bank",
        "extractionCodeId": "65a1b2c3d4e5f6a7b8c9d0b5",
        "ocSharedStatus": "shared"
      }
    ]
  },
  "statusCode": 200,
  "timestamp": "2026-01-15T10:15:00.000Z"
}