Bulk exclude transactions
PATCH
/partners/transactions/exclude-bulkExcludes or un-excludes transactions by UUID list or postedDate range.
Pass either `{ transactionUuids, excluded }` or `{ startDate, endDate, excluded }` — not both. Date-range mode rejects with 400 if more than 100 transactions match. Excluding hides a row from the ledger without deleting it. Same per-row eligibility guards as single-row exclude (unreviewed, unreconciled, not pending, not attached).
HMAC signature + Bearer access token
Try this requestRequest body
excludedbooleanrequiredtrue to exclude, false to un-exclude.
transactionUuidsarrayUUID mode: non-empty array of transaction UUIDs (max 100). Mutually exclusive with date range.
startDatedateDate-range mode: inclusive postedDate start (YYYY-MM-DD). Requires endDate.
endDatedateDate-range mode: inclusive postedDate end (YYYY-MM-DD). Requires startDate.
Responses
200Bulk exclude processed with per-row failures for skipped rows.400Invalid body — both modes, neither mode, bad dates, or more than 100 matches.401Missing or invalid HMAC signature, expired timestamp, or invalid Bearer token. Troubleshoot403The credential does not have access to this workspace or resource. Troubleshoot429Rate limit exceeded (100 requests per minute per clientId). Retry after the Retry-After header. TroubleshootPATCH
https://api.getcount.com/partners/transactions/exclude-bulkRequest
import crypto from 'node:crypto';
const BASE_URL = 'https://api.getcount.com';
const CLIENT_ID = process.env.COUNT_CLIENT_ID;
const CLIENT_SECRET = process.env.COUNT_CLIENT_SECRET;
const ACCESS_TOKEN = process.env.COUNT_ACCESS_TOKEN;
const method = 'PATCH';
const signingPath = '/transactions/exclude-bulk';
const timestamp = Math.floor(Date.now() / 1000).toString();
const body = {
"excluded": true,
"transactionUuids": [
"b7c8d9e0-f1a2-3456-bcde-678901234567"
]
};
const bodyString = JSON.stringify(body);
const bodyHash = crypto.createHash('sha256').update(bodyString).digest('hex');
const baseString = `${method}:${signingPath}:${timestamp}:${bodyHash}`;
const signature = crypto.createHmac('sha256', CLIENT_SECRET).update(baseString).digest('hex');
const response = await fetch(`${BASE_URL}/partners/transactions/exclude-bulk`, {
method,
headers: {
'x-client-id': CLIENT_ID,
'x-timestamp': timestamp,
'x-signature': signature,
'Content-Type': 'application/json',
Authorization: `Bearer ${ACCESS_TOKEN}`,
},
body: bodyString,
});
console.log(await response.json());Response · 200
{
"status": "success",
"data": {
"successCount": 1,
"failedCount": 0,
"failures": []
}
}