What is Whitson+?
Whitson+ provides comprehensive reservoir engineering tools including PVT modeling, decline curve analysis (DCA), rate transient analysis (RTA), bottomhole pressure (BHP) calculations, history matching, nodal analysis (IPR/VLP/gradient), multiphase FMB, auto-forecasting, and production data management. 245 API methods covering the full Whitson platform.
Available Tools
- get_auto_forecasts_auto_forecast_idGet all info of Auto-Forecast setting with auto_forecast_id
- put_auto_forecasts_auto_forecast_id_autofitAutofit all wells in a Auto-Forecast with auto_forecast_id
- patch_auto_forecasts_auto_forecast_id_monthly_ratesExport monthly DCA rates for all three phases for an Auto-Forecast.
- patch_auto_forecasts_auto_forecast_id_tablesReturn the Auto-Forecast export as JSON equivalent to the Excel export.
- get_fieldsGet the complete list of all fields.
- get_fields_field_id_projectsGet the complete list of all projects under a field.
- post_fields_field_id_projectsUpload new project to the field specified by <field_id>.
- get_mass_fluid_dataGet an array with latest fluid data for all wells.
- get_mass_fluid_data_paginatedGet paginated mass fluid data for wells.
- put_multi_well_gas_lift_opt_multi_well_gas_lift_id_change_injection_rateput_multi_well_gas_lift_opt_multi_well_gas_lift_id_change_injection_rate
- get_multi_well_gas_lift_opt_multi_well_gas_lift_id_resultsRetrieves the summary of results for all wells in the gas lift optimizer.
- get_multi_well_gas_lift_opt_multi_well_gas_lift_id_runLaunch the execution of the multi-well gas lift optimizer.
- get_multi_well_gas_lift_opt_multi_well_gas_lift_id_settingsGet configuration settings for the multi-well gas lift optimizer.
- put_multi_well_gas_lift_opt_multi_well_gas_lift_id_settingsUpdate the configuration settings for the multi-well gas lift optimizer.
- get_old_wells_paginatedOLD version, which contains metadata response. Get a list of wells (result paginated).
- get_processesGet list of all processes.
- post_processesUpload new process.
- put_processes_process_idEdit a process.
- delete_processes_process_idDelete a process.
- post_projects_multi_well_gas_lift_optAdd a new Multi Well Gas Lift Optimizer in an area
- delete_projects_multi_well_gas_lift_opt_multi_well_gas_lift_idDelete a multi well gas lift optimizer project
- post_projects_multi_well_gas_lift_opt_areasAdd new Multi Well Gas Lift Area in a project
- delete_projects_multi_well_gas_lift_opt_areas_multi_well_gas_lift_area_idDelete a Multi Well Gas Lift Area with MULTI_WELL_GAS_LIFT_AREA_ID
- get_projects_project_id_max_production_dateGet the maximum production date of all wells in a project.
- get_projects_project_id_multi_well_gas_lift_opt_autopopulate_by_compressor_groupAutomatically populates the multi-well gas lift optimizer.
- get_projects_project_id_multi_well_gas_lift_opt_listRetrieves all multi-well gas lift optimizers and associated areas within the specified project.
- get_projects_project_id_type_well_areasRetrieve all the type well areas in a project
- post_projects_project_id_type_well_areasCreate a type well area in a project
- get_projects_project_id_well_groupsGet all group tags in a project
- post_projects_project_id_well_groupsCreate a new group tag for wells in a project
- put_projects_project_id_well_groupsEdit group tag configuration in a project
- delete_projects_project_id_well_groupsDelete group tag in a project
- get_scenarioGet a list of scenario wells.
- delete_type_well_areas_type_well_area_idDelete a type well area
- post_type_wellsCreate a type well in a type well area
- put_type_wellsEdit a type well configuration
- delete_type_wellsDelete a type well
- post_type_wells_saved_casesUploads Type Well DCA cases to the database
- patch_type_wells_saved_casesRetrieves all Type Well DCA saved cases for the given type well ids
- delete_type_wells_saved_casesDeletes Type Well DCA saved cases from the database
- get_well_monitoring_well_id_common_process_conversionGet common process conversion data of the most recent well monitoring run
- get_well_monitoring_well_id_composition_trackingGet compositional tracking data of the most recent well monitoring run for
- get_well_monitoring_well_id_separator_oil_shrinkageGet separator oil shrinkage data of the most recent well monitoring run for
- get_wellsGet a list of wells.
- post_wellsUpload a new well.
- patch_wellsConviniently update partial info to many wells (header, completion, etc.).
- get_wells_active_production_dataGet the full active production data records of wells in bulk.
- patch_wells_arta_interpretationsGet classical analytical rta interpretation for provided well ids.
- post_wells_autofit_multiphase_fmbPerform MFMB autofit for multiple wells, with optional post-fit MFMB calculation using pressure
- post_wells_autofit_multiphase_fmb_with_pavg_criteriaPerform MFMB autofit for multiple wells, with optional post-fit MFMB calculation using pressure
- get_wells_autofit_rtaLaunch Numerical RTA autofit for multiple wells.
- get_wells_bhp_calculationGet BHP calculation in bulk.
- get_wells_bhp_calculation_statusGet BHP calculation status for many wells (excluding scenario).
- get_wells_bhp_calculation_with_gauge_dataGet BHP calculation and gauge data in bulk.
- patch_wells_bhp_input_well_dataFetch WellData for multiple well IDs in a single query (bulk endpoint).
- post_wells_bhp_input_well_data_bulkBulk create/update wellbore configurations for many wells.
- put_wells_bhp_input_well_data_well_data_idEdit a WellData object to a BHPInput.
- delete_wells_bhp_input_well_data_well_data_idDelete a WellData object to a BHPInput.
- put_wells_bhp_input_well_data_well_data_id_gas_lift_dataEdit a list of gas lift valves to a WellData.
- put_wells_bhp_input_well_data_well_data_id_well_data_casing_pipe_numberEdit a WellDataCasing object to a WellData.
- delete_wells_bhp_input_well_data_well_data_id_well_data_casing_pipe_numberDelete a WellDataCasing object to a WellData.
- put_wells_bhp_input_well_data_well_data_id_well_data_tubing_pipe_numberEdit a WellDataTubing object to a WellData.
- delete_wells_bhp_input_well_data_well_data_id_well_data_tubing_pipe_numberDelete a WellDataTubing object to a WellData.
- post_wells_bhp_input_well_deviation_surveyBulk upload/edit well deviation surveys for multiple wells.
- put_wells_bhp_inputs### Body example
- patch_wells_bhp_inputsGet BHP input for multiple wells.
- patch_wells_bhp_inputs_no_deviation_surveyGet BHP input for multiple wells.
- put_wells_bhp_tuning_parametersEdit the BHP tuning parameters for many wells.
- post_wells_bhp_well_data_default_statuspost_wells_bhp_well_data_default_status
- post_wells_bulkBulk create new wells.
- get_wells_bulk_gas_lift_optimizer_resultsGet gas lift optimizer results in bulk based on parameters specified. Uses pagination
- patch_wells_bulk_gas_lift_optimizer_resultsGet gas lift optimizer results for selected wells.
- patch_wells_bulk_run_current_ipr_vlpBatch run ipr vlp for wells with IDs using last production data or average production data.
- patch_wells_bulk_run_gas_lift_optimizerRun gas lift optimizer for selected wells.
- patch_wells_bulk_run_gradientRun gradient for selected wells.
- post_wells_copy_wellsCopy multiple wells to an existing project.
- post_wells_custom_attributes_bulkUpsert one {well_id, attribute_name, value} tuple per list item.
- patch_wells_custom_attributes_bulkRetrieve current custom-attribute values for multiple wells.
- delete_wells_custom_attributes_bulkBulk deletion of custom-attribute values; ignores missing targets.
- post_wells_data_fieldsGet a list of wells by their IDs with selected attributes.
- patch_wells_dcaRetrieves all well DCAs for the given well ids
- get_wells_dca_daily_ratesExport daily DCA rates for all three phases for a list of well_ids.
- get_wells_dca_monthly_ratesExport monthly DCA rates for all three phases for a list of well_ids.
- post_wells_dca_saved_casepost_wells_dca_saved_case
- patch_wells_dca_saved_casesRetrieves all well DCA saved cases for the given well ids
- get_wells_dca_saved_cases_daily_ratesExport daily DCA rates for saved cases for a list of well_ids.
- get_wells_dca_saved_cases_monthly_ratesExport monthly DCA rates for saved cases for a list of well_ids.
- get_wells_fat_gas_rateBulk‐retrieve fat gas rate series (`common_process_conversion`
- put_wells_forecast_inputsEdit Multiple Forecast Inputs
- put_wells_gradient_casesEdit gradient cases in bulk.
- patch_wells_gradient_casesGet gradient cases of selected wells
- put_wells_gradient_cases_gradient_case_idEdit a gradient case.
- delete_wells_gradient_cases_gradient_case_idDelete a gradient case.
- get_wells_history_matchingGet a list of history matching object.
- get_wells_history_matching_inputGet a list of history matching inputs.
- put_wells_history_matching_inputEdit history matching inputs for many wells.
- post_wells_latest_date_gradient_casespost_wells_latest_date_gradient_cases
- get_wells_lightget_wells_light
- patch_wells_mass_export_custom_resultsRetrieve certain data for wells, equivalent to well exports in Whitson+.
- get_wells_monthly_production_dataGet the monthly production records of wells in bulk
- post_wells_monthly_production_dataUpload monthly production data in bulk.
- delete_wells_monthly_production_dataDelete monthly production data for the well WELL_ID.
- get_wells_multi_well_arta_autofit_phaseAutofit straight line and TELF to existing production data
- get_wells_multi_well_fractional_arta_autofit_phaseAutofit straight line to existing production data
- get_wells_multiphase_fmb_interpretationsGet mutiphase fmb interpretation for wells in bulk
- get_wells_multiphase_fmb_pavgGet calculated MultiphaseFMB pressure average in bulk
- patch_wells_multiphase_fmb_pavgGet calculated MultiphaseFMB pressure average for selected wells with time filters
- get_wells_new_well_input_statusGet the new well input status of a well
- patch_wells_nodal_ipr_inputGet IPR input used in nodal_analysis for wells specified.
- put_wells_nrta_weight_factorsEdit Numerical RTA weight factors for many wells.
- patch_wells_pi_from_iprSet initial reservoir pressure for wells based on IPR
- get_wells_pnrget_wells_pnr
- get_wells_production_dataGet the production records of wells in bulk
- post_wells_production_dataUpload production data in bulk.
- delete_wells_production_dataDelete exactly the production timestamps given for each well.
- patch_wells_production_data_datesExpects JSON:
- get_wells_production_data_commentsGet production comments of wells in bulk
- post_wells_production_data_commentsUpload production comments in bulk
- patch_wells_pvt_calcsGet PVT-calculation results for multiple wells (JSON payload).
- patch_wells_pvt_calculation_statusGet PVT calculation status for a list of well_ids.
- get_wells_pwf_activeGet the active well flowing pressure. Default to return measured gauge
- get_wells_pwf_customGet the custom well flowing pressure. Default to return measured gauge
- get_wells_rta_autofit_rmsGet Numerical RTA autofit RMS for many wells.
- get_wells_rta_calcGet RTA Calcs for many wells.
- get_wells_rta_inputGet the Numerical RTA input for many wells.
- put_wells_rta_inputEdit RTA input for many wells.
- get_wells_run_bhp_calculationRun BHP calculations for many wells (excluding scenario).
- get_wells_run_composition_calcRun PVT calculations for many wells (excluding scenarios).
- get_wells_run_history_matchingLaunch Numerical Model calculation on a list of wells.
- post_wells_run_multiphase_fmbRun an Multiphase FMB PWF and/or Multiphase FMB PAvg for many wells.
- get_wells_run_pvt_calcsRun PVT calculations for many wells (excluding scenarios).
- get_wells_run_rtaRun numerical RTA on a list of wells.
- post_wells_run_sales_productsBulk‐trigger a new sales products calculation for each well.
- get_wells_run_well_monitoringRun well monitoring calculations for multiple wells.
- put_wells_sales_products_inputBulk upload / update Sales-Products inputs
- get_wells_sales_products_ratesBulk‐retrieve only the `ngl` & `ngl_common` series for each well's latest calc.
- get_wells_sampling_advanced_idGet sampling data for sampling ID.
- get_wells_sampling_data_idGet sampling data for sampling ID.
- get_wells_sampling_quick_idGet sampling data for sampling ID.
- get_wells_sampling_simplified_drygas_idGet sampling data for sampling ID.
- put_wells_update_surface_pressure_vlpUpdate surface pressure for a well.
- get_wells_well_idGet all info of well with ID.
- put_wells_well_idEdit a well.
- patch_wells_well_idConviniently update partial info a well (header, completion, etc.).
- delete_wells_well_idDelete a well.
- get_wells_well_id_active_production_dataGet the active production data for a well.
- put_wells_well_id_analytical_rta_inputEdit inputs for classical rta calculation for well <WELL_ID>.
- get_wells_well_id_approximate_gor_initApproximate initial GOR for a well based on production data.
- get_wells_well_id_arta_interpretationsGet classical analytical rta interpretation for well <WELL_ID>
- get_wells_well_id_arta_time_seriesGet analytical rta time series for well <WELL_ID>
- post_wells_well_id_autofit_multiphase_fmbPerform an MFMB autofit for a single well, optionally followed by a full MFMB run with pressure
- post_wells_well_id_autofit_multiphase_fmb_with_pavg_criteriaPerform an MFMB autofit for a single well, optionally followed by a full MFMB run with pressure
- get_wells_well_id_autofit_rtaAutofit Numerical RTA LFP.
- get_wells_well_id_available_custom_attributesGet a list of available custom attributes for a well.
- get_wells_well_id_bhp_calculationGet a BHP calculation.
- get_wells_well_id_bhp_inputGet BHP input of the well of <well_id> in json format
- put_wells_well_id_bhp_inputEdit a bhp input.
- get_wells_well_id_bhp_input_well_dataGet a list of WellData(wellbore config) object to a well.
- post_wells_well_id_bhp_input_well_dataCreate a list of WellData object to a BHPInput.
- get_wells_well_id_bhp_input_well_data_well_data_casingGet a list of WellDataCasing object to a WellData.
- post_wells_well_id_bhp_input_well_data_well_data_casingCreate a list of WellDataCasing object to a WellData.
- get_wells_well_id_bhp_input_well_data_well_data_tubingGet a list of WellDataTubing object to a WellData.
- post_wells_well_id_bhp_input_well_data_well_data_tubingCreate a list of WellDataTubing object to a WellData.
- get_wells_well_id_bhp_input_well_deviation_surveyGet the well deviation survey data of the well.
- put_wells_well_id_bhp_input_well_deviation_surveyGet the well deviation survey data of the well.
- get_wells_well_id_bot_bot_tableGet BOT table for a well.
- get_wells_well_id_calculate_analytical_rtaCalculate analytical rta for well <WELL_ID>
- put_wells_well_id_classical_rta_input_t_elfEdit the t_elf input for classical rta calculation for well <WELL_ID>.
- get_wells_well_id_cum_lfpGet cumulative LFP for a well.
- get_wells_well_id_custom_attributesGet the custom attributes of a well.
- post_wells_well_id_custom_attributesAdd a custom attribute to a well.
- delete_wells_well_id_custom_attributes_attribute_nameDelete a custom attribute value from a well.
- get_wells_well_id_custom_bhp_calculationGet a Custom BHP calculation.
- get_wells_well_id_fetch_from_iprFetch from IPR the gas lift optimizer cases of a well.
- put_wells_well_id_forecast_inputEdit Forecast Input
- get_wells_well_id_fractional_arta_interpretationsGet fractional analytical rta interpretation for well <WELL_ID>
- get_wells_well_id_gas_fmb_material_balance_pseudotimeGet flow material balance time and mass rate normalized density change @ Pwf.
- get_wells_well_id_gas_lift_optimizer_casesGet the gas lift optimizer cases of a well.
- post_wells_well_id_gas_lift_optimizer_casesCreate a gas lift optimizer case of a well.
- put_wells_well_id_gas_lift_optimizer_cases_gas_lift_case_idEdit a gas lift optimizer case.
- delete_wells_well_id_gas_lift_optimizer_cases_gas_lift_case_idDelete a gas lift optimizer case.
- get_wells_well_id_gradient_casesGet the gradient cases of a well.
- post_wells_well_id_gradient_casesCreate gradient cases for a well.
- post_wells_well_id_groups_group_nameAdd a group to a well.
- delete_wells_well_id_groups_group_nameDelete a group from a well.
- get_wells_well_id_history_matchingGet a list of history matching object.
- put_wells_well_id_history_matching_inputEdit a history matching input, toggling the include_forecast flag.
- get_wells_well_id_input_quickGet PVT input of a well.
- put_wells_well_id_input_quickEdit PVT input of a well.
- get_wells_well_id_input_simplified_dry_gasGet PVT input of a well.
- put_wells_well_id_input_simplified_dry_gasEdit PVT input of a well.
- get_wells_well_id_iprGet IPR data for a well.
- get_wells_well_id_last_bhp_calc_timeGet the last BHP calculation time for a well.
- get_wells_well_id_material_balance_timeGet oil, gas and water material balance time for well <WELL_ID>
- get_wells_well_id_max_production_dateGet the maximum production date of a well.
- get_wells_well_id_multiphase_fmb_interpretationsGet mutiphase fmb interpretation for a well
- get_wells_well_id_multiphase_fmb_pavgGet a list of calculated MultiphaseFMB pressure average for a well
- get_wells_well_id_multiphase_fmb_pwfGet flow material balance time and mass rate normalized density change @ Pwf
- get_wells_well_id_ngl_calculation_resultGet the NGL calculation results for a well
- put_wells_well_id_ngl_efficienciesEdit the NGL efficiencies for a well
- get_wells_well_id_pi_from_iprSet initial reservoir pressure for a well based on IPR
- get_wells_well_id_processesGet PVT process for a well.
- put_wells_well_id_processesEdit PVT process for a well.
- get_wells_well_id_production_dataGet the production records of a well.
- post_wells_well_id_production_dataUpload production data for <well_id>.
- put_wells_well_id_production_dataPartial upload and edit production data for <well_id>.
- delete_wells_well_id_production_dataDelete production data for <well_id> based on a start date and end date.
- delete_wells_well_id_production_data_commentsDelete production data comments for <well_id> based on a start date and end date.
- get_wells_well_id_pvt_inputGet PVT input of a well.
- put_wells_well_id_pvt_inputEdit PVT input of a well.
- get_wells_well_id_pwf_activeGet the active well flowing pressure. Default to return measured gauge
- get_wells_well_id_rta_autofit_rmsGet Numerical RTA autofit RMS for a well.
- get_wells_well_id_rta_calcGet RTA Calc for a well.
- get_wells_well_id_rta_inputGet the Numerical RTA input of a well.
- put_wells_well_id_rta_inputEdit an RTA input.
- put_wells_well_id_rta_lfpput_wells_well_id_rta_lfp
- put_wells_well_id_run_autofit_history_matchingRun an autofit history matching calculation. Either pass all new weights or none to use existing.
- get_wells_well_id_run_bhp_calculationRun BHP calculations for a single well.
- get_wells_well_id_run_composition_calcRun PVT calculation for a single well.
- patch_wells_well_id_run_gas_lift_optimizer_caseRun gas lift optimizer calculation for selected cases.
- get_wells_well_id_run_gradientRun gradient calculation for selected cases.
- get_wells_well_id_run_history_matchingRun history matching calculation on a well.
- get_wells_well_id_run_ipr_with_dateFetch the current production data for a well and run the VLP calculation.
- get_wells_well_id_run_multiphase_fmbRun an Multiphase FMB PWF and/or Multiphase FMB PAvg.
- get_wells_well_id_run_ngl_calculationRun NGL calculation on a well
- get_wells_well_id_run_pvt_calcRun PVT calculation for a single well.
- get_wells_well_id_run_rtaRun numerical RTA on a well.
- get_wells_well_id_run_simulated_pvt_studyRun a simulated PVT study calculation.
- patch_wells_well_id_run_vlpRun VLP calculation for selected cases.
- get_wells_well_id_run_well_monitoringRun well monitoring calculation for a well
- get_wells_well_id_sampling_dataGets all of the sampling inputs attached to the well with well_id <WELL_ID> in the database.
- post_wells_well_id_sampling_dataUpload a sampling data input. REMOVES any existing samples on the same date for the well.
- get_wells_well_id_sampling_inputsGets all of the sampling inputs attached to the well with well_id <WELL_ID> in the database.
- post_wells_well_id_sampling_inputsUpload a sampling data input. REMOVES any existing samples on the same date for the well.
- delete_wells_well_id_sampling_inputs_dateDelete a sampling input.
- put_wells_well_id_set_production_rate_type_rate_typeSet the production rate type of a well.
- get_wells_well_id_simulated_pvt_studyGet a simulated PVT study.
- get_wells_well_id_statusGet the data status of a well
- put_wells_well_id_vlp_case_vlp_case_idEdit a VLP case.
- delete_wells_well_id_vlp_case_vlp_case_idDelete a VLP case.
- get_wells_well_id_vlp_casesGet all VLP cases of a well
- post_wells_well_id_vlp_casesPost a VLP case of a well
- get_wells_well_id_well_dca_dca_exportGet Well DCA results for all three phases.
- get_wells_well_id_well_dca_saved_casesGet a list of WellDCASavedCase object to a well.
- get_wells_paginatedGet a list of wells (result paginated).
Requirements
- Whitson+ API tokenBearer JWT token from your Whitson+ account
- Active Whitson+ subscriptionAccess to the Whitson+ platform with API enabled
Quick Setup Guide
Follow these steps to connect your AI agents to this connector
Log into Whitson+ and generate an API bearer token from your account settings.
Navigate to /mcp, find Whitson+, and paste your bearer token.
Add the Whitson+ MCP server URL to your AI agent's configuration.
Ask your AI agent about PVT data, DCA forecasts, RTA analysis, production, and more.
Connect to Your AI Assistant
Choose your AI assistant below for specific setup instructions
Follow these steps to connect Whitson+ to Claude:
Step 1: Open Claude Settings
Launch Claude → Click the profile button (bottom left) → Navigate to Settings
Step 2: Access Connectors
Scroll down to the Connectors tab → Navigate to the bottom → Click “Add Custom Connector”
Step 3: Name Your Connector
Enter any name you'd like for this connector
Step 4: Get the Connector URL
Log in to PatchOps → Navigate to the /mcp page → Copy the connector URL you want to use
Step 5: Add the Connector
Paste the URL in the “Remote MCP Server URL” text box → Click Add
Step 6: Start Using
Your connector is now ready to use in Claude
Follow these steps to connect Whitson+ to ChatGPT:
Step 1: Enable Developer Mode
Go to Settings → Connectors → Advanced → Enable Developer mode
Step 2: Create New Connector
Go back to Connectors page → Click “Create” (top right)
Step 3: Name Your Connector
Enter any name you'd like for this connector (descriptions are optional)
Step 4: Get the Connector URL
Log in to PatchOps → Navigate to the /mcp page → Copy the connector URL you want to use
Step 5: Add the URL
Paste the URL in the “MCP Server URL” text box
Step 6: Set Authentication
Click the authentication dropdown → Select “No authentication” (PatchOps handles authentication internally)
Step 7: Create the Connector
Click “I understand and want to continue” checkbox → Press Create
Step 8: Using the Connector
Start a new chat → Click the + button (left of text box) → Open dropdown → Hover over three dots labeled “More” → Select your connector
Instructions for connecting Whitson+ to GitHub Copilot:
Coming Soon
Detailed setup instructions for GitHub Copilot will be added here.
For other MCP-compatible platforms:
Step 1: Get the Connector URL
Log in to PatchOps → Navigate to the /mcp page → Copy the connector URL you want to use
Step 2: Add to Configuration
Add this configuration to your MCP settings file. Replace the URL with your specific connector URL from the /mcp page:
"Whitson+-MCP": {
"url": "https://patchops.ai/api/mcp/...",
"type": "http"
}Example Configuration
Here’s an example using PatchOps MCP:
"PatchOps-MCP": {
"url": "https://patchops.ai/api/mcp/...",
"type": "http"
}