Unassign a vendor memo from a bill
POST
/partners/bills/{uuid}/unassign-vendor-memosRemoves a vendor credit memo previously applied to a bill.
Reverses an apply-vendor-memos application in full, restoring the bill open balance and the memo available balance. vendorMemoId is the vendor memo UUID. Vendor memos are not transactions, so POST /{uuid}/unassign-transaction cannot remove them. MCP equivalent: COUNT_unassign_vendor_memo_from_bill.
HMAC signature + Bearer access token
Try this requestPath parameters
uuiduuidrequiredThe bill UUID the memo is applied to.
Request body
vendorMemoIduuidrequiredUUID of the applied vendor memo to remove.
Responses
200Vendor memo unassigned from bill.400vendorMemoId missing, the memo is not applied to this bill, or the application date is in a closed period.404Bill or vendor memo not found.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. TroubleshootPOST
https://api.getcount.com/partners/bills/{uuid}/unassign-vendor-memosRequest
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 = 'POST';
const signingPath = '/bills/3fa85f64-5717-4562-b3fc-2c963f66afa6/unassign-vendor-memos';
const timestamp = Math.floor(Date.now() / 1000).toString();
const body = {
"vendorMemoId": "e3f4a5b6-c7d8-9012-efab-345678901234"
};
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/bills/3fa85f64-5717-4562-b3fc-2c963f66afa6/unassign-vendor-memos`, {
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",
"message": "Vendor memos unassigned from bill",
"data": {
"bill": {
"id": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
"billNumber": "BILL-1042",
"billType": "bill",
"date": "2026-01-15",
"dueDate": "2026-02-15",
"currency": "USD",
"approvalStatus": "approved",
"status": "unpaid",
"total": 250,
"paidAmount": 0,
"amountDue": 250,
"notes": "Office supplies for Q1",
"purchaseOrderNumber": null,
"isDeleted": false,
"vendor": {
"id": "f1a2b3c4-d5e6-7890-abcd-ef1234567890",
"name": "Office Depot",
"email": "ap@officedepot.example"
},
"lineItems": [
{
"id": "a4b5c6d7-e8f9-0123-abcd-456789012345",
"description": "Office supplies",
"quantity": 1,
"price": 250,
"total": 250,
"categoryAccountUuid": "c3d4e5f6-a7b8-9012-cdef-123456789012"
}
],
"transactions": [],
"appliedVendorMemos": [],
"tagUuids": [],
"createdAt": "2026-01-15T10:30:00.000Z",
"updatedAt": "2026-01-28T14:22:30.000Z"
}
}
}