{
  "tool_id": "savings_goal",
  "slug": "savings-goal-calculator",
  "path": "/savings-goal-calculator/",
  "mode": "url_api",
  "api_usage": "GET https://aifinhub.io/api/savings-goal-calculator/?<params>",
  "sample_input": {
    "tool": "savings_goal",
    "goal_amount": 25000,
    "current_savings": 6000,
    "target_date_months": 24,
    "expected_annual_return": 4
  },
  "input_schema": {
    "type": "object",
    "properties": {
      "tool": {
        "type": "string"
      },
      "goal_amount": {
        "type": "integer"
      },
      "current_savings": {
        "type": "integer"
      },
      "target_date_months": {
        "type": "integer"
      },
      "expected_annual_return": {
        "type": "integer"
      }
    },
    "required": [
      "tool",
      "goal_amount",
      "current_savings",
      "target_date_months",
      "expected_annual_return"
    ]
  },
  "output_schema": {
    "type": "object",
    "properties": {
      "goalAmount": {
        "type": "number"
      },
      "currentSavings": {
        "type": "number"
      },
      "targetDateMonths": {
        "type": "number"
      },
      "expectedAnnualReturn": {
        "type": "number"
      },
      "amountStillNeeded": {
        "type": "number"
      },
      "monthlyContributionNeeded": {
        "type": "number"
      },
      "totalContributionsNeeded": {
        "type": "number"
      },
      "totalInterestEarned": {
        "type": "number"
      },
      "finalBalance": {
        "type": "number"
      },
      "progressPercent": {
        "type": "number"
      },
      "monthlyBreakdown": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "month": {
              "type": "number"
            },
            "startBalance": {
              "type": "number"
            },
            "contribution": {
              "type": "number"
            },
            "interest": {
              "type": "number"
            },
            "endBalance": {
              "type": "number"
            }
          }
        }
      },
      "feasible": {
        "type": "boolean"
      }
    }
  }
}
