prepareAccountSoulMessageBudget
ACR DashboardPrices/catalog/current ownership and commercial dependencies remain genuine native owner validation; no invented prices. Account Personal only; current actor, canonical surface and ownership remain authoritative. Explicit Team selection is rejected without fallback. No automatic mutation retry or invented replay journal. Preparation persists or replaces a canonical quote without committing a wallet debit. Prepare and commit use the SAME funding-intent UUID. Commit must echo the genuine quote including action/entity/terms; never automatically accept a replacement quote.
Authorization
bearerAuth Organization-scoped bearer credential. Credentials are scoped, revocable, and never represented by a Soul or operation ID.
In: header
Header Parameters
Canonical action UUID; mutation retries reuse this key. Reads also require a UUID at the machine transport boundary.
uuidUntrusted explicit workspace UUID. Omitted selects Personal. Workspace commands require current membership, role, surface and grant; explicit denied selection never falls back. Account-owned commands reject a nonpersonal selected workspace. One Account surface key spans currently authorized workspaces; selecting a workspace never issues another key.
uuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "https://acr.kallfi.red/v1/account/actions/prepareAccountSoulMessageBudget" \ -H "Idempotency-Key: 497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "Content-Type: application/json" \ -d '{ "body": { "entityId": "string", "messageCount": 1 } }'{ "quote": { "actionId": "string", "quoteId": "string", "entityId": "string", "webSurface": "nsfw-disabled", "messageCount": 1, "configuredValueCents": 1, "chargeValueCents": 1, "visibleGems": 1, "visibleGemHalfUnits": 1, "termsVersion": 1, "budgetVersion": 0, "operationCostValueCents": 1, "operationCostPolicyVersionId": "string", "gemValueVersionId": "string", "gemValueVersion": 1, "centsPerGemSnapshot": 1, "roundingPolicy": { "visible": "half_gem_ceil", "charge": "round_half_up" }, "resolvedAt": "string", "expiresAt": "string", "dependencyFingerprint": "string", "maxMessageCount": 1 }}