accept_autopost_decision
One-click accept of a held decision (accountant) — posts the AI's proposal.
The accepting actor's approval replaces every soft guardrail (confidence,
amount cap, risk flags); hard blocks stay enforced by the posting path (closed
period / sealed FY / unresolvable accounts → 409/422). The accepted entry posts
as origin=ai with the accepting user in the audit trail
(accepted_by/accepted_at + JE posted_by); the row flips
held → posted in place, so a second accept is a 409 (idempotent).
accepted_by_kind records what kind of actor approved: an accept made over
MCP is recorded as mcp, not as a person's click.
The optional body serves three holds and is omitted for every other kind:
expense:receipt:item: needs employee_id + category_id for the draft
claim, autopost:capitalize: needs fixed_asset_category_id (+ optional
useful_life_months) when the hold resolved no category, and a
needs_split_source mixed invoice needs reclassify_from_account_code —
422 without them.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | ||
| company_id | Yes | ||
| decision_id | Yes |