### GET /api-external/v1/fields Source: https://internal.whitson.com/api-external/swagger Retrieves the complete list of all fields available in the system. ```APIDOC ## GET /api-external/v1/fields ### Description Get the complete list of all fields. ### Method GET ### Endpoint /api-external/v1/fields ### Response #### Success Response (200) - **fields** (array) - List of field objects #### Response Example { "fields": [{"id": "field_1", "name": "Field Alpha"}] } ``` -------------------------------- ### GET /projects Source: https://internal.whitson.com/api-external/swagger Retrieves a list of external project entities associated with the user account. ```APIDOC ## GET /projects ### Description Fetch a list of all projects available in the system. ### Method GET ### Endpoint /projects ### Parameters #### Query Parameters - **limit** (integer) - Optional - Number of projects to return ### Request Example GET /projects?limit=10 ### Response #### Success Response (200) - **projects** (array) - List of ProjectExternal objects #### Response Example { "projects": [ { "id": "p1", "name": "Project Alpha" } ] } ``` -------------------------------- ### GET /api-external/v1/auto_forecasts/{auto_forecast_id} Source: https://internal.whitson.com/api-external/swagger Retrieves comprehensive configuration and settings for a specific Auto-Forecast. ```APIDOC ## GET /api-external/v1/auto_forecasts/{auto_forecast_id} ### Description Get all info of Auto-Forecast setting with auto_forecast_id. ### Method GET ### Endpoint /api-external/v1/auto_forecasts/{auto_forecast_id} ### Parameters #### Path Parameters - **auto_forecast_id** (string) - Required - The unique identifier for the auto-forecast. ### Response #### Success Response (200) - **settings** (object) - The configuration settings for the requested auto-forecast. ``` -------------------------------- ### GET /api-external/v1/wells/{well_id}/bhp_input/well_data Source: https://internal.whitson.com/api-external/swagger Retrieves the wellbore configuration (WellData) for a specific well. ```APIDOC ## GET /api-external/v1/wells/{well_id}/bhp_input/well_data ### Description Get a list of WellData (wellbore config) objects for a specific well. ### Method GET ### Endpoint /api-external/v1/wells/{well_id}/bhp_input/well_data ### Parameters #### Path Parameters - **well_id** (integer) - Required - The unique identifier for the well. ### Response #### Success Response (200) - **well_data** (array) - List of wellbore configuration objects. ``` -------------------------------- ### GET /api-external/v1/wells/{well_id} Source: https://internal.whitson.com/api-external/swagger Fetches detailed information for a specific well using its unique identifier. ```APIDOC ## GET /api-external/v1/wells/{well_id} ### Description Get all info of well with ID. ### Method GET ### Endpoint /api-external/v1/wells/{well_id} ### Parameters #### Path Parameters - **well_id** (string) - Required - The unique identifier of the well ### Response #### Success Response (200) - **well_data** (object) - Detailed well information #### Response Example { "well_id": "123", "name": "Well A", "status": "active" } ``` -------------------------------- ### Get BHP Input for Multiple Wells (PATCH) Source: https://internal.whitson.com/api-external/swagger Retrieves Bottom Hole Pressure (BHP) input data for multiple wells. This endpoint is typically used for batch operations and may require a specific request body format. ```json [ { "well_id": 101, "top_perforation_md": 7200, "bottom_perforation_md": 11800, "temp_wellhead": 95 }, { "well_id": 202, "top_perforation_md": 6800, "bottom_perforation_md": 11000 } ] ``` -------------------------------- ### Numerical RTA API Source: https://internal.whitson.com/api-external/swagger Endpoints for Numerical RTA inputs, autofit calculations, and weight factor management. ```APIDOC ## GET /api-external/v1/wells/{well_id}/run_rta ### Description Run numerical RTA calculations for a specific well. ### Method GET ### Endpoint /api-external/v1/wells/{well_id}/run_rta ### Parameters #### Path Parameters - **well_id** (string) - Required - The unique identifier of the well. ### Response #### Success Response (200) - **status** (string) - The status of the RTA calculation run. ``` -------------------------------- ### Multi Well Gas Lift Optimizer Source: https://internal.whitson.com/api-external/swagger Endpoints for managing and executing multi-well gas lift optimization projects and their associated configurations. ```APIDOC ## GET /api-external/v1/multi_well_gas_lift_opt/{multi_well_gas_lift_id}/run ### Description Launch the execution of the multi-well gas lift optimizer. ### Method GET ### Endpoint /api-external/v1/multi_well_gas_lift_opt/{multi_well_gas_lift_id}/run ### Parameters #### Path Parameters - **multi_well_gas_lift_id** (string) - Required - The unique identifier for the gas lift optimizer. ``` -------------------------------- ### POST /api-external/v1/wells/{well_id}/run_pvt_calc Source: https://internal.whitson.com/api-external/swagger Triggers a PVT calculation process for a specific well. ```APIDOC ## GET /api-external/v1/wells/{well_id}/run_pvt_calc ### Description Run PVT calculation for a single well. ### Method GET ### Endpoint /api-external/v1/wells/{well_id}/run_pvt_calc ### Parameters #### Path Parameters - **well_id** (string) - Required - The unique identifier of the well ### Response #### Success Response (200) - **result** (object) - PVT calculation results #### Response Example { "status": "success", "data": { "pvt_result": 0.95 } } ``` -------------------------------- ### Sales Products Endpoints Source: https://internal.whitson.com/api-external/swagger Endpoints for managing sales products data, including bulk upload, triggering calculations, and retrieving specific rates. ```APIDOC ## PUT /api-external/v1/wells/sales_products_input ### Description Bulk upload or update Sales-Products inputs for wells. ### Method PUT ### Endpoint /api-external/v1/wells/sales_products_input ### Parameters #### Request Body - **sales_products_inputs** (array) - Required - An array of sales products input objects. - **well_id** (integer) - Required - The ID of the well. - **input_data** (object) - Required - The sales products input data. ### Request Example [ { "well_id": 1, "input_data": { "component_prices": { "ethane": 1.5, "propane": 2.0 } } } ] ### Response #### Success Response (200) - **message** (string) - Confirmation message. #### Response Example { "message": "Sales products inputs uploaded/updated successfully." } ## POST /api-external/v1/wells/run_sales_products ### Description Bulk-trigger a new sales products calculation for each well. ### Method POST ### Endpoint /api-external/v1/wells/run_sales_products ### Parameters #### Query Parameters - **well_ids** (array of integers) - Optional - A list of well IDs to run calculations for. If not provided, calculations will be run for all wells. ### Response #### Success Response (200) - **message** (string) - Confirmation message. #### Response Example { "message": "Sales products calculations triggered successfully." } ## GET /api-external/v1/wells/sales_products_rates ### Description Bulk-retrieve only the `ngl` & `ngl_common` series for each well's latest calculation. ### Method GET ### Endpoint /api-external/v1/wells/sales_products_rates ### Parameters #### Query Parameters - **well_ids** (array of integers) - Optional - A list of well IDs to retrieve rates for. ### Response #### Success Response (200) - **sales_products_rates** (object) - An object where keys are well IDs and values contain the `ngl` and `ngl_common` rates. #### Response Example { "sales_products_rates": { "1": { "ngl": 100.5, "ngl_common": 95.2 } } } ## GET /api-external/v1/wells/fat_gas_rate ### Description Bulk-retrieve fat gas rate series (`common_process_conversion` & `separator_oil_shrinkage`) for each well. ### Method GET ### Endpoint /api-external/v1/wells/fat_gas_rate ### Parameters #### Query Parameters - **well_ids** (array of integers) - Optional - A list of well IDs to retrieve fat gas rates for. ### Response #### Success Response (200) - **fat_gas_rates** (object) - An object where keys are well IDs and values contain the fat gas rate series. #### Response Example { "fat_gas_rates": { "1": { "common_process_conversion": 0.85, "separator_oil_shrinkage": 0.92 } } } ``` -------------------------------- ### POST /wells/{wellId}/production Source: https://internal.whitson.com/api-external/swagger Submits production data for a specific well to be processed or stored. ```APIDOC ## POST /wells/{wellId}/production ### Description Uploads production data for a specific well identifier. ### Method POST ### Endpoint /wells/{wellId}/production ### Parameters #### Path Parameters - **wellId** (string) - Required - The unique identifier of the well #### Request Body - **data** (ProductionDataExternal) - Required - Production metrics including oil, gas, and water rates ### Request Example { "oilRate": 100, "gasRate": 500, "waterRate": 10 } ### Response #### Success Response (200) - **status** (string) - Confirmation of data ingestion #### Response Example { "status": "success" } ``` -------------------------------- ### Well Monitoring API Source: https://internal.whitson.com/api-external/swagger Endpoints for managing well production rates, monitoring calculations, and process conversion data. ```APIDOC ## PUT /api-external/v1/wells/{well_id}/set_production_rate_type/{rate_type} ### Description Set the production rate type of a specific well. ### Method PUT ### Endpoint /api-external/v1/wells/{well_id}/set_production_rate_type/{rate_type} ### Parameters #### Path Parameters - **well_id** (string) - Required - The unique identifier of the well. - **rate_type** (string) - Required - The production rate type to set. ### Response #### Success Response (200) - **status** (string) - Confirmation of the update. ``` -------------------------------- ### Sampling Data API Source: https://internal.whitson.com/api-external/swagger Endpoints for retrieving and uploading well sampling inputs and data. ```APIDOC ## POST /api-external/v1/wells/{well_id}/sampling_data ### Description Upload a sampling data input for a specific well. Note: This action removes any existing samples on the same date for the well. ### Method POST ### Endpoint /api-external/v1/wells/{well_id}/sampling_data ### Parameters #### Path Parameters - **well_id** (string) - Required - The unique identifier of the well. ### Request Body - **data** (object) - Required - The sampling data payload. ### Response #### Success Response (200) - **message** (string) - Confirmation of the upload. ``` -------------------------------- ### Type Well Management Source: https://internal.whitson.com/api-external/swagger Endpoints for managing type well areas, configurations, and saved DCA cases. ```APIDOC ## POST /api-external/v1/type_wells ### Description Create a new type well within a specified type well area. ### Method POST ### Endpoint /api-external/v1/type_wells ### Request Body - **type_well_area_id** (string) - Required - The ID of the area to associate the type well with. - **name** (string) - Required - The name of the type well. ``` -------------------------------- ### Nodal Analysis Gas Lift Optimizer Endpoints Source: https://internal.whitson.com/api-external/swagger Endpoints for Nodal Analysis Gas Lift Optimizer calculations and management. ```APIDOC ## PATCH /api-external/v1/wells/{well_id}/run_gas_lift_optimizer_case ### Description Run gas lift optimizer calculation for selected cases for a specific well. ### Method PATCH ### Endpoint /api-external/v1/wells/{well_id}/run_gas_lift_optimizer_case ### Parameters #### Path Parameters - **well_id** (string) - Required - The ID of the well. ### Request Body - **case_ids** (array) - Optional - A list of case IDs to run the calculation for. If omitted, all cases are run. ### Response #### Success Response (200) - **message** (string) - Confirmation message. ``` ```APIDOC ## PUT /api-external/v1/wells/{well_id}/gas_lift_optimizer_cases/{gas_lift_case_id} ### Description Edit an existing gas lift optimizer case for a specific well. ### Method PUT ### Endpoint /api-external/v1/wells/{well_id}/gas_lift_optimizer_cases/{gas_lift_case_id} ### Parameters #### Path Parameters - **well_id** (string) - Required - The ID of the well. - **gas_lift_case_id** (string) - Required - The ID of the gas lift optimizer case to edit. ### Request Body - **gas_lift_case_data** (object) - Required - The updated data for the gas lift optimizer case. ### Response #### Success Response (200) - **message** (string) - Confirmation message. ``` ```APIDOC ## DELETE /api-external/v1/wells/{well_id}/gas_lift_optimizer_cases/{gas_lift_case_id} ### Description Delete a gas lift optimizer case for a specific well. ### Method DELETE ### Endpoint /api-external/v1/wells/{well_id}/gas_lift_optimizer_cases/{gas_lift_case_id} ### Parameters #### Path Parameters - **well_id** (string) - Required - The ID of the well. - **gas_lift_case_id** (string) - Required - The ID of the gas lift optimizer case to delete. ### Response #### Success Response (200) - **message** (string) - Confirmation message. ``` ```APIDOC ## GET /api-external/v1/wells/{well_id}/gas_lift_optimizer_cases ### Description Get the gas lift optimizer cases of a specific well. ### Method GET ### Endpoint /api-external/v1/wells/{well_id}/gas_lift_optimizer_cases ### Parameters #### Path Parameters - **well_id** (string) - Required - The ID of the well. ### Response #### Success Response (200) - **gas_lift_optimizer_cases** (array) - A list of gas lift optimizer cases for the well. ``` ```APIDOC ## POST /api-external/v1/wells/{well_id}/gas_lift_optimizer_cases ### Description Create a new gas lift optimizer case for a specific well. ### Method POST ### Endpoint /api-external/v1/wells/{well_id}/gas_lift_optimizer_cases ### Parameters #### Path Parameters - **well_id** (string) - Required - The ID of the well. ### Request Body - **gas_lift_case_data** (object) - Required - The data for the new gas lift optimizer case. ### Response #### Success Response (200) - **message** (string) - Confirmation message. - **gas_lift_case_id** (string) - The ID of the newly created gas lift optimizer case. ``` ```APIDOC ## PATCH /api-external/v1/wells/bulk_run_gas_lift_optimizer ### Description Run gas lift optimizer for selected wells in bulk. ### Method PATCH ### Endpoint /api-external/v1/wells/bulk_run_gas_lift_optimizer ### Request Body - **well_ids** (array) - Required - A list of well IDs. ### Response #### Success Response (200) - **message** (string) - Confirmation message. ``` ```APIDOC ## GET /api-external/v1/wells/bulk_gas_lift_optimizer_results ### Description Get gas lift optimizer results in bulk based on specified parameters. Uses pagination. ### Method GET ### Endpoint /api-external/v1/wells/bulk_gas_lift_optimizer_results ### Query Parameters - **page** (integer) - Optional - The page number for pagination. - **page_size** (integer) - Optional - The number of results per page. ### Response #### Success Response (200) - **results** (array) - A list of gas lift optimizer results. - **total_results** (integer) - The total number of results. ``` ```APIDOC ## PATCH /api-external/v1/wells/bulk_gas_lift_optimizer_results ### Description Get gas lift optimizer results for selected wells. ### Method PATCH ### Endpoint /api-external/v1/wells/bulk_gas_lift_optimizer_results ### Request Body - **well_ids** (array) - Required - A list of well IDs. ### Response #### Success Response (200) - **results** (array) - A list of gas lift optimizer results for the selected wells. ``` ```APIDOC ## GET /api-external/v1/wells/{well_id}/fetch_from_ipr ### Description Fetch gas lift optimizer cases for a well from IPR data. ### Method GET ### Endpoint /api-external/v1/wells/{well_id}/fetch_from_ipr ### Parameters #### Path Parameters - **well_id** (string) - Required - The ID of the well. ### Response #### Success Response (200) - **gas_lift_optimizer_cases** (array) - A list of gas lift optimizer cases fetched from IPR data. ``` -------------------------------- ### PATCH /api-external/v1/wells/bhp_inputs Source: https://internal.whitson.com/api-external/swagger Updates or retrieves BHP input data for multiple wells in a single request. ```APIDOC ## PATCH /api-external/v1/wells/bhp_inputs ### Description Get or update BHP input for multiple wells. ### Method PATCH ### Endpoint /api-external/v1/wells/bhp_inputs ### Request Body - **wells** (array) - Required - List of well objects containing well_id and perforation details. ### Request Example [ { "well_id": 101, "top_perforation_md": 7200, "bottom_perforation_md": 11800, "temp_wellhead": 95 } ] ### Response #### Success Response (200) - **status** (string) - Confirmation of update. ``` -------------------------------- ### Analytical RTA API Source: https://internal.whitson.com/api-external/swagger Endpoints for performing and retrieving Analytical RTA interpretations and calculations. ```APIDOC ## GET /api-external/v1/wells/{well_id}/calculate_analytical_rta ### Description Calculate analytical RTA for a specific well. ### Method GET ### Endpoint /api-external/v1/wells/{well_id}/calculate_analytical_rta ### Parameters #### Path Parameters - **well_id** (string) - Required - The unique identifier of the well. ### Response #### Success Response (200) - **results** (object) - The calculated analytical RTA data. ``` -------------------------------- ### Edit BHP Tuning Parameters for Multiple Wells (PUT) Source: https://internal.whitson.com/api-external/swagger Modifies the Bottom Hole Pressure (BHP) tuning parameters for a set of wells. This operation allows for bulk updates to configuration settings. -------------------------------- ### Production Data Endpoints Source: https://internal.whitson.com/api-external/swagger Endpoints for managing production data, including retrieval, upload, partial updates, and deletion of production records and comments. ```APIDOC ## GET /api-external/v1/wells/{well_id}/production_data ### Description Get the production records of a specific well. ### Method GET ### Endpoint /api-external/v1/wells/{well_id}/production_data ### Parameters #### Path Parameters - **well_id** (integer) - Required - The ID of the well. ### Response #### Success Response (200) - **production_records** (array) - An array of production records. #### Response Example { "production_records": [ { "date": "2023-01-01", "oil": 100, "gas": 1000 }, { "date": "2023-01-02", "oil": 110, "gas": 1100 } ] } ## POST /api-external/v1/wells/{well_id}/production_data ### Description Upload production data for a specific well. ### Method POST ### Endpoint /api-external/v1/wells/{well_id}/production_data ### Parameters #### Path Parameters - **well_id** (integer) - Required - The ID of the well. #### Request Body - **production_data** (array) - Required - An array of production data objects. - **date** (string) - Required - The date of the production record. - **oil** (number) - Optional - The oil production amount. - **gas** (number) - Optional - The gas production amount. ### Request Example { "production_data": [ { "date": "2023-01-03", "oil": 120, "gas": 1200 } ] } ### Response #### Success Response (200) - **message** (string) - Confirmation message. #### Response Example { "message": "Production data uploaded successfully." } ## PUT /api-external/v1/wells/{well_id}/production_data ### Description Partial upload and edit production data for a specific well. ### Method PUT ### Endpoint /api-external/v1/wells/{well_id}/production_data ### Parameters #### Path Parameters - **well_id** (integer) - Required - The ID of the well. #### Request Body - **production_data** (array) - Required - An array of production data objects to update or add. - **date** (string) - Required - The date of the production record. - **oil** (number) - Optional - The oil production amount. - **gas** (number) - Optional - The gas production amount. ### Request Example { "production_data": [ { "date": "2023-01-03", "oil": 125, "gas": 1250 } ] } ### Response #### Success Response (200) - **message** (string) - Confirmation message. #### Response Example { "message": "Production data updated successfully." } ## DELETE /api-external/v1/wells/{well_id}/production_data ### Description Delete production data for a specific well based on a start and end date. ### Method DELETE ### Endpoint /api-external/v1/wells/{well_id}/production_data ### Parameters #### Path Parameters - **well_id** (integer) - Required - The ID of the well. #### Query Parameters - **start_date** (string) - Required - The start date for deletion (YYYY-MM-DD). - **end_date** (string) - Required - The end date for deletion (YYYY-MM-DD). ### Response #### Success Response (200) - **message** (string) - Confirmation message. #### Response Example { "message": "Production data deleted successfully." } ## GET /api-external/v1/wells/production_data ### Description Get the production records of wells in bulk. ### Method GET ### Endpoint /api-external/v1/wells/production_data ### Parameters #### Query Parameters - **well_ids** (array of integers) - Optional - A list of well IDs to retrieve production data for. ### Response #### Success Response (200) - **wells_production_data** (object) - An object where keys are well IDs and values are their production records. #### Response Example { "wells_production_data": { "1": [ { "date": "2023-01-01", "oil": 100, "gas": 1000 }, { "date": "2023-01-02", "oil": 110, "gas": 1100 } ], "2": [ { "date": "2023-01-01", "oil": 150, "gas": 1500 } ] } } ## POST /api-external/v1/wells/production_data ### Description Upload production data in bulk for multiple wells. ### Method POST ### Endpoint /api-external/v1/wells/production_data ### Parameters #### Request Body - **bulk_production_data** (object) - Required - An object where keys are well IDs and values are arrays of production data objects. - **well_id** (string) - Required - The ID of the well. - **production_data** (array) - Required - An array of production data objects. - **date** (string) - Required - The date of the production record. - **oil** (number) - Optional - The oil production amount. - **gas** (number) - Optional - The gas production amount. ### Request Example { "bulk_production_data": { "1": [ { "date": "2023-01-03", "oil": 130, "gas": 1300 } ], "2": [ { "date": "2023-01-02", "oil": 160, "gas": 1600 } ] } } ### Response #### Success Response (200) - **message** (string) - Confirmation message. #### Response Example { "message": "Bulk production data uploaded successfully." } ## DELETE /api-external/v1/wells/production_data ### Description Delete specific production timestamps for each well. Payload is a JSON array of { well_id, date }. ### Method DELETE ### Endpoint /api-external/v1/wells/production_data ### Parameters #### Request Body - **timestamps_to_delete** (array) - Required - An array of objects specifying which timestamps to delete. - **well_id** (integer) - Required - The ID of the well. - **date** (string) - Required - The date of the production record to delete. ### Request Example { "timestamps_to_delete": [ { "well_id": 1, "date": "2023-01-01" }, { "well_id": 2, "date": "2023-01-01" } ] } ### Response #### Success Response (200) - **message** (string) - Confirmation message. #### Response Example { "message": "Specified production timestamps deleted successfully." } ## GET /api-external/v1/wells/monthly_production_data ### Description Get the monthly production records of wells in bulk. ### Method GET ### Endpoint /api-external/v1/wells/monthly_production_data ### Parameters #### Query Parameters - **well_ids** (array of integers) - Optional - A list of well IDs to retrieve monthly production data for. ### Response #### Success Response (200) - **wells_monthly_production_data** (object) - An object where keys are well IDs and values are their monthly production records. #### Response Example { "wells_monthly_production_data": { "1": [ { "month": "2023-01", "oil": 3100, "gas": 31000 }, { "month": "2023-02", "oil": 2900, "gas": 29000 } ] } } ## POST /api-external/v1/wells/monthly_production_data ### Description Upload monthly production data in bulk. ### Method POST ### Endpoint /api-external/v1/wells/monthly_production_data ### Parameters #### Request Body - **bulk_monthly_production_data** (object) - Required - An object where keys are well IDs and values are arrays of monthly production data objects. - **well_id** (string) - Required - The ID of the well. - **monthly_production_data** (array) - Required - An array of monthly production data objects. - **month** (string) - Required - The month (YYYY-MM). - **oil** (number) - Optional - The total oil production for the month. - **gas** (number) - Optional - The total gas production for the month. ### Request Example { "bulk_monthly_production_data": { "1": [ { "month": "2023-03", "oil": 3300, "gas": 33000 } ] } } ### Response #### Success Response (200) - **message** (string) - Confirmation message. #### Response Example { "message": "Bulk monthly production data uploaded successfully." } ## DELETE /api-external/v1/wells/monthly_production_data ### Description Delete monthly production data for a specific well. ### Method DELETE ### Endpoint /api-external/v1/wells/monthly_production_data ### Parameters #### Query Parameters - **well_id** (integer) - Required - The ID of the well. - **month** (string) - Required - The month to delete (YYYY-MM). ### Response #### Success Response (200) - **message** (string) - Confirmation message. #### Response Example { "message": "Monthly production data deleted successfully." } ## PATCH /api-external/v1/wells/production_data/dates ### Description Expects JSON: [ { "well_id": 1 }, { "well_id": 2 }, … ] ### Method PATCH ### Endpoint /api-external/v1/wells/production_data/dates ### Parameters #### Request Body - **well_ids_and_dates** (array) - Required - An array of objects containing well IDs and dates. - **well_id** (integer) - Required - The ID of the well. - **date** (string) - Required - The date associated with the production data. ### Request Example [ { "well_id": 1, "date": "2023-01-01" }, { "well_id": 2, "date": "2023-01-01" } ] ### Response #### Success Response (200) - **message** (string) - Confirmation message. #### Response Example { "message": "Production data dates updated successfully." } ## GET /api-external/v1/wells/{well_id}/active_production_data ### Description Get the active production data for a specific well. ### Method GET ### Endpoint /api-external/v1/wells/{well_id}/active_production_data ### Parameters #### Path Parameters - **well_id** (integer) - Required - The ID of the well. ### Response #### Success Response (200) - **active_production_data** (object) - The active production data for the well. #### Response Example { "active_production_data": { "date": "2023-03-15", "oil": 150, "gas": 1500 } } ## GET /api-external/v1/wells/active_production_data ### Description Get the full active production data records of wells in bulk. ### Method GET ### Endpoint /api-external/v1/wells/active_production_data ### Parameters #### Query Parameters - **well_ids** (array of integers) - Optional - A list of well IDs to retrieve active production data for. ### Response #### Success Response (200) - **wells_active_production_data** (object) - An object where keys are well IDs and values are their active production data. #### Response Example { "wells_active_production_data": { "1": { "date": "2023-03-15", "oil": 150, "gas": 1500 }, "2": { "date": "2023-03-14", "oil": 160, "gas": 1600 } } } ## GET /api-external/v1/wells/{well_id}/max_production_date ### Description Get the maximum production date of a specific well. ### Method GET ### Endpoint /api-external/v1/wells/{well_id}/max_production_date ### Parameters #### Path Parameters - **well_id** (integer) - Required - The ID of the well. ### Response #### Success Response (200) - **max_production_date** (string) - The maximum production date (YYYY-MM-DD). #### Response Example { "max_production_date": "2023-03-15" } ## GET /api-external/v1/projects/{project_id}/max_production_date ### Description Get the maximum production date of all wells in a project. ### Method GET ### Endpoint /api-external/v1/projects/{project_id}/max_production_date ### Parameters #### Path Parameters - **project_id** (integer) - Required - The ID of the project. ### Response #### Success Response (200) - **max_production_dates** (object) - An object where keys are well IDs and values are their maximum production dates. #### Response Example { "max_production_dates": { "1": "2023-03-15", "2": "2023-03-14" } } ## GET /api-external/v1/wells/production_data_comments ### Description Get production comments of wells in bulk. ### Method GET ### Endpoint /api-external/v1/wells/production_data_comments ### Parameters #### Query Parameters - **well_ids** (array of integers) - Optional - A list of well IDs to retrieve comments for. ### Response #### Success Response (200) - **wells_production_comments** (object) - An object where keys are well IDs and values are their production comments. #### Response Example { "wells_production_comments": { "1": [ { "date": "2023-01-01", "comment": "Initial startup" }, { "date": "2023-01-02", "comment": "Minor adjustments made" } ] } } ## POST /api-external/v1/wells/production_data_comments ### Description Upload production comments in bulk. ### Method POST ### Endpoint /api-external/v1/wells/production_data_comments ### Parameters #### Request Body - **bulk_production_comments** (object) - Required - An object where keys are well IDs and values are arrays of comment objects. - **well_id** (string) - Required - The ID of the well. - **comments** (array) - Required - An array of comment objects. - **date** (string) - Required - The date of the comment. - **comment** (string) - Required - The production comment. ### Request Example { "bulk_production_comments": { "1": [ { "date": "2023-01-03", "comment": "Further optimization needed" } ] } } ### Response #### Success Response (200) - **message** (string) - Confirmation message. #### Response Example { "message": "Bulk production comments uploaded successfully." } ## DELETE /api-external/v1/wells/{well_id}/production_data_comments ### Description Delete production data comments for a specific well based on a start and end date. ### Method DELETE ### Endpoint /api-external/v1/wells/{well_id}/production_data_comments ### Parameters #### Path Parameters - **well_id** (integer) - Required - The ID of the well. #### Query Parameters - **start_date** (string) - Required - The start date for deletion (YYYY-MM-DD). - **end_date** (string) - Required - The end date for deletion (YYYY-MM-DD). ### Response #### Success Response (200) - **message** (string) - Confirmation message. #### Response Example { "message": "Production data comments deleted successfully." } ``` -------------------------------- ### Nodal Analysis Gradient Endpoints Source: https://internal.whitson.com/api-external/swagger Endpoints for Nodal Analysis Gradient calculations and management. ```APIDOC ## PATCH /api-external/v1/wells/bulk_run_gradient ### Description Run gradient calculation for selected wells in bulk. ### Method PATCH ### Endpoint /api-external/v1/wells/bulk_run_gradient ### Request Body - **well_ids** (array) - Required - A list of well IDs. ### Response #### Success Response (200) - **message** (string) - Confirmation message. ``` ```APIDOC ## GET /api-external/v1/wells/{well_id}/run_gradient ### Description Run gradient calculation for selected cases for a specific well. ### Method GET ### Endpoint /api-external/v1/wells/{well_id}/run_gradient ### Parameters #### Path Parameters - **well_id** (string) - Required - The ID of the well. ### Request Body - **case_ids** (array) - Optional - A list of case IDs to run gradient calculation for. If omitted, all cases are run. ### Response #### Success Response (200) - **message** (string) - Confirmation message. ``` ```APIDOC ## PUT /api-external/v1/wells/gradient_cases/{gradient_case_id} ### Description Edit an existing gradient case. ### Method PUT ### Endpoint /api-external/v1/wells/gradient_cases/{gradient_case_id} ### Parameters #### Path Parameters - **gradient_case_id** (string) - Required - The ID of the gradient case to edit. ### Request Body - **gradient_case_data** (object) - Required - The updated data for the gradient case. ### Response #### Success Response (200) - **message** (string) - Confirmation message. ``` ```APIDOC ## DELETE /api-external/v1/wells/gradient_cases/{gradient_case_id} ### Description Delete a gradient case. ### Method DELETE ### Endpoint /api-external/v1/wells/gradient_cases/{gradient_case_id} ### Parameters #### Path Parameters - **gradient_case_id** (string) - Required - The ID of the gradient case to delete. ### Response #### Success Response (200) - **message** (string) - Confirmation message. ``` ```APIDOC ## GET /api-external/v1/wells/{well_id}/gradient_cases ### Description Get the gradient cases of a specific well. ### Method GET ### Endpoint /api-external/v1/wells/{well_id}/gradient_cases ### Parameters #### Path Parameters - **well_id** (string) - Required - The ID of the well. ### Response #### Success Response (200) - **gradient_cases** (array) - A list of gradient cases for the well. ``` ```APIDOC ## POST /api-external/v1/wells/{well_id}/gradient_cases ### Description Create gradient cases for a specific well. ### Method POST ### Endpoint /api-external/v1/wells/{well_id}/gradient_cases ### Parameters #### Path Parameters - **well_id** (string) - Required - The ID of the well. ### Request Body - **gradient_case_data** (object) - Required - The data for the new gradient case. ### Response #### Success Response (200) - **message** (string) - Confirmation message. - **gradient_case_id** (string) - The ID of the newly created gradient case. ``` ```APIDOC ## POST /api-external/v1/wells/latest_date_gradient_cases ### Description Create gradient cases based on the latest date for wells. ### Method POST ### Endpoint /api-external/v1/wells/latest_date_gradient_cases ### Request Body - **well_ids** (array) - Required - A list of well IDs. ### Response #### Success Response (200) - **message** (string) - Confirmation message. ``` ```APIDOC ## PUT /api-external/v1/wells/gradient_cases ### Description Edit gradient cases in bulk. ### Method PUT ### Endpoint /api-external/v1/wells/gradient_cases ### Request Body - **gradient_cases** (array) - Required - A list of gradient cases to edit. ### Response #### Success Response (200) - **message** (string) - Confirmation message. ``` ```APIDOC ## PATCH /api-external/v1/wells/gradient_cases ### Description Get gradient cases of selected wells. ### Method PATCH ### Endpoint /api-external/v1/wells/gradient_cases ### Request Body - **well_ids** (array) - Required - A list of well IDs. ### Response #### Success Response (200) - **gradient_cases** (array) - A list of gradient cases for the selected wells. ```