Debt Payoff Planner by DefineYourDollars.com

Debt Payoff Planner by DefineYourDollars.com · GPT 작업

DefineYourDollars Debt Payoff Plan API

API to generate a comprehensive debt payoff plan based on user financial data

  • POST /Generate Debt Payoff Plan

    Generates a comprehensive debt payoff plan based on user's income, expenses, and debts

원본 API 스키마
{
  "openapi": "3.1.0",
  "info": {
    "title": "DefineYourDollars Debt Payoff Plan API",
    "description": "API to generate a comprehensive debt payoff plan based on user financial data",
    "version": "1.0.1"
  },
  "servers": [
    {
      "url": "https://api.defineyourdollars.com/api/gpt/getgptplan"
    }
  ],
  "paths": {
    "/": {
      "post": {
        "summary": "Generate Debt Payoff Plan",
        "description": "Generates a comprehensive debt payoff plan based on user's income, expenses, and debts",
        "operationId": "generatePayoffPlan",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "plan": {
                    "type": "object",
                    "properties": {
                      "income": {
                        "type": "array",
                        "description": "List of income sources",
                        "items": {
                          "type": "object",
                          "required": [
                            "name",
                            "period",
                            "amount"
                          ],
                          "properties": {
                            "name": {
                              "type": "string",
                              "description": "Name of the income source"
                            },
                            "amount": {
                              "type": "number",
                              "description": "This is the actual real monthly income amount of the source"
                            }
                          }
                        }
                      },
                      "needs": {
                        "type": "array",
                        "description": "List of essential expenses",
                        "items": {
                          "type": "object",
                          "required": [
                            "name",
                            "amount",
                            "active"
                          ],
                          "properties": {
                            "name": {
                              "type": "string",
                              "description": "Name of the expense"
                            },
                            "amount": {
                              "type": "number",
                              "description": "Monthly expense amount"
                            },
                            "active": {
                              "type": "boolean",
                              "description": "Whether this expense is active in the calculation"
                            }
                          }
                        }
                      },
                      "fun": {
                        "type": "array",
                        "description": "List of discretionary/entertainment expenses",
                        "items": {
                          "type": "object",
                          "required": [
                            "name",
                            "amount",
                            "active"
                          ],
                          "properties": {
                            "name": {
                              "type": "string",
                              "description": "Name of the expense"
                            },
                            "amount": {
                              "type": "number",
                              "description": "Monthly expense amount"
                            },
                            "active": {
                              "type": "boolean",
                              "description": "Whether this expense is active in the calculation"
                            }
                          }
                        }
                      },
                      "bills": {
                        "type": "array",
                        "description": "List of recurring bills",
                        "items": {
                          "type": "object",
                          "required": [
                            "name",
                            "amount",
                            "active"
                          ],
                          "properties": {
                            "name": {
                              "type": "string",
                              "description": "Name of the bill"
                            },
                            "amount": {
                              "type": "number",
                              "description": "Monthly bill amount"
                            },
                            "active": {
                              "type": "boolean",
                              "description": "Whether this bill is active in the calculation"
                            }
                          }
                        }
                      },
                      "debts": {
                        "type": "array",
                        "description": "List of debts to be paid off",
                        "items": {
                          "type": "object",
                          "required": [
                            "name",
                            "amount",
                            "minPayment",
                            "apr",
                            "priority",
                            "active"
                          ],
                          "properties": {
                            "name": {
                              "type": "string",
                              "description": "Name of the debt"
                            },
                            "amount": {
                              "type": "number",
                              "description": "Current balance of the debt"
                            },
                            "minPayment": {
                              "type": "number",
                              "description": "Minimum monthly payment required"
                            },
                            "apr": {
                              "type": "number",
                              "description": "Annual Percentage Rate (APR) of the debt as a decimal (e.g., 0.29 for 29%)"
                            },
                            "priority": {
                              "type": "integer",
                              "description": "Payment priority (lower numbers are paid off first). Prioritise by Avalanche Method, highest interest first!"
                            },
                            "active": {
                              "type": "boolean",
                              "description": "Whether this debt is active in the calculation"
                            }
                          }
                        }
                      }
                    },
                    "required": [
                      "income",
                      "needs",
                      "fun",
                      "bills",
                      "debts"
                    ]
                  }
                },
                "required": [
                  "plan"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful debt payoff plan generation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "description": "Indicates if the plan was successfully generated"
                    },
                    "plan": {
                      "type": "array",
                      "description": "Month-by-month debt payoff plan",
                      "items": {
                        "type": "object",
                        "properties": {
                          "payments": {
                            "type": "array",
                            "description": "List of payments for this month",
                            "items": {
                              "type": "object",
                              "properties": {
                                "debtPaid": {
                                  "type": "string",
                                  "description": "Name of the debt being paid"
                                },
                                "amountPaid": {
                                  "type": [
                                    "number",
                                    "null",
                                    "string"
                                  ],
                                  "description": "Amount paid this month or null if extra payment"
                                },
                                "startingBalance": {
                                  "type": [
                                    "string",
                                    "number"
                                  ],
                                  "description": "Balance at start of month"
                                },
                                "prePaymentBalance": {
                                  "type": [
                                    "string",
                                    "number"
                                  ],
                                  "description": "Balance before payment"
                                },
                                "amountLeft": {
                                  "type": [
                                    "number",
                                    "string"
                                  ],
                                  "description": "Remaining balance after payment"
                                },
                                "interestPaid": {
                                  "type": [
                                    "string",
                                    "number"
                                  ],
                                  "description": "Interest paid this month"
                                },
                                "applyExtra": {
                                  "type": "boolean",
                                  "description": "Whether extra payment was applied"
                                },
                                "applyExtraAmount": {
                                  "type": "number",
                                  "description": "Amount of extra payment applied"
                                }
                              }
                            }
                          },
                          "powerBeforeDebtPayments": {
                            "type": "number",
                            "description": "Available funds before debt payments"
                          },
                          "totalInterestAccrued": {
                            "type": "number",
                            "description": "Total interest paid so far in the plan"
                          },
                          "month": {
                            "type": "integer",
                            "description": "Month number (1-12)"
                          },
                          "year": {
                            "type": "integer",
                            "description": "Year"
                          },
                          "order": {
                            "type": "string",
                            "description": "YYYYMM format of the month and year"
                          },
                          "totalAccountsOpen": {
                            "type": "integer",
                            "description": "Number of accounts still open"
                          },
                          "totalBalance": {
                            "type": [
                              "string",
                              "number"
                            ],
                            "description": "Total remaining debt balance"
                          },
                          "totalBalanceBeforePayments": {
                            "type": "number",
                            "description": "Total debt balance before this month's payments"
                          },
                          "totalAccountsOpenBeforePayments": {
                            "type": "integer",
                            "description": "Number of accounts open before this month's payments"
                          },
                          "freedUpPowerForThisMonth": {
                            "type": "number",
                            "description": "Amount of money freed up this month"
                          },
                          "freedUpPowerTotal": {
                            "type": [
                              "number",
                              "integer"
                            ],
                            "description": "Total amount of money freed up so far"
                          },
                          "powerAfterDebtPayments": {
                            "type": "number",
                            "description": "Available funds after debt payments"
                          }
                        }
                      }
                    },
                    "totalInterestPaid": {
                      "type": "number",
                      "description": "Total interest paid over the entire plan"
                    },
                    "monthsToPayoff": {
                      "type": "integer",
                      "description": "Number of months needed to pay off all debts"
                    },
                    "planUrl": {
                      "type": "string",
                      "description": "URL to view the complete plan"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request - invalid input data",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "enum": [
                        false
                      ]
                    },
                    "error": {
                      "type": "string",
                      "description": "Error message"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}