NAV Navbar
HTTP cURL

Introduction

This documentation describes Solo REST API which provides access to Solo objects. Using Solo REST API, you can easily create your own powerful integration.

Your use of the Solo REST API is subject to this License Agreement

Access Solo REST API

To access Solo REST API you must issue token.

API URL

Once you have a token you can use this url to access Solo objects.

https://Solo.cloud/

Solo objects

Solo objects in Solo REST API are presented in the same hierarchy as is Starsteer. The top level is Project, with the following structure:

Double values

Has a value

HTTP/1.1 200 OK

"data" : {
  "val" : 16.581
}

Not a number value

HTTP/1.1 200 OK

"data" : {
  "undefined": true
}

Double value consists of two fields:

  1. val - field holds a value
  2. undefined - field which is true if a value is not a number value

Paging

HTTP/1.1 200 OK

{
  "content" : [ ],
  "offset" : 0,
  "limit" : 20,
  "first" : true,
  "last" : true,
  "total" : 3
}

Many of the Solo REST API endpoints return a pageable structure:

Path Type Description
content Array Content array
offset Number Index of the first record returned by a request from the list of all records
limit Number Maximum number of records returned by a request from the list of all records, starting with 'offset'
first Boolean true if the current records range is the first, otherwise – false
last Boolean true if the current records range is the last, otherwise – false
total Number Total number of records

0. Authentication

Issue token

Authentication using OAuth 2.0

Request

$ curl 'https://solo.cloud/oauth/token' -i -u 'solo-api-client-id:solo-api-secret' -X POST \
    -H 'Content-Type: application/x-www-form-urlencoded; charset=ISO-8859-1' \
    -d 'grant_type=password&username=test%2Bapi%40test.com&password=password'
POST /oauth/token HTTP/1.1
Authorization: Basic c29sby1hcGktY2xpZW50LWlkOnNvbG8tYXBpLXNlY3JldA==
Content-Type: application/x-www-form-urlencoded; charset=ISO-8859-1
Host: solo.cloud

grant_type=password&username=test%2Bapi%40test.com&password=password

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: cc8b127b91083c2f
Authorization: 01e010d2-71df-4519-a2cb-92f7ba929984
Set-Cookie: SESSION=MDFlMDEwZDItNzFkZi00NTE5LWEyY2ItOTJmN2JhOTI5OTg0; Path=/; HttpOnly; SameSite=Lax
Content-Type: application/json;charset=UTF-8

{
  "access_token" : "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsic29sby1wdWJsaWMtYXBpIl0sImNvbXBhbnlfaWQiOjIwMDAzLCJ1c2VyX2lkIjoxNDA5LCJ1c2VyX25hbWUiOiJ0ZXN0K2FwaUB0ZXN0LmNvbSIsInNjb3BlIjpbInJlYWQiXSwiZXhwIjoxNjY5ODA0MzE3LCJ1c2VyX2RpZ2VzdCI6IjhiOWVlYTM3NzciLCJpYXQiOjE2Njk3OTQzMTcsImF1dGhvcml0aWVzIjpbIlJPTEVfU1RBRkYiXSwianRpIjoiQ3ZoeWx4Q1Fsa1JHRUtDbDdGYnMtVl9jZUJjIiwiY2xpZW50X2lkIjoic29sby1hcGktY2xpZW50LWlkIn0.pcABURfJOG4xqT4Z5dmjSXKpRhNikxIWdiG4KwRswmwHL6cabjSutj2nuiqRR_FYl_Jy-HTJzP33RBPIvR3kFL9GfB4CQp_H3L0dVTv7GLyLBrkvWJOKgPJNUIafITVhiTQIvaLdXEAWz5cBB57x_vbRE_MjPQO8wbm7LpVi-Ks",
  "token_type" : "bearer",
  "refresh_token" : "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsic29sby1wdWJsaWMtYXBpIl0sImNvbXBhbnlfaWQiOjIwMDAzLCJ1c2VyX2lkIjoxNDA5LCJ1c2VyX25hbWUiOiJ0ZXN0K2FwaUB0ZXN0LmNvbSIsInNjb3BlIjpbInJlYWQiXSwiYXRpIjoiQ3ZoeWx4Q1Fsa1JHRUtDbDdGYnMtVl9jZUJjIiwiZXhwIjoxNjY5ODI0MzE3LCJ1c2VyX2RpZ2VzdCI6IjhiOWVlYTM3NzciLCJpYXQiOjE2Njk3OTQzMTcsImF1dGhvcml0aWVzIjpbIlJPTEVfU1RBRkYiXSwianRpIjoiUjEtVzcyajBaYXlKZ1dDbDZ4cVFVVVoyN1BjIiwiY2xpZW50X2lkIjoic29sby1hcGktY2xpZW50LWlkIn0.YADJ54YMws0op8SLOHH4iLP_GL-8Uy8UFNsWIukWJALbrj7d8ePqcN-AMjNoKVwgQtW7iDY6t1yoYcel2MWuqTiD-IsV2Y11UAbcqpRfTlUM0mOUJ5wNoh8oo-4wK70wwMAXxhdQuKvemMZWs5koSRRMaACHGyrsu6ZqtSMRnwA",
  "expires_in" : 9999,
  "scope" : "read",
  "iat" : 1669794317,
  "jti" : "CvhylxCQlkRGEKCl7Fbs-V_ceBc"
}

POST /oauth/token

Parameter Description
grant_type The type of grant being presented in exchange for an access and refresh token. Can be password or refresh_token
username User name in Solo to access a project
password User password in Solo to access a project
Header Description
Authorization Authorization header in the following format Basic credentials
credentials is a client_id:secret string encoded in base64 (standard http basic authorization).
client_id is a unique client identifier to access the public api.
secret is a unique client secret string to access the public api.

Response body

Path Type Description
access_token String Access token issued by the authorization server
token_type String Token type
refresh_token String Refresh token associated with the access token
expires_in Number Lifetime in seconds of the access token. For example, the value 3600 denotes that the access token will expire in one hour from the time the response was generated
scope String Scope of the token
iat Number Time at which the token was issued
jti String Unique token identifier

1. Projects

Get projects

Get a list of company projects with pagination

Request

$ curl 'https://solo.cloud/public/api/v1/projects?offset=0&limit=20&filter=pApi' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/projects?offset=0&limit=20&filter=pApi HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 38b3718fc7351a2d
Content-Type: application/json

{
  "content" : [ {
    "uuid" : "c32f026b-2c80-402b-81e8-ba56628ba6d5",
    "name" : "Papi test project 1",
    "measure_unit" : "FOOT",
    "role" : "MANAGER",
    "accessed_on" : "2022-11-30T07:45:03Z",
    "modified_on" : "2022-11-30T07:45:03Z"
  }, {
    "uuid" : "efbc8539-bbcb-479c-bffa-d0fd35767b73",
    "name" : "Papi test project 2",
    "measure_unit" : "METER",
    "role" : "MANAGER",
    "geo_crs" : {
      "code" : 2000,
      "authority" : "EPSG",
      "name" : "Anguilla 1957 / British West Indies Grid",
      "measure_unit" : "METER"
    },
    "accessed_on" : "2022-11-30T07:45:03Z",
    "modified_on" : "2022-11-30T07:45:03Z"
  }, {
    "uuid" : "3f0ca39b-4a4a-4419-9cfa-9c446ace7219",
    "name" : "Papi test project 3",
    "measure_unit" : "FOOT",
    "role" : "MANAGER",
    "geo_crs" : {
      "code" : 2270,
      "authority" : "EPSG",
      "name" : "NAD83 / Oregon South (ft)",
      "measure_unit" : "FOOT"
    },
    "accessed_on" : "2022-11-30T07:45:03Z",
    "modified_on" : "2022-11-30T07:45:03Z"
  } ],
  "offset" : 0,
  "limit" : 20,
  "total" : 3,
  "first" : true,
  "last" : true
}

GET /public/api/v1/projects

Parameter Description
offset Index of the first record to return by a request from the list of all records
limit Maximum number of records to return by a request from the list of all records, starting with 'offset'
filter Filter projects by the 'name' field. Case insensitive.
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Content array
offset Number Index of the first record returned by a request from the list of all records
limit Number Maximum number of records returned by a request from the list of all records, starting with 'offset'
total Number Total number of records
first Boolean true if the current records range is the first, otherwise – false
last Boolean true if the current records range is the last, otherwise – false
content[].uuid String Project UUID
content[].name String Project name
content[].measure_unit String Measurement units (possible values: METER, FOOT, METER_FOOT)
content[].role String Role
content[].accessed_on String Date/time project last accessed at
content[].modified_on String Date/time project last modified at
content[].geo_crs Object Coordinate reference system (CRS) information
content[].geo_crs.code Varies CRS code
content[].geo_crs.authority Varies Authority
content[].geo_crs.name Varies CRS name
content[].geo_crs.measure_unit Varies CRS measure unit

Get virtual projects

Get a list of company virtual projects with pagination

Request

$ curl 'https://solo.cloud/public/api/v1/projects/virtual?offset=0&limit=20&filter=pApi' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/projects/virtual?offset=0&limit=20&filter=pApi HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: bf5fc532e4f39ca5
Content-Type: application/json

{
  "content" : [ {
    "uuid" : "63f5db0e-9bd4-4252-bc95-7f67ab9d6157",
    "name" : "Virtual Papi test project 1",
    "measure_unit" : "FOOT",
    "role" : "MANAGER",
    "parent_uuid" : "c32f026b-2c80-402b-81e8-ba56628ba6d5",
    "parent_name" : "Papi test project 1",
    "virtual" : true,
    "modified_on" : "2022-11-30T07:45:03Z"
  }, {
    "uuid" : "5541c7fe-bfc8-4391-bb68-a8511a020dfd",
    "name" : "Virtual Papi test project 2",
    "measure_unit" : "METER",
    "role" : "MANAGER",
    "geo_crs" : {
      "code" : 2000,
      "authority" : "EPSG",
      "name" : "Anguilla 1957 / British West Indies Grid",
      "measure_unit" : "METER"
    },
    "parent_uuid" : "efbc8539-bbcb-479c-bffa-d0fd35767b73",
    "parent_name" : "Papi test project 2",
    "virtual" : true,
    "modified_on" : "2022-11-30T07:45:03Z"
  }, {
    "uuid" : "a1e9e6e6-438f-436a-aaa1-d1fbcbe57487",
    "name" : "Virtual Papi test project 3",
    "measure_unit" : "FOOT",
    "role" : "MANAGER",
    "geo_crs" : {
      "code" : 2270,
      "authority" : "EPSG",
      "name" : "NAD83 / Oregon South (ft)",
      "measure_unit" : "FOOT"
    },
    "parent_uuid" : "3f0ca39b-4a4a-4419-9cfa-9c446ace7219",
    "parent_name" : "Papi test project 3",
    "virtual" : true,
    "modified_on" : "2022-11-30T07:45:03Z"
  } ],
  "offset" : 0,
  "limit" : 20,
  "total" : 3,
  "first" : true,
  "last" : true
}

GET /public/api/v1/projects/virtual

Parameter Description
offset Index of the first record to return by a request from the list of all records
limit Maximum number of records to return by a request from the list of all records, starting with 'offset'
filter Filter virtual projects by the 'name' field. Case insensitive.
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Content array
offset Number Index of the first record returned by a request from the list of all records
limit Number Maximum number of records returned by a request from the list of all records, starting with 'offset'
total Number Total number of records
first Boolean true if the current records range is the first, otherwise – false
last Boolean true if the current records range is the last, otherwise – false
content[].uuid String Virtual project UUID
content[].name String Virtual project name
content[].measure_unit String Measurement units (possible values: METER, FOOT, METER_FOOT)
content[].role String Role
content[].accessed_on String Date/time project last accessed at
content[].modified_on String Date/time project last modified at
content[].geo_crs Object Coordinate reference system (CRS) information
content[].parent_uuid String Parent project UUID
content[].parent_name String Parent project name
content[].virtual Boolean Whether the project is virtual
content[].geo_crs.code Varies CRS code
content[].geo_crs.authority Varies Authority
content[].geo_crs.name Varies CRS name
content[].geo_crs.measure_unit Varies CRS measure unit

Get project

Get a single project info

Request

$ curl 'https://solo.cloud/public/api/v1/projects/3f0ca39b-4a4a-4419-9cfa-9c446ace7219' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/projects/3f0ca39b-4a4a-4419-9cfa-9c446ace7219 HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 472562a76ccbfc49
Content-Type: application/json

{
  "uuid" : "3f0ca39b-4a4a-4419-9cfa-9c446ace7219",
  "name" : "Papi test project 3",
  "measure_unit" : "FOOT",
  "role" : "MANAGER",
  "geo_crs" : {
    "code" : 2270,
    "authority" : "EPSG",
    "name" : "NAD83 / Oregon South (ft)",
    "measure_unit" : "FOOT"
  },
  "accessed_on" : "2022-11-30T07:45:03Z",
  "modified_on" : "2022-11-30T07:45:03Z"
}

GET /public/api/v1/projects/{uuid}

Path parameter Description
uuid Project UUID
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
uuid String Project UUID
name String Project name
measure_unit String Measurement units (possible values: METER, FOOT, METER_FOOT)
role String Role
accessed_on String Date/time project last accessed at
modified_on String Date/time project last modified at
geo_crs Object Coordinate reference system (CRS) information
geo_crs.code Number CRS code
geo_crs.authority String Authority
geo_crs.name String CRS name
geo_crs.measure_unit String CRS measure unit

2. Laterals

Get laterals by project

Get a list of laterals by project UUID with pagination

Request

$ curl 'https://solo.cloud/public/api/v1/projects/ea379a5e-bb53-4fce-8796-806fa5616726/wells?offset=0&limit=10&filter=oNe' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/projects/ea379a5e-bb53-4fce-8796-806fa5616726/wells?offset=0&limit=10&filter=oNe HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: d35c1f495a1cbbad
Content-Type: application/json

