{
  "openapi": "3.1.0",
  "info": {
    "title": "Calculate All PVT Properties",
    "description": "API service for calculating petroleum fluid PVT properties using various correlations",
    "version": "1.0.0"
  },
  "paths": {
    "/api/correlations-collection": {
      "get": {
        "summary": "Get Available Correlations",
        "description": "Get a list of all available correlations for oil, gas, and water properties.\nThis endpoint does not require authentication.",
        "operationId": "get_available_correlations_api_correlations_collection_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          }
        }
      }
    },
    "/api": {
      "get": {
        "summary": "Read Root",
        "operationId": "read_root_api_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          }
        }
      }
    },
    "/api/pvt/calculateallproperties": {
      "post": {
        "summary": "Calculate Pvt Properties",
        "description": "Calculate all PVT properties for oil, gas, and water phases.\nEither gas_oil_ratio or bubble_point_pressure must be provided (or both).\nIf only one is provided, the other will be calculated using the specified correlations.",
        "operationId": "calculate_pvt_properties_api_pvt_calculateallproperties_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_pvt_properties_api_pvt_calculateallproperties_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/pvt/calculatepbfromgor": {
      "post": {
        "summary": "Calculate Pb From Gor Api",
        "description": "Calculate bubble point pressure (Pb) from gas-oil ratio (GOR) using the specified correlation.",
        "operationId": "calculate_pb_from_gor_api_api_pvt_calculatepbfromgor_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_pb_from_gor_api_api_pvt_calculatepbfromgor_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/pvt/calculategorfrompb": {
      "post": {
        "summary": "Calculate Gor From Pb Api",
        "description": "Calculate gas-oil ratio (GOR) from bubble point pressure (Pb) using the specified correlation.",
        "operationId": "calculate_gor_from_pb_api_api_pvt_calculategorfrompb_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_gor_from_pb_api_api_pvt_calculategorfrompb_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/pvt/calculatepseudopressure": {
      "post": {
        "summary": "Calculate Pseudopressure Api",
        "description": "Calculate pseudopressure using the trapezoid method.",
        "operationId": "calculate_pseudopressure_api_api_pvt_calculatepseudopressure_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_pseudopressure_api_api_pvt_calculatepseudopressure_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/pvt/calculateoilproperties": {
      "post": {
        "summary": "Calculate Oil Properties Api",
        "description": "Calculate oil properties using the specified correlations.\nEither gas_oil_ratio or bubble_point_pressure must be provided (or both).\nIf only one is provided, the other will be calculated.",
        "operationId": "calculate_oil_properties_api_api_pvt_calculateoilproperties_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_oil_properties_api_api_pvt_calculateoilproperties_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/pvt/calculategasproperties": {
      "post": {
        "summary": "Calculate Gas Properties Api",
        "description": "Calculate gas properties using the specified correlations.",
        "operationId": "calculate_gas_properties_api_api_pvt_calculategasproperties_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_gas_properties_api_api_pvt_calculategasproperties_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/pvt/calculatewaterproperties": {
      "post": {
        "summary": "Calculate Water Properties Api",
        "description": "Calculate water properties using the specified correlations.",
        "operationId": "calculate_water_properties_api_api_pvt_calculatewaterproperties_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_water_properties_api_api_pvt_calculatewaterproperties_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/pvt/compressibility/davidyale": {
      "post": {
        "summary": "Calculate Compressibility David Yale Api",
        "description": "Calculate rock compressibility using the David Yale method.",
        "operationId": "calculate_compressibility_david_yale_api_api_pvt_compressibility_davidyale_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_compressibility_david_yale_api_api_pvt_compressibility_davidyale_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/pvt/compressibility/mccain": {
      "post": {
        "summary": "Calculate Compressibility Mccain Api",
        "description": "Calculate compressibility using the McCain method.",
        "operationId": "calculate_compressibility_mccain_api_api_pvt_compressibility_mccain_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_compressibility_mccain_api_api_pvt_compressibility_mccain_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/pvt/interfacialtension/ramey": {
      "post": {
        "summary": "Calculate Ift Ramey Api",
        "description": "Calculate interfacial tension between oil and gas using Ramey's correlation.",
        "operationId": "calculate_ift_ramey_api_api_pvt_interfacialtension_ramey_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_ift_ramey_api_api_pvt_interfacialtension_ramey_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/pvt/interfacialtension/asheim": {
      "post": {
        "summary": "Calculate Ift Asheim Api",
        "description": "Calculate interfacial tension between oil and gas using Asheim's correlation.",
        "operationId": "calculate_ift_asheim_api_api_pvt_interfacialtension_asheim_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_ift_asheim_api_api_pvt_interfacialtension_asheim_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/pvt/interfacialtension/bakerswerdloff": {
      "post": {
        "summary": "Calculate Ift Baker Swerdloff Api",
        "description": "Calculate interfacial tension between oil and gas using Baker-Swerdloff correlation.",
        "operationId": "calculate_ift_baker_swerdloff_api_api_pvt_interfacialtension_bakerswerdloff_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_ift_baker_swerdloff_api_api_pvt_interfacialtension_bakerswerdloff_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/pvt/interfacialtension/oilwater": {
      "post": {
        "summary": "Calculate Ift Oil Water Api",
        "description": "Calculate interfacial tension between oil and water.",
        "operationId": "calculate_ift_oil_water_api_api_pvt_interfacialtension_oilwater_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_ift_oil_water_api_api_pvt_interfacialtension_oilwater_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/pvt/interfacialtension/gaswater": {
      "post": {
        "summary": "Calculate Ift Gas Water Api",
        "description": "Calculate interfacial tension between gas and water.",
        "operationId": "calculate_ift_gas_water_api_api_pvt_interfacialtension_gaswater_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_ift_gas_water_api_api_pvt_interfacialtension_gaswater_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/pvt/calculaters": {
      "post": {
        "summary": "Calculate Rs Api",
        "description": "Calculate solution gas-oil ratio (Rs) at given pressure using selected correlation.\n\nArgs:\n    correlation: Correlation to use (STANDING, VAZQUEZBEGGS, GLASO, LASATER)\n    temperature: Reservoir temperature in °F\n    pressure: Pressure in psia\n    api: Oil API gravity\n    gas_gravity: Gas specific gravity (relative to air)\n    pb: Bubble point pressure in psia\n    \nReturns:\n    Dictionary containing:\n    - rs: Solution gas-oil ratio in scf/STB\n    - units: Units of measurement\n    - correlation: Correlation used for calculation",
        "operationId": "calculate_rs_api_api_pvt_calculaters_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_rs_api_api_pvt_calculaters_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/pvt/calculateoilfvf": {
      "post": {
        "summary": "Calculate Oil Fvf Api",
        "description": "Calculate oil formation volume factor (Bo) using selected correlation.\n\nEither pb (bubble point pressure) or initial_gor must be provided, but not necessarily both.\nIf both are provided, the bubble point pressure (pb) will be honored and initial_gor will be recalculated.",
        "operationId": "calculate_oil_fvf_api_api_pvt_calculateoilfvf_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_oil_fvf_api_api_pvt_calculateoilfvf_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/pvt/calculatedeadoilvisc": {
      "post": {
        "summary": "Calculate Dead Oil Visc Api",
        "description": "Calculate dead oil viscosity using selected correlation.",
        "operationId": "calculate_dead_oil_visc_api_api_pvt_calculatedeadoilvisc_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_dead_oil_visc_api_api_pvt_calculatedeadoilvisc_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/pvt/calculatesaturatedoilvisc": {
      "post": {
        "summary": "Calculate Saturated Oil Visc Api",
        "description": "Calculate saturated oil viscosity using selected correlation.",
        "operationId": "calculate_saturated_oil_visc_api_api_pvt_calculatesaturatedoilvisc_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_saturated_oil_visc_api_api_pvt_calculatesaturatedoilvisc_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/pvt/calculateundersaturatedoilvisc": {
      "post": {
        "summary": "Calculate Undersaturated Oil Visc Api",
        "description": "Calculate undersaturated oil viscosity using selected correlation.",
        "operationId": "calculate_undersaturated_oil_visc_api_api_pvt_calculateundersaturatedoilvisc_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_undersaturated_oil_visc_api_api_pvt_calculateundersaturatedoilvisc_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/pvt/calculateoilviscosity": {
      "post": {
        "summary": "Calculate Oil Viscosity Api",
        "description": "Calculate oil viscosity using selected correlations.\n\nEither pb (bubble point pressure) or rs (solution gas-oil ratio) must be provided, but not necessarily both.\nIf both are provided, the bubble point pressure (pb) will be honored and rs will be recalculated.",
        "operationId": "calculate_oil_viscosity_api_api_pvt_calculateoilviscosity_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_oil_viscosity_api_api_pvt_calculateoilviscosity_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/pvt/calculateoilcompressibility": {
      "post": {
        "summary": "Calculate Oil Compressibility Api",
        "description": "Calculate oil compressibility (Co) using selected correlation.\n\nEither pb (bubble point pressure) or gor must be provided, but not necessarily both.\nIf both are provided, the bubble point pressure (pb) will be honored and gor will be recalculated.",
        "operationId": "calculate_oil_compressibility_api_api_pvt_calculateoilcompressibility_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_oil_compressibility_api_api_pvt_calculateoilcompressibility_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/pvt/calculatezfactor": {
      "post": {
        "summary": "Calculate Z Factor Api",
        "description": "Calculate gas z-factor using selected correlation.",
        "operationId": "calculate_z_factor_api_api_pvt_calculatezfactor_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_z_factor_api_api_pvt_calculatezfactor_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/pvt/calculategasfvf": {
      "post": {
        "summary": "Calculate Gas Fvf Api",
        "description": "Calculate gas formation volume factor (Bg) using selected correlation.",
        "operationId": "calculate_gas_fvf_api_api_pvt_calculategasfvf_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_gas_fvf_api_api_pvt_calculategasfvf_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/pvt/calculategascompressibility": {
      "post": {
        "summary": "Calculate Gas Compressibility Api",
        "description": "Calculate gas compressibility (Cg) using selected correlation.",
        "operationId": "calculate_gas_compressibility_api_api_pvt_calculategascompressibility_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_gas_compressibility_api_api_pvt_calculategascompressibility_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/pvt/calculategasviscosity": {
      "post": {
        "summary": "Calculate Gas Viscosity Api",
        "description": "Calculate gas viscosity (μg) using selected correlation.",
        "operationId": "calculate_gas_viscosity_api_api_pvt_calculategasviscosity_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_gas_viscosity_api_api_pvt_calculategasviscosity_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/pvt/calculategasdensity": {
      "post": {
        "summary": "Calculate Gas Density Api",
        "description": "Calculate gas density (ρg) using the real gas law.",
        "operationId": "calculate_gas_density_api_api_pvt_calculategasdensity_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_gas_density_api_api_pvt_calculategasdensity_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/pvt/calculatewaterviscosity": {
      "post": {
        "summary": "Calculate Water Viscosity Api",
        "description": "Calculate water viscosity using selected correlation.",
        "operationId": "calculate_water_viscosity_api_api_pvt_calculatewaterviscosity_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_water_viscosity_api_api_pvt_calculatewaterviscosity_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/pvt/calculatewatercompressibility": {
      "post": {
        "summary": "Calculate Water Compressibility Api",
        "description": "Calculate water compressibility using selected correlation.",
        "operationId": "calculate_water_compressibility_api_api_pvt_calculatewatercompressibility_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_water_compressibility_api_api_pvt_calculatewatercompressibility_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/pvt/calculatewaterfvf": {
      "post": {
        "summary": "Calculate Water Fvf Api",
        "description": "Calculate water formation volume factor using selected correlation.",
        "operationId": "calculate_water_fvf_api_api_pvt_calculatewaterfvf_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_water_fvf_api_api_pvt_calculatewaterfvf_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/pvt/calculategassolubilityinwater": {
      "post": {
        "summary": "Calculate Gas Solubility In Water Api",
        "description": "Calculate gas solubility in water (Rsw) using selected correlation.",
        "operationId": "calculate_gas_solubility_in_water_api_api_pvt_calculategassolubilityinwater_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Body_calculate_gas_solubility_in_water_api_api_pvt_calculategassolubilityinwater_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/bhp/BHPcalculator": {
      "post": {
        "summary": "Calculate Bhp",
        "description": "Calculate Bottom Hole Pressure (BHP) using the specified multiphase flow correlation.",
        "operationId": "calculate_bhp_api_bhp_BHPcalculator_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BHPRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/logs/{api_key}": {
      "get": {
        "summary": "Get Api Logs",
        "description": "Retrieves API request logs for the tenant associated with the provided API key.\nReturns the last 100 log entries by default.",
        "operationId": "get_api_logs_api_logs__api_key__get",
        "parameters": [
          {
            "name": "api_key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Api Key"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "title": "Response Get Api Logs Api Logs  Api Key  Get"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/rta/calculatesuperpositiontime": {
      "post": {
        "summary": "Calculate Superposition Time Api",
        "description": "Calculate superposition time for multiple phase rates using specified flow regime.\n\nParameters:\n- time: Array of time values\n- phase_rates: Dictionary containing rate arrays for different phases (e.g., {\"oil\": [...], \"gas\": [...], \"water\": [...]})\n- flow_regime: Flow regime type ('linear', 'bilinear', 'pss', or 'radial')\n\nReturns:\nDictionary containing superposition time arrays for each phase",
        "operationId": "calculate_superposition_time_api_api_rta_calculatesuperpositiontime_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SuperpositionTimeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/rta/calculatederivatives": {
      "post": {
        "summary": "Calculate Derivatives Api",
        "description": "Calculate derivatives for multiple phase rates using specified flow regime.\n\nParameters:\n- time: Array of time values\n- phase_rates: Dictionary containing rate arrays for different phases (e.g., {\"oil\": [...], \"gas\": [...], \"water\": [...]})\n- pressure: Array of pressure values (common for all phases)\n- flow_regime: Flow regime type ('linear', 'bilinear', 'pss', or 'radial')\n- p_initial: Initial reservoir pressure\n- fluid_p: List of fluid properties [Temp, Specific_Gravity, API, GOR, MoleFraction_H2S, MoleFraction_CO2, MoleFraction_N2, MoleFraction_H2O]\n- s_ratio: Superposition time ratio for derivative calculation\n\nReturns:\nDictionary containing derivative arrays for each phase",
        "operationId": "calculate_derivatives_api_api_rta_calculatederivatives_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DerivativesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/rta/calculatesinglephasesuper": {
      "post": {
        "summary": "Calculate Single Phase Superposition Time Api",
        "description": "Calculate superposition time for a single phase using specified flow regime.\n\nParameters:\n- time: Array of time values\n- rate: Array of rates for a single phase\n- flow_regime: Flow regime type ('linear', 'bilinear', 'pss', or 'radial')\n- phase_name: Optional name for the phase\n\nReturns:\nArray of superposition time values",
        "operationId": "calculate_single_phase_superposition_time_api_api_rta_calculatesinglephasesuper_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SinglePhaseSuperpositionTimeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    },
    "/api/rta/calculatesinglephaseders": {
      "post": {
        "summary": "Calculate Single Phase Derivatives Api",
        "description": "Calculate derivatives for a single phase using specified flow regime.\n\nParameters:\n- time: Array of time values\n- rate: Array of rates for a single phase\n- pressure: Array of pressure values\n- flow_regime: Flow regime type ('linear', 'bilinear', 'pss', or 'radial')\n- is_gas: True if gas phase, False if oil phase\n- p_initial: Initial reservoir pressure\n- fluid_p: List of fluid properties [Temp, Specific_Gravity, API, GOR, MoleFraction_H2S, MoleFraction_CO2, MoleFraction_N2, MoleFraction_H2O]\n- s_ratio: Superposition time ratio for derivative calculation\n- phase_name: Optional name for the phase\n\nReturns:\nArray of derivative values",
        "operationId": "calculate_single_phase_derivatives_api_api_rta_calculatesinglephaseders_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SinglePhaseDerivativesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {

                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "AnnulusData": {
        "properties": {
          "AnnulusFlow": {
            "type": "integer",
            "title": "Annulusflow",
            "description": "1 implies Annulus flow is happening and 0 means not."
          },
          "VaryAnnulus": {
            "type": "integer",
            "title": "Varyannulus",
            "description": "0 or 1 implies, is there varying size of production casing"
          },
          "DepthVaryingAnnulus": {
            "type": "number",
            "title": "Depthvaryingannulus",
            "description": "Depth where the size of production casing changes"
          },
          "TopCasingDia": {
            "type": "number",
            "title": "Topcasingdia",
            "description": "Casing ID of the above production casing (inches)"
          },
          "AnTub": {
            "type": "integer",
            "title": "Antub",
            "description": "0 or 1 implies, is there tubing in the annulus"
          }
        },
        "type": "object",
        "required": [
          "AnnulusFlow",
          "VaryAnnulus",
          "DepthVaryingAnnulus",
          "TopCasingDia",
          "AnTub"
        ],
        "title": "AnnulusData"
      },
      "BHPRequest": {
        "properties": {
          "mt_data": {
            "$ref": "#/components/schemas/MTData"
          },
          "annulus_data": {
            "$ref": "#/components/schemas/AnnulusData"
          },
          "tubular_data": {
            "$ref": "#/components/schemas/TubularDataModel"
          },
          "temperature_data": {
            "$ref": "#/components/schemas/TemperatureData"
          },
          "pvt_data": {
            "$ref": "#/components/schemas/PVTData"
          },
          "production_data": {
            "$ref": "#/components/schemas/ProductionData"
          },
          "pvt_correlation_model": {
            "$ref": "#/components/schemas/PVTCorrelationModel"
          },
          "tsep": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tsep",
            "description": "Separator temperature (°F). Defaults to 60.",
            "default": 60
          },
          "psep": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Psep",
            "description": "Separator pressure (psia). Defaults to 100.",
            "default": 100
          }
        },
        "type": "object",
        "required": [
          "mt_data",
          "annulus_data",
          "tubular_data",
          "temperature_data",
          "pvt_data",
          "production_data",
          "pvt_correlation_model"
        ],
        "title": "BHPRequest"
      },
      "Body_calculate_compressibility_david_yale_api_api_pvt_compressibility_davidyale_post": {
        "properties": {
          "depth": {
            "type": "number",
            "title": "Depth",
            "description": "Depth in feet"
          },
          "reservoir_pressure": {
            "type": "number",
            "title": "Reservoir Pressure",
            "description": "Reservoir pressure in psia"
          },
          "pressure": {
            "type": "number",
            "title": "Pressure",
            "description": "Current pressure in psia"
          }
        },
        "type": "object",
        "required": [
          "depth",
          "reservoir_pressure",
          "pressure"
        ],
        "title": "Body_calculate_compressibility_david_yale_api_api_pvt_compressibility_davidyale_post"
      },
      "Body_calculate_compressibility_mccain_api_api_pvt_compressibility_mccain_post": {
        "properties": {
          "t_deg_f": {
            "type": "number",
            "title": "T Deg F",
            "description": "Temperature in °F"
          },
          "psia": {
            "type": "number",
            "title": "Psia",
            "description": "Pressure in psia"
          },
          "gor": {
            "type": "number",
            "title": "Gor",
            "description": "Gas-Oil Ratio in scf/STB"
          },
          "gas_grav": {
            "type": "number",
            "title": "Gas Grav",
            "description": "Gas specific gravity (relative to air)"
          },
          "api": {
            "type": "number",
            "title": "Api",
            "description": "Oil API gravity"
          },
          "pb": {
            "type": "number",
            "title": "Pb",
            "description": "Bubble point pressure in psia"
          },
          "initial_gor": {
            "type": "number",
            "title": "Initial Gor",
            "description": "Initial Gas-Oil Ratio in scf/STB"
          }
        },
        "type": "object",
        "required": [
          "t_deg_f",
          "psia",
          "gor",
          "gas_grav",
          "api",
          "pb",
          "initial_gor"
        ],
        "title": "Body_calculate_compressibility_mccain_api_api_pvt_compressibility_mccain_post"
      },
      "Body_calculate_dead_oil_visc_api_api_pvt_calculatedeadoilvisc_post": {
        "properties": {
          "correlation": {
            "type": "string",
            "title": "Correlation",
            "description": "Correlation to use (BEAL, GLASO, BEGGSROBINSON, PETROSKYFARSHAD)"
          },
          "api": {
            "type": "number",
            "title": "Api",
            "description": "Oil API gravity"
          },
          "temperature": {
            "type": "number",
            "title": "Temperature",
            "description": "Reservoir temperature in °F"
          }
        },
        "type": "object",
        "required": [
          "correlation",
          "api",
          "temperature"
        ],
        "title": "Body_calculate_dead_oil_visc_api_api_pvt_calculatedeadoilvisc_post"
      },
      "Body_calculate_gas_compressibility_api_api_pvt_calculategascompressibility_post": {
        "properties": {
          "correlation": {
            "type": "string",
            "title": "Correlation",
            "description": "Correlation to use (HALLYARBOROUGH, DRANCHUKABUKASSEM)"
          },
          "temperature": {
            "type": "number",
            "title": "Temperature",
            "description": "Reservoir temperature (°F)"
          },
          "pressure": {
            "type": "number",
            "title": "Pressure",
            "description": "Pressure (psia)"
          },
          "gas_gravity": {
            "type": "number",
            "title": "Gas Gravity",
            "description": "Gas specific gravity (relative to air)"
          },
          "n2_content": {
            "type": "number",
            "title": "N2 Content",
            "description": "Nitrogen content (%)",
            "default": 0
          },
          "co2_content": {
            "type": "number",
            "title": "Co2 Content",
            "description": "Carbon dioxide content (%)",
            "default": 0
          },
          "h2s_content": {
            "type": "number",
            "title": "H2S Content",
            "description": "Hydrogen sulfide content (%)",
            "default": 0
          }
        },
        "type": "object",
        "required": [
          "correlation",
          "temperature",
          "pressure",
          "gas_gravity"
        ],
        "title": "Body_calculate_gas_compressibility_api_api_pvt_calculategascompressibility_post"
      },
      "Body_calculate_gas_density_api_api_pvt_calculategasdensity_post": {
        "properties": {
          "temperature": {
            "type": "number",
            "title": "Temperature",
            "description": "Reservoir temperature (°F)"
          },
          "pressure": {
            "type": "number",
            "title": "Pressure",
            "description": "Pressure (psia)"
          },
          "gas_gravity": {
            "type": "number",
            "title": "Gas Gravity",
            "description": "Gas specific gravity (relative to air)"
          },
          "n2_content": {
            "type": "number",
            "title": "N2 Content",
            "description": "Nitrogen content (%)",
            "default": 0
          },
          "co2_content": {
            "type": "number",
            "title": "Co2 Content",
            "description": "Carbon dioxide content (%)",
            "default": 0
          },
          "h2s_content": {
            "type": "number",
            "title": "H2S Content",
            "description": "Hydrogen sulfide content (%)",
            "default": 0
          }
        },
        "type": "object",
        "required": [
          "temperature",
          "pressure",
          "gas_gravity"
        ],
        "title": "Body_calculate_gas_density_api_api_pvt_calculategasdensity_post"
      },
      "Body_calculate_gas_fvf_api_api_pvt_calculategasfvf_post": {
        "properties": {
          "correlation": {
            "type": "string",
            "title": "Correlation",
            "description": "Correlation to use (HALLYARBOROUGH, DRANCHUKABUKASSEM)"
          },
          "temperature": {
            "type": "number",
            "title": "Temperature",
            "description": "Reservoir temperature (°F)"
          },
          "pressure": {
            "type": "number",
            "title": "Pressure",
            "description": "Pressure (psia)"
          },
          "gas_gravity": {
            "type": "number",
            "title": "Gas Gravity",
            "description": "Gas specific gravity (relative to air)"
          },
          "n2_content": {
            "type": "number",
            "title": "N2 Content",
            "description": "Nitrogen content (%)",
            "default": 0
          },
          "co2_content": {
            "type": "number",
            "title": "Co2 Content",
            "description": "Carbon dioxide content (%)",
            "default": 0
          },
          "h2s_content": {
            "type": "number",
            "title": "H2S Content",
            "description": "Hydrogen sulfide content (%)",
            "default": 0
          }
        },
        "type": "object",
        "required": [
          "correlation",
          "temperature",
          "pressure",
          "gas_gravity"
        ],
        "title": "Body_calculate_gas_fvf_api_api_pvt_calculategasfvf_post"
      },
      "Body_calculate_gas_properties_api_api_pvt_calculategasproperties_post": {
        "properties": {
          "reservoir_temperature": {
            "type": "number",
            "title": "Reservoir Temperature",
            "description": "Reservoir temperature in °F"
          },
          "pressure": {
            "type": "number",
            "title": "Pressure",
            "description": "Pressure in psia"
          },
          "gas_specific_gravity": {
            "type": "number",
            "title": "Gas Specific Gravity",
            "description": "Gas specific gravity (unitless, relative to air)"
          },
          "h2s_content": {
            "type": "number",
            "title": "H2S Content",
            "description": "Hydrogen sulfide content (%)",
            "default": 0
          },
          "co2_content": {
            "type": "number",
            "title": "Co2 Content",
            "description": "Carbon dioxide content (%)",
            "default": 0
          },
          "n2_content": {
            "type": "number",
            "title": "N2 Content",
            "description": "Nitrogen content (%)",
            "default": 0
          },
          "correlations": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Correlations",
            "description": "Correlations to use for gas properties"
          }
        },
        "type": "object",
        "required": [
          "reservoir_temperature",
          "pressure",
          "gas_specific_gravity"
        ],
        "title": "Body_calculate_gas_properties_api_api_pvt_calculategasproperties_post"
      },
      "Body_calculate_gas_solubility_in_water_api_api_pvt_calculategassolubilityinwater_post": {
        "properties": {
          "correlation": {
            "type": "string",
            "title": "Correlation",
            "description": "Correlation to use (TAREKAHMAD)"
          },
          "temperature": {
            "type": "number",
            "title": "Temperature",
            "description": "Reservoir temperature (°F)"
          },
          "pressure": {
            "type": "number",
            "title": "Pressure",
            "description": "Pressure (psia)"
          }
        },
        "type": "object",
        "required": [
          "correlation",
          "temperature",
          "pressure"
        ],
        "title": "Body_calculate_gas_solubility_in_water_api_api_pvt_calculategassolubilityinwater_post"
      },
      "Body_calculate_gas_viscosity_api_api_pvt_calculategasviscosity_post": {
        "properties": {
          "correlation": {
            "type": "string",
            "title": "Correlation",
            "description": "Correlation to use (CARRKOBAYASHI, LEEGONZALEZ)"
          },
          "temperature": {
            "type": "number",
            "title": "Temperature",
            "description": "Reservoir temperature (°F)"
          },
          "pressure": {
            "type": "number",
            "title": "Pressure",
            "description": "Pressure (psia)"
          },
          "gas_gravity": {
            "type": "number",
            "title": "Gas Gravity",
            "description": "Gas specific gravity (relative to air)"
          },
          "h2s_content": {
            "type": "number",
            "title": "H2S Content",
            "description": "Hydrogen sulfide content (%)",
            "default": 0
          },
          "n2_content": {
            "type": "number",
            "title": "N2 Content",
            "description": "Nitrogen content (%)",
            "default": 0
          },
          "co2_content": {
            "type": "number",
            "title": "Co2 Content",
            "description": "Carbon dioxide content (%)",
            "default": 0
          }
        },
        "type": "object",
        "required": [
          "correlation",
          "temperature",
          "pressure",
          "gas_gravity"
        ],
        "title": "Body_calculate_gas_viscosity_api_api_pvt_calculategasviscosity_post"
      },
      "Body_calculate_gor_from_pb_api_api_pvt_calculategorfrompb_post": {
        "properties": {
          "correlation": {
            "type": "string",
            "title": "Correlation",
            "description": "Correlation to use (STANDING, VAZQUEZBEGGS, GLASO, LASATER)"
          },
          "pb": {
            "type": "number",
            "title": "Pb",
            "description": "Bubble point pressure (psia)"
          },
          "gas_gravity": {
            "type": "number",
            "title": "Gas Gravity",
            "description": "Gas specific gravity (relative to air)"
          },
          "api": {
            "type": "number",
            "title": "Api",
            "description": "Oil API gravity"
          },
          "temperature": {
            "type": "number",
            "title": "Temperature",
            "description": "Reservoir temperature in °F"
          }
        },
        "type": "object",
        "required": [
          "correlation",
          "pb",
          "gas_gravity",
          "api",
          "temperature"
        ],
        "title": "Body_calculate_gor_from_pb_api_api_pvt_calculategorfrompb_post"
      },
      "Body_calculate_ift_asheim_api_api_pvt_interfacialtension_asheim_post": {
        "properties": {
          "rs": {
            "type": "number",
            "title": "Rs",
            "description": "Solution Gas-Oil Ratio in scf/STB"
          },
          "api": {
            "type": "number",
            "title": "Api",
            "description": "Oil API gravity"
          },
          "gas_gravity": {
            "type": "number",
            "title": "Gas Gravity",
            "description": "Gas specific gravity (relative to air)"
          },
          "bo": {
            "type": "number",
            "title": "Bo",
            "description": "Oil Formation Volume Factor (rb/STB)"
          },
          "pressure": {
            "type": "number",
            "title": "Pressure",
            "description": "Reservoir pressure in psia"
          },
          "temperature": {
            "type": "number",
            "title": "Temperature",
            "description": "Reservoir temperature in °F"
          },
          "z": {
            "type": "number",
            "title": "Z",
            "description": "Gas compressibility factor (dimensionless)"
          }
        },
        "type": "object",
        "required": [
          "rs",
          "api",
          "gas_gravity",
          "bo",
          "pressure",
          "temperature",
          "z"
        ],
        "title": "Body_calculate_ift_asheim_api_api_pvt_interfacialtension_asheim_post"
      },
      "Body_calculate_ift_baker_swerdloff_api_api_pvt_interfacialtension_bakerswerdloff_post": {
        "properties": {
          "api": {
            "type": "number",
            "title": "Api",
            "description": "Oil API gravity"
          },
          "pressure": {
            "type": "number",
            "title": "Pressure",
            "description": "Reservoir pressure in psia"
          },
          "temperature": {
            "type": "number",
            "title": "Temperature",
            "description": "Reservoir temperature in °F"
          }
        },
        "type": "object",
        "required": [
          "api",
          "pressure",
          "temperature"
        ],
        "title": "Body_calculate_ift_baker_swerdloff_api_api_pvt_interfacialtension_bakerswerdloff_post"
      },
      "Body_calculate_ift_gas_water_api_api_pvt_interfacialtension_gaswater_post": {
        "properties": {
          "pressure": {
            "type": "number",
            "title": "Pressure",
            "description": "Reservoir pressure in psia"
          },
          "temperature": {
            "type": "number",
            "title": "Temperature",
            "description": "Reservoir temperature in °F"
          },
          "water_salinity": {
            "type": "number",
            "title": "Water Salinity",
            "description": "Water salinity in ppm"
          },
          "z_factor": {
            "type": "number",
            "title": "Z Factor",
            "description": "Gas compressibility factor (dimensionless)"
          },
          "gas_gravity": {
            "type": "number",
            "title": "Gas Gravity",
            "description": "Gas specific gravity (relative to air)"
          },
          "bw": {
            "type": "number",
            "title": "Bw",
            "description": "Water formation volume factor (rb/STB)"
          }
        },
        "type": "object",
        "required": [
          "pressure",
          "temperature",
          "water_salinity",
          "z_factor",
          "gas_gravity",
          "bw"
        ],
        "title": "Body_calculate_ift_gas_water_api_api_pvt_interfacialtension_gaswater_post"
      },
      "Body_calculate_ift_oil_water_api_api_pvt_interfacialtension_oilwater_post": {
        "properties": {
          "api": {
            "type": "number",
            "title": "Api",
            "description": "Oil API gravity"
          },
          "temperature": {
            "type": "number",
            "title": "Temperature",
            "description": "Reservoir temperature in °F"
          },
          "water_salinity": {
            "type": "number",
            "title": "Water Salinity",
            "description": "Water salinity in ppm"
          },
          "gas_gravity": {
            "type": "number",
            "title": "Gas Gravity",
            "description": "Gas specific gravity (relative to air)"
          },
          "rs": {
            "type": "number",
            "title": "Rs",
            "description": "Solution Gas-Oil Ratio in scf/STB"
          },
          "bo": {
            "type": "number",
            "title": "Bo",
            "description": "Oil Formation Volume Factor (rb/STB)"
          },
          "bw": {
            "type": "number",
            "title": "Bw",
            "description": "Water Formation Volume Factor (rb/STB)"
          }
        },
        "type": "object",
        "required": [
          "api",
          "temperature",
          "water_salinity",
          "gas_gravity",
          "rs",
          "bo",
          "bw"
        ],
        "title": "Body_calculate_ift_oil_water_api_api_pvt_interfacialtension_oilwater_post"
      },
      "Body_calculate_ift_ramey_api_api_pvt_interfacialtension_ramey_post": {
        "properties": {
          "rs": {
            "type": "number",
            "title": "Rs",
            "description": "Solution Gas-Oil Ratio in scf/STB"
          },
          "api": {
            "type": "number",
            "title": "Api",
            "description": "Oil API gravity"
          },
          "gas_gravity": {
            "type": "number",
            "title": "Gas Gravity",
            "description": "Gas specific gravity (relative to air)"
          },
          "bo": {
            "type": "number",
            "title": "Bo",
            "description": "Oil Formation Volume Factor (rb/STB)"
          },
          "pressure": {
            "type": "number",
            "title": "Pressure",
            "description": "Reservoir pressure in psia"
          },
          "temperature": {
            "type": "number",
            "title": "Temperature",
            "description": "Reservoir temperature in °F"
          },
          "z": {
            "type": "number",
            "title": "Z",
            "description": "Gas compressibility factor (dimensionless)"
          }
        },
        "type": "object",
        "required": [
          "rs",
          "api",
          "gas_gravity",
          "bo",
          "pressure",
          "temperature",
          "z"
        ],
        "title": "Body_calculate_ift_ramey_api_api_pvt_interfacialtension_ramey_post"
      },
      "Body_calculate_oil_compressibility_api_api_pvt_calculateoilcompressibility_post": {
        "properties": {
          "correlation": {
            "type": "string",
            "title": "Correlation",
            "description": "Correlation to use (VAZQUEZBEGGS, PETROSKYFARSHAD)"
          },
          "api": {
            "type": "number",
            "title": "Api",
            "description": "Oil API gravity"
          },
          "pressure": {
            "type": "number",
            "title": "Pressure",
            "description": "Pressure (psia)"
          },
          "temperature": {
            "type": "number",
            "title": "Temperature",
            "description": "Reservoir temperature (°F)"
          },
          "gas_gravity": {
            "type": "number",
            "title": "Gas Gravity",
            "description": "Gas specific gravity (relative to air)"
          },
          "pb": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Pb",
            "description": "Bubble point pressure (psia). Required if gor is not provided."
          },
          "gor": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gor",
            "description": "Initial gas-oil ratio at bubble point (scf/STB). Required if pb is not provided."
          }
        },
        "type": "object",
        "required": [
          "correlation",
          "api",
          "pressure",
          "temperature",
          "gas_gravity"
        ],
        "title": "Body_calculate_oil_compressibility_api_api_pvt_calculateoilcompressibility_post"
      },
      "Body_calculate_oil_fvf_api_api_pvt_calculateoilfvf_post": {
        "properties": {
          "correlation": {
            "type": "string",
            "title": "Correlation",
            "description": "Correlation to use (STANDING, VAZQUEZBEGGS, GLASO)"
          },
          "temperature": {
            "type": "number",
            "title": "Temperature",
            "description": "Reservoir temperature in °F"
          },
          "pressure": {
            "type": "number",
            "title": "Pressure",
            "description": "Pressure in psia"
          },
          "api": {
            "type": "number",
            "title": "Api",
            "description": "Oil API gravity"
          },
          "gas_gravity": {
            "type": "number",
            "title": "Gas Gravity",
            "description": "Gas specific gravity (relative to air)"
          },
          "pb": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Pb",
            "description": "Bubble point pressure in psia. Required if initial_gor is not provided."
          },
          "initial_gor": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Initial Gor",
            "description": "Initial gas-oil ratio at bubble point (scf/STB). Required if pb is not provided."
          },
          "co_correlation": {
            "type": "string",
            "title": "Co Correlation",
            "description": "Correlation for oil compressibility if needed",
            "default": "VAZQUEZBEGGS"
          }
        },
        "type": "object",
        "required": [
          "correlation",
          "temperature",
          "pressure",
          "api",
          "gas_gravity"
        ],
        "title": "Body_calculate_oil_fvf_api_api_pvt_calculateoilfvf_post"
      },
      "Body_calculate_oil_properties_api_api_pvt_calculateoilproperties_post": {
        "properties": {
          "reservoir_temperature": {
            "type": "number",
            "title": "Reservoir Temperature",
            "description": "Reservoir temperature in °F"
          },
          "pressure": {
            "type": "number",
            "title": "Pressure",
            "description": "Pressure in psia"
          },
          "api_gravity": {
            "type": "number",
            "title": "Api Gravity",
            "description": "Oil API gravity"
          },
          "gas_oil_ratio": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gas Oil Ratio",
            "description": "Gas-Oil Ratio in scf/STB. If None, it will be calculated from bubble point pressure."
          },
          "bubble_point_pressure": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bubble Point Pressure",
            "description": "Bubble point pressure in psia. If None, it will be calculated from gas oil ratio."
          },
          "gas_specific_gravity": {
            "type": "number",
            "title": "Gas Specific Gravity",
            "description": "Gas specific gravity (unitless, relative to air)"
          },
          "h2s_content": {
            "type": "number",
            "title": "H2S Content",
            "description": "Hydrogen sulfide content (%)",
            "default": 0
          },
          "co2_content": {
            "type": "number",
            "title": "Co2 Content",
            "description": "Carbon dioxide content (%)",
            "default": 0
          },
          "n2_content": {
            "type": "number",
            "title": "N2 Content",
            "description": "Nitrogen content (%)",
            "default": 0
          },
          "correlations": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Correlations",
            "description": "Correlations to use for oil properties"
          }
        },
        "type": "object",
        "required": [
          "reservoir_temperature",
          "pressure",
          "api_gravity",
          "gas_specific_gravity"
        ],
        "title": "Body_calculate_oil_properties_api_api_pvt_calculateoilproperties_post"
      },
      "Body_calculate_oil_viscosity_api_api_pvt_calculateoilviscosity_post": {
        "properties": {
          "dead_oil_correlation": {
            "type": "string",
            "title": "Dead Oil Correlation",
            "description": "Correlation for dead oil viscosity"
          },
          "saturated_correlation": {
            "type": "string",
            "title": "Saturated Correlation",
            "description": "Correlation for saturated oil viscosity"
          },
          "undersaturated_correlation": {
            "type": "string",
            "title": "Undersaturated Correlation",
            "description": "Correlation for undersaturated oil viscosity"
          },
          "api": {
            "type": "number",
            "title": "Api",
            "description": "Oil API gravity"
          },
          "temperature": {
            "type": "number",
            "title": "Temperature",
            "description": "Reservoir temperature (°F)"
          },
          "pressure": {
            "type": "number",
            "title": "Pressure",
            "description": "Pressure (psia)"
          },
          "gas_gravity": {
            "type": "number",
            "title": "Gas Gravity",
            "description": "Gas specific gravity (relative to air)"
          },
          "pb": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Pb",
            "description": "Bubble point pressure (psia). Required if rs is not provided."
          },
          "rs": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rs",
            "description": "Solution gas-oil ratio (scf/STB). Required if pb is not provided."
          }
        },
        "type": "object",
        "required": [
          "dead_oil_correlation",
          "saturated_correlation",
          "undersaturated_correlation",
          "api",
          "temperature",
          "pressure",
          "gas_gravity"
        ],
        "title": "Body_calculate_oil_viscosity_api_api_pvt_calculateoilviscosity_post"
      },
      "Body_calculate_pb_from_gor_api_api_pvt_calculatepbfromgor_post": {
        "properties": {
          "correlation": {
            "type": "string",
            "title": "Correlation",
            "description": "Correlation to use (STANDING, VAZQUEZBEGGS, GLASO, LASATER)"
          },
          "initial_gor": {
            "type": "number",
            "title": "Initial Gor",
            "description": "Initial gas-oil ratio (scf/STB)"
          },
          "gas_gravity": {
            "type": "number",
            "title": "Gas Gravity",
            "description": "Gas specific gravity (relative to air)"
          },
          "api": {
            "type": "number",
            "title": "Api",
            "description": "Oil API gravity"
          },
          "temperature": {
            "type": "number",
            "title": "Temperature",
            "description": "Reservoir temperature in °F"
          },
          "nitrogen_percentage": {
            "type": "number",
            "title": "Nitrogen Percentage",
            "description": "Nitrogen content percentage (only used for LASATER correlation)",
            "default": 0
          }
        },
        "type": "object",
        "required": [
          "correlation",
          "initial_gor",
          "gas_gravity",
          "api",
          "temperature"
        ],
        "title": "Body_calculate_pb_from_gor_api_api_pvt_calculatepbfromgor_post"
      },
      "Body_calculate_pseudopressure_api_api_pvt_calculatepseudopressure_post": {
        "properties": {
          "reservoir_pressure": {
            "type": "number",
            "title": "Reservoir Pressure",
            "description": "Reservoir pressure in psia"
          },
          "reservoir_temperature": {
            "type": "number",
            "title": "Reservoir Temperature",
            "description": "Reservoir temperature in °F"
          },
          "co2": {
            "type": "number",
            "title": "Co2",
            "description": "Carbon dioxide content (%)",
            "default": 0
          },
          "h2s": {
            "type": "number",
            "title": "H2S",
            "description": "Hydrogen sulfide content (%)",
            "default": 0
          },
          "n2": {
            "type": "number",
            "title": "N2",
            "description": "Nitrogen content (%)",
            "default": 0
          },
          "correlation_for_gas_viscosity": {
            "type": "string",
            "title": "Correlation For Gas Viscosity",
            "description": "Correlation to use for gas viscosity (LEEGONZALEZ, CARRKOBAYASHI)"
          },
          "correlation_for_z_factor": {
            "type": "string",
            "title": "Correlation For Z Factor",
            "description": "Correlation to use for z-factor (DRAMCHUKABUKASSEM, HALLYARBOROUGH)"
          },
          "gas_gravity": {
            "type": "number",
            "title": "Gas Gravity",
            "description": "Gas specific gravity (relative to air)"
          }
        },
        "type": "object",
        "required": [
          "reservoir_pressure",
          "reservoir_temperature",
          "correlation_for_gas_viscosity",
          "correlation_for_z_factor",
          "gas_gravity"
        ],
        "title": "Body_calculate_pseudopressure_api_api_pvt_calculatepseudopressure_post"
      },
      "Body_calculate_pvt_properties_api_pvt_calculateallproperties_post": {
        "properties": {
          "reservoir_temperature": {
            "type": "number",
            "title": "Reservoir Temperature",
            "description": "Reservoir temperature in °F"
          },
          "reservoir_pressure": {
            "type": "number",
            "title": "Reservoir Pressure",
            "description": "Reservoir pressure in psia"
          },
          "api_gravity": {
            "type": "number",
            "title": "Api Gravity",
            "description": "Oil API gravity"
          },
          "gas_oil_ratio": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gas Oil Ratio",
            "description": "Gas-Oil Ratio in scf/STB. If None, it will be calculated from bubble point pressure."
          },
          "bubble_point_pressure": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bubble Point Pressure",
            "description": "Bubble point pressure in psia. If None, it will be calculated from gas oil ratio."
          },
          "gas_specific_gravity": {
            "type": "number",
            "title": "Gas Specific Gravity",
            "description": "Gas specific gravity (unitless, relative to air)"
          },
          "h2s_content": {
            "type": "number",
            "title": "H2S Content",
            "description": "Hydrogen sulfide content (%)",
            "default": 0
          },
          "co2_content": {
            "type": "number",
            "title": "Co2 Content",
            "description": "Carbon dioxide content (%)",
            "default": 0
          },
          "n2_content": {
            "type": "number",
            "title": "N2 Content",
            "description": "Nitrogen content (%)",
            "default": 0
          },
          "water_salinity": {
            "type": "number",
            "title": "Water Salinity",
            "description": "Water total dissolved solids in ppm",
            "default": 0
          },
          "correlations": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CorrelationsModel"
              },
              {
                "type": "null"
              }
            ],
            "description": "Correlations to use"
          }
        },
        "type": "object",
        "required": [
          "reservoir_temperature",
          "reservoir_pressure",
          "api_gravity",
          "gas_specific_gravity"
        ],
        "title": "Body_calculate_pvt_properties_api_pvt_calculateallproperties_post"
      },
      "Body_calculate_rs_api_api_pvt_calculaters_post": {
        "properties": {
          "correlation": {
            "type": "string",
            "title": "Correlation",
            "description": "Correlation to use (STANDING, VAZQUEZBEGGS, GLASO, LASATER)"
          },
          "temperature": {
            "type": "number",
            "title": "Temperature",
            "description": "Reservoir temperature in °F"
          },
          "pressure": {
            "type": "number",
            "title": "Pressure",
            "description": "Pressure in psia"
          },
          "api": {
            "type": "number",
            "title": "Api",
            "description": "Oil API gravity"
          },
          "gas_gravity": {
            "type": "number",
            "title": "Gas Gravity",
            "description": "Gas specific gravity (relative to air)"
          },
          "pb": {
            "type": "number",
            "title": "Pb",
            "description": "Bubble point pressure in psia"
          }
        },
        "type": "object",
        "required": [
          "correlation",
          "temperature",
          "pressure",
          "api",
          "gas_gravity",
          "pb"
        ],
        "title": "Body_calculate_rs_api_api_pvt_calculaters_post"
      },
      "Body_calculate_saturated_oil_visc_api_api_pvt_calculatesaturatedoilvisc_post": {
        "properties": {
          "correlation": {
            "type": "string",
            "title": "Correlation",
            "description": "Correlation to use (BEGGSROBINSON, PETROSKYFARSHAD, CHEWCONNALLY)"
          },
          "dead_oil_viscosity": {
            "type": "number",
            "title": "Dead Oil Viscosity",
            "description": "Dead oil viscosity (cP)"
          },
          "rs": {
            "type": "number",
            "title": "Rs",
            "description": "Solution gas-oil ratio (scf/STB)"
          }
        },
        "type": "object",
        "required": [
          "correlation",
          "dead_oil_viscosity",
          "rs"
        ],
        "title": "Body_calculate_saturated_oil_visc_api_api_pvt_calculatesaturatedoilvisc_post"
      },
      "Body_calculate_undersaturated_oil_visc_api_api_pvt_calculateundersaturatedoilvisc_post": {
        "properties": {
          "correlation": {
            "type": "string",
            "title": "Correlation",
            "description": "Correlation to use (BEAL, BEGGSROBINSON, PETROSKYFARSHAD, VAZQUESBEGGS)"
          },
          "saturated_oil_viscosity": {
            "type": "number",
            "title": "Saturated Oil Viscosity",
            "description": "Saturated oil viscosity at bubble point (cP)"
          },
          "api": {
            "type": "number",
            "title": "Api",
            "description": "Oil API gravity"
          },
          "pressure": {
            "type": "number",
            "title": "Pressure",
            "description": "Pressure (psia)"
          },
          "pb": {
            "type": "number",
            "title": "Pb",
            "description": "Bubble point pressure (psia)"
          }
        },
        "type": "object",
        "required": [
          "correlation",
          "saturated_oil_viscosity",
          "api",
          "pressure",
          "pb"
        ],
        "title": "Body_calculate_undersaturated_oil_visc_api_api_pvt_calculateundersaturatedoilvisc_post"
      },
      "Body_calculate_water_compressibility_api_api_pvt_calculatewatercompressibility_post": {
        "properties": {
          "correlation": {
            "type": "string",
            "title": "Correlation",
            "description": "Correlation to use (BRILLANDBEGGS)"
          },
          "pressure": {
            "type": "number",
            "title": "Pressure",
            "description": "Pressure (psia)"
          },
          "temperature": {
            "type": "number",
            "title": "Temperature",
            "description": "Reservoir temperature (°F)"
          }
        },
        "type": "object",
        "required": [
          "correlation",
          "pressure",
          "temperature"
        ],
        "title": "Body_calculate_water_compressibility_api_api_pvt_calculatewatercompressibility_post"
      },
      "Body_calculate_water_fvf_api_api_pvt_calculatewaterfvf_post": {
        "properties": {
          "correlation": {
            "type": "string",
            "title": "Correlation",
            "description": "Correlation to use (TAREKAHMAD)"
          },
          "temperature": {
            "type": "number",
            "title": "Temperature",
            "description": "Reservoir temperature (°F)"
          },
          "pressure": {
            "type": "number",
            "title": "Pressure",
            "description": "Pressure (psia)"
          }
        },
        "type": "object",
        "required": [
          "correlation",
          "temperature",
          "pressure"
        ],
        "title": "Body_calculate_water_fvf_api_api_pvt_calculatewaterfvf_post"
      },
      "Body_calculate_water_properties_api_api_pvt_calculatewaterproperties_post": {
        "properties": {
          "reservoir_temperature": {
            "type": "number",
            "title": "Reservoir Temperature",
            "description": "Reservoir temperature in °F"
          },
          "pressure": {
            "type": "number",
            "title": "Pressure",
            "description": "Pressure in psia"
          },
          "water_salinity": {
            "type": "number",
            "title": "Water Salinity",
            "description": "Water total dissolved solids in ppm",
            "default": 0
          },
          "correlations": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Correlations",
            "description": "Correlations to use for water properties"
          }
        },
        "type": "object",
        "required": [
          "reservoir_temperature",
          "pressure"
        ],
        "title": "Body_calculate_water_properties_api_api_pvt_calculatewaterproperties_post"
      },
      "Body_calculate_water_viscosity_api_api_pvt_calculatewaterviscosity_post": {
        "properties": {
          "correlation": {
            "type": "string",
            "title": "Correlation",
            "description": "Correlation to use (SARDAROV, BRILLANDBEGGS)"
          },
          "temperature": {
            "type": "number",
            "title": "Temperature",
            "description": "Reservoir temperature (°F)"
          },
          "pressure": {
            "type": "number",
            "title": "Pressure",
            "description": "Pressure (psia). Only used in Sardarov correlation.",
            "default": 0
          },
          "water_salinity": {
            "type": "number",
            "title": "Water Salinity",
            "description": "Water salinity (ppm). Only used in Sardarov correlation.",
            "default": 0
          }
        },
        "type": "object",
        "required": [
          "correlation",
          "temperature"
        ],
        "title": "Body_calculate_water_viscosity_api_api_pvt_calculatewaterviscosity_post"
      },
      "Body_calculate_z_factor_api_api_pvt_calculatezfactor_post": {
        "properties": {
          "correlation": {
            "type": "string",
            "title": "Correlation",
            "description": "Correlation to use (HALLYARBOROUGH, DRANCHUKABUKASSEM)"
          },
          "temperature": {
            "type": "number",
            "title": "Temperature",
            "description": "Reservoir temperature (°F)"
          },
          "pressure": {
            "type": "number",
            "title": "Pressure",
            "description": "Pressure (psia)"
          },
          "gas_gravity": {
            "type": "number",
            "title": "Gas Gravity",
            "description": "Gas specific gravity (relative to air)"
          },
          "n2_content": {
            "type": "number",
            "title": "N2 Content",
            "description": "Nitrogen content (%)",
            "default": 0
          },
          "co2_content": {
            "type": "number",
            "title": "Co2 Content",
            "description": "Carbon dioxide content (%)",
            "default": 0
          },
          "h2s_content": {
            "type": "number",
            "title": "H2S Content",
            "description": "Hydrogen sulfide content (%)",
            "default": 0
          }
        },
        "type": "object",
        "required": [
          "correlation",
          "temperature",
          "pressure",
          "gas_gravity"
        ],
        "title": "Body_calculate_z_factor_api_api_pvt_calculatezfactor_post"
      },
      "CorrelationsModel": {
        "properties": {
          "pvt_model": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Pvt Model",
            "default": "STANDING"
          },
          "co_correlation": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Co Correlation",
            "default": "VAZQUEZBEGGS"
          },
          "viscosity_correlation": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Viscosity Correlation",
            "default": "BEGGSROBINSON"
          },
          "dead_oil_viscosity_correlation": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Dead Oil Viscosity Correlation",
            "default": "BEGGSROBINSON"
          },
          "saturated_oil_viscosity_correlation": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Saturated Oil Viscosity Correlation",
            "default": "BEGGSROBINSON"
          },
          "undersaturated_oil_viscosity_correlation": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Undersaturated Oil Viscosity Correlation",
            "default": "BEGGSROBINSON"
          },
          "z_factor_correlation": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Z Factor Correlation",
            "default": "HALLYARBOROUGH"
          },
          "gas_fvf_correlation": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gas Fvf Correlation",
            "default": "HALLYARBOROUGH"
          },
          "gas_compressibility_correlation": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gas Compressibility Correlation",
            "default": "HALLYARBOROUGH"
          },
          "gas_viscosity_correlation": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gas Viscosity Correlation",
            "default": "CARRKOBAYASHI"
          },
          "water_viscosity_correlation": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Water Viscosity Correlation",
            "default": "SARDAROV"
          },
          "water_compressibility_correlation": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Water Compressibility Correlation",
            "default": "BRILLANDBEGGS"
          },
          "water_fvf_correlation": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Water Fvf Correlation",
            "default": "TAREKAHMAD"
          },
          "rsw_correlation": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rsw Correlation",
            "default": "TAREKAHMAD"
          }
        },
        "type": "object",
        "title": "CorrelationsModel"
      },
      "DerivativesRequest": {
        "properties": {
          "time": {
            "items": {
              "type": "number"
            },
            "type": "array",
            "title": "Time",
            "description": "Time array values (hours, days, etc.)"
          },
          "phase_rates": {
            "additionalProperties": {
              "items": {
                "type": "number"
              },
              "type": "array"
            },
            "type": "object",
            "title": "Phase Rates",
            "description": "Dictionary of phase rates. Each key is a phase name (e.g., 'oil', 'gas', 'water') and value is a list of rates."
          },
          "pressure": {
            "items": {
              "type": "number"
            },
            "type": "array",
            "title": "Pressure",
            "description": "Pressure array values (psia)"
          },
          "flow_regime": {
            "type": "string",
            "title": "Flow Regime",
            "description": "Flow regime type ('linear', 'bilinear', 'pss', or 'radial')"
          },
          "p_initial": {
            "type": "number",
            "title": "P Initial",
            "description": "Initial reservoir pressure (psia)"
          },
          "fluid_p": {
            "items": {
              "type": "number"
            },
            "type": "array",
            "title": "Fluid P",
            "description": "List of fluid properties [Temp, Specific_Gravity, API, GOR, MoleFraction_H2S, MoleFraction_CO2, MoleFraction_N2, MoleFraction_H2O]"
          },
          "s_ratio": {
            "type": "number",
            "title": "S Ratio",
            "description": "Superposition time ratio for derivative calculation. Default is 4.0",
            "default": 4
          }
        },
        "type": "object",
        "required": [
          "time",
          "phase_rates",
          "pressure",
          "flow_regime",
          "p_initial",
          "fluid_p"
        ],
        "title": "DerivativesRequest"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "MTData": {
        "properties": {
          "md": {
            "items": {
              "type": "number"
            },
            "type": "array",
            "title": "Md"
          },
          "tvd": {
            "items": {
              "type": "number"
            },
            "type": "array",
            "title": "Tvd"
          }
        },
        "type": "object",
        "required": [
          "md",
          "tvd"
        ],
        "title": "MTData"
      },
      "PVTCorrelationModel": {
        "properties": {
          "pvt_model": {
            "type": "string",
            "title": "Pvt Model",
            "description": "PVT model for Rs, Pb, Bo (e.g., VAZQUEZBEGGS)"
          },
          "co_correlation": {
            "type": "string",
            "title": "Co Correlation",
            "description": "Correlation for oil compressibility (e.g., VAZQUEZBEGGS)"
          },
          "dead_oil_viscosity_correlation": {
            "type": "string",
            "title": "Dead Oil Viscosity Correlation",
            "description": "Correlation for dead oil viscosity (e.g., BEGGSROBINSON)"
          },
          "saturated_oil_viscosity_correlation": {
            "type": "string",
            "title": "Saturated Oil Viscosity Correlation",
            "description": "Correlation for saturated oil viscosity (e.g., BEGGSROBINSON)"
          },
          "undersaturated_oil_viscosity_correlation": {
            "type": "string",
            "title": "Undersaturated Oil Viscosity Correlation",
            "description": "Correlation for undersaturated oil viscosity (e.g., BEAL)"
          }
        },
        "type": "object",
        "required": [
          "pvt_model",
          "co_correlation",
          "dead_oil_viscosity_correlation",
          "saturated_oil_viscosity_correlation",
          "undersaturated_oil_viscosity_correlation"
        ],
        "title": "PVTCorrelationModel"
      },
      "PVTData": {
        "properties": {
          "API": {
            "type": "number",
            "title": "Api",
            "description": "Oil API gravity"
          },
          "GG": {
            "type": "number",
            "title": "Gg",
            "description": "Gas specific gravity (relative to air)"
          },
          "Salinity": {
            "type": "number",
            "title": "Salinity",
            "description": "Water salinity (ppm)"
          },
          "MoleFraction_H2S": {
            "type": "number",
            "title": "Molefraction H2S",
            "description": "Mole fraction of H2S",
            "default": 0
          },
          "MoleFraction_CO2": {
            "type": "number",
            "title": "Molefraction Co2",
            "description": "Mole fraction of CO2",
            "default": 0
          },
          "MoleFraction_N2": {
            "type": "number",
            "title": "Molefraction N2",
            "description": "Mole fraction of N2",
            "default": 0
          },
          "MoleFraction_H2O": {
            "type": "number",
            "title": "Molefraction H2O",
            "description": "Mole fraction of H2O",
            "default": 0
          },
          "Cond": {
            "type": "number",
            "title": "Cond",
            "description": "Condensate yield (if applicable)",
            "default": 0
          },
          "correlation_name": {
            "type": "string",
            "title": "Correlation Name",
            "description": "Multiphase flow correlation name (HAGEDORN_BROWN, BEGGS_BRILL, GRAY)"
          }
        },
        "type": "object",
        "required": [
          "API",
          "GG",
          "Salinity",
          "correlation_name"
        ],
        "title": "PVTData"
      },
      "ProductionData": {
        "properties": {
          "qo": {
            "type": "number",
            "title": "Qo",
            "description": "Oil flow rate (STB/day)"
          },
          "qw": {
            "type": "number",
            "title": "Qw",
            "description": "Water flow rate (STB/day)"
          },
          "qg": {
            "type": "number",
            "title": "Qg",
            "description": "Gas flow rate (Mscf/day)"
          },
          "thp": {
            "type": "number",
            "title": "Thp",
            "description": "Tubing head pressure (psia)"
          },
          "chp": {
            "type": "number",
            "title": "Chp",
            "description": "Casing head pressure (psia)"
          }
        },
        "type": "object",
        "required": [
          "qo",
          "qw",
          "qg",
          "thp",
          "chp"
        ],
        "title": "ProductionData"
      },
      "SinglePhaseDerivativesRequest": {
        "properties": {
          "time": {
            "items": {
              "type": "number"
            },
            "type": "array",
            "title": "Time",
            "description": "Time array values (hours, days, etc.)"
          },
          "rate": {
            "items": {
              "type": "number"
            },
            "type": "array",
            "title": "Rate",
            "description": "Rate array for a single phase"
          },
          "pressure": {
            "items": {
              "type": "number"
            },
            "type": "array",
            "title": "Pressure",
            "description": "Pressure array values (psia)"
          },
          "flow_regime": {
            "type": "string",
            "title": "Flow Regime",
            "description": "Flow regime type ('linear', 'bilinear', 'pss', or 'radial')"
          },
          "is_gas": {
            "type": "boolean",
            "title": "Is Gas",
            "description": "True if gas phase, False if oil phase",
            "default": false
          },
          "p_initial": {
            "type": "number",
            "title": "P Initial",
            "description": "Initial reservoir pressure (psia)"
          },
          "fluid_p": {
            "items": {
              "type": "number"
            },
            "type": "array",
            "title": "Fluid P",
            "description": "List of fluid properties [Temp, Specific_Gravity, API, GOR, MoleFraction_H2S, MoleFraction_CO2, MoleFraction_N2, MoleFraction_H2O]"
          },
          "s_ratio": {
            "type": "number",
            "title": "S Ratio",
            "description": "Superposition time ratio for derivative calculation. Default is 4.0",
            "default": 4
          },
          "phase_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Phase Name",
            "description": "Optional name for the phase (e.g., 'oil', 'gas', 'water')",
            "default": "default"
          }
        },
        "type": "object",
        "required": [
          "time",
          "rate",
          "pressure",
          "flow_regime",
          "p_initial",
          "fluid_p"
        ],
        "title": "SinglePhaseDerivativesRequest"
      },
      "SinglePhaseSuperpositionTimeRequest": {
        "properties": {
          "time": {
            "items": {
              "type": "number"
            },
            "type": "array",
            "title": "Time",
            "description": "Time array values (hours, days, etc.)"
          },
          "rate": {
            "items": {
              "type": "number"
            },
            "type": "array",
            "title": "Rate",
            "description": "Rate array for a single phase"
          },
          "flow_regime": {
            "type": "string",
            "title": "Flow Regime",
            "description": "Flow regime type ('linear', 'bilinear', 'pss', or 'radial')"
          },
          "phase_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Phase Name",
            "description": "Optional name for the phase (e.g., 'oil', 'gas', 'water')",
            "default": "default"
          }
        },
        "type": "object",
        "required": [
          "time",
          "rate",
          "flow_regime"
        ],
        "title": "SinglePhaseSuperpositionTimeRequest"
      },
      "SuperpositionTimeRequest": {
        "properties": {
          "time": {
            "items": {
              "type": "number"
            },
            "type": "array",
            "title": "Time",
            "description": "Time array values (hours, days, etc.)"
          },
          "phase_rates": {
            "additionalProperties": {
              "items": {
                "type": "number"
              },
              "type": "array"
            },
            "type": "object",
            "title": "Phase Rates",
            "description": "Dictionary of phase rates. Each key is a phase name (e.g., 'oil', 'gas', 'water') and value is a list of rates."
          },
          "flow_regime": {
            "type": "string",
            "title": "Flow Regime",
            "description": "Flow regime type ('linear', 'bilinear', 'pss', or 'radial')"
          }
        },
        "type": "object",
        "required": [
          "time",
          "phase_rates",
          "flow_regime"
        ],
        "title": "SuperpositionTimeRequest"
      },
      "TemperatureData": {
        "properties": {
          "md_temp": {
            "items": {
              "type": "number"
            },
            "type": "array",
            "title": "Md Temp"
          },
          "temp": {
            "items": {
              "type": "number"
            },
            "type": "array",
            "title": "Temp"
          }
        },
        "type": "object",
        "required": [
          "md_temp",
          "temp"
        ],
        "title": "TemperatureData"
      },
      "TubularDataModel": {
        "properties": {
          "MDTubingShoe": {
            "type": "number",
            "title": "Mdtubingshoe",
            "description": "Last depth of tubing (ft)"
          },
          "CasingID": {
            "type": "number",
            "title": "Casingid",
            "description": "Casing ID (inches)"
          },
          "TubingID": {
            "type": "number",
            "title": "Tubingid",
            "description": "Tubing ID (inches)"
          },
          "TubingOD": {
            "type": "number",
            "title": "Tubingod",
            "description": "Tubing OD (inches)"
          },
          "Datum": {
            "type": "number",
            "title": "Datum",
            "description": "Depth for BHP calculation (ft)"
          },
          "piperough": {
            "type": "number",
            "title": "Piperough",
            "description": "Pipe roughness (ft)"
          }
        },
        "type": "object",
        "required": [
          "MDTubingShoe",
          "CasingID",
          "TubingID",
          "TubingOD",
          "Datum",
          "piperough"
        ],
        "title": "TubularDataModel"
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      }
    },
    "securitySchemes": {
      "APIKeyHeader": {
        "type": "apiKey",
        "in": "header",
        "name": "X-API-Key"
      }
    }
  }
}