# Table of contents

V1:

- [**Get the country list of all wells of MSD**](#get-the-country-list-of-all-wells-of-msd-v1)
- [**Get the field list of all wells of MSD**](#get-the-field-list-of-all-wells-of-msd-v1)
- [**Get the well list**](#get-the-well-list-v1)
- [**Get the wellbore list**](#get-the-wellbore-list-v1)
- [**Get the survey list**](#get-the-survey-list-v1)


## Get the country list of all wells of MSD (V1)

The API returns the country names that have been set by all wells in the current database.

Request Example
```curl
curl -request GET
--url '{baseURL}/drillplan/msd/v1/countries'
--header 'Authorization: value'
--header 'appkey: value'
--header 'content-type: application/json'
--header 'slb-data-partition-id: header'
```

Response Example
```json
[
"No Country",
"India",
"Croatia",
"Democratic Republic of the Congo",
"Angola"
]
```

**Note**: "No Country" indicates some wells don't have country name.

[**Back to table of contents**](#table-of-contents)

## Get the field list of all wells of MSD (V1)

The API returns the field names that have been set by all wells in the current database.

Request Example 
```curl
curl -request GET
--url '{baseURL}/drillplan/msd/v1/fields'
--header 'Authorization: value'
--header 'appkey: value'
--header 'content-type: application/json'
--header 'slb-data-partition-id: header'
```

Response Example
```json
[
"No Field",
"field 1",
"field 2",
"field 3",
"field 4"
]
```

**Note**: "No Field" indicates some wells don't have field name.

[**Back to table of contents**](#table-of-contents)

## Get the well list (V1)

The API returns the well list.

**Well Data Object**

- **id**: Unique identifier ObjectId for the MSD well
- **name**: Name of the well
- **structure_id**: Reference ObjectId for an associated geological structure
- **structure**: Name of the associated structure
- **ground_level**: Elevation of ground level at the well location, it’s measured from the mean-sea level (MSL).
- **wgs84_location**: Geographic coordinates in WGS84 datum (latitude/longitude)
  - **longitude**: Angular coordinate east-west of the Prime Meridian (WGS84), unit is angular coordinate: Degrees (°).
  - **latitude**: Angular coordinate north-south of the Equator (WGS84), unit is angular coordinate: Degrees (°).
- **is_offshore**: Boolean indicating if the well is located offshore.
  - **true**: offshore
  - **false**: land
- **field**: Name of the oil/gas field where the well is situated.
- **country**: Country where the well is located.
- **uwi**: Unique Well Identifier
- **source**: Data source/origin of the well information. This is an enumeration, including:
  - **EDM**: which is imported from EDM file.
  - **DOX**: which is transferred from DOX.
  - **DrillPlan**: which is created from DrillPlan.
  - **MSD**: which is created from MSD.
- **location**: Projected coordinate system location details (easting/northing, etc.).
  - **northing**: Y-coordinate in a coordinate reference system.
  - **easting**: X-coordinate in a coordinate reference system.
  - **crs**: Name/ID of the Coordinate Reference System (CRS) used.
  - **grid_convergence**: Angular difference between grid north and true north.
  - **scale_factor**: Scale factor applied in map projection calculations.
  - **crs_unit**: Measurement unit used in the CRS Northing and Easting.
- **north_reference**: Reference system for directional measurements
  - **Grid**: Grid north.
  - **True**: True north.


**Parameters**

- **page**: the index of the page, starting from 1, default is 1. If the page number is greater than the total page number, it returns an empty array.
- **page size**: number of wells per page, the range is 1-100, default is 100.


**Payload**

- All input text is case-sensitive. For instance, the results for "USA" and "usa" will be different.
- If the user wants to query data without a specified country, please set "No Country" in the country field.
- If the user wants to query data without a specified field, please set "No Field" in the country field.
- You can only set either the country or the field at a time; setting both simultaneously will result in a 400 error.
- If neither value is entered, the default response will include data for all wells.


Request Example
```curl
curl -request POST  
  --url '{baseURL}/drillplan/msd/v1/wells?page=1&page_size=100'  
  --header 'Authorization: value'  
  --header 'appkey: value'  
  --header 'content-type: application/json'  
  --header 'slb-data-partition-id: header'  
  --data '{ 
            // "field":"UK 211/18", 
            "country": "United Kingdom of Great Britain and Northern Ireland" 
          }'
```

Response Example
```json
[ 
  { 
    "id": "well id", 
    "name": "well nane", 
    "structure_id": "structure id", 
    "structure": "structure name", 
    "ground_level": -135.636, 
    "wgs84_location": { 
      "longitude": -0.6105272295702437, 
      "latitude": 57.9004897800552 
    }, 
    "is_offshore": true, 
    "field": "field name", 
    "country": "country name", 
    "uwi": null, 
    "source": "source", 
    "location": { 
      "northing": 6420356.63, 
      "easting": 641716.85, 
      "crs": "crs name", 
      "grid_convergence": 0.03535945325769174, 
      "scale_factor": 0.9998462122317239, 
      "crs_unit": "m" 
    }, 
    "north_reference": "Grid" 
  }, 
  { 
    "id": "well id", 
    "name": "well nane", 
    "structure_id": "structure id", 
    "structure": "structure name", 
    "ground_level": -135.636, 
    "wgs84_location": { 
      "longitude": -0.6105272295702437, 
      "latitude": 57.9004897800552 
    }, 
    "is_offshore": true, 
    "field": "field name", 
    "country": "country name", 
    "uwi": null, 
    "source": "source", 
    "location": { 
      "northing": 6420356.63, 
      "easting": 641716.85, 
      "crs": "crs name", 
      "grid_convergence": 0.03535945325769174, 
      "scale_factor": 0.9998462122317239, 
      "crs_unit": "ft" 
    }, 
    "north_reference": "True" 
  } 
]
```

**Note:**

- Returns 400 Bad Request, if the page size is out of the range.
- Returns 400 Bad Request, it cannot specify both field and country at the same time.


[**Back to table of contents**](#table-of-contents)

## Get the wellbore list (V1)

The API returns the wellbore list with the input well id.

**Wellbore Data Object**

- **id**: Unique identifier for the MSD wellbore.
- **name**: Name or label of the wellbore.
- **well_id**: Reference ID to the parent well.
- **api**: API (American Petroleum Institute) number, a standardized identifier for wellbores in the oil/gas industry.
- **ubhi**: Unique Borehole Identifier (UBHI), a distinct identifier for the borehole.
- **business_system_id**: Identifier from an external business system (e.g., Job Number or KUIEN, one of the two).


Request Example 
```curl
curl -request GET  
  --url '{baseURL}/drillplan/msd/v1/wellbores/by-well/{wellId}'  
  --header 'Authorization: value'  
  --header 'appkey: value'  
  --header 'content-type: application/json'  
  --header 'slb-data-partition-id: header'
```

Response Example
```json
[ 
  { 
    "id": "wellbore id 1", 
    "name": "wellbore name 1", 
    "well_id": "well id", 
    "api": "api1", 
    "ubhi": "ubhi1", 
    "business_system_id": "123" 
  }, 
{ 
    "id": "wellbore id 2", 
    "name": "wellbore name 2", 
    "well_id": "well id", 
    "api": "api2", 
    "ubhi": "ubhi2", 
    "business_system_id": "234" 
   } 
]
```

[**Back to table of contents**](#table-of-contents)

## Get the survey list (V1)

The API returns the surveys list.

**Survey Data Object**

- **id**: Unique identifier for the MSD survey.
- **name**: Name/description of the survey.
- **wellbore_id**: Reference ID to the parent wellbore.
- **survey_type**: Classification of survey data. This is an enumeration, including:
  - DefinitiveSurvey
  - NonDefinitiveSurvey
  - WorkingSurvey
- **depth_reference**: Elevation of Rotary Kelly Bushing (datum reference point for depth measurements), and it is above MSL.
- **stations**: List of survey stations defining the survey path.
  - **md**: Measured Depth.
  - **incl**: Inclination.
  - **azi**: Azimuth.
  - **tvd**: True Vertical Depth - vertical depth from Depth reference.
  - **ns**: Local N/S (North-South) coordinate.
  - **ew**: Local E/W (East-West) coordinate.
  - **dls**: Dogleg Severity.
  - **tool_code**: Identifier for survey tool code.
  - **calc_method**: Algorithm used for Survey calculations.


Request Example 
```curl
curl -request GET  
  --url '{baseURL}/drillplan/msd/v1/surveys/by-wellbore/{wellboreId}'  
  --header 'Authorization: value'  
  --header 'appkey: value'  
  --header 'content-type: application/json'  
  --header 'slb-data-partition-id: header'
```

Response Example
```json
[ 
  { 
    "id": "survey id 1", 
    "name": "survey name 1", 
    "wellbore_id": "wellbore id", 
    "stations": [ 
      { 
        "md": 0.0, 
        "incl": 0.0, 
        "azi": 0.0, 
        "tvd": 0.0, 
        "ns": 0.0, 
        "ew": 0.0, 
        "dls": 0.0, 
        "tool_code": "ZERO", 
        "calc_method": " MinCurvature " 
      }, 
      { 
        "md": 150.13, 
        "incl": 0.0, 
        "azi": 4.316548306032377, 
        "tvd": 150.13, 
        "ns": 0.0, 
        "ew": 0.0, 
        "dls": 0.0, 
        "tool_code": "SLB_MWD-STD-FLT", 
        "calc_method": "MinCurvature" 
      }, 
      { 
        "md": 179.8, 
        "incl": 0.002094395102393196, 
        "azi": 4.316548306032377, 
        "tvd": 179.79997830880754, 
        "ns": -0.01198022573341854, 
        "ew": -0.028667755724058806, 
        "dls": 7.058965629906286E-05, 
        "tool_code": "SLB_MWD-STD-FLT", 
        "calc_method": "MinCurvature" 
      } 
    ], 
    "survey_type": "DefinitiveSurvey", 
    "depth_reference": 26.06 
  }, 
  { 
    "id": "survey id 2", 
    "name": "survey name 2", 
    "wellbore_id": "wellbore id", 
    "stations": [ 
      { 
        "md": 0.0, 
        "incl": 0.0, 
        "azi": 0.0, 
        "tvd": 0.0, 
        "ns": 0.0, 
        "ew": 0.0, 
        "dls": 0.0, 
        "tool_code": "SLB_MWD-STD-FLT", 
        "calc_method": " MinCurvature " 
      }, 
      { 
        "md": 722.3760000000001, 
        "incl": 0.0, 
        "azi": 0.0, 
        "tvd": 722.3760000000001, 
        "ns": 0.0, 
        "ew": 0.0, 
        "dls": 0.0, 
        "tool_code": "SLB_INCL_ONLY_VERTICAL_ACTUAL", 
        "calc_method": "IncOnly" 
      }, 
      { 
        "md": 853.7448, 
        "incl": 0.001570796389212735, 
        "azi": 3.236363904141354, 
        "tvd": 853.7446706589755, 
        "ns": -0.022163302117696734, 
        "ew": -0.0021067549743618956, 
        "dls": 0.0001476160118063521, 
        "tool_code": "SLB_MWD-STD", 
        "calc_method": "MinCurvature" 
      } 
    ], 
    "survey_type": "NonDefinitiveSurvey", 
    "depth_reference": 26.06 
  }, 
]
```

[**Back to table of contents**](#table-of-contents)