Change a transaction's category

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
PATCH /financial-data/case/{caseId}/transactions/{transactionId}/category

Sets your own category on a transaction in the case (Plaid's original is kept); omit the category or send null to go back to Plaid's. Can also apply the change to the case's other transactions from the same merchant. Returns the effective category and how many transactions changed. Not available to opposing counsel.

Path parameters

  • caseId string Required

    Case ID

  • transactionId string Required

    Transaction ID

application/json

Body Required

  • category string | null

    New category for the transaction. An existing category to reassign, or a new label to create. Stored normalized (trimmed, uppercased). Omit or send null to reset to the original Plaid category.

  • applyToSameMerchant boolean

    When true, apply the same category to every other transaction from the same merchant (exact merchant-name match) across the case. No-op when the transaction has no merchant name. One-time update of existing transactions only.

    Default value is false.

  • accountIds array[string]

    Restrict the bulk apply to these FinancialAccount IDs (all must belong to the case). Omit to apply across every linked account in the case. Only used when applyToSameMerchant is true.

Responses

  • 200 application/json
    Hide response attributes Show response attributes object
    • data object Required
      Hide data attributes Show data attributes object
      • id string Required

        Transaction ID.

      • category string | null Required

        Effective category after the update (override if set, otherwise Plaid’s value). Null when uncategorized.

      • categoryOverridden boolean Required

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

      • updatedCount number Required

        Total number of transactions updated by this request, including the target. Greater than 1 only when applyToSameMerchant matched additional transactions.

    • statusCode number Required
    • timestamp string(date-time) Required
PATCH /financial-data/case/{caseId}/transactions/{transactionId}/category
curl \
 --request PATCH 'http://api.example.com/financial-data/case/{caseId}/transactions/{transactionId}/category' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{
  "category": "MEDICAL",
  "applyToSameMerchant": false,
  "accountIds": [
    "string"
  ]
}'
Request examples
{
  "category": "MEDICAL",
  "applyToSameMerchant": false,
  "accountIds": [
    "string"
  ]
}
Response examples (200)
{
  "data": {
    "id": "507f1f77bcf86cd799439011",
    "category": "MEDICAL",
    "categoryOverridden": true,
    "updatedCount": 1
  },
  "statusCode": 200,
  "timestamp": "2026-01-15T10:15:00.000Z"
}