Set a credit spending limit
Make an authorized change through your connected assistant.
outwrite_set_credit_spending_limitoutwrite_set_credit_spending_limit
Set or remove an account, tracker, Auto Blog, optimizer, editor or research credit cap until an explicit end date. Null removes the cap. Account changes affect all websites; explain this before confirming. Requires explicit user intent, confirm:true, a UUID idempotencyKey and maximumCredits for this immediate action. Recurring settings require recurringConsent:true after the user approves their ongoing costs. Retry identical arguments with the same key; inspect an uncertain receipt before any new action.
Access and behavior
| Property | Value |
|---|---|
| Permission | account:manage |
| Effect | Can change your workspace |
Read the current workspace state before making a change. Respect the returned proposal, revision and operation state rather than assuming the request has finished.
Parameters
| Parameter | Required | Type | Details |
|---|---|---|---|
workspaceId | Optional | string | Format: uuid. |
scope | Required | string | One of: account, tracker, autoblog, optimizer, editor, research. |
credits | Required | variant | See the complete schema below. |
periodEnd | Required | string | Format: date-time. |
idempotencyKey | Required | string | Format: uuid. |
confirm | Required | boolean | Value: true. |
maximumCredits | Required | number | Minimum 0. Maximum 100000. |
recurringConsent | Optional | boolean | Default: false. |
Complete input schema
The schema is generated from the registered tool contract. Account permissions, revision checks and cross-field validation also apply on the server.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"scope": {
"type": "string",
"enum": [
"account",
"tracker",
"autoblog",
"optimizer",
"editor",
"research"
]
},
"credits": {
"anyOf": [
{
"type": "number",
"minimum": 0,
"maximum": 100000
},
{
"type": "null"
}
]
},
"periodEnd": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
"idempotencyKey": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"confirm": {
"type": "boolean",
"const": true
},
"maximumCredits": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"recurringConsent": {
"default": false,
"type": "boolean"
}
},
"required": [
"scope",
"credits",
"periodEnd",
"idempotencyKey",
"confirm",
"maximumCredits"
],
"additionalProperties": false
}
Working safely
For an identical retry, reuse its idempotency key. If the saved state changed, read it again and prepare a new request. An operation that is queued or running is not complete.