Accept a signed proposal and create exactly one authenticated commitment
accept_commitmentAccepts a signed preflight proposal with explicit buyer authorization and creates exactly ONE authenticated SAAX commitment. Revalidates the proposal (trusted provider key, profile version, expiry, combination, manifest digest), verifies the BUYER'S SIGNATURE over the exact proposal digest and terms digest, durably accepts once (single-writer store), and returns the operation + commitment. Creates NO payment authorization, custody funding, service execution, or release. A buyer acceptance is NOT a payment authorization or evaluator release verdict. Errors are typed DSC_* codes. Idempotent: same idempotencyKey + same request returns the same operation; same key + different request -> DSC_NONCE_CONFLICT; a single-use proposal cannot be re-accepted under a new key -> DSC_PROPOSAL_REUSED.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"proposal": "<proposal>",
"acceptance": "<acceptance>",
"idempotencyKey": "<idempotencyKey>"
},
"name": "accept_commitment"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| proposal | Yes | The signed proposal returned by prepare_commitment (full object incl. signature) | |
| acceptance | Yes | The buyer acceptance contract (schemaVersion acceptance-v1, action accept_commitment, domain saax:acceptance:v1, signed by the buyer) | |
| idempotencyKey | Yes | Caller-scoped idempotency key (>= 8 chars) |