{
  "version": "1.0",
  "modules": [
    {
      "name": "Loan Calculations",
      "prefix": "/loan-calculations",
      "endpoints": [
        {
          "method": "POST",
          "path": "/",
          "summary": "Create Loan Calculation",
          "description": "Creates a new loan calculation record with computed monthly payment, total interest, and total amount. Validates that principal is positive, interest rate is between 0 and 100, and loan term is between 1 and 600 months.",
          "request_body": {
            "schema_name": "LoancalculationCreate",
            "fields": [
              {
                "name": "principal",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "annual_interest_rate",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "loan_term_months",
                "type": "int",
                "required": false
              },
              {
                "name": "calculation_method",
                "type": "str",
                "required": false
              },
              {
                "name": "session_id",
                "type": "str",
                "required": false,
                "nullable": true
              }
            ]
          },
          "response": {
            "schema_name": "LoancalculationResponse",
            "fields": [
              {
                "name": "id",
                "type": "str",
                "required": true
              },
              {
                "name": "principal",
                "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",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "calculation_method",
                "type": "str",
                "required": true
              },
              {
                "name": "session_id",
                "type": "str",
                "required": false,
                "nullable": true
              },
              {
                "name": "created_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "updated_at",
                "type": "datetime",
                "required": true
              }
            ],
            "is_list": false
          },
          "status_code": 201
        },
        {
          "method": "GET",
          "path": "/",
          "summary": "List Loan Calculations",
          "description": "Returns a paginated list of loan calculations. Supports optional filtering by session_id to retrieve calculations for a specific user session.",
          "query_params": [
            {
              "name": "limit",
              "type": "int",
              "required": false,
              "default": 20
            },
            {
              "name": "offset",
              "type": "int",
              "required": false,
              "default": 0
            },
            {
              "name": "session_id",
              "type": "str",
              "required": false
            }
          ],
          "response": {
            "schema_name": "LoancalculationResponse",
            "fields": [
              {
                "name": "id",
                "type": "str",
                "required": true
              },
              {
                "name": "principal",
                "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",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "calculation_method",
                "type": "str",
                "required": true
              },
              {
                "name": "session_id",
                "type": "str",
                "required": false,
                "nullable": true
              },
              {
                "name": "created_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "updated_at",
                "type": "datetime",
                "required": true
              }
            ],
            "is_list": true
          },
          "status_code": 200
        },
        {
          "method": "GET",
          "path": "/{id}",
          "summary": "Get Loan Calculation",
          "description": "Retrieves a single loan calculation by ID. Returns 404 if the calculation does not exist.",
          "path_params": [
            {
              "name": "id",
              "type": "str"
            }
          ],
          "response": {
            "schema_name": "LoancalculationResponse",
            "fields": [
              {
                "name": "id",
                "type": "str",
                "required": true
              },
              {
                "name": "principal",
                "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",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "calculation_method",
                "type": "str",
                "required": true
              },
              {
                "name": "session_id",
                "type": "str",
                "required": false,
                "nullable": true
              },
              {
                "name": "created_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "updated_at",
                "type": "datetime",
                "required": true
              }
            ],
            "is_list": false
          },
          "status_code": 200
        },
        {
          "method": "PUT",
          "path": "/{id}",
          "summary": "Update Loan Calculation",
          "description": "Updates an existing loan calculation. Only provided fields are updated. Returns 404 if the calculation does not exist.",
          "path_params": [
            {
              "name": "id",
              "type": "str"
            }
          ],
          "request_body": {
            "schema_name": "LoancalculationUpdate",
            "fields": [
              {
                "name": "principal",
                "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",
                "type": "Decimal",
                "required": false,
                "nullable": true
              },
              {
                "name": "calculation_method",
                "type": "str",
                "required": false,
                "nullable": true
              },
              {
                "name": "session_id",
                "type": "str",
                "required": false,
                "nullable": true
              }
            ]
          },
          "response": {
            "schema_name": "LoancalculationResponse",
            "fields": [
              {
                "name": "id",
                "type": "str",
                "required": true
              },
              {
                "name": "principal",
                "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",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "calculation_method",
                "type": "str",
                "required": true
              },
              {
                "name": "session_id",
                "type": "str",
                "required": false,
                "nullable": true
              },
              {
                "name": "created_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "updated_at",
                "type": "datetime",
                "required": true
              }
            ],
            "is_list": false
          },
          "status_code": 200
        },
        {
          "method": "DELETE",
          "path": "/{id}",
          "summary": "Delete Loan Calculation",
          "description": "Deletes a loan calculation and all associated amortization schedule entries. Returns 404 if the calculation does not exist.",
          "path_params": [
            {
              "name": "id",
              "type": "str"
            }
          ],
          "status_code": 204
        },
        {
          "method": "GET",
          "path": "/{id}/details",
          "summary": "Get Loan Calculation With Schedule",
          "description": "Retrieves a loan calculation with its complete amortization schedule. Returns all schedule entries with payment breakdowns including principal, interest, and cumulative totals. Returns 404 if the calculation does not exist.",
          "path_params": [
            {
              "name": "id",
              "type": "str"
            }
          ],
          "response": {
            "schema_name": "LoancalculationWithScheduleResponse",
            "fields": [
              {
                "name": "id",
                "type": "str",
                "required": true
              },
              {
                "name": "principal",
                "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",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "calculation_method",
                "type": "str",
                "required": true
              },
              {
                "name": "session_id",
                "type": "str",
                "required": false,
                "nullable": true
              },
              {
                "name": "created_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "updated_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "amortization_schedule_entries",
                "type": "List[AmortizationscheduleentryResponse]",
                "required": true,
                "is_list": true,
                "item_fields": [
                  {
                    "name": "id",
                    "type": "str",
                    "required": true
                  },
                  {
                    "name": "loan_calculation_id",
                    "type": "str",
                    "required": true
                  },
                  {
                    "name": "payment_number",
                    "type": "int",
                    "required": true
                  },
                  {
                    "name": "payment_date",
                    "type": "date",
                    "required": false,
                    "nullable": true
                  },
                  {
                    "name": "beginning_balance",
                    "type": "Decimal",
                    "required": true
                  },
                  {
                    "name": "payment_amount",
                    "type": "Decimal",
                    "required": true
                  },
                  {
                    "name": "principal_portion",
                    "type": "Decimal",
                    "required": true
                  },
                  {
                    "name": "interest_portion",
                    "type": "Decimal",
                    "required": true
                  },
                  {
                    "name": "ending_balance",
                    "type": "Decimal",
                    "required": true
                  },
                  {
                    "name": "cumulative_interest",
                    "type": "Decimal",
                    "required": true
                  },
                  {
                    "name": "cumulative_principal",
                    "type": "Decimal",
                    "required": true
                  },
                  {
                    "name": "created_at",
                    "type": "datetime",
                    "required": true
                  },
                  {
                    "name": "updated_at",
                    "type": "datetime",
                    "required": true
                  }
                ]
              }
            ],
            "is_list": false
          },
          "status_code": 200
        },
        {
          "method": "POST",
          "path": "/calculate",
          "summary": "Calculate Loan With Schedule",
          "description": "Performs a complete loan calculation including monthly payment computation and full amortization schedule generation. Uses standard amortization formula for non-zero interest rates. For 0% interest, monthly payment equals principal divided by term. Creates loan calculation record and all schedule entries in a single transaction. Returns 400 if validation fails.",
          "request_body": {
            "schema_name": "LoanCalculationInput",
            "fields": [
              {
                "name": "principal",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "annual_interest_rate",
                "type": "Decimal",
                "required": false
              },
              {
                "name": "loan_term_months",
                "type": "int",
                "required": false
              },
              {
                "name": "session_id",
                "type": "str",
                "required": false,
                "nullable": true
              }
            ]
          },
          "response": {
            "schema_name": "LoancalculationWithScheduleResponse",
            "fields": [
              {
                "name": "id",
                "type": "str",
                "required": true
              },
              {
                "name": "principal",
                "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",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "calculation_method",
                "type": "str",
                "required": true
              },
              {
                "name": "session_id",
                "type": "str",
                "required": false,
                "nullable": true
              },
              {
                "name": "created_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "updated_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "amortization_schedule_entries",
                "type": "List[AmortizationscheduleentryResponse]",
                "required": true,
                "is_list": true,
                "item_fields": [
                  {
                    "name": "id",
                    "type": "str",
                    "required": true
                  },
                  {
                    "name": "loan_calculation_id",
                    "type": "str",
                    "required": true
                  },
                  {
                    "name": "payment_number",
                    "type": "int",
                    "required": true
                  },
                  {
                    "name": "payment_date",
                    "type": "date",
                    "required": false,
                    "nullable": true
                  },
                  {
                    "name": "beginning_balance",
                    "type": "Decimal",
                    "required": true
                  },
                  {
                    "name": "payment_amount",
                    "type": "Decimal",
                    "required": true
                  },
                  {
                    "name": "principal_portion",
                    "type": "Decimal",
                    "required": true
                  },
                  {
                    "name": "interest_portion",
                    "type": "Decimal",
                    "required": true
                  },
                  {
                    "name": "ending_balance",
                    "type": "Decimal",
                    "required": true
                  },
                  {
                    "name": "cumulative_interest",
                    "type": "Decimal",
                    "required": true
                  },
                  {
                    "name": "cumulative_principal",
                    "type": "Decimal",
                    "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": "/{id}/amortization-schedule",
          "summary": "Get Amortization Schedule",
          "description": "Retrieves the complete amortization schedule for a loan calculation. Returns all payment periods with beginning balance, payment amount, principal portion, interest portion, ending balance, and cumulative totals. Returns 404 if the loan calculation does not exist.",
          "path_params": [
            {
              "name": "id",
              "type": "str"
            }
          ],
          "query_params": [
            {
              "name": "limit",
              "type": "int",
              "required": false,
              "default": 600
            },
            {
              "name": "offset",
              "type": "int",
              "required": false,
              "default": 0
            }
          ],
          "response": {
            "schema_name": "AmortizationscheduleentryResponse",
            "fields": [
              {
                "name": "id",
                "type": "str",
                "required": true
              },
              {
                "name": "loan_calculation_id",
                "type": "str",
                "required": true
              },
              {
                "name": "payment_number",
                "type": "int",
                "required": true
              },
              {
                "name": "payment_date",
                "type": "date",
                "required": false,
                "nullable": true
              },
              {
                "name": "beginning_balance",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "payment_amount",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "principal_portion",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "interest_portion",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "ending_balance",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "cumulative_interest",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "cumulative_principal",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "created_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "updated_at",
                "type": "datetime",
                "required": true
              }
            ],
            "is_list": true
          },
          "status_code": 200
        },
        {
          "method": "POST",
          "path": "/schedule-entries",
          "summary": "Create Schedule Entry",
          "description": "Creates a new amortization schedule entry. Validates that the referenced loan calculation exists. Returns 404 if the loan calculation is not found.",
          "request_body": {
            "schema_name": "AmortizationscheduleentryCreate",
            "fields": [
              {
                "name": "loan_calculation_id",
                "type": "str",
                "required": true
              },
              {
                "name": "payment_number",
                "type": "int",
                "required": true
              },
              {
                "name": "payment_date",
                "type": "date",
                "required": false,
                "nullable": true
              },
              {
                "name": "beginning_balance",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "payment_amount",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "principal_portion",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "interest_portion",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "ending_balance",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "cumulative_interest",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "cumulative_principal",
                "type": "Decimal",
                "required": true
              }
            ]
          },
          "response": {
            "schema_name": "AmortizationscheduleentryResponse",
            "fields": [
              {
                "name": "id",
                "type": "str",
                "required": true
              },
              {
                "name": "loan_calculation_id",
                "type": "str",
                "required": true
              },
              {
                "name": "payment_number",
                "type": "int",
                "required": true
              },
              {
                "name": "payment_date",
                "type": "date",
                "required": false,
                "nullable": true
              },
              {
                "name": "beginning_balance",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "payment_amount",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "principal_portion",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "interest_portion",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "ending_balance",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "cumulative_interest",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "cumulative_principal",
                "type": "Decimal",
                "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": "/schedule-entries/{entry_id}",
          "summary": "Get Schedule Entry",
          "description": "Retrieves a single amortization schedule entry by ID. Returns 404 if the entry does not exist.",
          "path_params": [
            {
              "name": "entry_id",
              "type": "str"
            }
          ],
          "response": {
            "schema_name": "AmortizationscheduleentryResponse",
            "fields": [
              {
                "name": "id",
                "type": "str",
                "required": true
              },
              {
                "name": "loan_calculation_id",
                "type": "str",
                "required": true
              },
              {
                "name": "payment_number",
                "type": "int",
                "required": true
              },
              {
                "name": "payment_date",
                "type": "date",
                "required": false,
                "nullable": true
              },
              {
                "name": "beginning_balance",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "payment_amount",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "principal_portion",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "interest_portion",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "ending_balance",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "cumulative_interest",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "cumulative_principal",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "created_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "updated_at",
                "type": "datetime",
                "required": true
              }
            ],
            "is_list": false
          },
          "status_code": 200
        },
        {
          "method": "PUT",
          "path": "/schedule-entries/{entry_id}",
          "summary": "Update Schedule Entry",
          "description": "Updates an existing amortization schedule entry. Only provided fields are updated. Returns 404 if the entry does not exist.",
          "path_params": [
            {
              "name": "entry_id",
              "type": "str"
            }
          ],
          "request_body": {
            "schema_name": "AmortizationscheduleentryUpdate",
            "fields": [
              {
                "name": "loan_calculation_id",
                "type": "str",
                "required": false,
                "nullable": true
              },
              {
                "name": "payment_number",
                "type": "int",
                "required": false,
                "nullable": true
              },
              {
                "name": "payment_date",
                "type": "date",
                "required": false,
                "nullable": true
              },
              {
                "name": "beginning_balance",
                "type": "Decimal",
                "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": "ending_balance",
                "type": "Decimal",
                "required": false,
                "nullable": true
              },
              {
                "name": "cumulative_interest",
                "type": "Decimal",
                "required": false,
                "nullable": true
              },
              {
                "name": "cumulative_principal",
                "type": "Decimal",
                "required": false,
                "nullable": true
              }
            ]
          },
          "response": {
            "schema_name": "AmortizationscheduleentryResponse",
            "fields": [
              {
                "name": "id",
                "type": "str",
                "required": true
              },
              {
                "name": "loan_calculation_id",
                "type": "str",
                "required": true
              },
              {
                "name": "payment_number",
                "type": "int",
                "required": true
              },
              {
                "name": "payment_date",
                "type": "date",
                "required": false,
                "nullable": true
              },
              {
                "name": "beginning_balance",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "payment_amount",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "principal_portion",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "interest_portion",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "ending_balance",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "cumulative_interest",
                "type": "Decimal",
                "required": true
              },
              {
                "name": "cumulative_principal",
                "type": "Decimal",
                "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": "/schedule-entries/{entry_id}",
          "summary": "Delete Schedule Entry",
          "description": "Deletes an amortization schedule entry. Returns 404 if the entry does not exist.",
          "path_params": [
            {
              "name": "entry_id",
              "type": "str"
            }
          ],
          "status_code": 204
        }
      ]
    },
    {
      "name": "Calculation Sessions",
      "prefix": "/calculation-sessions",
      "endpoints": [
        {
          "method": "POST",
          "path": "/",
          "summary": "Create Calculation Session",
          "description": "Creates a new calculation session record for tracking user activity. Returns 409 if the session_id already exists.",
          "request_body": {
            "schema_name": "CalculationsessionCreate",
            "fields": [
              {
                "name": "session_id",
                "type": "str",
                "required": false
              },
              {
                "name": "calculation_count",
                "type": "int",
                "required": false
              },
              {
                "name": "user_agent",
                "type": "str",
                "required": false,
                "nullable": true
              },
              {
                "name": "last_activity_at",
                "type": "datetime",
                "required": true
              }
            ]
          },
          "response": {
            "schema_name": "CalculationsessionResponse",
            "fields": [
              {
                "name": "session_id",
                "type": "str",
                "required": false
              },
              {
                "name": "calculation_count",
                "type": "int",
                "required": false
              },
              {
                "name": "user_agent",
                "type": "str",
                "required": false,
                "nullable": true
              },
              {
                "name": "last_activity_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "id",
                "type": "str",
                "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": "/",
          "summary": "List Calculation Sessions",
          "description": "Returns a paginated list of calculation sessions ordered by last activity. Supports optional filtering by session_id.",
          "query_params": [
            {
              "name": "limit",
              "type": "int",
              "required": false,
              "default": 20
            },
            {
              "name": "offset",
              "type": "int",
              "required": false,
              "default": 0
            },
            {
              "name": "session_id",
              "type": "str",
              "required": false
            }
          ],
          "response": {
            "schema_name": "CalculationsessionResponse",
            "fields": [
              {
                "name": "session_id",
                "type": "str",
                "required": false
              },
              {
                "name": "calculation_count",
                "type": "int",
                "required": false
              },
              {
                "name": "user_agent",
                "type": "str",
                "required": false,
                "nullable": true
              },
              {
                "name": "last_activity_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "id",
                "type": "str",
                "required": true
              },
              {
                "name": "created_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "updated_at",
                "type": "datetime",
                "required": true
              }
            ],
            "is_list": true
          },
          "status_code": 200
        },
        {
          "method": "GET",
          "path": "/by-session-id/{session_id}",
          "summary": "Get Session By Session ID",
          "description": "Retrieves a calculation session by its session_id. Returns 404 if not found.",
          "path_params": [
            {
              "name": "session_id",
              "type": "str"
            }
          ],
          "response": {
            "schema_name": "CalculationsessionResponse",
            "fields": [
              {
                "name": "session_id",
                "type": "str",
                "required": false
              },
              {
                "name": "calculation_count",
                "type": "int",
                "required": false
              },
              {
                "name": "user_agent",
                "type": "str",
                "required": false,
                "nullable": true
              },
              {
                "name": "last_activity_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "id",
                "type": "str",
                "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": "/{id}",
          "summary": "Get Calculation Session",
          "description": "Retrieves a calculation session by its unique ID. Returns 404 if not found.",
          "path_params": [
            {
              "name": "id",
              "type": "str"
            }
          ],
          "response": {
            "schema_name": "CalculationsessionResponse",
            "fields": [
              {
                "name": "session_id",
                "type": "str",
                "required": false
              },
              {
                "name": "calculation_count",
                "type": "int",
                "required": false
              },
              {
                "name": "user_agent",
                "type": "str",
                "required": false,
                "nullable": true
              },
              {
                "name": "last_activity_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "id",
                "type": "str",
                "required": true
              },
              {
                "name": "created_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "updated_at",
                "type": "datetime",
                "required": true
              }
            ],
            "is_list": false
          },
          "status_code": 200
        },
        {
          "method": "PATCH",
          "path": "/{id}",
          "summary": "Update Calculation Session",
          "description": "Updates a calculation session. Only provided fields are modified. Returns 404 if session not found, 409 if session_id conflicts with another session.",
          "path_params": [
            {
              "name": "id",
              "type": "str"
            }
          ],
          "request_body": {
            "schema_name": "CalculationsessionUpdate",
            "fields": [
              {
                "name": "session_id",
                "type": "str",
                "required": false,
                "nullable": true
              },
              {
                "name": "calculation_count",
                "type": "int",
                "required": false,
                "nullable": true
              },
              {
                "name": "user_agent",
                "type": "str",
                "required": false,
                "nullable": true
              },
              {
                "name": "last_activity_at",
                "type": "datetime",
                "required": false,
                "nullable": true
              }
            ]
          },
          "response": {
            "schema_name": "CalculationsessionResponse",
            "fields": [
              {
                "name": "session_id",
                "type": "str",
                "required": false
              },
              {
                "name": "calculation_count",
                "type": "int",
                "required": false
              },
              {
                "name": "user_agent",
                "type": "str",
                "required": false,
                "nullable": true
              },
              {
                "name": "last_activity_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "id",
                "type": "str",
                "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": "/{id}",
          "summary": "Delete Calculation Session",
          "description": "Deletes a calculation session by ID. Returns 404 if not found.",
          "path_params": [
            {
              "name": "id",
              "type": "str"
            }
          ],
          "status_code": 204
        },
        {
          "method": "POST",
          "path": "/by-session-id/{session_id}/increment",
          "summary": "Increment Calculation Count",
          "description": "Increments the calculation count for a session and updates last activity timestamp. Returns 404 if session not found.",
          "path_params": [
            {
              "name": "session_id",
              "type": "str"
            }
          ],
          "response": {
            "schema_name": "CalculationsessionResponse",
            "fields": [
              {
                "name": "session_id",
                "type": "str",
                "required": false
              },
              {
                "name": "calculation_count",
                "type": "int",
                "required": false
              },
              {
                "name": "user_agent",
                "type": "str",
                "required": false,
                "nullable": true
              },
              {
                "name": "last_activity_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "id",
                "type": "str",
                "required": true
              },
              {
                "name": "created_at",
                "type": "datetime",
                "required": true
              },
              {
                "name": "updated_at",
                "type": "datetime",
                "required": true
              }
            ],
            "is_list": false
          },
          "status_code": 200
        }
      ]
    }
  ],
  "enums": {}
}