portal_quote_accept
Accepts a portal quote after verifying the token authorizes it for the grant's contact, then performs the real accept. Same idempotency key re-returns the original acceptance, preventing double issue.
Instructions
Nimm eine Offerte über das Portal an (US-F02.3): fence-checks the token (the quote must be in scope AND belong to the grant's contact) then DELEGATES to C02's real accept (the A10 sent -> accepted transition) with actor portal:. F02 owns no quote state and hand-rolls no invoice. Idempotent via idempotencyKey: a same-key re-accept returns the original, never a second acceptance (no double-issue). C02's own errors (invalid_transition on a non-sent quote, quote_expired) surface unchanged. A refused accept writes zero rows. Token-authenticated, pre-workspace: no workspaceId.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | ||
| quoteId | Yes | ||
| idempotencyKey | No |