Adds the same tags to every listed recurring transaction and returns the updated rows in a data array. If any recurring 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.
POST
/financial-data/recurring-transactions/tags/bulk
curl \
--request POST 'http://api.example.com/financial-data/recurring-transactions/tags/bulk' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"caseId": "string",
"streamIds": [
"string"
],
"tagNames": [
"string"
]
}'
Request examples
{
"caseId": "string",
"streamIds": [
"string"
],
"tagNames": [
"string"
]
}
Response examples (201)
{
"data": {
"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"
}