{
  "version": "1.0",
  "modules": [
    {
      "name": "Calculation Management",
      "prefix": "/calculation-management",
      "endpoints": [
        {
          "method": "POST",
          "path": "/calculation-settings",
          "summary": "Create Calculation Settings",
          "description": "Creates new calculation settings with default values and display preferences. Returns 409 if settings_id already exists.",
          "request_body": {
            "schema_name": "CalculationsettingsCreate",
            "fields": [
              {
                "name": "settings_id",
                "type": "str",
                "required": false
              },
              {
                "name": "default_loan_amount",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "default_interest_rate",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "default_loan_term",
                "type": "int",
                "required": false
              },
              {
                "name": "currency_symbol",
                "type": "str",
                "required": false
              },
              {
                "name": "decimal_precision",
                "type": "int",
                "required": false
              },
              {
                "name": "date_format",
                "type": "str",
                "required": false
              }
            ]
          },
          "response": {
            "schema_name": "CalculationsettingsResponse",
            "fields": [
              {
                "name": "settings_id",
                "type": "str",
                "required": false
              },
              {
                "name": "default_loan_amount",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "default_interest_rate",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "default_loan_term",
                "type": "int",
                "required": false
              },
              {
                "name": "currency_symbol",
                "type": "str",
                "required": false
              },
              {
                "name": "decimal_precision",
                "type": "int",
                "required": false
              },
              {
                "name": "date_format",
                "type": "str",
                "required": false
              },
              {
                "name": "id",
                "type": "StrId",
                "required": true
              },
              {
                "name": "created_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "updated_at",
                "type": "datetime",
                "required": true
              }
            ],
            "is_list": false
          },
          "status_code": 201
        },
        {
          "method": "GET",
          "path": "/calculation-settings/{entity_id}",
          "summary": "Get Calculation Settings by ID",
          "description": "Retrieves calculation settings by UUID. Returns 404 if not found.",
          "path_params": [
            {
              "name": "entity_id",
              "type": "str"
            }
          ],
          "response": {
            "schema_name": "CalculationsettingsResponse",
            "fields": [
              {
                "name": "settings_id",
                "type": "str",
                "required": false
              },
              {
                "name": "default_loan_amount",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "default_interest_rate",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "default_loan_term",
                "type": "int",
                "required": false
              },
              {
                "name": "currency_symbol",
                "type": "str",
                "required": false
              },
              {
                "name": "decimal_precision",
                "type": "int",
                "required": false
              },
              {
                "name": "date_format",
                "type": "str",
                "required": false
              },
              {
                "name": "id",
                "type": "StrId",
                "required": true
              },
              {
                "name": "created_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "updated_at",
                "type": "datetime",
                "required": true
              }
            ],
            "is_list": false
          },
          "status_code": 200
        },
        {
          "method": "GET",
          "path": "/calculation-settings/default/current",
          "summary": "Get Default Calculation Settings",
          "description": "Retrieves the default calculation settings for the loan calculator. Returns the first available settings record.",
          "response": {
            "schema_name": "CalculationsettingsResponse",
            "fields": [
              {
                "name": "settings_id",
                "type": "str",
                "required": false
              },
              {
                "name": "default_loan_amount",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "default_interest_rate",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "default_loan_term",
                "type": "int",
                "required": false
              },
              {
                "name": "currency_symbol",
                "type": "str",
                "required": false
              },
              {
                "name": "decimal_precision",
                "type": "int",
                "required": false
              },
              {
                "name": "date_format",
                "type": "str",
                "required": false
              },
              {
                "name": "id",
                "type": "StrId",
                "required": true
              },
              {
                "name": "created_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "updated_at",
                "type": "datetime",
                "required": true
              }
            ],
            "is_list": false
          },
          "status_code": 200
        },
        {
          "method": "GET",
          "path": "/calculation-settings",
          "summary": "List Calculation Settings",
          "description": "Returns a paginated list of all calculation settings records.",
          "query_params": [
            {
              "name": "limit",
              "type": "int",
              "required": false,
              "default": 20
            },
            {
              "name": "offset",
              "type": "int",
              "required": false,
              "default": 0
            }
          ],
          "response": {
            "schema_name": "PaginatedResponse[CalculationsettingsResponse]",
            "is_list": false,
            "fields": []
          },
          "status_code": 200
        },
        {
          "method": "PUT",
          "path": "/calculation-settings/{entity_id}",
          "summary": "Update Calculation Settings",
          "description": "Updates an existing calculation settings record. Returns 404 if not found, 409 if new settings_id conflicts with existing record.",
          "path_params": [
            {
              "name": "entity_id",
              "type": "str"
            }
          ],
          "request_body": {
            "schema_name": "CalculationsettingsUpdate",
            "fields": [
              {
                "name": "settings_id",
                "type": "str",
                "required": false,
                "nullable": true
              },
              {
                "name": "default_loan_amount",
                "type": "Decimal",
                "required": false,
                "nullable": true
              },
              {
                "name": "default_interest_rate",
                "type": "Decimal",
                "required": false,
                "nullable": true
              },
              {
                "name": "default_loan_term",
                "type": "int",
                "required": false,
                "nullable": true
              },
              {
                "name": "currency_symbol",
                "type": "str",
                "required": false,
                "nullable": true
              },
              {
                "name": "decimal_precision",
                "type": "int",
                "required": false,
                "nullable": true
              },
              {
                "name": "date_format",
                "type": "str",
                "required": false,
                "nullable": true
              }
            ]
          },
          "response": {
            "schema_name": "CalculationsettingsResponse",
            "fields": [
              {
                "name": "settings_id",
                "type": "str",
                "required": false
              },
              {
                "name": "default_loan_amount",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "default_interest_rate",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "default_loan_term",
                "type": "int",
                "required": false
              },
              {
                "name": "currency_symbol",
                "type": "str",
                "required": false
              },
              {
                "name": "decimal_precision",
                "type": "int",
                "required": false
              },
              {
                "name": "date_format",
                "type": "str",
                "required": false
              },
              {
                "name": "id",
                "type": "StrId",
                "required": true
              },
              {
                "name": "created_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "updated_at",
                "type": "datetime",
                "required": true
              }
            ],
            "is_list": false
          },
          "status_code": 200
        },
        {
          "method": "DELETE",
          "path": "/calculation-settings/{entity_id}",
          "summary": "Delete Calculation Settings",
          "description": "Deletes a calculation settings record. Returns 404 if not found, 409 if still referenced by loan calculations.",
          "path_params": [
            {
              "name": "entity_id",
              "type": "str"
            }
          ],
          "status_code": 200
        },
        {
          "method": "POST",
          "path": "/loan-calculations",
          "summary": "Create Loan Calculation",
          "description": "Creates a new loan calculation record with all computed fields. Returns 409 if calculation_id already exists.",
          "request_body": {
            "schema_name": "LoancalculationCreate",
            "fields": [
              {
                "name": "calculation_id",
                "type": "str",
                "required": false
              },
              {
                "name": "settings_id",
                "type": "StrId",
                "required": false,
                "nullable": true
              },
              {
                "name": "principal_amount",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "annual_interest_rate",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "loan_term_months",
                "type": "int",
                "required": false
              },
              {
                "name": "monthly_payment",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "total_interest",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "total_amount_paid",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "calculation_timestamp",
                "type": "datetime",
                "required": true
              }
            ]
          },
          "response": {
            "schema_name": "LoancalculationResponse",
            "fields": [
              {
                "name": "calculation_id",
                "type": "str",
                "required": false
              },
              {
                "name": "settings_id",
                "type": "StrId",
                "required": false,
                "nullable": true
              },
              {
                "name": "principal_amount",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "annual_interest_rate",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "loan_term_months",
                "type": "int",
                "required": false
              },
              {
                "name": "monthly_payment",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "total_interest",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "total_amount_paid",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "calculation_timestamp",
                "type": "datetime",
                "required": true
              },
              {
                "name": "id",
                "type": "StrId",
                "required": true
              },
              {
                "name": "created_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "updated_at",
                "type": "datetime",
                "required": true
              }
            ],
            "is_list": false
          },
          "status_code": 201
        },
        {
          "method": "GET",
          "path": "/loan-calculations/{entity_id}",
          "summary": "Get Loan Calculation by ID",
          "description": "Retrieves a loan calculation by UUID. Returns 404 if not found.",
          "path_params": [
            {
              "name": "entity_id",
              "type": "str"
            }
          ],
          "response": {
            "schema_name": "LoancalculationResponse",
            "fields": [
              {
                "name": "calculation_id",
                "type": "str",
                "required": false
              },
              {
                "name": "settings_id",
                "type": "StrId",
                "required": false,
                "nullable": true
              },
              {
                "name": "principal_amount",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "annual_interest_rate",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "loan_term_months",
                "type": "int",
                "required": false
              },
              {
                "name": "monthly_payment",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "total_interest",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "total_amount_paid",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "calculation_timestamp",
                "type": "datetime",
                "required": true
              },
              {
                "name": "id",
                "type": "StrId",
                "required": true
              },
              {
                "name": "created_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "updated_at",
                "type": "datetime",
                "required": true
              }
            ],
            "is_list": false
          },
          "status_code": 200
        },
        {
          "method": "GET",
          "path": "/loan-calculations/{entity_id}/details",
          "summary": "Get Loan Calculation Details",
          "description": "Retrieves loan calculation with associated settings and full amortization schedule. Returns 404 if not found.",
          "path_params": [
            {
              "name": "entity_id",
              "type": "str"
            }
          ],
          "response": {
            "schema_name": "LoancalculationDetailResponse",
            "fields": [
              {
                "name": "id",
                "type": "StrId",
                "required": true
              },
              {
                "name": "calculation_id",
                "type": "str",
                "required": true
              },
              {
                "name": "settings_id",
                "type": "StrId",
                "required": false,
                "nullable": true
              },
              {
                "name": "principal_amount",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "annual_interest_rate",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "loan_term_months",
                "type": "int",
                "required": true
              },
              {
                "name": "monthly_payment",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "total_interest",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "total_amount_paid",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "calculation_timestamp",
                "type": "datetime",
                "required": true
              },
              {
                "name": "created_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "updated_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "settings",
                "type": "CalculationsettingsSummary",
                "required": false,
                "nullable": true,
                "fields": [
                  {
                    "name": "currency_symbol",
                    "type": "str",
                    "required": true
                  },
                  {
                    "name": "decimal_precision",
                    "type": "int",
                    "required": true
                  },
                  {
                    "name": "date_format",
                    "type": "str",
                    "required": true
                  }
                ]
              },
              {
                "name": "amortization_entries",
                "type": "List[AmortizationentrySummary]",
                "required": true,
                "is_list": true,
                "item_fields": [
                  {
                    "name": "payment_number",
                    "type": "int",
                    "required": true
                  },
                  {
                    "name": "payment_date",
                    "type": "date",
                    "required": true
                  },
                  {
                    "name": "payment_amount",
                    "type": "Decimal",
                    "required": true
                  },
                  {
                    "name": "principal_portion",
                    "type": "Decimal",
                    "required": true
                  },
                  {
                    "name": "interest_portion",
                    "type": "Decimal",
                    "required": true
                  },
                  {
                    "name": "remaining_balance",
                    "type": "Decimal",
                    "required": true
                  }
                ]
              }
            ],
            "is_list": false
          },
          "status_code": 200
        },
        {
          "method": "GET",
          "path": "/loan-calculations",
          "summary": "List Loan Calculations",
          "description": "Returns a paginated list of loan calculations with optional filtering by calculation_id or settings_id.",
          "query_params": [
            {
              "name": "limit",
              "type": "int",
              "required": false,
              "default": 20
            },
            {
              "name": "offset",
              "type": "int",
              "required": false,
              "default": 0
            },
            {
              "name": "calculation_id",
              "type": "str",
              "required": false
            },
            {
              "name": "settings_id",
              "type": "str",
              "required": false
            }
          ],
          "response": {
            "schema_name": "PaginatedResponse[LoancalculationResponse]",
            "is_list": false,
            "fields": []
          },
          "status_code": 200
        },
        {
          "method": "PUT",
          "path": "/loan-calculations/{entity_id}",
          "summary": "Update Loan Calculation",
          "description": "Updates an existing loan calculation. Returns 404 if not found, 409 if new calculation_id conflicts.",
          "path_params": [
            {
              "name": "entity_id",
              "type": "str"
            }
          ],
          "request_body": {
            "schema_name": "LoancalculationUpdate",
            "fields": [
              {
                "name": "calculation_id",
                "type": "str",
                "required": false,
                "nullable": true
              },
              {
                "name": "settings_id",
                "type": "StrId",
                "required": false,
                "nullable": true
              },
              {
                "name": "principal_amount",
                "type": "Decimal",
                "required": false,
                "nullable": true
              },
              {
                "name": "annual_interest_rate",
                "type": "Decimal",
                "required": false,
                "nullable": true
              },
              {
                "name": "loan_term_months",
                "type": "int",
                "required": false,
                "nullable": true
              },
              {
                "name": "monthly_payment",
                "type": "Decimal",
                "required": false,
                "nullable": true
              },
              {
                "name": "total_interest",
                "type": "Decimal",
                "required": false,
                "nullable": true
              },
              {
                "name": "total_amount_paid",
                "type": "Decimal",
                "required": false,
                "nullable": true
              },
              {
                "name": "calculation_timestamp",
                "type": "datetime",
                "required": false,
                "nullable": true
              }
            ]
          },
          "response": {
            "schema_name": "LoancalculationResponse",
            "fields": [
              {
                "name": "calculation_id",
                "type": "str",
                "required": false
              },
              {
                "name": "settings_id",
                "type": "StrId",
                "required": false,
                "nullable": true
              },
              {
                "name": "principal_amount",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "annual_interest_rate",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "loan_term_months",
                "type": "int",
                "required": false
              },
              {
                "name": "monthly_payment",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "total_interest",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "total_amount_paid",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "calculation_timestamp",
                "type": "datetime",
                "required": true
              },
              {
                "name": "id",
                "type": "StrId",
                "required": true
              },
              {
                "name": "created_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "updated_at",
                "type": "datetime",
                "required": true
              }
            ],
            "is_list": false
          },
          "status_code": 200
        },
        {
          "method": "DELETE",
          "path": "/loan-calculations/{entity_id}",
          "summary": "Delete Loan Calculation",
          "description": "Deletes a loan calculation and all associated amortization entries. Returns 404 if not found.",
          "path_params": [
            {
              "name": "entity_id",
              "type": "str"
            }
          ],
          "status_code": 200
        },
        {
          "method": "POST",
          "path": "/loan-calculations/calculate",
          "summary": "Calculate Loan with Amortization Schedule",
          "description": "Performs complete loan calculation including monthly payment, total interest, and generates full amortization schedule with one entry per month. Validates all inputs against business rules. Returns 400 for invalid inputs, 409 if calculation_id already exists.",
          "query_params": [
            {
              "name": "principal_amount",
              "type": "Decimal",
              "required": false,
              "default": null
            },
            {
              "name": "annual_interest_rate",
              "type": "Decimal",
              "required": false,
              "default": null
            },
            {
              "name": "loan_term_months",
              "type": "int",
              "required": false,
              "default": null
            },
            {
              "name": "settings_id",
              "type": "str",
              "required": false
            },
            {
              "name": "start_date",
              "type": "datetime",
              "required": false
            }
          ],
          "response": {
            "schema_name": "LoancalculationDetailResponse",
            "fields": [
              {
                "name": "id",
                "type": "StrId",
                "required": true
              },
              {
                "name": "calculation_id",
                "type": "str",
                "required": true
              },
              {
                "name": "settings_id",
                "type": "StrId",
                "required": false,
                "nullable": true
              },
              {
                "name": "principal_amount",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "annual_interest_rate",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "loan_term_months",
                "type": "int",
                "required": true
              },
              {
                "name": "monthly_payment",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "total_interest",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "total_amount_paid",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "calculation_timestamp",
                "type": "datetime",
                "required": true
              },
              {
                "name": "created_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "updated_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "settings",
                "type": "CalculationsettingsSummary",
                "required": false,
                "nullable": true,
                "fields": [
                  {
                    "name": "currency_symbol",
                    "type": "str",
                    "required": true
                  },
                  {
                    "name": "decimal_precision",
                    "type": "int",
                    "required": true
                  },
                  {
                    "name": "date_format",
                    "type": "str",
                    "required": true
                  }
                ]
              },
              {
                "name": "amortization_entries",
                "type": "List[AmortizationentrySummary]",
                "required": true,
                "is_list": true,
                "item_fields": [
                  {
                    "name": "payment_number",
                    "type": "int",
                    "required": true
                  },
                  {
                    "name": "payment_date",
                    "type": "date",
                    "required": true
                  },
                  {
                    "name": "payment_amount",
                    "type": "Decimal",
                    "required": true
                  },
                  {
                    "name": "principal_portion",
                    "type": "Decimal",
                    "required": true
                  },
                  {
                    "name": "interest_portion",
                    "type": "Decimal",
                    "required": true
                  },
                  {
                    "name": "remaining_balance",
                    "type": "Decimal",
                    "required": true
                  }
                ]
              }
            ],
            "is_list": false
          },
          "status_code": 201
        },
        {
          "method": "GET",
          "path": "/loan-calculations/{calculation_id}/amortization-schedule",
          "summary": "Get Amortization Schedule",
          "description": "Retrieves the complete amortization schedule for a loan calculation, showing payment breakdown for each month. Returns 404 if calculation not found.",
          "path_params": [
            {
              "name": "calculation_id",
              "type": "str"
            }
          ],
          "response": {
            "schema_name": "list[AmortizationentrySummary]",
            "is_list": false,
            "fields": []
          },
          "status_code": 200
        },
        {
          "method": "POST",
          "path": "/amortization-entries",
          "summary": "Create Amortization Entry",
          "description": "Creates a new amortization entry for a loan calculation. Returns 409 if entry_id already exists, 400 if referenced calculation does not exist.",
          "request_body": {
            "schema_name": "AmortizationentryCreate",
            "fields": [
              {
                "name": "entry_id",
                "type": "str",
                "required": false
              },
              {
                "name": "calculation_id",
                "type": "StrId",
                "required": true
              },
              {
                "name": "payment_number",
                "type": "int",
                "required": false
              },
              {
                "name": "payment_date",
                "type": "date",
                "required": true
              },
              {
                "name": "payment_amount",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "principal_portion",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "interest_portion",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "remaining_balance",
                "type": "Decimal",
                "required": false
              }
            ]
          },
          "response": {
            "schema_name": "AmortizationentryResponse",
            "fields": [
              {
                "name": "entry_id",
                "type": "str",
                "required": false
              },
              {
                "name": "calculation_id",
                "type": "StrId",
                "required": true
              },
              {
                "name": "payment_number",
                "type": "int",
                "required": false
              },
              {
                "name": "payment_date",
                "type": "date",
                "required": true
              },
              {
                "name": "payment_amount",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "principal_portion",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "interest_portion",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "remaining_balance",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "id",
                "type": "StrId",
                "required": true
              },
              {
                "name": "created_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "updated_at",
                "type": "datetime",
                "required": true
              }
            ],
            "is_list": false
          },
          "status_code": 201
        },
        {
          "method": "GET",
          "path": "/amortization-entries/{entity_id}",
          "summary": "Get Amortization Entry by ID",
          "description": "Retrieves an amortization entry by UUID. Returns 404 if not found.",
          "path_params": [
            {
              "name": "entity_id",
              "type": "str"
            }
          ],
          "response": {
            "schema_name": "AmortizationentryResponse",
            "fields": [
              {
                "name": "entry_id",
                "type": "str",
                "required": false
              },
              {
                "name": "calculation_id",
                "type": "StrId",
                "required": true
              },
              {
                "name": "payment_number",
                "type": "int",
                "required": false
              },
              {
                "name": "payment_date",
                "type": "date",
                "required": true
              },
              {
                "name": "payment_amount",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "principal_portion",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "interest_portion",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "remaining_balance",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "id",
                "type": "StrId",
                "required": true
              },
              {
                "name": "created_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "updated_at",
                "type": "datetime",
                "required": true
              }
            ],
            "is_list": false
          },
          "status_code": 200
        },
        {
          "method": "GET",
          "path": "/amortization-entries",
          "summary": "List Amortization Entries",
          "description": "Returns a paginated list of amortization entries with optional filtering by calculation_id.",
          "query_params": [
            {
              "name": "limit",
              "type": "int",
              "required": false,
              "default": 20
            },
            {
              "name": "offset",
              "type": "int",
              "required": false,
              "default": 0
            },
            {
              "name": "calculation_id",
              "type": "str",
              "required": false
            }
          ],
          "response": {
            "schema_name": "PaginatedResponse[AmortizationentryResponse]",
            "is_list": false,
            "fields": []
          },
          "status_code": 200
        },
        {
          "method": "PUT",
          "path": "/amortization-entries/{entity_id}",
          "summary": "Update Amortization Entry",
          "description": "Updates an existing amortization entry. Returns 404 if not found, 409 if new entry_id conflicts.",
          "path_params": [
            {
              "name": "entity_id",
              "type": "str"
            }
          ],
          "request_body": {
            "schema_name": "AmortizationentryUpdate",
            "fields": [
              {
                "name": "entry_id",
                "type": "str",
                "required": false,
                "nullable": true
              },
              {
                "name": "calculation_id",
                "type": "StrId",
                "required": false,
                "nullable": true
              },
              {
                "name": "payment_number",
                "type": "int",
                "required": false,
                "nullable": true
              },
              {
                "name": "payment_date",
                "type": "date",
                "required": false,
                "nullable": true
              },
              {
                "name": "payment_amount",
                "type": "Decimal",
                "required": false,
                "nullable": true
              },
              {
                "name": "principal_portion",
                "type": "Decimal",
                "required": false,
                "nullable": true
              },
              {
                "name": "interest_portion",
                "type": "Decimal",
                "required": false,
                "nullable": true
              },
              {
                "name": "remaining_balance",
                "type": "Decimal",
                "required": false,
                "nullable": true
              }
            ]
          },
          "response": {
            "schema_name": "AmortizationentryResponse",
            "fields": [
              {
                "name": "entry_id",
                "type": "str",
                "required": false
              },
              {
                "name": "calculation_id",
                "type": "StrId",
                "required": true
              },
              {
                "name": "payment_number",
                "type": "int",
                "required": false
              },
              {
                "name": "payment_date",
                "type": "date",
                "required": true
              },
              {
                "name": "payment_amount",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "principal_portion",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "interest_portion",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "remaining_balance",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "id",
                "type": "StrId",
                "required": true
              },
              {
                "name": "created_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "updated_at",
                "type": "datetime",
                "required": true
              }
            ],
            "is_list": false
          },
          "status_code": 200
        },
        {
          "method": "DELETE",
          "path": "/amortization-entries/{entity_id}",
          "summary": "Delete Amortization Entry",
          "description": "Deletes an amortization entry. Returns 404 if not found.",
          "path_params": [
            {
              "name": "entity_id",
              "type": "str"
            }
          ],
          "status_code": 200
        }
      ]
    }
  ],
  "enums": {}
}