{
  "tool_id": "income_smoothing_buffer",
  "slug": "variable-income-buffer-paycheck-smoothing-planner",
  "path": "/variable-income-buffer-paycheck-smoothing-planner/",
  "mode": "url_api",
  "api_usage": "GET https://aifinhub.io/api/variable-income-buffer-paycheck-smoothing-planner/?<params>",
  "sample_input": {
    "tool": "income_smoothing_buffer",
    "monthly_income_history": [
      6200,
      5100,
      4300,
      7700
    ],
    "monthly_non_negotiable_expenses": 3800,
    "desired_monthly_draw": 4200,
    "confidence_target": 85,
    "current_buffer_balance": 6500,
    "outlier_trim_mode": true
  },
  "input_schema": {
    "type": "object",
    "properties": {
      "tool": {
        "type": "string"
      },
      "monthly_income_history": {
        "type": "array",
        "items": {
          "type": "integer"
        }
      },
      "monthly_non_negotiable_expenses": {
        "type": "integer"
      },
      "desired_monthly_draw": {
        "type": "integer"
      },
      "confidence_target": {
        "type": "integer"
      },
      "current_buffer_balance": {
        "type": "integer"
      },
      "outlier_trim_mode": {
        "type": "boolean"
      }
    },
    "required": [
      "tool",
      "monthly_income_history",
      "monthly_non_negotiable_expenses",
      "desired_monthly_draw",
      "confidence_target",
      "current_buffer_balance",
      "outlier_trim_mode"
    ]
  },
  "output_schema": {
    "type": "object",
    "properties": {
      "sanitizedIncomeHistory": {
        "type": "array",
        "items": {
          "type": "number"
        }
      },
      "recommendedMonthlyDraw": {
        "type": "number"
      },
      "requiredBufferByConfidence": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "confidence": {
              "type": "number"
            },
            "requiredBuffer": {
              "type": "number"
            }
          }
        }
      },
      "selectedRequiredBuffer": {
        "type": "number"
      },
      "shortfallProbability": {
        "type": "number"
      },
      "transferRule": {
        "type": "object",
        "properties": {
          "sweepThreshold": {
            "type": "number"
          },
          "topUpFloor": {
            "type": "number"
          },
          "expectedMonthlySweep": {
            "type": "number"
          }
        }
      },
      "monthsToReachTargetBuffer": {
        "type": "number"
      },
      "riskFlags": {
        "type": "array",
        "items": {}
      }
    }
  }
}
