Tag several 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
POST /financial-data/transactions/tags/bulk

Adds the same tags to every listed transaction and returns the updated rows in a data array. If any transaction fails, the request returns 400 with the errors, but tags already added to the others stay. On a case shared with opposing counsel, attachedTags leave out tags the other side added by hand.

application/json

Body Required

  • caseId string Required

    Case ID these transactions belong to.

  • transactionIds array[string] Required

    Array of transaction IDs to tag.

    At least 1 but not more than 500 elements.

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