Ausgabenlimit · Neu anlegen
create_business_budgetRequest a new General spending limit for one category and period through its human Owner card. Use update_business_budget to change an existing frame, create_business_role_budget to divide it among roles, and prepare_policy_change for advertising policy.
Build the new frame
Read every get_business_budgets(view=frames,includeArchived=true) page before choosing reachKey+startsOn. That pair identifies a frame: a different label or end date does not make it new. Update an existing pair; an archived overlap cannot be restored.
Choose reachKey as the workspace category identity and reachLabel as its readable name; neither selects a provider account or grants permission. Set limitCents to the whole requested EUR-cent cap, not an addition or available cash. Renaming a category changes its label, not its identity.
Human handoff and recovery
owner_approval_required/activates=false means no spending authority yet. Only a human confirms. requestKey is not journal-idempotency here: repeating the call may create another pending request. After uncertainty, read the same proposalId via get_business_change and check the frame rather than creating again.
Requires operator:prepare, accounting:read, operations:read and current module access; confirmation retains Owner checks. No payment or provider action occurs.
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": {
"goal": "<goal>",
"startsOn": "<startsOn>",
"endsOn": "<endsOn>",
"reachKey": "<reachKey>",
"reachLabel": "<reachLabel>",
"limitCents": "<limitCents>"
},
"name": "create_business_budget"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | Purpose of the selected spending frame. | |
| endsOn | Yes | Last included UTC calendar day, on or after startsOn. | |
| reachKey | Yes | Workspace-local spending category key, not a provider account or permission. Creation may introduce a key; updates and role allocations copy the selected frame’s key. | |
| startsOn | Yes | First included UTC calendar day. Together with reachKey identifies a General frame. | |
| limitCents | Yes | General/role limit in safe integer EUR cents. Zero blocks positive new spending; it does not archive. No currency conversion. | |
| reachLabel | Yes | Display label for reachKey. | |
| requestKey | No | Optional legacy reference, not journal-idempotency. After uncertainty read the frame/request instead of repeating the write. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| budget | No | Existing SpendLimitRow returned by a direct General change; this is not the measured read projection. | |
| reason | No | Rejection reason; no requested change was applied. | |
| status | Yes | Stored General limit/role share, unactivated human request, or rejected change. Archive preparation never reports an archived frame. | |
| activates | No | True for an applied General/role change; false for a human request or rejection when present. | |
| nextAction | No | ||
| proposalId | No | Existing stored human-request identity, not a budgetId or allocationId. | |
| presentation | No | The persisted receipt survives an unavailable card. Read the same proposal; never prepare another request. |