Adds the same tags to every listed holding and returns the updated rows in a data array. If any holding 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/holdings/tags/bulk
curl \
--request POST 'http://api.example.com/financial-data/holdings/tags/bulk' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"caseId": "string",
"holdingIds": [
"string"
],
"tagNames": [
"string"
]
}'
Request examples
{
"caseId": "string",
"holdingIds": [
"string"
],
"tagNames": [
"string"
]
}
Response examples (201)
{
"data": {
"data": [
{
"id": "string",
"financialAccount": "string",
"plaidSecurityId": "string",
"createdAt": "2026-05-04T09:42:00Z",
"updatedAt": "2026-05-04T09:42:00Z",
"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"
}