Tag a recurring transaction

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
POST /financial-data/recurring-transaction/{streamId}/tags

Adds tags to a recurring transaction by name or id; names that do not exist yet are created as case tags. The recurring transaction must belong to the case. Returns the full recurring transaction row after the change; on a case shared with opposing counsel, attachedTags leave out tags the other side added by hand.

Path parameters

  • streamId string Required

    Recurring transaction stream ID

application/json

Body Required

  • caseId string Required

    Case ID this transaction belongs to.

  • tagNames array[string] Required

    Array of tag names or tag IDs to add.

    At least 1 but not more than 100 elements.

Responses

  • 201 application/json
    Hide response attributes Show response attributes object
    • data object Required
      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
POST /financial-data/recurring-transaction/{streamId}/tags
curl \
 --request POST 'http://api.example.com/financial-data/recurring-transaction/{streamId}/tags' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{
  "caseId": "string",
  "tagNames": [
    "string"
  ]
}'
Request examples
{
  "caseId": "string",
  "tagNames": [
    "string"
  ]
}
Response examples (201)
{
  "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": 201,
  "timestamp": "2026-01-15T10:15:00.000Z"
}