{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/harness/main/json-schema/harness-manage-budget-alerts-request-schema.json", "title": "ManageBudgetAlertsRequest", "x-generated": "2026-10-04", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/harness-budgets-api-openapi.yml#/components/schemas/ManageBudgetAlertsRequest", "required": [ "action", "budgetIds" ], "type": "object", "properties": { "budgetIds": { "type": "array", "description": "List of budget IDs to perform action on.", "items": { "type": "string", "description": "List of budget IDs to perform action on." } }, "action": { "type": "string", "description": "Action to perform on the budgets.", "enum": [ "DELETE_ALL_ALERTS", "ADD_ALERTS", "ADD_RECIPIENTS", "REMOVE_RECIPIENTS" ] }, "emailRecipients": { "type": "array", "description": "List of email recipients. Required for ADD_RECIPIENTS or REMOVE_RECIPIENTS.", "items": { "type": "string", "description": "List of email recipients. Required for ADD_RECIPIENTS or REMOVE_RECIPIENTS." } }, "slackRecipients": { "type": "array", "description": "List of Slack recipients. Required for ADD_RECIPIENTS or REMOVE_RECIPIENTS.", "items": { "type": "string", "description": "List of Slack recipients. Required for ADD_RECIPIENTS or REMOVE_RECIPIENTS." } }, "alertThresholds": { "type": "array", "description": "List of alert thresholds. Required for ADD_ALERTS.", "items": { "$ref": "#/$defs/AlertThreshold" } } }, "$defs": { "AlertThreshold": { "type": "object", "properties": { "percentage": { "type": "number", "format": "double" }, "basedOn": { "type": "string", "description": "Whether the alert is based on Actual cost or next 30 days Forecasted Cost", "enum": [ "ACTUAL_COST", "FORECASTED_COST", "PARTIAL_COST", "YEARLY_ACTUAL_COST", "YEARLY_FORECASTED_COST" ] }, "emailAddresses": { "type": "array", "items": { "type": "string" } }, "userGroupIds": { "type": "array", "items": { "type": "string" } }, "slackWebhooks": { "type": "array", "items": { "type": "string" } }, "alertsSent": { "type": "integer", "format": "int32" }, "crossedAt": { "type": "integer", "format": "int64" } }, "description": "A description of a single Alert" } } }