{
  "content" : [ {
    "uuid" : "9322931d-98ff-4c8b-83ad-8d1b503e0efb",
    "name" : "Lateral one",
    "api" : "api lateral one",
    "flags" : {
      "has_logs" : false,
      "has_topsets" : false,
      "has_interpretations" : false,
      "has_nested_wells" : false,
      "has_mudlogs" : false,
      "has_target_lines" : false
    }
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 1,
  "first" : true,
  "last" : true
}

GET /public/api/v1/projects/{projectUuid}/wells

Path parameter Description
projectUuid Project UUID
Parameter Description
offset Index of the first record to return by a request from the list of all records
limit Maximum number of records to return by a request from the list of all records, starting with 'offset'
filter Filter laterals by the 'name' or 'api' fields. Case insensitive.
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Content array
offset Number Index of the first record returned by a request from the list of all records
limit Number Maximum number of records returned by a request from the list of all records, starting with 'offset'
total Number Total number of records
first Boolean true if the current records range is the first, otherwise – false
last Boolean true if the current records range is the last, otherwise – false
content[].uuid String Lateral UUID
content[].name String Lateral name
content[].api String API lateral number
content[].flags.has_logs Boolean Flag indicating the presence of logs
content[].flags.has_topsets Boolean Flag indicating the presence of topsets
content[].flags.has_interpretations Boolean Flag indicating the presence of interpretations
content[].flags.has_nested_wells Boolean Flag indicating the presence of nested wells
content[].flags.has_mudlogs Boolean Flag indicating the presence of mudlogs
content[].flags.has_target_lines Boolean Flag indicating the presence of target lines

Create lateral

Create lateral by project UUID

Request

$ curl 'https://solo.cloud/public/api/v1/projects/ea379a5e-bb53-4fce-8796-806fa5616726/laterals' -i -X POST \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Lateral name",
  "operator" : "operator",
  "api" : "api",
  "convergence" : {
    "val" : 90.0
  },
  "azimuth" : {
    "val" : 45.0
  },
  "kb" : {
    "val" : 0.3
  },
  "tieintvd" : {
    "val" : 0.4
  },
  "tieinns" : {
    "val" : 0.5
  },
  "tieinew" : {
    "val" : 0.6
  },
  "xsrfreal" : {
    "val" : 100.0
  },
  "ysrfreal" : {
    "val" : 500.0
  }
}'
POST /public/api/v1/projects/ea379a5e-bb53-4fce-8796-806fa5616726/laterals HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 377

{
  "name" : "Lateral name",
  "operator" : "operator",
  "api" : "api",
  "convergence" : {
    "val" : 90.0
  },
  "azimuth" : {
    "val" : 45.0
  },
  "kb" : {
    "val" : 0.3
  },
  "tieintvd" : {
    "val" : 0.4
  },
  "tieinns" : {
    "val" : 0.5
  },
  "tieinew" : {
    "val" : 0.6
  },
  "xsrfreal" : {
    "val" : 100.0
  },
  "ysrfreal" : {
    "val" : 500.0
  }
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: ea02e44e8df3f570
Content-Type: application/json

{
  "uuid" : "168aa6df-4aa6-4b24-8310-313cf30203e9"
}

POST /public/api/v1/projects/{uuid}/laterals

Path parameter Description
uuid Project UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
name String Lateral name
operator String Operator name
api String API lateral number
convergence.val Number Convergence
azimuth.val Number AzimuthVS
kb.val Number Kelly Bushing (KB) is the height of the Derek (drill rig) measured from the MSL
tieintvd.val Number TieInTvd
tieinns.val Number TieInNs
tieinew.val Number TieInEw
xsrfreal.val Number X surface wellbore coordinate
ysrfreal.val Number Y surface wellbore coordinate

Response body

Path Type Description
uuid String Created lateral UUID

Get lateral trajectory

Get lateral trajectory data by lateral UUID

Request

$ curl 'https://solo.cloud/public/api/v1/wells/bb6eb467-3ee0-46a2-a8c4-f8a5cd6d33f6/trajectory' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/bb6eb467-3ee0-46a2-a8c4-f8a5cd6d33f6/trajectory HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 5111fb5193478f78
Content-Type: application/json

{
  "content" : [ {
    "md" : {
      "val" : 0.0
    },
    "incl" : {
      "val" : 0.0
    },
    "azim" : {
      "val" : 0.0
    }
  }, {
    "md" : {
      "val" : 3280.839895013124
    },
    "incl" : {
      "val" : 0.4583662361046284
    },
    "azim" : {
      "val" : 0.0
    }
  }, {
    "md" : {
      "val" : 4921.259842519686
    },
    "incl" : {
      "val" : 84.79775367935625
    },
    "azim" : {
      "val" : 9.740282517223354
    }
  }, {
    "md" : {
      "val" : 13123.359580052496
    },
    "incl" : {
      "val" : 89.95437383553333
    },
    "azim" : {
      "val" : 9.740282517223354
    }
  } ]
}

GET /public/api/v1/wells/{wellUuid}/trajectory

Path parameter Description
wellUuid Lateral UUID
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Trajectory points array
content[].md.val Number Measured Depth value in project units
content[].incl.val Number Inclination value (degrees)
content[].azim.val Number Azimuth value (degrees)

Update lateral meta

Update lateral metadata

Request

$ curl 'https://solo.cloud/public/api/v1/wells/9322931d-98ff-4c8b-83ad-8d1b503e0efb' -i -X PATCH \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Lateral name",
  "api" : "api lateral",
  "operator" : "string",
  "xsrf" : {
    "val" : 60.5
  },
  "ysrf" : {
    "val" : 100.0
  },
  "kb" : {
    "val" : 70.0
  },
  "azimuth" : {
    "val" : 0.0
  },
  "convergence" : {
    "val" : 0.0
  },
  "tie_in_tvd" : {
    "val" : 0.0
  },
  "tie_in_ns" : {
    "val" : 1.0
  },
  "tie_in_ew" : {
    "val" : 0.0
  }
}'
PATCH /public/api/v1/wells/9322931d-98ff-4c8b-83ad-8d1b503e0efb HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 379

{
  "name" : "Lateral name",
  "api" : "api lateral",
  "operator" : "string",
  "xsrf" : {
    "val" : 60.5
  },
  "ysrf" : {
    "val" : 100.0
  },
  "kb" : {
    "val" : 70.0
  },
  "azimuth" : {
    "val" : 0.0
  },
  "convergence" : {
    "val" : 0.0
  },
  "tie_in_tvd" : {
    "val" : 0.0
  },
  "tie_in_ns" : {
    "val" : 1.0
  },
  "tie_in_ew" : {
    "val" : 0.0
  }
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 27ad169c4453c59c

PATCH /public/api/v1/wells/{uuid}

Path parameter Description
uuid Lateral UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
name String Lateral name
operator String Operator name
api String API lateral number
xsrf.val Number X surface coordinate
ysrf.val Number Y surface coordinate
kb.val Number Kelly Bushing (KB) is the height of the Derek (drill rig) measured from the MSL
azimuth.val Number Well azimuth (degrees)
convergence.val Number Convergence
tie_in_tvd.val Number Tie in tvd coordinates
tie_in_ns.val Number Tie in NS
tie_in_ew.val Number Tie in EW

Response body

Empty body

Get lateral meta

Get lateral metadata

Request

$ curl 'https://solo.cloud/public/api/v1/wells/60a1343d-543e-41fd-a439-ca75b66cdc13' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/60a1343d-543e-41fd-a439-ca75b66cdc13 HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 8bb8249ff025711f
Content-Type: application/json

{
  "uuid" : "60a1343d-543e-41fd-a439-ca75b66cdc13",
  "name" : "Lateral three",
  "operator" : "string",
  "api" : "api lateral three",
  "xsrf" : {
    "val" : 19.68503937007874
  },
  "ysrf" : {
    "val" : 32.808398950131235
  },
  "kb" : {
    "val" : 22.96587926509186
  },
  "convergence" : {
    "val" : 0.0
  },
  "azimuth" : {
    "val" : 0.0
  },
  "tie_in_tvd" : {
    "val" : 0.0
  },
  "tie_in_ns" : {
    "val" : 3.280839895013123
  },
  "tie_in_ew" : {
    "val" : 0.0
  }
}

GET /public/api/v1/wells/{lateralUuid}

Path parameter Description
lateralUuid Lateral UUID
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
uuid String Lateral UUID
name String Lateral name
operator String Operator name
api String API lateral number
xsrf.val Number X surface coordinate
ysrf.val Number Y surface coordinate
kb.val Number Kelly Bushing (KB) is the height of the Derek (drill rig) measured from the MSL
azimuth.val Number AzimuthVS
convergence.val Number Convergence
tie_in_tvd.val Number Tie in tvd coordinates
tie_in_ns.val Number Tie in NS
tie_in_ew.val Number Tie in EW

Extend lateral trajectory

Extend lateral trajectory (note that 'azim' can be used for a trajectory station azimuth as well as 'azi')

Request

$ curl 'https://solo.cloud/public/api/v1/wells/9322931d-98ff-4c8b-83ad-8d1b503e0efb/trajectory' -i -X PATCH \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "md_uom" : "m",
  "incl_uom" : "dega",
  "azi_uom" : "rad",
  "trajectory_stations" : [ {
    "md" : {
      "val" : 1389
    },
    "incl" : {
      "val" : 1.1
    },
    "azi" : {
      "val" : 1.63
    }
  }, {
    "md" : {
      "val" : 1489
    },
    "incl" : {
      "val" : 2.1
    },
    "azi" : {
      "val" : 1.43
    }
  } ]
}'
PATCH /public/api/v1/wells/9322931d-98ff-4c8b-83ad-8d1b503e0efb/trajectory HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 344

{
  "md_uom" : "m",
  "incl_uom" : "dega",
  "azi_uom" : "rad",
  "trajectory_stations" : [ {
    "md" : {
      "val" : 1389
    },
    "incl" : {
      "val" : 1.1
    },
    "azi" : {
      "val" : 1.63
    }
  }, {
    "md" : {
      "val" : 1489
    },
    "incl" : {
      "val" : 2.1
    },
    "azi" : {
      "val" : 1.43
    }
  } ]
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 34059e4624355b69

PATCH /public/api/v1/wells/{uuid}/trajectory

Path parameter Description
uuid Lateral UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
md_uom String Depth measure unit of a trajectory stations related to the lateral. Accepted values: m, ft
incl_uom String Inclination measure unit of a trajectory stations related to the lateral. Accepted values: dega, rad
azi_uom String Azimuth measure unit of a trajectory stations related to the lateral. Accepted values: dega, rad
trajectory_stations Array Lateral trajectory data array
trajectory_stations[].md.val Number Depth data value
trajectory_stations[].incl.val Number Inclination data value
trajectory_stations[].azi.val Number Azimuth data value

Response body

Empty body

Replace lateral trajectory

Replace lateral trajectory (note that 'azim' can be used for a trajectory station azimuth as well as 'azi')

Request

$ curl 'https://solo.cloud/public/api/v1/wells/9322931d-98ff-4c8b-83ad-8d1b503e0efb/trajectory' -i -X PUT \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "md_uom" : "m",
  "incl_uom" : "dega",
  "azi_uom" : "rad",
  "trajectory_stations" : [ {
    "md" : {
      "val" : 1389
    },
    "incl" : {
      "val" : 1.1
    },
    "azi" : {
      "val" : 1.63
    }
  }, {
    "md" : {
      "val" : 1489
    },
    "incl" : {
      "val" : 2.1
    },
    "azi" : {
      "val" : 1.43
    }
  } ]
}'
PUT /public/api/v1/wells/9322931d-98ff-4c8b-83ad-8d1b503e0efb/trajectory HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 344

{
  "md_uom" : "m",
  "incl_uom" : "dega",
  "azi_uom" : "rad",
  "trajectory_stations" : [ {
    "md" : {
      "val" : 1389
    },
    "incl" : {
      "val" : 1.1
    },
    "azi" : {
      "val" : 1.63
    }
  }, {
    "md" : {
      "val" : 1489
    },
    "incl" : {
      "val" : 2.1
    },
    "azi" : {
      "val" : 1.43
    }
  } ]
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 1004e7f7a469f67f

PUT /public/api/v1/wells/{uuid}/trajectory

Path parameter Description
uuid Lateral UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
md_uom String Depth measure unit of a trajectory stations related to the lateral. Accepted values: m, ft
incl_uom String Inclination measure unit of a trajectory stations related to the lateral. Accepted values: dega, rad
azi_uom String Azimuth measure unit of a trajectory stations related to the lateral. Accepted values: dega, rad
trajectory_stations Array Lateral trajectory data array
trajectory_stations[].md.val Number Depth data value
trajectory_stations[].incl.val Number Inclination data value
trajectory_stations[].azi.val Number Azimuth data value

Response body

Empty body

Set starred objects

Set starred objects by lateral UUID

Request

$ curl 'https://solo.cloud/public/api/v1/laterals/uuid/26d90ea9-db9d-4e21-93eb-44caa5850ba7/starred' -i -X PUT \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "targetline" : "e976b9e2-c743-4a69-b98a-5ac83d8f267a",
  "nestedwell" : "50a62384-f463-46b2-8b52-1286ab96b6b8",
  "interpretation" : "c69a0cc6-4f95-4f92-83e7-6e0ae4ecfdae",
  "topset" : "f7411763-10d8-4a43-9df9-5e8a5fbd6f5c"
}'
PUT /public/api/v1/laterals/uuid/26d90ea9-db9d-4e21-93eb-44caa5850ba7/starred HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 230

{
  "targetline" : "e976b9e2-c743-4a69-b98a-5ac83d8f267a",
  "nestedwell" : "50a62384-f463-46b2-8b52-1286ab96b6b8",
  "interpretation" : "c69a0cc6-4f95-4f92-83e7-6e0ae4ecfdae",
  "topset" : "f7411763-10d8-4a43-9df9-5e8a5fbd6f5c"
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 7f5bdc9a97316eb5

PUT /public/api/v1/laterals/uuid/{uuid}/starred

Path parameter Description
uuid Lateral UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
targetline String Target line UUID to set starred (use "00000000-0000-0000-0000-000000000000" to reset)
nestedwell String Nested well UUID to set starred (use "00000000-0000-0000-0000-000000000000" to reset)
interpretation String Interpretation UUID to set starred (use "00000000-0000-0000-0000-000000000000" to reset)
topset String Topset UUID to set starred (use "00000000-0000-0000-0000-000000000000" to reset)

Response body

Empty body

Get starred objects

Get starred objects by lateral UUID

Request

$ curl 'https://solo.cloud/public/api/v1/laterals/26d90ea9-db9d-4e21-93eb-44caa5850ba7/starred' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/laterals/26d90ea9-db9d-4e21-93eb-44caa5850ba7/starred HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: a5917f2b2092f38e
Content-Type: application/json

{
  "target_line" : "e976b9e2-c743-4a69-b98a-5ac83d8f267a",
  "nested_well" : "50a62384-f463-46b2-8b52-1286ab96b6b8",
  "interpretation" : "c69a0cc6-4f95-4f92-83e7-6e0ae4ecfdae",
  "topset" : "f7411763-10d8-4a43-9df9-5e8a5fbd6f5c"
}

GET /public/api/v1/laterals/{uuid}/starred

Path parameter Description
uuid Lateral UUID
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
target_line String Starred target line UUID
nested_well String Starred nested well UUID
interpretation String Starred interpretation UUID
topset String Starred topset UUID

Get linked typewells

Get linked typewells by lateral UUID

Request

$ curl 'https://solo.cloud/public/api/v1/laterals/607d551c-62ac-44c9-bf9f-2adcb48217e9/linked?offset=0&limit=10' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/laterals/607d551c-62ac-44c9-bf9f-2adcb48217e9/linked?offset=0&limit=10 HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 7bf2b8b65f833373
Content-Type: application/json

{
  "content" : [ {
    "shift" : {
      "val" : 1640.4199475065616
    },
    "typewell_id" : "0286f815-3383-4011-920c-9c8ad1dd4d52"
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 1,
  "first" : true,
  "last" : true
}

GET /public/api/v1/laterals/{uuid}/linked

Path parameter Description
uuid Lateral UUID
Parameter Description
offset Index of the first record to return by a request from the list of all records
limit Maximum number of records to return by a request from the list of all records, starting with 'offset'
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Content array
offset Number Index of the first record returned by a request from the list of all records
limit Number Maximum number of records returned by a request from the list of all records, starting with 'offset'
total Number Total number of records
first Boolean true if the current records range is the first, otherwise – false
last Boolean true if the current records range is the last, otherwise – false
content[].shift.val Number Typewell shift
content[].typewell_id String Typewell UUID

3. Interpretations

Get interpretations by lateral

Get a list of interpretations by lateral UUID with pagination

Request

$ curl 'https://solo.cloud/public/api/v1/wells/a8a17358-248d-4e5b-8e20-4dc343e42865/interpretations?offset=0&limit=20&filter=test' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/wells/a8a17358-248d-4e5b-8e20-4dc343e42865/interpretations?offset=0&limit=20&filter=test HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 44ed0dcf617225e2
Content-Type: application/json

{
  "content" : [ {
    "name" : "test interpretation 1",
    "uuid" : "79ac765f-5345-4f5e-950c-10d54f658807"
  }, {
    "name" : "test interpretation 2",
    "uuid" : "e85b969e-ab4e-49c5-8281-32ff3fc5bfd0"
  } ],
  "offset" : 0,
  "limit" : 20,
  "total" : 2,
  "first" : true,
  "last" : true
}

GET /public/api/v1/wells/{uuid}/interpretations

Path parameter Description
uuid Lateral UUID
Parameter Description
offset Index of the first record to return by a request from the list of all records
limit Maximum number of records to return by a request from the list of all records, starting with 'offset'
filter Filter interpretations by the 'name' field. Case insensitive.
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Content array
offset Number Index of the first record returned by a request from the list of all records
limit Number Maximum number of records returned by a request from the list of all records, starting with 'offset'
total Number Total number of records
first Boolean true if the current records range is the first, otherwise – false
last Boolean true if the current records range is the last, otherwise – false
content[].name String Interpretation name
content[].uuid String Interpretation UUID

Set starred objects

Set starred objects by interpretation UUID

Request

$ curl 'https://solo.cloud/public/api/v1/interpretations/uuid/588dd830-9dda-46ce-9e51-51b7c74f1d3e/starred' -i -X PUT \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "top" : "e576d829-15d1-4720-b790-db1ab8f93a8e",
  "center" : "22167691-80c5-4cef-a56f-9a4a0df8018b",
  "bottom" : "e8cf2fe3-84ee-4a03-8213-5d03f92cbcdc"
}'
PUT /public/api/v1/interpretations/uuid/588dd830-9dda-46ce-9e51-51b7c74f1d3e/starred HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 158

{
  "top" : "e576d829-15d1-4720-b790-db1ab8f93a8e",
  "center" : "22167691-80c5-4cef-a56f-9a4a0df8018b",
  "bottom" : "e8cf2fe3-84ee-4a03-8213-5d03f92cbcdc"
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 04e45a7dc7e86b6f

PUT /public/api/v1/interpretations/uuid/{uuid}/starred

Path parameter Description
uuid Interpretation UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
top String Horizon UUID to be set as starred top (use "00000000-0000-0000-0000-000000000000" to reset)
center String Horizon UUID to be set as starred center (use "00000000-0000-0000-0000-000000000000" to reset)
bottom String Horizon UUID to be set as starred bottom (use "00000000-0000-0000-0000-000000000000" to reset)

Response body

Empty body

Get starred objects

Get starred objects by interpretation UUID

Request

$ curl 'https://solo.cloud/public/api/v1/interpretations/588dd830-9dda-46ce-9e51-51b7c74f1d3e/starred' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/interpretations/588dd830-9dda-46ce-9e51-51b7c74f1d3e/starred HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 02f0c6f3f6771070
Content-Type: application/json

{
  "top" : "e576d829-15d1-4720-b790-db1ab8f93a8e",
  "center" : "22167691-80c5-4cef-a56f-9a4a0df8018b",
  "bottom" : "e8cf2fe3-84ee-4a03-8213-5d03f92cbcdc"
}

GET /public/api/v1/interpretations/{uuid}/starred

Path parameter Description
uuid Interpretation UUID
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
top String Starred top horizon UUID
center String Starred center horizon UUID
bottom String Starred bottom horizon UUID

4. Horizons

Get horizons meta

Get a list of horizons by interpretation UUID with pagination

Request

$ curl 'https://solo.cloud/public/api/v1/interpretations/0ed5769e-7ab5-409d-8bb0-9330a5e49cbe/horizons?limit=20&offset=0&filter=tEst' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/interpretations/0ed5769e-7ab5-409d-8bb0-9330a5e49cbe/horizons?limit=20&offset=0&filter=tEst HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 0623efc9cbdf1c3e
Content-Type: application/json

{
  "content" : [ {
    "name" : "Test horizon 1",
    "uuid" : "22fbe1d2-c174-4b7e-87f1-8a8dc4809b71"
  }, {
    "name" : "Test horizon 2",
    "uuid" : "9ecf26f6-5682-4a3d-af91-f73e6f35b25d"
  }, {
    "name" : "Test horizon 3",
    "uuid" : "065c135f-e6c1-4bf8-9d78-c3a0283cd4b2"
  } ],
  "offset" : 0,
  "limit" : 20,
  "total" : 3,
  "first" : true,
  "last" : true
}

GET /public/api/v1/interpretations/{interpretationUuid}/horizons

Path parameter Description
interpretationUuid Interpretation UUID
Parameter Description
offset Index of the first record to return by a request from the list of all records
limit Maximum number of records to return by a request from the list of all records, starting with 'offset'
filter Filter horizons by the 'name' field. Case insensitive.
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Content array
offset Number Index of the first record returned by a request from the list of all records
limit Number Maximum number of records returned by a request from the list of all records, starting with 'offset'
total Number Total number of records
first Boolean true if the current records range is the first, otherwise – false
last Boolean true if the current records range is the last, otherwise – false
content[].name String Horizon name
content[].uuid String Horizon UUID

Get horizons data by interpretation

Get calculated horizons data by interpretation UUID

Request

$ curl 'https://solo.cloud/public/api/v1/interpretations/94176bdb-edeb-48e0-b02c-ea68f603017d/horizons/data/spacing/5000' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/interpretations/94176bdb-edeb-48e0-b02c-ea68f603017d/horizons/data/spacing/5000 HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: cdb92e7014f0bf10
Content-Type: application/json

{
  "content" : [ {
    "azimuth" : {
      "val" : 71.543
    },
    "horizons" : [ {
      "name" : "!new Hor",
      "tvdss" : {
        "val" : 22.965879265091868
      },
      "uuid" : "c6da359b-eb90-4008-9c85-af80bd34c311"
    }, {
      "name" : "Horizon1",
      "tvdss" : {
        "val" : -3257.8740157480324
      },
      "uuid" : "1793756f-8442-4be6-a39a-da5edccb3630"
    } ],
    "inclination" : {
      "val" : 0
    },
    "kb" : {
      "val" : 22.965879265091868
    },
    "md" : {
      "val" : 0
    },
    "tvt" : {
      "val" : 0
    },
    "vs_azim" : {
      "azimuth" : {
        "val" : 0
      },
      "vs" : {
        "val" : 3.280839895013124
      }
    },
    "well_name" : "Lateral",
    "x" : {
      "val" : 19.68503937007874
    },
    "y" : {
      "val" : 36.08923884514436
    },
    "z" : {
      "val" : 22.965879265091868
    }
  }, {
    "azimuth" : {
      "val" : 149.253
    },
    "horizons" : [ {
      "name" : "!new Hor",
      "tvdss" : {
        "val" : 22.965879265091868
      },
      "uuid" : "c6da359b-eb90-4008-9c85-af80bd34c311"
    }, {
      "name" : "Horizon1",
      "tvdss" : {
        "val" : -3257.8740157480324
      },
      "uuid" : "1793756f-8442-4be6-a39a-da5edccb3630"
    } ],
    "inclination" : {
      "val" : 1.33
    },
    "kb" : {
      "val" : 22.965879265091868
    },
    "md" : {
      "val" : 3280.839895013124
    },
    "tvt" : {
      "val" : 3280.0196063852154
    },
    "vs_azim" : {
      "azimuth" : {
        "val" : 0
      },
      "vs" : {
        "val" : -60.07861128428071
      }
    },
    "well_name" : "Lateral",
    "x" : {
      "val" : 53.715600823725445
    },
    "y" : {
      "val" : -27.270212334149477
    },
    "z" : {
      "val" : -3257.0537271201238
    }
  } ]
}

GET /public/api/v1/interpretations/{uuid}/horizons/data/spacing/{spacing}

Path parameter Description
uuid Interpretation UUID
spacing Spacing value
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content[].azimuth.val Number Well azimuth (degrees)
content[].inclination.val Number Well inclination (degrees)
content[].kb.val Number KB (project units)
content[].md.val Number MD (project units)
content[].tvt.val Number TVT (project units)
content[].well_name String Well name
content[].x.val Number X (project units)
content[].y.val Number Y (project units)
content[].z.val Number Z (project units)
content[].vs_azim.azimuth.val Number Well azimuth VS (degrees)
content[].vs_azim.vs.val Number VS (project units)
content[].horizons[].name String Horizon name
content[].horizons[].tvdss.val Number TVDSS (project units)
content[].horizons[].uuid String Horizon UUID

Get horizons data by lateral

Get calculated horizons data by lateral UUID with pagination (one element per page)

Request

$ curl 'https://solo.cloud/public/api/v1/wells/4d96518e-542b-4b2b-8502-ddad511235ba/horizons/data/spacing/5000?offset=0' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/wells/4d96518e-542b-4b2b-8502-ddad511235ba/horizons/data/spacing/5000?offset=0 HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: ff8e11f63ac43717
Content-Type: application/json

{
  "content" : [ {
    "azimuth" : {
      "val" : 71.543
    },
    "horizons" : [ {
      "name" : "!new Hor",
      "tvdss" : {
        "val" : 22.965879265091868
      },
      "uuid" : "c6da359b-eb90-4008-9c85-af80bd34c311"
    }, {
      "name" : "Horizon1",
      "tvdss" : {
        "val" : -3257.8740157480324
      },
      "uuid" : "1793756f-8442-4be6-a39a-da5edccb3630"
    } ],
    "inclination" : {
      "val" : 0
    },
    "kb" : {
      "val" : 22.965879265091868
    },
    "md" : {
      "val" : 0
    },
    "tvt" : {
      "val" : 0
    },
    "vs_azim" : {
      "azimuth" : {
        "val" : 0
      },
      "vs" : {
        "val" : 3.280839895013124
      }
    },
    "well_name" : "Lateral",
    "x" : {
      "val" : 19.68503937007874
    },
    "y" : {
      "val" : 36.08923884514436
    },
    "z" : {
      "val" : 22.965879265091868
    }
  }, {
    "azimuth" : {
      "val" : 149.253
    },
    "horizons" : [ {
      "name" : "!new Hor",
      "tvdss" : {
        "val" : 22.965879265091868
      },
      "uuid" : "c6da359b-eb90-4008-9c85-af80bd34c311"
    }, {
      "name" : "Horizon1",
      "tvdss" : {
        "val" : -3257.8740157480324
      },
      "uuid" : "1793756f-8442-4be6-a39a-da5edccb3630"
    } ],
    "inclination" : {
      "val" : 1.33
    },
    "kb" : {
      "val" : 22.965879265091868
    },
    "md" : {
      "val" : 3280.839895013124
    },
    "tvt" : {
      "val" : 3280.0196063852154
    },
    "vs_azim" : {
      "azimuth" : {
        "val" : 0
      },
      "vs" : {
        "val" : -60.07861128428071
      }
    },
    "well_name" : "Lateral",
    "x" : {
      "val" : 53.715600823725445
    },
    "y" : {
      "val" : -27.270212334149477
    },
    "z" : {
      "val" : -3257.0537271201238
    }
  } ],
  "interpretation" : {
    "name" : "Interpretation",
    "uuid" : "94176bdb-edeb-48e0-b02c-ea68f603017d"
  },
  "offset" : 0,
  "limit" : 1,
  "total" : 1,
  "first" : true,
  "last" : true
}

GET /public/api/v1/wells/{uuid}/horizons/data/spacing/{spacing}

Path parameter Description
uuid Lateral UUID
spacing Spacing value
Parameter Description
offset Each value corresponds to an ordinal index (0 .. N, where N - the total number of interpretations in specified well) of a separate interpretation with its calculated horizons range
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Content array
offset Number Index of the first record returned by a request from the list of all records
limit Number Maximum number of records returned by a request from the list of all records, starting with 'offset'
total Number Total number of records
first Boolean true if the current records range is the first, otherwise – false
last Boolean true if the current records range is the last, otherwise – false
content[].azimuth.val Number Well azimuth (degrees)
content[].inclination.val Number Well inclination (degrees)
content[].kb.val Number KB (project units)
content[].md.val Number MD (project units)
content[].tvt.val Number TVT (project units)
content[].well_name String Well name
content[].x.val Number X (project units)
content[].y.val Number Y (project units)
content[].z.val Number Z (project units)
content[].vs_azim.azimuth.val Number Well azimuth VS (degrees)
content[].vs_azim.vs.val Number VS (project units)
content[].horizons[].name String Horizon name
content[].horizons[].tvdss.val Number TVDSS (project units)
content[].horizons[].uuid String Horizon UUID
interpretation.name String Interpretation name
interpretation.uuid String Interpretation UUID

5. Nested wells

Get nested wells by lateral

Get a list of nested wells by lateral UUID with pagination

Request

$ curl 'https://solo.cloud/public/api/v1/wells/bb2bebb9-cd63-43b3-abef-89ba9164ba76/nestedwells?offset=0&limit=10&filter=oNe' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/bb2bebb9-cd63-43b3-abef-89ba9164ba76/nestedwells?offset=0&limit=10&filter=oNe HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 0ba9bb09e146032a
Content-Type: application/json

{
  "content" : [ {
    "uuid" : "a707b8b6-fb79-45cf-a189-1f46ad65eea9",
    "name" : "Nested well one",
    "api" : "api nested well",
    "flags" : {
      "has_topsets" : false
    }
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 1,
  "first" : true,
  "last" : true
}

GET /public/api/v1/wells/{lateralUuid}/nestedwells

Path parameter Description
lateralUuid Lateral UUID
Parameter Description
offset Index of the first record to return by a request from the list of all records
limit Maximum number of records to return by a request from the list of all records, starting with 'offset'
filter Filter nested wells by the 'name' or 'api' fields. Case insensitive.
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Content array
offset Number Index of the first record returned by a request from the list of all records
limit Number Maximum number of records returned by a request from the list of all records, starting with 'offset'
total Number Total number of records
first Boolean true if the current records range is the first, otherwise – false
last Boolean true if the current records range is the last, otherwise – false
content[].uuid String Nested well UUID
content[].name String Nested well name
content[].api String API nested well number
content[].flags.has_topsets Boolean Flag indicating the presence of topsets

Create nested well

Create nested well

Request

$ curl 'https://solo.cloud/public/api/v1/wells/7fdb07c2-da78-47e7-8b17-f4a32b8bb3d6/nestedwells' -i -X POST \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Nested well name",
  "operator" : "operator",
  "api" : "api",
  "xsrf" : {
    "val" : 0.1
  },
  "ysrf" : {
    "val" : 0.2
  },
  "kb" : {
    "val" : 0.3
  },
  "tie_in_tvd" : {
    "val" : 0.4
  },
  "tie_in_ns" : {
    "val" : 0.5
  },
  "tie_in_ew" : {
    "val" : 0.6
  }
}'
POST /public/api/v1/wells/7fdb07c2-da78-47e7-8b17-f4a32b8bb3d6/nestedwells HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 295

{
  "name" : "Nested well name",
  "operator" : "operator",
  "api" : "api",
  "xsrf" : {
    "val" : 0.1
  },
  "ysrf" : {
    "val" : 0.2
  },
  "kb" : {
    "val" : 0.3
  },
  "tie_in_tvd" : {
    "val" : 0.4
  },
  "tie_in_ns" : {
    "val" : 0.5
  },
  "tie_in_ew" : {
    "val" : 0.6
  }
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: cf61259e8c5dde77
Content-Type: application/json

{
  "uuid" : "1530b7c6-5fae-48fe-97b5-1632b075d35b"
}

POST /public/api/v1/wells/{uuid}/nestedwells

Path parameter Description
uuid Lateral UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
name String Nested well name
operator String Operator name
api String Wellbore identifier
xsrf.val Number X surface wellbore coordinate
ysrf.val Number Y surface wellbore coordinate
kb.val Number Kelly Bushing (KB) is the height of the Derek (drill rig) measured from the MSL
tie_in_ew.val Number TieInEw
tie_in_ns.val Number TieInNs
tie_in_tvd.val Number TieInTvd

Response body

Path Type Description
uuid String Created nested well UUID

Get nested well meta

Get nested well metadata data by UUID

Request

$ curl 'https://solo.cloud/public/api/v1/nestedwells/b9e755c9-342c-45da-be48-9f32e049cae3' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/nestedwells/b9e755c9-342c-45da-be48-9f32e049cae3 HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 6962ef5a71414067
Content-Type: application/json

{
  "name" : "Nested well one",
  "operator" : "string",
  "api" : "api nested well",
  "xsrf" : {
    "val" : 6.0
  },
  "ysrf" : {
    "val" : 10.0
  },
  "kb" : {
    "val" : 22.96587926509186
  },
  "tie_in_tvd" : {
    "val" : 0.0
  },
  "tie_in_ns" : {
    "val" : 3.280839895013123
  },
  "tie_in_ew" : {
    "val" : 0.0
  }
}

GET /public/api/v1/nestedwells/{uuid}

Path parameter Description
uuid Nested well UUID
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
name String Lateral name
operator String Operator name
api String API lateral number
xsrf.val Number X surface coordinate
ysrf.val Number Y surface coordinate
kb.val Number Kelly Bushing (KB) is the height of the Derek (drill rig) measured from the MSL
tie_in_tvd.val Number Tie in tvd coordinates
tie_in_ns.val Number Tie in NS
tie_in_ew.val Number Tie in EW

Update nested well meta

Update nested well metadata

Request

$ curl 'https://solo.cloud/public/api/v1/nestedwells/f5e7f8e7-75cc-4f9a-9152-e7ef1db48eca' -i -X PATCH \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Nested well new name",
  "api" : "api nested well",
  "operator" : "string",
  "xsrf" : {
    "val" : 6.0
  },
  "ysrf" : {
    "val" : 10.0
  },
  "kb" : {
    "val" : 7.0
  },
  "tie_in_tvd" : {
    "val" : 0.0
  },
  "tie_in_ns" : {
    "val" : 1.0
  },
  "tie_in_ew" : {
    "val" : 0.0
  }
}'
PATCH /public/api/v1/nestedwells/f5e7f8e7-75cc-4f9a-9152-e7ef1db48eca HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 310

{
  "name" : "Nested well new name",
  "api" : "api nested well",
  "operator" : "string",
  "xsrf" : {
    "val" : 6.0
  },
  "ysrf" : {
    "val" : 10.0
  },
  "kb" : {
    "val" : 7.0
  },
  "tie_in_tvd" : {
    "val" : 0.0
  },
  "tie_in_ns" : {
    "val" : 1.0
  },
  "tie_in_ew" : {
    "val" : 0.0
  }
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: bb28693c8aab8b75

PATCH /public/api/v1/nestedwells/{uuid}

Path parameter Description
uuid Nested well UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
name String Nested well name
operator String Operator name
api String API nested well number
xsrf.val Number X surface coordinate
xsrf.undefined Boolean If true then X surface coordinate will be set as parent
ysrf.val Number Y surface coordinate
ysrf.undefined Boolean If true then Y surface coordinate will be set as parent
kb.val Number Kelly Bushing (KB) is the height of the Derek (drill rig) measured from the MSL
kb.undefined Boolean If true then KB will be set as parent
tie_in_tvd.val Number Tie in TVD
tie_in_tvd.undefined Boolean If true then tie in TVD will be set undefined
tie_in_ns.val Number Tie in NS
tie_in_ns.undefined Boolean If true then tie in NS will be set undefined
tie_in_ew.val Number Tie in EW
tie_in_ew.undefined Boolean If true then tie in EW will be set undefined

Response body

Empty body

Get nested well trajectory

Get nested well trajectory data by nested well UUID

Request

$ curl 'https://solo.cloud/public/api/v1/nestedwells/d863ddd0-cbb3-4075-863d-a5c25df72ed4/trajectory' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/nestedwells/d863ddd0-cbb3-4075-863d-a5c25df72ed4/trajectory HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 22fc63a106f8208c
Content-Type: application/json

{
  "content" : [ {
    "md" : {
      "val" : 0.0
    },
    "incl" : {
      "val" : 0.0
    },
    "azim" : {
      "val" : 0.0
    }
  }, {
    "md" : {
      "val" : 3280.839895013124
    },
    "incl" : {
      "val" : 0.4583662361046284
    },
    "azim" : {
      "val" : 0.0
    }
  }, {
    "md" : {
      "val" : 4921.259842519686
    },
    "incl" : {
      "val" : 84.79775367935625
    },
    "azim" : {
      "val" : 9.740282517223354
    }
  }, {
    "md" : {
      "val" : 13123.359580052496
    },
    "incl" : {
      "val" : 89.95437383553333
    },
    "azim" : {
      "val" : 9.740282517223354
    }
  } ]
}

GET /public/api/v1/nestedwells/{nestedWellUuid}/trajectory

Path parameter Description
nestedWellUuid Nested well UUID
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Trajectory points array
content[].md.val Number Measured Depth value in project units
content[].incl.val Number Inclination value (degrees)
content[].azim.val Number Azimuth value (degrees)

Extend nested well trajectory

Extend nested well trajectory (note that 'azim' can be used for a trajectory station azimuth as well as 'azi')

Request

$ curl 'https://solo.cloud/public/api/v1/nestedwells/7612da44-a1b5-48a7-b7f6-2e8e09a3d910/trajectory' -i -X PATCH \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "md_uom" : "m",
  "incl_uom" : "dega",
  "azi_uom" : "rad",
  "trajectory_stations" : [ {
    "md" : {
      "val" : 1389
    },
    "incl" : {
      "val" : 1.1
    },
    "azi" : {
      "val" : 1.63
    }
  }, {
    "md" : {
      "val" : 1489
    },
    "incl" : {
      "val" : 2.1
    },
    "azi" : {
      "val" : 1.43
    }
  } ]
}'
PATCH /public/api/v1/nestedwells/7612da44-a1b5-48a7-b7f6-2e8e09a3d910/trajectory HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 344

{
  "md_uom" : "m",
  "incl_uom" : "dega",
  "azi_uom" : "rad",
  "trajectory_stations" : [ {
    "md" : {
      "val" : 1389
    },
    "incl" : {
      "val" : 1.1
    },
    "azi" : {
      "val" : 1.63
    }
  }, {
    "md" : {
      "val" : 1489
    },
    "incl" : {
      "val" : 2.1
    },
    "azi" : {
      "val" : 1.43
    }
  } ]
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: c64fc4af92b0072d

PATCH /public/api/v1/nestedwells/{uuid}/trajectory

Path parameter Description
uuid Nested well UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
md_uom String Depth measure unit of a trajectory stations related to the nested well. Accepted values: m, ft
incl_uom String Inclination measure unit of a trajectory stations related to the nested well. Accepted values: dega, rad
azi_uom String Azimuth measure unit of a trajectory stations related to the nested well. Accepted values: dega, rad
trajectory_stations Array Nested well trajectory data array
trajectory_stations[].md.val Number Depth data value
trajectory_stations[].incl.val Number Inclination data value
trajectory_stations[].azi.val Number Azimuth data value

Response body

Empty body

Replace nested well trajectory

Replace nested well trajectory (note that 'azim' can be used for a trajectory station azimuth as well as 'azi')

Request

$ curl 'https://solo.cloud/public/api/v1/nestedwells/a5990e9a-5cb4-4128-895b-98810602b9f0/trajectory' -i -X PUT \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "md_uom" : "m",
  "incl_uom" : "dega",
  "azi_uom" : "rad",
  "trajectory_stations" : [ {
    "md" : {
      "val" : 1389
    },
    "incl" : {
      "val" : 1.1
    },
    "azi" : {
      "val" : 1.63
    }
  }, {
    "md" : {
      "val" : 1489
    },
    "incl" : {
      "val" : 2.1
    },
    "azi" : {
      "val" : 1.43
    }
  } ]
}'
PUT /public/api/v1/nestedwells/a5990e9a-5cb4-4128-895b-98810602b9f0/trajectory HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 344

{
  "md_uom" : "m",
  "incl_uom" : "dega",
  "azi_uom" : "rad",
  "trajectory_stations" : [ {
    "md" : {
      "val" : 1389
    },
    "incl" : {
      "val" : 1.1
    },
    "azi" : {
      "val" : 1.63
    }
  }, {
    "md" : {
      "val" : 1489
    },
    "incl" : {
      "val" : 2.1
    },
    "azi" : {
      "val" : 1.43
    }
  } ]
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 81a87da54816e1bb

PUT /public/api/v1/nestedwells/{uuid}/trajectory

Path parameter Description
uuid Nested well UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
md_uom String Depth measure unit of a trajectory stations related to the nested well. Accepted values: m, ft
incl_uom String Inclination measure unit of a trajectory stations related to the nested well. Accepted values: dega, rad
azi_uom String Azimuth measure unit of a trajectory stations related to the nested well. Accepted values: dega, rad
trajectory_stations Array Nested well trajectory data array
trajectory_stations[].md.val Number Depth data value
trajectory_stations[].incl.val Number Inclination data value
trajectory_stations[].azi.val Number Azimuth data value

Response body

Empty body

Set starred topset

Set starred topset by nested well UUID

Request

$ curl 'https://solo.cloud/public/api/v1/nestedwells/uuid/cf3eafe6-7cd9-47c7-b082-08851bb06daf/starred' -i -X PUT \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "topset" : "27125151-cb0b-458b-97c6-6489517729dd"
}'
PUT /public/api/v1/nestedwells/uuid/cf3eafe6-7cd9-47c7-b082-08851bb06daf/starred HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 55

{
  "topset" : "27125151-cb0b-458b-97c6-6489517729dd"
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 019c1627b73ab29e

PUT /public/api/v1/nestedwells/uuid/{uuid}/starred

Path parameter Description
uuid Nested well UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
topset String Topset UUID to set starred (use "00000000-0000-0000-0000-000000000000" to reset)

Response body

Empty body

6. Typewells

Get typewells by project

Get a list of typewells by project UUID with pagination

Request

$ curl 'https://solo.cloud/public/api/v1/projects/2efa8c77-0f04-4ea0-9836-ce269dc33c23/typewells?offset=0&limit=10&filter=oNe' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/projects/2efa8c77-0f04-4ea0-9836-ce269dc33c23/typewells?offset=0&limit=10&filter=oNe HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 51a0fcbd4010cbc8
Content-Type: application/json

{
  "content" : [ {
    "uuid" : "35a8c2b8-e3f3-4a80-b06d-4a37b28dd83b",
    "name" : "Typewell one",
    "api" : "api typewell one",
    "flags" : {
      "has_logs" : false,
      "has_topsets" : false,
      "has_mudlogs" : false
    }
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 1,
  "first" : true,
  "last" : true
}

GET /public/api/v1/projects/{projectUuid}/typewells

Path parameter Description
projectUuid Project UUID
Parameter Description
offset Index of the first record to return by a request from the list of all records
limit Maximum number of records to return by a request from the list of all records, starting with 'offset'
filter Filter typewells by the 'name' or 'api' fields. Case insensitive.
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Content array
offset Number Index of the first record returned by a request from the list of all records
limit Number Maximum number of records returned by a request from the list of all records, starting with 'offset'
total Number Total number of records
first Boolean true if the current records range is the first, otherwise – false
last Boolean true if the current records range is the last, otherwise – false
content[].uuid String Typewell UUID
content[].name String Typewell name
content[].api String API typewell number
content[].flags.has_logs Boolean Flag indicating the presence of logs
content[].flags.has_topsets Boolean Flag indicating the presence of topsets
content[].flags.has_mudlogs Boolean Flag indicating the presence of mudlogs

Create typewell

Create typewell by project UUID

Request

$ curl 'https://solo.cloud/public/api/v1/projects/2efa8c77-0f04-4ea0-9836-ce269dc33c23/typewells' -i -X POST \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Typewell name",
  "operator" : "operator",
  "api" : "api",
  "convergence" : {
    "val" : 90.0
  },
  "azimuth" : {
    "val" : 45.0
  },
  "kb" : {
    "val" : 0.3
  },
  "tieintvd" : {
    "val" : 0.4
  },
  "tieinns" : {
    "val" : 0.5
  },
  "tieinew" : {
    "val" : 0.6
  },
  "xsrfreal" : {
    "val" : 100.0
  },
  "ysrfreal" : {
    "val" : 500.0
  }
}'
POST /public/api/v1/projects/2efa8c77-0f04-4ea0-9836-ce269dc33c23/typewells HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 378

{
  "name" : "Typewell name",
  "operator" : "operator",
  "api" : "api",
  "convergence" : {
    "val" : 90.0
  },
  "azimuth" : {
    "val" : 45.0
  },
  "kb" : {
    "val" : 0.3
  },
  "tieintvd" : {
    "val" : 0.4
  },
  "tieinns" : {
    "val" : 0.5
  },
  "tieinew" : {
    "val" : 0.6
  },
  "xsrfreal" : {
    "val" : 100.0
  },
  "ysrfreal" : {
    "val" : 500.0
  }
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 33a62febfda700bc
Content-Type: application/json

{
  "uuid" : "602d7e20-3ff3-4b6b-9de4-5a03d6a2f0ab"
}

POST /public/api/v1/projects/{uuid}/typewells

Path parameter Description
uuid Project UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
name String Typewell name
operator String Operator name
api String API typewell number
convergence.val Number Convergence
azimuth.val Number AzimuthVS
kb.val Number Kelly Bushing (KB) is the height of the Derek (drill rig) measured from the MSL
tieintvd.val Number TieInTvd
tieinns.val Number TieInNs
tieinew.val Number TieInEw
xsrfreal.val Number X surface wellbore coordinate
ysrfreal.val Number Y surface wellbore coordinate

Response body

Path Type Description
uuid String Created typewell UUID

Get typewell trajectory

Get typewell trajectory data by typewell UUID

Request

$ curl 'https://solo.cloud/public/api/v1/typewells/35807bc6-4764-40c6-809b-d28fa3bf9af5/trajectory' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/typewells/35807bc6-4764-40c6-809b-d28fa3bf9af5/trajectory HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 2ab39ee38cb53f08
Content-Type: application/json

{
  "content" : [ {
    "md" : {
      "val" : 0.0
    },
    "incl" : {
      "val" : 0.0
    },
    "azim" : {
      "val" : 0.0
    }
  }, {
    "md" : {
      "val" : 3280.839895013124
    },
    "incl" : {
      "val" : 0.4583662361046284
    },
    "azim" : {
      "val" : 0.0
    }
  }, {
    "md" : {
      "val" : 4921.259842519686
    },
    "incl" : {
      "val" : 84.79775367935625
    },
    "azim" : {
      "val" : 9.740282517223354
    }
  }, {
    "md" : {
      "val" : 13123.359580052496
    },
    "incl" : {
      "val" : 89.95437383553333
    },
    "azim" : {
      "val" : 9.740282517223354
    }
  } ]
}

GET /public/api/v1/typewells/{typeWellUuid}/trajectory

Path parameter Description
typeWellUuid Typewell UUID
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Trajectory points array
content[].md.val Number Measured Depth value in project units
content[].incl.val Number Inclination value (degrees)
content[].azim.val Number Azimuth value (degrees)

Update typewell meta

Update typewell metadata

Request

$ curl 'https://solo.cloud/public/api/v1/typewells/35a8c2b8-e3f3-4a80-b06d-4a37b28dd83b' -i -X PATCH \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Typewell one",
  "api" : "api typewell",
  "operator" : "string",
  "xsrf" : {
    "val" : 6.0
  },
  "ysrf" : {
    "val" : 10.0
  },
  "kb" : {
    "val" : 7.0
  },
  "convergence" : {
    "val" : 0.0
  },
  "tie_in_tvd" : {
    "val" : 0.0
  },
  "tie_in_ns" : {
    "val" : 1.0
  },
  "tie_in_ew" : {
    "val" : 0.0
  }
}'
PATCH /public/api/v1/typewells/35a8c2b8-e3f3-4a80-b06d-4a37b28dd83b HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 340

{
  "name" : "Typewell one",
  "api" : "api typewell",
  "operator" : "string",
  "xsrf" : {
    "val" : 6.0
  },
  "ysrf" : {
    "val" : 10.0
  },
  "kb" : {
    "val" : 7.0
  },
  "convergence" : {
    "val" : 0.0
  },
  "tie_in_tvd" : {
    "val" : 0.0
  },
  "tie_in_ns" : {
    "val" : 1.0
  },
  "tie_in_ew" : {
    "val" : 0.0
  }
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 8e748ddba7bfdbd6

PATCH /public/api/v1/typewells/{uuid}

Path parameter Description
uuid Typewell UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
name String Typewell name
operator String Operator name
api String API typewell number
xsrf.val Number X surface coordinate
ysrf.val Number Y surface coordinate
kb.val Number Kelly Bushing (KB) is the height of the Derek (drill rig) measured from the MSL
convergence.val Number Convergence
tie_in_tvd.val Number Tie in tvd coordinates
tie_in_ns.val Number Tie in NS
tie_in_ew.val Number Tie in EW

Response body

Empty body

Get typewell meta

Get typewell metadata

Request

$ curl 'https://solo.cloud/public/api/v1/typewells/99164b50-f3c0-4a7e-8073-993491f1790c' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/typewells/99164b50-f3c0-4a7e-8073-993491f1790c HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 0f64328bb9cc6fc3
Content-Type: application/json

{
  "uuid" : "99164b50-f3c0-4a7e-8073-993491f1790c",
  "name" : "Typewell three",
  "operator" : "string",
  "api" : "api typewell three",
  "xsrf" : {
    "val" : 19.68503937007874
  },
  "ysrf" : {
    "val" : 32.808398950131235
  },
  "kb" : {
    "val" : 22.96587926509186
  },
  "convergence" : {
    "val" : 0.0
  },
  "tie_in_tvd" : {
    "val" : 0.0
  },
  "tie_in_ns" : {
    "val" : 3.280839895013123
  },
  "tie_in_ew" : {
    "val" : 0.0
  }
}

GET /public/api/v1/typewells/{uuid}

Path parameter Description
uuid Typewell UUID
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
uuid String Typewell UUID
name String Typewell name
operator String Operator name
api String API typewell number
xsrf.val Number X surface coordinate
ysrf.val Number Y surface coordinate
kb.val Number Kelly Bushing (KB) is the height of the Derek (drill rig) measured from the MSL
convergence.val Number Convergence
tie_in_tvd.val Number Tie in tvd coordinates
tie_in_ns.val Number Tie in NS
tie_in_ew.val Number Tie in EW

Extend typewell trajectory

Extend typewell trajectory (note that 'azim' can be used for a trajectory station azimuth as well as 'azi')

Request

$ curl 'https://solo.cloud/public/api/v1/typewells/35a8c2b8-e3f3-4a80-b06d-4a37b28dd83b/trajectory' -i -X PATCH \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "md_uom" : "m",
  "incl_uom" : "dega",
  "azi_uom" : "rad",
  "trajectory_stations" : [ {
    "md" : {
      "val" : 1389
    },
    "incl" : {
      "val" : 1.1
    },
    "azi" : {
      "val" : 1.63
    }
  }, {
    "md" : {
      "val" : 1489
    },
    "incl" : {
      "val" : 2.1
    },
    "azi" : {
      "val" : 1.43
    }
  } ]
}'
PATCH /public/api/v1/typewells/35a8c2b8-e3f3-4a80-b06d-4a37b28dd83b/trajectory HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 344

{
  "md_uom" : "m",
  "incl_uom" : "dega",
  "azi_uom" : "rad",
  "trajectory_stations" : [ {
    "md" : {
      "val" : 1389
    },
    "incl" : {
      "val" : 1.1
    },
    "azi" : {
      "val" : 1.63
    }
  }, {
    "md" : {
      "val" : 1489
    },
    "incl" : {
      "val" : 2.1
    },
    "azi" : {
      "val" : 1.43
    }
  } ]
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 8e83bb46ca4addac

PATCH /public/api/v1/typewells/{uuid}/trajectory

Path parameter Description
uuid Typewell UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
md_uom String Depth measure unit of a trajectory stations related to the typewell. Accepted values: m, ft
incl_uom String Inclination measure unit of a trajectory stations related to the typewell. Accepted values: dega, rad
azi_uom String Azimuth measure unit of a trajectory stations related to the typewell. Accepted values: dega, rad
trajectory_stations Array Typewell trajectory data array
trajectory_stations[].md.val Number Depth data value
trajectory_stations[].incl.val Number Inclination data value
trajectory_stations[].azi.val Number Azimuth data value

Response body

Empty body

Replace typewell trajectory

Replace typewell trajectory (note that 'azim' can be used for a trajectory station azimuth as well as 'azi')

Request

$ curl 'https://solo.cloud/public/api/v1/typewells/35a8c2b8-e3f3-4a80-b06d-4a37b28dd83b/trajectory' -i -X PUT \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "md_uom" : "m",
  "incl_uom" : "dega",
  "azi_uom" : "rad",
  "trajectory_stations" : [ {
    "md" : {
      "val" : 1389
    },
    "incl" : {
      "val" : 1.1
    },
    "azi" : {
      "val" : 1.63
    }
  }, {
    "md" : {
      "val" : 1489
    },
    "incl" : {
      "val" : 2.1
    },
    "azi" : {
      "val" : 1.43
    }
  } ]
}'
PUT /public/api/v1/typewells/35a8c2b8-e3f3-4a80-b06d-4a37b28dd83b/trajectory HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 344

{
  "md_uom" : "m",
  "incl_uom" : "dega",
  "azi_uom" : "rad",
  "trajectory_stations" : [ {
    "md" : {
      "val" : 1389
    },
    "incl" : {
      "val" : 1.1
    },
    "azi" : {
      "val" : 1.63
    }
  }, {
    "md" : {
      "val" : 1489
    },
    "incl" : {
      "val" : 2.1
    },
    "azi" : {
      "val" : 1.43
    }
  } ]
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: ff2ef267ff9f4536

PUT /public/api/v1/typewells/{uuid}/trajectory

Path parameter Description
uuid Typewell UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
md_uom String Depth measure unit of a trajectory stations related to the typewell. Accepted values: m, ft
incl_uom String Inclination measure unit of a trajectory stations related to the typewell. Accepted values: dega, rad
azi_uom String Azimuth measure unit of a trajectory stations related to the typewell. Accepted values: dega, rad
trajectory_stations Array Typewell trajectory data array
trajectory_stations[].md.val Number Depth data value
trajectory_stations[].incl.val Number Inclination data value
trajectory_stations[].azi.val Number Azimuth data value

Response body

Empty body

Set starred topset

Set starred topset by typewell UUID

Request

$ curl 'https://solo.cloud/public/api/v1/typewells/uuid/352531e8-9cc3-4973-baba-96eed165ce1f/starred' -i -X PUT \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "topset" : "78046ad3-aa52-4ef7-ab84-c21cb592a907"
}'
PUT /public/api/v1/typewells/uuid/352531e8-9cc3-4973-baba-96eed165ce1f/starred HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 55

{
  "topset" : "78046ad3-aa52-4ef7-ab84-c21cb592a907"
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 343a2a233d4372cf

PUT /public/api/v1/typewells/uuid/{uuid}/starred

Path parameter Description
uuid Typewell UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
topset String Topset UUID to set starred (use "00000000-0000-0000-0000-000000000000" to reset)

Response body

Empty body

7. Topsets

Get topsets by lateral

Get a list of topsets by lateral UUID with pagination

Request

$ curl 'https://solo.cloud/public/api/v1/wells/d95a072b-4614-4bc8-abe5-097027e4ee26/topsets?offset=0&limit=10' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/d95a072b-4614-4bc8-abe5-097027e4ee26/topsets?offset=0&limit=10 HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: cee330e55ab7884e
Content-Type: application/json

{
  "content" : [ {
    "name" : "C Log TopSet dwjxoxOZnm",
    "uuid" : "fd3fb7ee-2fb6-4cd2-8f25-2fdade098639"
  }, {
    "name" : "D Well kNYDANyEDJ",
    "uuid" : "1e8239b5-4ed6-4721-9752-2902e25a8381"
  }, {
    "name" : "TopSet Log rkiwoBFLUm",
    "uuid" : "01a8c2a6-37d3-4a44-9ed6-3c880d86cf49"
  }, {
    "name" : "TopSetnaPTadBuho",
    "uuid" : "cecb68f4-e080-48e5-8b4d-6b62ce08fb34"
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 4,
  "first" : true,
  "last" : true
}

GET /public/api/v1/wells/{uuid}/topsets

Path parameter Description
uuid Lateral UUID
Parameter Description
offset Index of the first record to return by a request from the list of all records
limit Maximum number of records to return by a request from the list of all records, starting with 'offset'
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Content array
offset Number Index of the first record returned by a request from the list of all records
limit Number Maximum number of records returned by a request from the list of all records, starting with 'offset'
total Number Total number of records
first Boolean true if the current records range is the first, otherwise – false
last Boolean true if the current records range is the last, otherwise – false
content[].name String Topset name
content[].uuid String Topset UUID

Get topsets by typewell

Get a list of topsets by typewell UUID with pagination

Request

$ curl 'https://solo.cloud/public/api/v1/typewells/40ac1abb-baa7-4ddb-8d0b-41b2791f78f6/topsets?offset=0&limit=10' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/typewells/40ac1abb-baa7-4ddb-8d0b-41b2791f78f6/topsets?offset=0&limit=10 HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: d9fc4cec927808fd
Content-Type: application/json

{
  "content" : [ {
    "name" : "C Log TopSet LwVkPSjDKr",
    "uuid" : "33dd59bb-d49b-427d-8314-3ddb5d57daa8"
  }, {
    "name" : "D Well IDOjbVUhIk",
    "uuid" : "a1b9195d-4072-47cb-a6b1-3251fb0c991b"
  }, {
    "name" : "TopSet Log DojXuUFczC",
    "uuid" : "75859d3e-efee-47c0-ae1b-b7cecd0a24b5"
  }, {
    "name" : "TopSetqrhQXICcgZ",
    "uuid" : "a53f6e74-c70b-478f-beb6-fab62d6e0488"
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 4,
  "first" : true,
  "last" : true
}

GET /public/api/v1/typewells/{uuid}/topsets

Path parameter Description
uuid Typewell UUID
Parameter Description
offset Index of the first record to return by a request from the list of all records
limit Maximum number of records to return by a request from the list of all records, starting with 'offset'
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Content array
offset Number Index of the first record returned by a request from the list of all records
limit Number Maximum number of records returned by a request from the list of all records, starting with 'offset'
total Number Total number of records
first Boolean true if the current records range is the first, otherwise – false
last Boolean true if the current records range is the last, otherwise – false
content[].name String Topset name
content[].uuid String Topset UUID

Get topsets by nested well

Get a list of topsets by nested well UUID with pagination

Request

$ curl 'https://solo.cloud/public/api/v1/nestedwells/607c407e-2649-4f0e-b99f-45791650e036/topsets?offset=0&limit=10' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/nestedwells/607c407e-2649-4f0e-b99f-45791650e036/topsets?offset=0&limit=10 HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: bad70c0aa9cb01cd
Content-Type: application/json

{
  "content" : [ {
    "name" : "C Log TopSet HEAONPjWWi",
    "uuid" : "491dfbe9-2ea3-41d5-ac87-976556ba2516"
  }, {
    "name" : "D Well CjbpfdEueB",
    "uuid" : "400cc395-30c2-490f-b291-913bf6fbcc64"
  }, {
    "name" : "TopSetfcgKJVqfax",
    "uuid" : "9a7bc67c-b835-439e-bd81-03d261262534"
  }, {
    "name" : "TopSet Log nAGhZUJLux",
    "uuid" : "e79159d9-6741-4604-8c1f-2ebd8e66b0d3"
  }, {
    "name" : "Topset name",
    "uuid" : "aacd4c92-b11b-4c8f-94dd-39d8abaa51e7"
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 5,
  "first" : true,
  "last" : true
}

GET /public/api/v1/nestedwells/{uuid}/topsets

Path parameter Description
uuid Nested well UUID
Parameter Description
offset Index of the first record to return by a request from the list of all records
limit Maximum number of records to return by a request from the list of all records, starting with 'offset'
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Content array
offset Number Index of the first record returned by a request from the list of all records
limit Number Maximum number of records returned by a request from the list of all records, starting with 'offset'
total Number Total number of records
first Boolean true if the current records range is the first, otherwise – false
last Boolean true if the current records range is the last, otherwise – false
content[].name String Topset name
content[].uuid String Topset UUID

Create lateral topset

Create topset by lateral UUID

Request

$ curl 'https://solo.cloud/public/api/v1/wells/d95a072b-4614-4bc8-abe5-097027e4ee26/topsets' -i -X POST \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Topset name"
}'
POST /public/api/v1/wells/d95a072b-4614-4bc8-abe5-097027e4ee26/topsets HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 28

{
  "name" : "Topset name"
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: f129d6dbf3c9f84e
Content-Type: application/json

{
  "uuid" : "c65a9a4f-8fd4-437b-ae8b-fa9615d75de2"
}

POST /public/api/v1/wells/{uuid}/topsets

Path parameter Description
uuid Lateral UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
name String Topset name

Response body

Path Type Description
uuid String Created topset UUID

Create typewell topset

Create topset by typewell UUID

Request

$ curl 'https://solo.cloud/public/api/v1/typewells/40ac1abb-baa7-4ddb-8d0b-41b2791f78f6/topsets' -i -X POST \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Topset name"
}'
POST /public/api/v1/typewells/40ac1abb-baa7-4ddb-8d0b-41b2791f78f6/topsets HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 28

{
  "name" : "Topset name"
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 15695120db91472a
Content-Type: application/json

{
  "uuid" : "9862a9a2-57b6-4456-8ce9-ea95664c769c"
}

POST /public/api/v1/typewells/{uuid}/topsets

Path parameter Description
uuid Typewell UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
name String Topset name

Response body

Path Type Description
uuid String Created topset UUID

Create nested well topset

Create topset by nested well UUID

Request

$ curl 'https://solo.cloud/public/api/v1/nestedwells/607c407e-2649-4f0e-b99f-45791650e036/topsets' -i -X POST \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Topset name"
}'
POST /public/api/v1/nestedwells/607c407e-2649-4f0e-b99f-45791650e036/topsets HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 28

{
  "name" : "Topset name"
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 8f03f83dd196b418
Content-Type: application/json

{
  "uuid" : "aacd4c92-b11b-4c8f-94dd-39d8abaa51e7"
}

POST /public/api/v1/nestedwells/{uuid}/topsets

Path parameter Description
uuid Nested well UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
name String Topset name

Response body

Path Type Description
uuid String Created topset UUID

Set starred objects

Set starred objects by topset UUID

Request

$ curl 'https://solo.cloud/public/api/v1/topsets/uuid/7394c0c5-c677-4f23-9429-fc9f9525d974/starred' -i -X PUT \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "top" : "6db3dbb0-55a9-4f6f-a574-74893d85c220",
  "center" : "c557f104-7700-4fa4-9345-c1abf4dfa088",
  "bottom" : "fbb50784-1875-4b2c-a9da-7a032c4d8c3d"
}'
PUT /public/api/v1/topsets/uuid/7394c0c5-c677-4f23-9429-fc9f9525d974/starred HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 158

{
  "top" : "6db3dbb0-55a9-4f6f-a574-74893d85c220",
  "center" : "c557f104-7700-4fa4-9345-c1abf4dfa088",
  "bottom" : "fbb50784-1875-4b2c-a9da-7a032c4d8c3d"
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 4b8533891deabb39

PUT /public/api/v1/topsets/uuid/{uuid}/starred

Path parameter Description
uuid Topset UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
top String Top UUID to be set as starred top (use "00000000-0000-0000-0000-000000000000" to reset)
center String Top UUID to be set as starred center (use "00000000-0000-0000-0000-000000000000" to reset)
bottom String Top UUID to be set as starred bottom (use "00000000-0000-0000-0000-000000000000" to reset)

Response body

Empty body

Get starred objects

Get starred objects by topset UUID

Request

$ curl 'https://solo.cloud/public/api/v1/topsets/7394c0c5-c677-4f23-9429-fc9f9525d974/starred' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/topsets/7394c0c5-c677-4f23-9429-fc9f9525d974/starred HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 7679f91a3414567b
Content-Type: application/json

{
  "top" : "6db3dbb0-55a9-4f6f-a574-74893d85c220",
  "center" : "c557f104-7700-4fa4-9345-c1abf4dfa088",
  "bottom" : "fbb50784-1875-4b2c-a9da-7a032c4d8c3d"
}

GET /public/api/v1/topsets/{uuid}/starred

Path parameter Description
uuid Topset UUID
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
top String Starred top top UUID
center String Starred center top UUID
bottom String Starred bottom top UUID

8. Tops

Get tops by lateral

Get a list of tops by lateral UUID with pagination

Request

$ curl 'https://solo.cloud/public/api/v1/wells/ea2d408a-c305-454b-9fd3-807674308f9c/tops?offset=0&limit=20' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/ea2d408a-c305-454b-9fd3-807674308f9c/tops?offset=0&limit=20 HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 99b14bc09a7c28d0
Content-Type: application/json

{
  "content" : [ {
    "md" : {
      "val" : 9.842519685039372
    },
    "name" : "Top",
    "topset_name" : "Top Set",
    "uuid" : "cad96d3a-5558-45e2-8098-730aeb07699d"
  }, {
    "md" : {
      "val" : 13.123359580052496
    },
    "name" : "Update Top",
    "topset_name" : "Top Set",
    "uuid" : "0337e35b-7e0b-4189-8b82-e540b132f7ac"
  } ],
  "offset" : 0,
  "limit" : 20,
  "total" : 2,
  "first" : true,
  "last" : true
}

GET /public/api/v1/wells/{uuid}/tops

Path parameter Description
uuid Lateral UUID
Parameter Description
offset Index of the first record to return by a request from the list of all records
limit Maximum number of records to return by a request from the list of all records, starting with 'offset'
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Content array
offset Number Index of the first record returned by a request from the list of all records
limit Number Maximum number of records returned by a request from the list of all records, starting with 'offset'
total Number Total number of records
first Boolean true if the current records range is the first, otherwise – false
last Boolean true if the current records range is the last, otherwise – false
content[].uuid String Top UUID
content[].name String Top name
content[].topset_name String Top name
content[].md.val Number Measured depth value in project units

Get tops by typewell

Get a list of tops by typewell UUID with pagination

Request

$ curl 'https://solo.cloud/public/api/v1/typewells/691008e8-a908-4aba-8235-b130839d2cb3/tops?offset=0&limit=20' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/typewells/691008e8-a908-4aba-8235-b130839d2cb3/tops?offset=0&limit=20 HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 3f05938e4acc023b
Content-Type: application/json

{
  "content" : [ {
    "md" : {
      "val" : 9.842519685039372
    },
    "name" : "Top",
    "topset_name" : "Top Set",
    "uuid" : "6f6a17aa-89d2-4e1c-8d41-ae79ad46e11d"
  }, {
    "md" : {
      "val" : 13.123359580052496
    },
    "name" : "Update Top",
    "topset_name" : "Top Set",
    "uuid" : "ecbc7732-570f-4896-ab06-6dae1854327e"
  } ],
  "offset" : 0,
  "limit" : 20,
  "total" : 2,
  "first" : true,
  "last" : true
}

GET /public/api/v1/typewells/{uuid}/tops

Path parameter Description
uuid Typewell UUID
Parameter Description
offset Index of the first record to return by a request from the list of all records
limit Maximum number of records to return by a request from the list of all records, starting with 'offset'
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Content array
offset Number Index of the first record returned by a request from the list of all records
limit Number Maximum number of records returned by a request from the list of all records, starting with 'offset'
total Number Total number of records
first Boolean true if the current records range is the first, otherwise – false
last Boolean true if the current records range is the last, otherwise – false
content[].uuid String Top UUID
content[].name String Top name
content[].topset_name String Top name
content[].md.val Number Measured depth value in project units

Get tops by nested well

Get a list of tops by nested well UUID with pagination

Request

$ curl 'https://solo.cloud/public/api/v1/nestedwells/0c2cf82e-439f-4ffe-98bc-c28a195fd72b/tops?offset=0&limit=20' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/nestedwells/0c2cf82e-439f-4ffe-98bc-c28a195fd72b/tops?offset=0&limit=20 HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 6942aecc04d1ee38
Content-Type: application/json

{
  "content" : [ {
    "md" : {
      "val" : 9.842519685039372
    },
    "name" : "Top",
    "topset_name" : "Top Set",
    "uuid" : "f67bcad6-ab5c-47b9-9e91-fb32eb1e5d47"
  }, {
    "md" : {
      "val" : 13.123359580052496
    },
    "name" : "Update Top",
    "topset_name" : "Top Set",
    "uuid" : "e48d5468-f6b1-48bd-93a5-3ab0949d22dc"
  } ],
  "offset" : 0,
  "limit" : 20,
  "total" : 2,
  "first" : true,
  "last" : true
}

GET /public/api/v1/nestedwells/{uuid}/tops

Path parameter Description
uuid Nested well UUID
Parameter Description
offset Index of the first record to return by a request from the list of all records
limit Maximum number of records to return by a request from the list of all records, starting with 'offset'
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Content array
offset Number Index of the first record returned by a request from the list of all records
limit Number Maximum number of records returned by a request from the list of all records, starting with 'offset'
total Number Total number of records
first Boolean true if the current records range is the first, otherwise – false
last Boolean true if the current records range is the last, otherwise – false
content[].uuid String Top UUID
content[].name String Top name
content[].topset_name String Top name
content[].md.val Number Measured depth value in project units

Get tops by topset

Get a list of tops by topset UUID with pagination

Request

$ curl 'https://solo.cloud/public/api/v1/topsets/77d44aa1-d85d-4f04-98d6-c771992d4d9d/tops?offset=0&limit=20' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/topsets/77d44aa1-d85d-4f04-98d6-c771992d4d9d/tops?offset=0&limit=20 HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 774de378e9f3fca7
Content-Type: application/json

{
  "content" : [ {
    "md" : {
      "val" : 9.842519685039372
    },
    "name" : "Top",
    "topset_name" : "Top Set",
    "uuid" : "d7216f99-ac86-4cf4-ad27-e5e31af1cc36"
  }, {
    "md" : {
      "val" : 13.123359580052496
    },
    "name" : "Update Top",
    "topset_name" : "Top Set",
    "uuid" : "8a69e897-839a-4ffc-9769-68984d63dcd0"
  } ],
  "offset" : 0,
  "limit" : 20,
  "total" : 2,
  "first" : true,
  "last" : true
}

GET /public/api/v1/topsets/{uuid}/tops

Path parameter Description
uuid Topset UUID
Parameter Description
offset Index of the first record to return by a request from the list of all records
limit Maximum number of records to return by a request from the list of all records, starting with 'offset'
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Content array
offset Number Index of the first record returned by a request from the list of all records
limit Number Maximum number of records returned by a request from the list of all records, starting with 'offset'
total Number Total number of records
first Boolean true if the current records range is the first, otherwise – false
last Boolean true if the current records range is the last, otherwise – false
content[].uuid String Top UUID
content[].name String Top name
content[].topset_name String Top name
content[].md.val Number Measured depth value in project units

Create top

Create top by topset UUID

Request

$ curl 'https://solo.cloud/public/api/v1/topsets/5731b77f-08a7-4aec-959a-f6d32a9e5a8b/tops' -i -X POST \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Top name",
  "md" : {
    "val" : 100.5
  }
}'
POST /public/api/v1/topsets/5731b77f-08a7-4aec-959a-f6d32a9e5a8b/tops HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 59

{
  "name" : "Top name",
  "md" : {
    "val" : 100.5
  }
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 1894162656108fad
Content-Type: application/json

{
  "uuid" : "00b00e41-2640-45f7-a4cc-f33d1a7de599"
}

POST /public/api/v1/topsets/{uuid}/tops

Path parameter Description
uuid Topset UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
name String Top name
md Object Measured depth. If present val is set, otherwise undefined is true
md.val Number Measured depth value in project units (must be in [0;100000] range)
md.undefined Boolean Set to true if MD is undefined

Response body

Path Type Description
uuid String Created top UUID

9. Target lines

Get target lines by lateral

Get a list of target lines by lateral UUID with pagination

Request

$ curl 'https://solo.cloud/public/api/v1/wells/2dc4afbf-a5c9-4701-9cce-8b164d162f97/targetlines?offset=0&limit=20' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/2dc4afbf-a5c9-4701-9cce-8b164d162f97/targetlines?offset=0&limit=20 HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 9b0f3ef62c0e26e1
Content-Type: application/json

{
  "content" : [ {
    "name" : "Target Line",
    "uuid" : "ff587b5f-9c7b-4d8e-90ff-273a7f91ad1e"
  }, {
    "name" : "Update Target Line",
    "uuid" : "ecab0132-0a2d-4bd6-8043-f23529b47642"
  } ],
  "offset" : 0,
  "limit" : 20,
  "total" : 2,
  "first" : true,
  "last" : true
}

GET /public/api/v1/wells/{uuid}/targetlines

Path parameter Description
uuid Lateral UUID
Parameter Description
offset Index of the first record to return by a request from the list of all records
limit Maximum number of records to return by a request from the list of all records, starting with 'offset'
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Content array
offset Number Index of the first record returned by a request from the list of all records
limit Number Maximum number of records returned by a request from the list of all records, starting with 'offset'
total Number Total number of records
first Boolean true if the current records range is the first, otherwise – false
last Boolean true if the current records range is the last, otherwise – false
content[].uuid String Target line UUID
content[].name String Target line name

Get target line data

Get a list of target line data by target line UUID

Request

$ curl 'https://solo.cloud/public/api/v1/targetlines/e2293cbe-433c-4fbe-a8ee-5b8e6d28b10f/data' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/targetlines/e2293cbe-433c-4fbe-a8ee-5b8e6d28b10f/data HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 62165aaab5d247b2
Content-Type: application/json

{
  "content" : [ {
    "azimuth" : {
      "val" : 45
    },
    "delta_tvd" : {
      "val" : -9.842519685039372
    },
    "delta_vs" : {
      "val" : 9.842519685039374
    },
    "inclination" : {
      "val" : 125.26438968275465
    },
    "length" : {
      "val" : 17.047744168985016
    },
    "name" : "Target Line",
    "origin_base_corridor_tvd" : {
      "undefined" : true
    },
    "origin_md" : {
      "val" : 1601.392124079087
    },
    "origin_top_corridor_tvd" : {
      "undefined" : true
    },
    "origin_tvd" : {
      "val" : 13.123359580052496
    },
    "origin_vs" : {
      "val" : -26.246719160104988
    },
    "origin_x" : {
      "val" : 3.280839895013124
    },
    "origin_y" : {
      "val" : 6.561679790026248
    },
    "origin_z" : {
      "val" : 9.842519685039372
    },
    "target_base_corridor_tvd" : {
      "undefined" : true
    },
    "target_md" : {
      "val" : 1112.7999494309042
    },
    "target_top_corridor_tvd" : {
      "undefined" : true
    },
    "target_tvd" : {
      "val" : 3.2808398950131235
    },
    "target_vs" : {
      "val" : -16.404199475065614
    },
    "target_x" : {
      "val" : 13.123359580052496
    },
    "target_y" : {
      "val" : 16.40419947506562
    },
    "target_z" : {
      "val" : 19.685039370078744
    },
    "tvd_vs" : {
      "val" : -13.123359580052487
    },
    "uuid" : "e2293cbe-433c-4fbe-a8ee-5b8e6d28b10f"
  } ]
}

GET /public/api/v1/targetlines/{uuid}/data

Path parameter Description
uuid Target line UUID
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content[].name String Target line name
content[].uuid String Target line UUID
content[].azimuth.val Number Azimuth (degrees)
content[].inclination.val Number Inclination (degrees)
content[].length.val Number Length (project units)
content[].delta_tvd.val Number Difference between target and base TVD (project units)
content[].delta_vs.val Number Difference between target and base VS (project units)
content[].tvd_vs.val Number TVD@0VS
content[].origin_vs.val Number Origin point VS (project units)
content[].origin_tvd.val Number Origin point TVD (project units)
content[].origin_x.val Number Origin point X coordinate (project units)
content[].origin_y.val Number Origin point Y coordinate (project units)
content[].origin_z.val Number Origin point Z coordinate (project units)
content[].origin_md Object Origin MD value. If target line belongs to trajectory val is set, otherwise undefined is true
content[].origin_md.val Number Origin MD value (project units)
content[].origin_md.undefined Boolean true if origin MD undefined
content[].origin_base_corridor_tvd Object Base corridor origin TVD. If present val is set, otherwise undefined is true
content[].origin_base_corridor_tvd.val Number Base corridor origin TVD value (project units)
content[].origin_base_corridor_tvd.undefined Boolean true if base corridor origin is undefined
content[].origin_top_corridor_tvd Object Top corridor origin TVD. If present val is set, otherwise undefined is true
content[].origin_top_corridor_tvd.val Number Top corridor origin TVD (project units)
content[].origin_top_corridor_tvd.undefined Boolean true if top TVD corridor is undefined
content[].target_vs.val Number Target point VS (project units)
content[].target_tvd.val Number Target point TVD (project units)
content[].target_x.val Number Target point X coordinate (project units)
content[].target_y.val Number Target point Y coordinate (project units)
content[].target_z.val Number Target point Z coordinate (project units)
content[].target_md Object Target MD. If target line belongs to trajectory val is set, otherwise undefined is true
content[].target_md.val Number Target MD value (project units)
content[].target_md.undefined Boolean true if target MD is undefined
content[].target_base_corridor_tvd Object Base corridor target TVD. If present val is set, otherwise undefined is true
content[].target_base_corridor_tvd.val Number Base corridor target TVD (project units)
content[].target_base_corridor_tvd.undefined Boolean true if base corridor target TVD is undefined
content[].target_top_corridor_tvd Object Top corridor target TVD. If present val is set, otherwise undefined is true
content[].target_top_corridor_tvd.val Number Top corridor target TVD (project units)
content[].target_top_corridor_tvd.undefined Boolean true if top corridor target TVD is undefined

Get target lines data by lateral

Get a list of target lines data by lateral UUID

Request

$ curl 'https://solo.cloud/public/api/v1/wells/6bfa1daa-6a2f-4d50-95fe-187bdcc2bac9/targetlines/data?offset=0&limit=20' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/6bfa1daa-6a2f-4d50-95fe-187bdcc2bac9/targetlines/data?offset=0&limit=20 HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 6fdae6b97178cf5e
Content-Type: application/json

{
  "content" : [ {
    "azimuth" : {
      "val" : 45
    },
    "delta_tvd" : {
      "val" : -9.842519685039372
    },
    "delta_vs" : {
      "val" : 9.842519685039374
    },
    "inclination" : {
      "val" : 125.26438968275465
    },
    "length" : {
      "val" : 17.047744168985016
    },
    "name" : "Target Line",
    "origin_base_corridor_tvd" : {
      "undefined" : true
    },
    "origin_md" : {
      "val" : 1601.392124079087
    },
    "origin_top_corridor_tvd" : {
      "undefined" : true
    },
    "origin_tvd" : {
      "val" : 13.123359580052496
    },
    "origin_vs" : {
      "val" : -26.246719160104988
    },
    "origin_x" : {
      "val" : 3.280839895013124
    },
    "origin_y" : {
      "val" : 6.561679790026248
    },
    "origin_z" : {
      "val" : 9.842519685039372
    },
    "target_base_corridor_tvd" : {
      "undefined" : true
    },
    "target_md" : {
      "val" : 1112.7999494309042
    },
    "target_top_corridor_tvd" : {
      "undefined" : true
    },
    "target_tvd" : {
      "val" : 3.2808398950131235
    },
    "target_vs" : {
      "val" : -16.404199475065614
    },
    "target_x" : {
      "val" : 13.123359580052496
    },
    "target_y" : {
      "val" : 16.40419947506562
    },
    "target_z" : {
      "val" : 19.685039370078744
    },
    "tvd_vs" : {
      "val" : -13.123359580052487
    },
    "uuid" : "841320af-004e-481b-abed-fece4444bba7"
  } ],
  "offset" : 0,
  "limit" : 20,
  "total" : 1,
  "first" : true,
  "last" : true
}

GET /public/api/v1/wells/{uuid}/targetlines/data

Path parameter Description
uuid Lateral UUID
Parameter Description
offset Index of the first record to return by a request from the list of all records
limit Maximum number of records to return by a request from the list of all records, starting with 'offset'
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Content array
offset Number Index of the first record returned by a request from the list of all records
limit Number Maximum number of records returned by a request from the list of all records, starting with 'offset'
total Number Total number of records
first Boolean true if the current records range is the first, otherwise – false
last Boolean true if the current records range is the last, otherwise – false
content[].name String Target line name
content[].uuid String Target line UUID
content[].azimuth.val Number Azimuth (degrees)
content[].inclination.val Number Inclination (degrees)
content[].length.val Number Length (project units)
content[].delta_tvd.val Number Difference between target and base TVD (project units)
content[].delta_vs.val Number Difference between target and base VS (project units)
content[].tvd_vs.val Number TVD@0VS
content[].origin_vs.val Number Origin point VS (project units)
content[].origin_tvd.val Number Origin point TVD (project units)
content[].origin_x.val Number Origin point X coordinate (project units)
content[].origin_y.val Number Origin point Y coordinate (project units)
content[].origin_z.val Number Origin point Z coordinate (project units)
content[].origin_md Object Origin MD value. If target line belongs to trajectory val is set, otherwise undefined is true
content[].origin_md.val Number Origin MD value (project units)
content[].origin_md.undefined Boolean true if origin MD undefined
content[].origin_base_corridor_tvd Object Base corridor origin TVD. If present val is set, otherwise undefined is true
content[].origin_base_corridor_tvd.val Number Base corridor origin TVD value (project units)
content[].origin_base_corridor_tvd.undefined Boolean true if base corridor origin is undefined
content[].origin_top_corridor_tvd Object Top corridor origin TVD. If present val is set, otherwise undefined is true
content[].origin_top_corridor_tvd.val Number Top corridor origin TVD (project units)
content[].origin_top_corridor_tvd.undefined Boolean true if top TVD corridor is undefined
content[].target_vs.val Number Target point VS (project units)
content[].target_tvd.val Number Target point TVD (project units)
content[].target_x.val Number Target point X coordinate (project units)
content[].target_y.val Number Target point Y coordinate (project units)
content[].target_z.val Number Target point Z coordinate (project units)
content[].target_md Object Target MD. If target line belongs to trajectory val is set, otherwise undefined is true
content[].target_md.val Number Target MD value (project units)
content[].target_md.undefined Boolean true if target MD is undefined
content[].target_base_corridor_tvd Object Base corridor target TVD. If present val is set, otherwise undefined is true
content[].target_base_corridor_tvd.val Number Base corridor target TVD (project units)
content[].target_base_corridor_tvd.undefined Boolean true if base corridor target TVD is undefined
content[].target_top_corridor_tvd Object Top corridor target TVD. If present val is set, otherwise undefined is true
content[].target_top_corridor_tvd.val Number Top corridor target TVD (project units)
content[].target_top_corridor_tvd.undefined Boolean true if top corridor target TVD is undefined

Get starred target line by lateral

Get starred target line by lateral UUID

Request

$ curl 'https://solo.cloud/public/api/v1/wells/407a44a1-c41a-4dee-8063-6e90fcd25626/targetlines/starred' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/407a44a1-c41a-4dee-8063-6e90fcd25626/targetlines/starred HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 74d392b9d564e6ec
Content-Type: application/json

{
  "name" : "Target Line",
  "uuid" : "83aeb7dc-f90a-46d9-8430-d7132136908a"
}

GET /public/api/v1/wells/{lateralUuid}/targetlines/starred

Path parameter Description
lateralUuid Lateral UUID
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
uuid String Target line UUID
name String Target line name

Create target line

Create target line by lateral UUID

Request

$ curl 'https://solo.cloud/public/api/v1/wells/3d5a954e-ab4a-4896-99b7-2b61fed1ce14/targetlines' -i -X POST \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Target line name",
  "origin_x" : {
    "val" : 100.5
  },
  "origin_y" : {
    "val" : 200.5
  },
  "origin_z" : {
    "val" : 300.5
  },
  "target_x" : {
    "val" : 400.5
  },
  "target_y" : {
    "val" : 500.5
  },
  "target_z" : {
    "val" : 600.5
  }
}'
POST /public/api/v1/wells/3d5a954e-ab4a-4896-99b7-2b61fed1ce14/targetlines HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 273

{
  "name" : "Target line name",
  "origin_x" : {
    "val" : 100.5
  },
  "origin_y" : {
    "val" : 200.5
  },
  "origin_z" : {
    "val" : 300.5
  },
  "target_x" : {
    "val" : 400.5
  },
  "target_y" : {
    "val" : 500.5
  },
  "target_z" : {
    "val" : 600.5
  }
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 0fae6d21edd1298f
Content-Type: application/json

{
  "uuid" : "1e077e86-2c58-477b-afed-dbcf7bbf42b8"
}

POST /public/api/v1/wells/{uuid}/targetlines

Path parameter Description
uuid Lateral UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
name String Target line name
origin_x.val Number Origin point X coordinate (project units)
origin_y.val Number Origin point Y coordinate (project units)
origin_z.val Number Origin point Z coordinate (project units)
target_x.val Number Target point X coordinate (project units)
target_y.val Number Target point Y coordinate (project units)
target_z.val Number Target point Z coordinate (project units)

Response body

Path Type Description
uuid String Created target line UUID

10. Logs

Get logs by lateral

Get a list of logs by lateral UUID with pagination

Request

$ curl 'https://solo.cloud/public/api/v1/wells/9488391a-879a-4534-97b1-becb0b574ab2/logs?offset=0&limit=10&filter=mMa' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/9488391a-879a-4534-97b1-becb0b574ab2/logs?offset=0&limit=10&filter=mMa HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 266d56cbb6500d94
Content-Type: application/json

{
  "content" : [ {
    "name" : "Gamma Ray",
    "uuid" : "e88f74e1-3759-48e2-8240-2adfae12f37f"
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 1,
  "first" : true,
  "last" : true
}

GET /public/api/v1/wells/{uuid}/logs

Path parameter Description
uuid Lateral UUID
Parameter Description
offset Index of the first record to return by a request from the list of all records
limit Maximum number of records to return by a request from the list of all records, starting with 'offset'
filter Filter logs by the 'name' field. Case insensitive.
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Content array
offset Number Index of the first record returned by a request from the list of all records
limit Number Maximum number of records returned by a request from the list of all records, starting with 'offset'
total Number Total number of records
first Boolean true if the current records range is the first, otherwise – false
last Boolean true if the current records range is the last, otherwise – false
content[].name String Log name
content[].uuid String Log UUID

Get logs by typewell

Get a list of logs by typewell UUID with pagination

Request

$ curl 'https://solo.cloud/public/api/v1/typewells/b80614d3-c7f7-49f7-94f6-9e4a817e4fea/logs?offset=0&limit=10&filter=mMa' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/typewells/b80614d3-c7f7-49f7-94f6-9e4a817e4fea/logs?offset=0&limit=10&filter=mMa HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 575988c618a7b6d0
Content-Type: application/json

{
  "content" : [ {
    "name" : "Gamma Ray",
    "uuid" : "f22361e0-72fd-4b96-8f4c-cd6490fe92ae"
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 1,
  "first" : true,
  "last" : true
}

GET /public/api/v1/typewells/{uuid}/logs

Path parameter Description
uuid Typewell UUID
Parameter Description
offset Index of the first record to return by a request from the list of all records
limit Maximum number of records to return by a request from the list of all records, starting with 'offset'
filter Filter logs by the 'name' field. Case insensitive.
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Content array
offset Number Index of the first record returned by a request from the list of all records
limit Number Maximum number of records returned by a request from the list of all records, starting with 'offset'
total Number Total number of records
first Boolean true if the current records range is the first, otherwise – false
last Boolean true if the current records range is the last, otherwise – false
content[].name String Log name
content[].uuid String Log UUID

Create lateral log

Create log by lateral UUID

Request

$ curl 'https://solo.cloud/public/api/v1/wells/34cbcf89-1cc2-4d8f-bfb7-07d52f34f8ae/logs' -i -X POST \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Log name"
}'
POST /public/api/v1/wells/34cbcf89-1cc2-4d8f-bfb7-07d52f34f8ae/logs HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 25

{
  "name" : "Log name"
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 0595e3c7615d5a04
Content-Type: application/json

{
  "uuid" : "0a75583c-8e3b-4808-9538-211b720b302b"
}

POST /public/api/v1/wells/{uuid}/logs

Path parameter Description
uuid Lateral UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
name String Log name

Response body

Path Type Description
uuid String Created log UUID

Create typewell log

Create log by typewell UUID

Request

$ curl 'https://solo.cloud/public/api/v1/typewells/3b0b49f0-ff0b-4893-b70d-4c3d55157220/logs' -i -X POST \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Log name"
}'
POST /public/api/v1/typewells/3b0b49f0-ff0b-4893-b70d-4c3d55157220/logs HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 25

{
  "name" : "Log name"
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 4895dee3972b4037
Content-Type: application/json

{
  "uuid" : "9e218951-470c-4e4e-944e-0eb3b411bf36"
}

POST /public/api/v1/typewells/{uuid}/logs

Path parameter Description
uuid Typewell UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
name String Log name

Response body

Path Type Description
uuid String Created log UUID

Get log data

Get log data by log UUID

Request

$ curl 'https://solo.cloud/public/api/v1/logs/288527dc-c019-4d1f-b1c0-c1535028eba7/data' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/logs/288527dc-c019-4d1f-b1c0-c1535028eba7/data HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: ae31c1c20e4fdda2
Content-Type: application/json

{
  "log_points" : [ {
    "data" : {
      "val" : -3688.6927
    },
    "md" : {
      "val" : 744.6263999999999
    }
  }, {
    "data" : {
      "val" : 16.581
    },
    "md" : {
      "val" : 744.7787999999999
    }
  }, {
    "data" : {
      "val" : -11.85
    },
    "md" : {
      "val" : 744.9311999999999
    }
  }, {
    "data" : {
      "val" : 15.187
    },
    "md" : {
      "val" : 745.0835999999999
    }
  }, {
    "data" : {
      "val" : -4.363
    },
    "md" : {
      "val" : 745.2359999999999
    }
  }, {
    "data" : {
      "val" : -40.475
    },
    "md" : {
      "val" : 745.3883999999999
    }
  }, {
    "data" : {
      "val" : 61.463
    },
    "md" : {
      "val" : 745.5407999999999
    }
  }, {
    "data" : {
      "val" : 82.305
    },
    "md" : {
      "val" : 745.6931999999999
    }
  }, {
    "data" : {
      "val" : 114.139
    },
    "md" : {
      "val" : 745.8455999999999
    }
  }, {
    "data" : {
      "val" : 144.503
    },
    "md" : {
      "val" : 745.9979999999999
    }
  } ]
}

GET /public/api/v1/logs/{uuid}/data

Path parameter Description
uuid Log UUID
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
log_points Array Points array
log_points[].data Object Point data
log_points[].data.val Number Point data value
log_points[].md Object Point MD
log_points[].md.val Number Point MD value

Update log meta

Update log metadata

Request

$ curl 'https://solo.cloud/public/api/v1/logs/288527dc-c019-4d1f-b1c0-c1535028eba7' -i -X PATCH \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Log name"
}'
PATCH /public/api/v1/logs/288527dc-c019-4d1f-b1c0-c1535028eba7 HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 25

{
  "name" : "Log name"
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: db3a72a0fbeff327

PATCH /public/api/v1/logs/{uuid}

Path parameter Description
uuid Log UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
name String Log name
unit String Measure unit of point data values related to the log

Response body

Empty body

Extend log data

Extend log data

Request

$ curl 'https://solo.cloud/public/api/v1/logs/f384144b-e40a-445b-82ad-1b8c1fff980f/data' -i -X PATCH \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "log_points" : [ {
    "value" : {
      "val" : 96.36
    },
    "index" : {
      "val" : 6494.5
    }
  }, {
    "value" : {
      "val" : 16.36
    },
    "index" : {
      "val" : -999.25
    }
  } ],
  "value_unit" : "ft",
  "index_unit" : "ft"
}'
PATCH /public/api/v1/logs/f384144b-e40a-445b-82ad-1b8c1fff980f/data HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 256

{
  "log_points" : [ {
    "value" : {
      "val" : 96.36
    },
    "index" : {
      "val" : 6494.5
    }
  }, {
    "value" : {
      "val" : 16.36
    },
    "index" : {
      "val" : -999.25
    }
  } ],
  "value_unit" : "ft",
  "index_unit" : "ft"
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 0aca946ec2f9bb85

PATCH /public/api/v1/logs/{uuid}/data

Path parameter Description
uuid Log UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
index_unit String Measure unit of point MD values related to the log. Accepted values: m, ft
value_unit String Measure unit of point data values related to the log
log_points Array Log points array
log_points[].value.val Number Point data value
log_points[].index.val Number Point MD value

Response body

Empty body

Replace log data

Replace log data

Request

$ curl 'https://solo.cloud/public/api/v1/logs/288527dc-c019-4d1f-b1c0-c1535028eba7/data' -i -X PUT \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "log_points" : [ {
    "value" : {
      "val" : 96.36
    },
    "index" : {
      "val" : 6494.5
    }
  }, {
    "value" : {
      "val" : 16.36
    },
    "index" : {
      "val" : -999.25
    }
  } ],
  "value_unit" : "ft",
  "index_unit" : "ft"
}'
PUT /public/api/v1/logs/288527dc-c019-4d1f-b1c0-c1535028eba7/data HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 256

{
  "log_points" : [ {
    "value" : {
      "val" : 96.36
    },
    "index" : {
      "val" : 6494.5
    }
  }, {
    "value" : {
      "val" : 16.36
    },
    "index" : {
      "val" : -999.25
    }
  } ],
  "value_unit" : "ft",
  "index_unit" : "ft"
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 17c32e9cd0a004a8

PUT /public/api/v1/logs/{uuid}/data

Path parameter Description
uuid Log UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
index_unit String Measure unit of point MD values related to the log. Accepted values: m, ft
value_unit String Measure unit of point data values related to the log
log_points Array Log points array
log_points[].value.val Number Point data value
log_points[].index.val Number Point MD value

Response body

Empty body

11. Images

Create image

Request

$ curl 'https://solo.cloud/public/api/v1/laterals/4c106682-9125-41a1-84f4-f03b66f149aa/images' -i -X POST \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "image name",
  "azimuth" : {
    "val" : 0.0
  },
  "bottom_left" : {
    "vs" : {
      "val" : -30.0
    },
    "tvdss" : {
      "val" : -67.0
    }
  },
  "top_right" : {
    "vs" : {
      "val" : 50.0
    },
    "tvdss" : {
      "val" : -50.0
    }
  }
}'
POST /public/api/v1/laterals/4c106682-9125-41a1-84f4-f03b66f149aa/images HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 275

{
  "name" : "image name",
  "azimuth" : {
    "val" : 0.0
  },
  "bottom_left" : {
    "vs" : {
      "val" : -30.0
    },
    "tvdss" : {
      "val" : -67.0
    }
  },
  "top_right" : {
    "vs" : {
      "val" : 50.0
    },
    "tvdss" : {
      "val" : -50.0
    }
  }
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 6fe3a74019339cda
Content-Type: application/json

{
  "uuid" : "71a3189f-30b4-4a81-aae0-4c7d79ef48d0"
}

POST /public/api/v1/laterals/{lateralUuid}/images

Path parameter Description
lateralUuid Lateral UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
name String Image name
azimuth.val Number Azimuth in degrees image is applicable to. If missed azimuth from lateral will be applied
bottom_left Object Bottom left image anchor point
top_right Object Top right image anchor point
bottom_left.vs.val Number VS point coordinate value in project units
bottom_left.tvdss.val Number TVDSS point coordinate value in project units
top_right.vs.val Number VS point coordinate value in project units
top_right.tvdss.val Number TVDSS point coordinate value in project units

Response body

Path Type Description
uuid String Created image UUID

Update image

Request

$ curl 'https://solo.cloud/public/api/v1/images/0e37f2e8-ec18-4177-aea9-db1f11310510' -i -X PUT \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "new image name",
  "azimuth" : {
    "val" : 0.0
  },
  "bottom_left" : {
    "vs" : {
      "val" : -100.0
    },
    "tvdss" : {
      "val" : -50.0
    }
  },
  "top_right" : {
    "vs" : {
      "val" : -50.0
    },
    "tvdss" : {
      "val" : -40.0
    }
  }
}'
PUT /public/api/v1/images/0e37f2e8-ec18-4177-aea9-db1f11310510 HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 281

{
  "name" : "new image name",
  "azimuth" : {
    "val" : 0.0
  },
  "bottom_left" : {
    "vs" : {
      "val" : -100.0
    },
    "tvdss" : {
      "val" : -50.0
    }
  },
  "top_right" : {
    "vs" : {
      "val" : -50.0
    },
    "tvdss" : {
      "val" : -40.0
    }
  }
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: a232d86d42b8d6a4

PUT /public/api/v1/images/{imageUuid}

Path parameter Description
imageUuid Updated image UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
name String Image name
azimuth.val Number Azimuth in degrees image is applicable to. If missed azimuth from lateral will be applied
bottom_left Object Bottom left image anchor point
top_right Object Top right image anchor point
bottom_left.vs.val Number VS point coordinate value in project units
bottom_left.tvdss.val Number TVDSS point coordinate value in project units
top_right.vs.val Number VS point coordinate value in project units
top_right.tvdss.val Number TVDSS point coordinate value in project units

Response body

Empty body

Upload image

Request

$ curl 'https://solo.cloud/public/api/v1/images/063814a9-ddb2-4b17-a85d-748133f742ac/data' -i -X PUT \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: image/png; charset=ISO-8859-1' \
    -d '<binary image data>'
PUT /public/api/v1/images/063814a9-ddb2-4b17-a85d-748133f742ac/data HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: image/png; charset=ISO-8859-1
Host: solo.cloud
Content-Length: 19

<binary image data>

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: b9256e0bc981e307

PUT /public/api/v1/images/{imageUuid}/data

Path parameter Description
imageUuid Image UUID
Header Description
Authorization OAuth2 authorization header
Content-Type Image type. Only 'image/png' is supported at the moment

Response body

Empty body

Upload image (multipart)

Request

$ curl 'https://solo.cloud/public/api/v1/images/30c5bc8c-4c6f-45ac-8a01-a971f42a8256/data' -i -X PUT \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: multipart/form-data; boundary="tU42w8m8PEzpPSDCuHQuKLKmAI-vmts"' \
    -F 'image=<binary image data>;type=image/png'
PUT /public/api/v1/images/30c5bc8c-4c6f-45ac-8a01-a971f42a8256/data HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: multipart/form-data; boundary="tU42w8m8PEzpPSDCuHQuKLKmAI-vmts"; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Host: solo.cloud

--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=image
Content-Type: image/png

<binary image data>
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 76a03379703be2d3

PUT /public/api/v1/images/{imageUuid}/data

Path parameter Description
imageUuid Image UUID
Part Description
image Request part containing PNG image
Header Description
Authorization OAuth2 authorization header

Response body

Empty body

12. Mudlogs

Get mudlogs by lateral

Get a list of mudlogs by lateral UUID with pagination

Request

$ curl 'https://solo.cloud/public/api/v1/wells/8dd5bd72-f573-4d13-9fea-680f9b47d716/mudlogs?offset=0&limit=10&filter=mMa' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/8dd5bd72-f573-4d13-9fea-680f9b47d716/mudlogs?offset=0&limit=10&filter=mMa HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: b7bc93de9c6be491
Content-Type: application/json

{
  "content" : [ {
    "name" : "Gamma Ray",
    "uuid" : "9f7c9439-09d5-4fa4-aaa7-b31e4b5fa320"
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 1,
  "first" : true,
  "last" : true
}

GET /public/api/v1/wells/{uuid}/mudlogs

Path parameter Description
uuid Lateral UUID
Parameter Description
offset Index of the first record to return by a request from the list of all records
limit Maximum number of records to return by a request from the list of all records, starting with 'offset'
filter Filter mudlogs by the 'name' field. Case insensitive.
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Content array
offset Number Index of the first record returned by a request from the list of all records
limit Number Maximum number of records returned by a request from the list of all records, starting with 'offset'
total Number Total number of records
first Boolean true if the current records range is the first, otherwise – false
last Boolean true if the current records range is the last, otherwise – false
content[].name String Mudlog name
content[].uuid String Mudlog UUID

Get mudlogs by typewell

Get a list of mudlogs by typewell UUID with pagination

Request

$ curl 'https://solo.cloud/public/api/v1/typewells/f314fae4-8253-4bd4-8ac8-c2bb6801a8fd/mudlogs?offset=0&limit=10&filter=mMa' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/typewells/f314fae4-8253-4bd4-8ac8-c2bb6801a8fd/mudlogs?offset=0&limit=10&filter=mMa HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: b19c715262d2114b
Content-Type: application/json

{
  "content" : [ {
    "name" : "Gamma Ray",
    "uuid" : "0a98c231-ec4e-4ea4-a259-0db8ca30793c"
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 1,
  "first" : true,
  "last" : true
}

GET /public/api/v1/typewells/{uuid}/mudlogs

Path parameter Description
uuid Typewell UUID
Parameter Description
offset Index of the first record to return by a request from the list of all records
limit Maximum number of records to return by a request from the list of all records, starting with 'offset'
filter Filter mudlogs by the 'name' field. Case insensitive.
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Content array
offset Number Index of the first record returned by a request from the list of all records
limit Number Maximum number of records returned by a request from the list of all records, starting with 'offset'
total Number Total number of records
first Boolean true if the current records range is the first, otherwise – false
last Boolean true if the current records range is the last, otherwise – false
content[].name String Mudlog name
content[].uuid String Mudlog UUID

Get mudlog data

Get a list of mudlogs by typewell UUID with pagination

Request

$ curl 'https://solo.cloud/public/api/v1/mudlogs/d78d4c67-e673-4a51-802a-de062eff5ad2/data' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/mudlogs/d78d4c67-e673-4a51-802a-de062eff5ad2/data HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: d689c985525ad048
Content-Type: application/json

{
  "logs" : [ {
    "uuid" : "922b8766-efb9-476c-a497-8d28eceaaf56",
    "name" : " Update Losos",
    "log_points" : [ {
      "md" : {
        "val" : 18280.841723097114
      },
      "data" : {
        "val" : 263605.0313
      }
    }, {
      "md" : {
        "val" : 18280.84969501312
      },
      "data" : {
        "val" : 263605.75
      }
    }, {
      "md" : {
        "val" : 18280.85812782152
      },
      "data" : {
        "val" : 263605.75
      }
    }, {
      "md" : {
        "val" : 18280.86639501312
      },
      "data" : {
        "val" : 263606.5375
      }
    }, {
      "md" : {
        "val" : 18280.874695013117
      },
      "data" : {
        "val" : 263606.5375
      }
    }, {
      "md" : {
        "val" : 18280.88309501312
      },
      "data" : {
        "val" : 263607.125
      }
    }, {
      "md" : {
        "val" : 18280.89139501312
      },
      "data" : {
        "val" : 263607.125
      }
    }, {
      "md" : {
        "val" : 18280.89969504593
      },
      "data" : {
        "val" : 263607.8125
      }
    }, {
      "md" : {
        "val" : 18280.90809501312
      },
      "data" : {
        "val" : 263607.8125
      }
    }, {
      "md" : {
        "val" : 18280.91639501312
      },
      "data" : {
        "val" : 263608.5
      }
    }, {
      "md" : {
        "val" : 18280.924727821523
      },
      "data" : {
        "val" : 263608.5
      }
    }, {
      "md" : {
        "val" : 18280.93342309711
      },
      "data" : {
        "val" : 263609.1563
      }
    }, {
      "md" : {
        "val" : 18280.94139501312
      },
      "data" : {
        "val" : 263609.1563
      }
    }, {
      "md" : {
        "val" : 18280.95002312992
      },
      "data" : {
        "val" : 263609.8125
      }
    }, {
      "md" : {
        "val" : 18280.958095013124
      },
      "data" : {
        "val" : 263609.8125
      }
    }, {
      "md" : {
        "val" : 18280.96639501312
      },
      "data" : {
        "val" : 263610.5688
      }
    }, {
      "md" : {
        "val" : 18281.00750341207
      },
      "data" : {
        "val" : 263610.5688
      }
    }, {
      "md" : {
        "val" : 18281.01593622047
      },
      "data" : {
        "val" : 263611.1875
      }
    }, {
      "md" : {
        "val" : 18281.02420341207
      },
      "data" : {
        "val" : 263611.1875
      }
    }, {
      "md" : {
        "val" : 18281.032503412072
      },
      "data" : {
        "val" : 263611.9688
      }
    }, {
      "md" : {
        "val" : 18281.00809501312
      },
      "data" : {
        "val" : 263611.9688
      }
    }, {
      "md" : {
        "val" : 18281.01639501312
      },
      "data" : {
        "val" : 263612.875
      }
    }, {
      "md" : {
        "val" : 18281.02469504593
      },
      "data" : {
        "val" : 263612.875
      }
    }, {
      "md" : {
        "val" : 18281.03309501312
      },
      "data" : {
        "val" : 263613.875
      }
    }, {
      "md" : {
        "val" : 18281.04172309711
      },
      "data" : {
        "val" : 263613.875
      }
    }, {
      "md" : {
        "val" : 18281.04972782152
      },
      "data" : {
        "val" : 263615.9063
      }
    }, {
      "md" : {
        "val" : 18281.05809501312
      },
      "data" : {
        "val" : 263615.9063
      }
    }, {
      "md" : {
        "val" : 18281.066395013124
      },
      "data" : {
        "val" : 263615.875
      }
    }, {
      "md" : {
        "val" : 18281.07469501312
      },
      "data" : {
        "val" : 263615.875
      }
    }, {
      "md" : {
        "val" : 18281.086375853018
      },
      "data" : {
        "val" : 263616.7188
      }
    }, {
      "md" : {
        "val" : 18281.09139501312
      },
      "data" : {
        "val" : 263616.7188
      }
    }, {
      "md" : {
        "val" : 18281.09969501312
      },
      "data" : {
        "val" : 263617.5625
      }
    }, {
      "md" : {
        "val" : 18281.108127821517
      },
      "data" : {
        "val" : 263617.5625
      }
    }, {
      "md" : {
        "val" : 18281.119675853017
      },
      "data" : {
        "val" : 263618.375
      }
    }, {
      "md" : {
        "val" : 18281.12469501312
      },
      "data" : {
        "val" : 263618.375
      }
    }, {
      "md" : {
        "val" : 18281.13309501312
      },
      "data" : {
        "val" : 263619.1875
      }
    }, {
      "md" : {
        "val" : 18281.14139501312
      },
      "data" : {
        "val" : 263619.1875
      }
    }, {
      "md" : {
        "val" : 18281.153303969815
      },
      "data" : {
        "val" : 263620.0313
      }
    }, {
      "md" : {
        "val" : 18281.15809501312
      },
      "data" : {
        "val" : 263620.0313
      }
    }, {
      "md" : {
        "val" : 18281.16639501312
      },
      "data" : {
        "val" : 263621.0
      }
    }, {
      "md" : {
        "val" : 18281.17472785433
      },
      "data" : {
        "val" : 263621.0
      }
    }, {
      "md" : {
        "val" : 18281.186375853016
      },
      "data" : {
        "val" : 263622.0313
      }
    }, {
      "md" : {
        "val" : 18281.19139501312
      },
      "data" : {
        "val" : 263622.0313
      }
    }, {
      "md" : {
        "val" : 18281.19969501312
      },
      "data" : {
        "val" : 263623.0625
      }
    }, {
      "md" : {
        "val" : 18281.20809501312
      },
      "data" : {
        "val" : 263623.0625
      }
    }, {
      "md" : {
        "val" : 18281.219675853015
      },
      "data" : {
        "val" : 263625.0313
      }
    }, {
      "md" : {
        "val" : 18281.224695045934
      },
      "data" : {
        "val" : 263625.0313
      }
    }, {
      "md" : {
        "val" : 18281.233127821524
      },
      "data" : {
        "val" : 263625.9375
      }
    }, {
      "md" : {
        "val" : 18281.24139501312
      },
      "data" : {
        "val" : 263625.9375
      }
    }, {
      "md" : {
        "val" : 18281.252975853015
      },
      "data" : {
        "val" : 263625.7813
      }
    }, {
      "md" : {
        "val" : 18281.25842309711
      },
      "data" : {
        "val" : 263625.7813
      }
    }, {
      "md" : {
        "val" : 18281.26639501312
      },
      "data" : {
        "val" : 263626.6875
      }
    }, {
      "md" : {
        "val" : 18281.27469501312
      },
      "data" : {
        "val" : 263626.6875
      }
    }, {
      "md" : {
        "val" : 18281.28309501312
      },
      "data" : {
        "val" : 263627.5938
      }
    }, {
      "md" : {
        "val" : 18281.29139501312
      },
      "data" : {
        "val" : 263627.5938
      }
    }, {
      "md" : {
        "val" : 18281.33253625328
      },
      "data" : {
        "val" : 263628.5625
      }
    }, {
      "md" : {
        "val" : 18281.34090341207
      },
      "data" : {
        "val" : 263628.5625
      }
    }, {
      "md" : {
        "val" : 18281.349203412068
      },
      "data" : {
        "val" : 263629.5313
      }
    }, {
      "md" : {
        "val" : 18281.35750341207
      },
      "data" : {
        "val" : 263629.5313
      }
    }, {
      "md" : {
        "val" : 18281.33309501312
      },
      "data" : {
        "val" : 263630.5
      }
    }, {
      "md" : {
        "val" : 18281.34139501312
      },
      "data" : {
        "val" : 263630.5
      }
    }, {
      "md" : {
        "val" : 18281.34969501312
      },
      "data" : {
        "val" : 263631.3538
      }
    }, {
      "md" : {
        "val" : 18281.35812782152
      },
      "data" : {
        "val" : 263631.3538
      }
    }, {
      "md" : {
        "val" : 18281.36672309711
      },
      "data" : {
        "val" : 263632.125
      }
    }, {
      "md" : {
        "val" : 18281.374695045928
      },
      "data" : {
        "val" : 263632.125
      }
    }, {
      "md" : {
        "val" : 18281.383095013123
      },
      "data" : {
        "val" : 263632.875
      }
    }, {
      "md" : {
        "val" : 18281.39139501312
      },
      "data" : {
        "val" : 263632.875
      }
    }, {
      "md" : {
        "val" : 18281.39969504593
      },
      "data" : {
        "val" : 263633.5313
      }
    }, {
      "md" : {
        "val" : 18281.40809501312
      },
      "data" : {
        "val" : 263633.5313
      }
    }, {
      "md" : {
        "val" : 18281.41639501312
      },
      "data" : {
        "val" : 263635.1875
      }
    }, {
      "md" : {
        "val" : 18281.42472782152
      },
      "data" : {
        "val" : 263635.1875
      }
    }, {
      "md" : {
        "val" : 18281.433095013123
      },
      "data" : {
        "val" : 263635.8125
      }
    }, {
      "md" : {
        "val" : 18281.44139501312
      },
      "data" : {
        "val" : 263635.8125
      }
    }, {
      "md" : {
        "val" : 18281.44969504593
      },
      "data" : {
        "val" : 263635.5063
      }
    }, {
      "md" : {
        "val" : 18281.458423097112
      },
      "data" : {
        "val" : 263635.5063
      }
    }, {
      "md" : {
        "val" : 18281.46639501312
      },
      "data" : {
        "val" : 263636.0313
      }
    }, {
      "md" : {
        "val" : 18281.47502309711
      },
      "data" : {
        "val" : 263636.0313
      }
    }, {
      "md" : {
        "val" : 18281.483127821517
      },
      "data" : {
        "val" : 263636.5938
      }
    }, {
      "md" : {
        "val" : 18281.491395013123
      },
      "data" : {
        "val" : 263636.5938
      }
    }, {
      "md" : {
        "val" : 18281.49969501312
      },
      "data" : {
        "val" : 263637.1875
      }
    }, {
      "md" : {
        "val" : 18281.50809501312
      },
      "data" : {
        "val" : 263637.1875
      }
    }, {
      "md" : {
        "val" : 18281.51639501312
      },
      "data" : {
        "val" : 263637.75
      }
    }, {
      "md" : {
        "val" : 18281.52469504593
      },
      "data" : {
        "val" : 263637.75
      }
    }, {
      "md" : {
        "val" : 18281.533095013117
      },
      "data" : {
        "val" : 263638.3125
      }
    }, {
      "md" : {
        "val" : 18281.541395013122
      },
      "data" : {
        "val" : 263638.3125
      }
    }, {
      "md" : {
        "val" : 18281.54972782152
      },
      "data" : {
        "val" : 263638.875
      }
    }, {
      "md" : {
        "val" : 18281.55809501312
      },
      "data" : {
        "val" : 263638.875
      }
    }, {
      "md" : {
        "val" : 18281.566723097112
      },
      "data" : {
        "val" : 263639.5375
      }
    }, {
      "md" : {
        "val" : 18281.57469501312
      },
      "data" : {
        "val" : 263639.5375
      }
    }, {
      "md" : {
        "val" : 18281.58309501312
      },
      "data" : {
        "val" : 263650.0
      }
    } ]
  } ]
}

GET /public/api/v1/mudlogs/{uuid}/data

Path parameter Description
uuid Mudlog UUID
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
logs[].uuid String Log UUID
logs[].name String Log name
logs[].log_points[].md.val Number MD (project units)
logs[].log_points[].data.val Number Data value

Errors

Error response body

All the errors have the following structure:

Path Type Description
message String The error details
type String Type of the error
trace_id String Trace ID of the request

400 Bad Request

The request cannot be fulfilled due to bad syntax, validation errors, missing data, etc.

Response

HTTP/1.1 400 Bad Request
{
  "message": "Missing required request parameters: offset",
  "trace_id": "d369294dba75b176",
  "type": "INVALID_PARAMETER"
}

401 Unauthorized

The request cannot be fulfilled due to incorrect access credentials, missing or invalid authentication token.

Response

HTTP/1.1 401 Unauthorized
{
  "message": "Unauthorized access",
  "trace_id": "d369294dba75b177",
  "type": "UNAUTHORIZED"
}

403 Forbidden

The request cannot be fulfilled due to lack of access to perform an operation.

Response

HTTP/1.1 403 Forbidden
{
  "message": "Access is denied",
  "trace_id": "d369294dba75b178",
  "type": "FORBIDDEN"
}

404 Not Found

The requested object not found.

Response

HTTP/1.1 404 Not Found
{
  "message": "No well found with uuid=df34fj4398f34098fj344",
  "trace_id": "d369294dba75b180",
  "type": "NOT_FOUND"
}

406 Not Acceptable

The parameters provided are incorrect.

Response

HTTP/1.1 406 Not Acceptable
{
    "type": "INVALID_PARAMETER",
    "message": "This interpretation's type is not supported",
    "trace_id": "d4e9313ff6267dd5"
}

500 Internal Server Error

The request cannot be fulfilled due to internal server error.

Response

HTTP/1.1 500 Internal server error
{
  "message": "Internal error",
  "trace_id": "d369294dba75b181",
  "type": "INTERNAL_ERROR"
}

503 Service Unavailable

The request cannot be fulfilled due to temporary server unavailability. Please retry the request later. You can find the detailed information in the error response body.

Response

HTTP/1.1 503 Service Unavailable
{
  "message": "Service is temporarily unavailable",
  "trace_id": "d369294dba75b182",
  "type": "SERVICE_UNAVAILABLE"
}

License agreement

Copyright 2022 Rogii Inc. These API Terms form a binding "Agreement" between You and Rogii Inc. (“Rogii”) "You," and "your," refers to the individual, company or legal entity that you represent. The Agreement does not grant You any right to access or use: (a) Solo Cloud platform and associated tools and applications (the "Services"); (b) any of Rogii’s non-public application programming interfaces; or (c) the confidential geoscience and drilling data owned by third parties stored in Solo Cloud. If You wish to access the Services, You will be required to enter into separate license agreements with Rogii for the Services.

DEFINITIONS

“Software Application” means software authored by You that accesses or otherwise interoperates with Solo Cloud via the Solo Cloud Public API.

“Solo Cloud” means Rogii’s proprietary multi-tenant cloud system and database which contains confidential geoscience and drilling data owned by third parties.

“Solo Cloud Public API” means a collection of routines, classes, function parameters, protocols, related libraries, tools and other instructions provided in source code or object code form that allow access to or interoperability with Solo Cloud by a Software Application.

“Python SDK” means the software development kit of tools developed by Rogii that enables access to the capabilities and features of Solo Cloud through the utilization of Solo Cloud Public API.

  1. Rogii grants You a world-wide, non-exclusive, revocable limited license, under applicable copyrights, to Use the Solo Cloud Public API or Python SDK, as applicable, only as necessary to develop, test, enable and support interoperability between the Software Application and Solo Cloud.

  2. You will not: (A) access Solo Cloud Public API or Python SDK or their documentation in violation of any law or regulation; (B) access Solo Cloud Public API or Python SDK in any manner that (i) compromises, breaks or circumvents any of Rogii’s technical processes or security measures associated with Solo Cloud, (ii) poses a security vulnerability to customers or users of Solo Cloud, or (iii) tests the vulnerability of Rogii’s systems or networks; (C) access Solo Cloud Public API or Python SDK or their documentation in order to replicate or compete with Solo Cloud; (D) attempt to reverse engineer or otherwise derive source code, trade secrets, or know-how of Solos Cloud API, Python SDK or Solo Cloud; or (E) attempt to use Solo Cloud Public API or Python SDK in a manner that exceeds rate limits, or constitutes excessive or abusive usage.

  3. The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

  4. THE SOLO CLOUD PUBLIC API, PYTHON SDK AND THEIR DOCUMENTATION AND ALL RELATED COMPONENTS AND INFORMATION ARE PROVIDED BY US ON AN "AS IS" AND "AS AVAILABLE" BASIS WITHOUT ANY WARRANTIES OF ANY KIND, AND WE EXPRESSLY DISCLAIM ANY AND ALL WARRANTIES, WHETHER EXPRESS OR IMPLIED, INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY, TITLE, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. YOU ACKNOWLEDGE THAT ROGII DOES NOT WARRANT THAT THE SOLO CLOUD PUBLIC API OR PYTHON SDK WILL BE UNINTERRUPTED, TIMELY, SECURE, ERROR-FREE, OR BACKWARDS COMPATIBLE.

  5. You shall defend, indemnify and hold harmless Rogii, its affiliates and their respective officers, directors, employees, agents and representatives from any and all claims, damages, liabilities, costs and fees (including reasonable attorneys’ fees) arising from the Software Application. The Parties agree to comply with the following process when Rogii seeks indemnification under this section and specifically that Rogii is to: (i) promptly give You written notice of the claim; (ii) give You sole control of the defense and settlement of the claim (provided that You may not settle any claim unless it unconditionally releases Rogii of all liability); and (iii) provide You, at Your cost, all reasonable assistance.

  6. TO THE EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL ROGII BE RESPONSIBLE OR LIABLE WITH RESPECT TO ANY SUBJECT MATTER OF THIS AGREEMENT UNDER ANY CONTRACT, NEGLIGENCE, STRICT LIABILITY OR OTHER THEORY FOR: (I) LOSS OR INACCURACY OF DATA OR COST OF PROCUREMENT OF SUBSTITUTE GOODS, SERVICES, OR TECHNOLOGY; OR (II) ANY INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES INCLUDING, BUT NOT LIMITED TO LOSS OF REVENUES OR PROFITS; (III) ANY MATTER BEYOND ITS REASONABLE CONTROL; OR (IV) ANY AMOUNT IN THE AGGREGATE OVER $100

  7. Rogii may terminate this Agreement immediately upon written notice if You breach this Agreement. Rogii may, at its sole discretion, reinstate Your ability to use the Solo Cloud Public API if You demonstrate that You have remedied any such breach.

  8. Notwithstanding the foregoing, Sections 4-6 of this Agreement will survive any termination of this Agreement.