matching.receiptConsolidation.confirm
Dashboard-only confirmation after a finance member reviews the current original documents and source-backed payment identity. Requires exact preview fingerprint, revisions and original IDs. Adds a receipt association and alias without changing bank amounts, allocations, financial fields, tax or review status. API, MCP and automatic actors cannot approve.
/api/v1/accounting/matching.receiptConsolidation.confirmPermissions
Who can call it
Retries
MCP
Fields
receiptEntryIdstring (ID)RequiredThe ID of the related record.
expectedReceiptRevisionintegerRequiredThe related record's current revision, from the last time you read it.
at most 9007199254740991 · greater than 0
targetEntryIdstring (ID)RequiredThe ID of the related record.
expectedTargetRevisionintegerRequiredThe related record's current revision, from the last time you read it.
at most 9007199254740991 · greater than 0
modeenumRequiredsame_orderwise_card_settlementtransactionsarray of objectsRequired1–20 items
expectedSourceFingerprintstringRequiredSHA-256 hash as 64 lowercase hex characters
reviewedOriginalEvidenceIdsarray of strings (ID)RequiredA list of record IDs.
1–60 items
originalsReviewedtrueRequiredreasonstringRequiredA short note saying why, kept in the record's history.
10–1000 characters
idempotencyKeystringRequiredAny unique text you generate once per intended change, so a retried request only happens once. Send it as the Idempotency-Key header instead if you prefer; if you send both they must match.
8–200 characters
Example
curl https://app.getoatmilk.com/api/v1/accounting/matching.receiptConsolidation.confirm \
-H "Authorization: Bearer $OATMILK_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"receiptEntryId": "7f0f6c1e-1c1f-4b5e-9c8d-2f5e8e3c1a10",
"expectedReceiptRevision": 3,
"targetEntryId": "4d5e6f7a-8b9c-4d0e-8f1a-2b3c4d5e6f7a",
"expectedTargetRevision": 3,
"mode": "same_order",
"transactions": [
{
"id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"expectedRevision": 3
}
],
"expectedSourceFingerprint": "9f2b5c1d7e3a4b6c8d0e2f4a6b8c0d2e4f6a8b0c2d4e6f8a0b2c4d6e8f0a2b4c",
"reviewedOriginalEvidenceIds": [
"1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d"
],
"originalsReviewed": true,
"reason": "Synthetic example from the docs"
}'{
"data": { … }
}Try it
Try it
Checks your input with this action’s real schema and answers like the API, with synthetic data. No key needed, and nothing changes.
curl https://app.getoatmilk.com/api/v1/accounting/matching.receiptConsolidation.confirm \
-H "Authorization: Bearer $OATMILK_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"receiptEntryId": "7f0f6c1e-1c1f-4b5e-9c8d-2f5e8e3c1a10",
"expectedReceiptRevision": 3,
"targetEntryId": "4d5e6f7a-8b9c-4d0e-8f1a-2b3c4d5e6f7a",
"expectedTargetRevision": 3,
"mode": "same_order",
"transactions": [
{
"id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"expectedRevision": 3
}
],
"expectedSourceFingerprint": "9f2b5c1d7e3a4b6c8d0e2f4a6b8c0d2e4f6a8b0c2d4e6f8a0b2c4d6e8f0a2b4c",
"reviewedOriginalEvidenceIds": [
"1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d"
],
"originalsReviewed": true,
"reason": "Synthetic example from the docs"
}'More in Matching.