NAV
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: 0ac4493c82f8f8c3
X-Solo-Device-Identifier: qjufUNBRdplQcUEsDg15M9k9bvW+cBzLrpL33rMGfcDaufv1CQW1R6hTzlMuuaL8JRmc/p1i9Ll6Sz2PjBnEhQ==
Set-Cookie: device-identifier=qjufUNBRdplQcUEsDg15M9k9bvW+cBzLrpL33rMGfcDaufv1CQW1R6hTzlMuuaL8JRmc/p1i9Ll6Sz2PjBnEhQ==; HttpOnly; SameSite=Strict
Set-Cookie: SESSION=NWViZmM3NGUtMzEwZC00MDJhLWIyZDgtYjY3ODAyMDU1YzIz; Max-Age=2147483647; Expires=Tue, 12 May 2093 13:25:41 GMT; Path=/; HttpOnly; SameSite=Strict
Set-Cookie: SSO-SESSION=NWViZmM3NGUtMzEwZC00MDJhLWIyZDgtYjY3ODAyMDU1YzIz; Max-Age=2147483647; Expires=Tue, 12 May 2093 13:25:41 GMT; Domain=solo.cloud; Path=/; HttpOnly; SameSite=Strict
Authorization: 5ebfc74e-310d-402a-b2d8-b67802055c23
Content-Type: application/json;charset=UTF-8

{
  "access_token" : "eyJraWQiOiJlNWJmYTViYS0yMmMxLTQwMWItYWMwYy1iZTA2NGNmOWIyNzEiLCJhbGciOiJSUzI1NiJ9.eyJjb21wYW55X2lkIjoyMDAwMywiY2xpZW50X2FwcF9pZCI6InBhcGkiLCJ1c2VyX25hbWUiOiJ0ZXN0K2FwaUB0ZXN0LmNvbSIsImNsaWVudF9pbml0X2lwIjoiMTAuNDIuMC4xMjkiLCJ1c2VyX2RpZ2VzdCI6IjhiOWVlYTM3NzciLCJhdXRob3JpdGllcyI6WyJST0xFX1NUQUZGIl0sImNsaWVudF9pZCI6InNvbG8tYXBpLWNsaWVudC1pZCIsImF1ZCI6InNvbG8tcHVibGljLWFwaSIsInVzZXJfaWQiOjE0OTcsInNjb3BlIjpbInJlYWQiXSwiZXhwIjoxNzQ1NDk5NDk0LCJpYXQiOjE3NDU0ODk0OTQsImp0aSI6IjUyOTk2ODMwLTk4OWYtNDYyYy04NzJmLTM5NWEzNDVjYmM2ZSJ9.ud5nLYMaYtB6txz4SIFC15lUURhJ-D7MBWf_CjzsXr7EzQzOlSd2qAm2JQZXnxxB24R1ZcripInVhe_eIJ10HM9biJLJ3qLSiuEaKf_gmDiIl2SOnoqfvE8Ae3vi6zN5RxDG4_NeABGar2EVZ8kaCNUu05Kh_KsyKTXvH7JMtszgObzF9lwkDAxM4sjyU4hCuk5UODEfGIZrCr_FZfoBVWxLam7sEJq8gABHmwY8MDXvenrIVj-y9AY4BDpHjDASTCsuxll9Wv85LzzMn9-dcprcZW81eF1MzNdRFRj-wTOCRQpKi0qux8ipcdBxx-Anj-fVN2uNA7CO8mM2jD30cA",
  "refresh_token" : "eyJraWQiOiJlNWJmYTViYS0yMmMxLTQwMWItYWMwYy1iZTA2NGNmOWIyNzEiLCJhbGciOiJSUzI1NiJ9.eyJjb21wYW55X2lkIjoyMDAwMywiY2xpZW50X2FwcF9pZCI6InBhcGkiLCJ1c2VyX25hbWUiOiJ0ZXN0K2FwaUB0ZXN0LmNvbSIsImNsaWVudF9pbml0X2lwIjoiMTAuNDIuMC4xMjkiLCJ1c2VyX2RpZ2VzdCI6IjhiOWVlYTM3NzciLCJhdXRob3JpdGllcyI6WyJST0xFX1NUQUZGIl0sImNsaWVudF9pZCI6InNvbG8tYXBpLWNsaWVudC1pZCIsImF1ZCI6InNvbG8tcHVibGljLWFwaSIsInVzZXJfaWQiOjE0OTcsInNjb3BlIjpbInJlYWQiXSwiZXhwIjoxNzQ1NTE5NDk0LCJpYXQiOjE3NDU0ODk0OTQsImp0aSI6ImE1MmUzOTEyLTBmNTgtNDU2NS1hOWUyLWMwNWVhMTg1MmEzNSJ9.F-UgspiyW8jy8gI_MvL3lSJJRncPVtZGpPF5wRA_KB58gRp_hVgs_bkfUDPx_CsQapMmPSDx3zQx_fWKncuVAyVdG8jt4mWoysMBRLf60bClp-tOKOpamJqzFq5-sksmF06rSfTsSuU6R9a4asMsfeXu51n4xWT7to2R1jN0-jC3lG-6zFUKw0Zm5VMDVpQQTDSWxjQ4vBBRALTsq74uJuiUEE1KthuU1XuNCZ25JYqUJtuxXJoLN6fhCG5jL-5BvNxgUnPdLKvlM0OuKbt-cu3lwN8W3_iz0MqkqAcGPQh_t_ayp0wzzzq3ATyEiRYOvhwV616sVZO60RgMNZrzow",
  "scope" : "read",
  "token_type" : "Bearer",
  "expires_in" : 9999,
  "iat" : 1745489494,
  "jti" : "52996830-989f-462c-872f-395a345cbc6e"
}

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?filter=pApi&offset=0&limit=20' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/projects?filter=pApi&offset=0&limit=20 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: f8000e1fc7536afd
Content-Type: application/json

{
  "content" : [ {
    "uuid" : "8bf042c9-1a24-41c3-802d-83ff03f87a1d",
    "name" : "Papi test project 1",
    "measure_unit" : "FOOT",
    "role" : "MANAGER",
    "accessed_on" : "2025-04-24T10:10:44Z",
    "modified_on" : "2025-04-24T10:10:44Z"
  }, {
    "uuid" : "0229d323-a86d-43dd-bc93-915db41ba47e",
    "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" : "2025-04-24T10:10:44Z",
    "modified_on" : "2025-04-24T10:10:44Z"
  }, {
    "uuid" : "7646138d-bc37-451f-bc69-dcd20f3d6742",
    "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" : "2025-04-24T10:10:44Z",
    "modified_on" : "2025-04-24T10:10:44Z"
  } ],
  "offset" : 0,
  "limit" : 20,
  "total" : 3,
  "last" : true,
  "first" : 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 paginations. Virtual projects use a subset of data from a Global Project and have their own access roles defined in the SOLO Admin Panel. They can be easily managed for specific users and any changes made are updated across the database. Data added to a Virtual Project is also added to the corresponding Global Project

Request

$ curl 'https://solo.cloud/public/api/v1/projects/virtual?filter=pApi&offset=0&limit=20' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/projects/virtual?filter=pApi&offset=0&limit=20 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: 91ed9cf01f09b8a8
Content-Type: application/json

{
  "content" : [ {
    "uuid" : "4218b64e-78cb-47eb-bb6e-e146b19cd18b",
    "name" : "Virtual Papi test project 1",
    "measure_unit" : "FOOT",
    "role" : "MANAGER",
    "parent_uuid" : "8bf042c9-1a24-41c3-802d-83ff03f87a1d",
    "parent_name" : "Papi test project 1",
    "virtual" : true,
    "modified_on" : "2025-04-24T10:10:44Z"
  }, {
    "uuid" : "64cb566c-c44b-4035-8a54-086ae9b509cf",
    "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" : "0229d323-a86d-43dd-bc93-915db41ba47e",
    "parent_name" : "Papi test project 2",
    "virtual" : true,
    "modified_on" : "2025-04-24T10:10:44Z"
  }, {
    "uuid" : "f5f66f3f-9074-4c80-9ada-c1e92050cf87",
    "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" : "7646138d-bc37-451f-bc69-dcd20f3d6742",
    "parent_name" : "Papi test project 3",
    "virtual" : true,
    "modified_on" : "2025-04-24T10:10:44Z"
  } ],
  "offset" : 0,
  "limit" : 20,
  "total" : 3,
  "last" : true,
  "first" : 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/7646138d-bc37-451f-bc69-dcd20f3d6742' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/projects/7646138d-bc37-451f-bc69-dcd20f3d6742 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: d89ac357c1362a24
Content-Type: application/json

{
  "uuid" : "7646138d-bc37-451f-bc69-dcd20f3d6742",
  "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" : "2025-04-24T10:10:44Z",
  "modified_on" : "2025-04-24T10:10:44Z"
}

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

Get recently updated objects

Get recently updated project objects

Request

$ curl 'https://solo.cloud/public/api/v1/projects/7646138d-bc37-451f-bc69-dcd20f3d6742/changes' -i -X POST \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "modified_since" : "2025-04-24T10:09:44.859Z"
}'
POST /public/api/v1/projects/7646138d-bc37-451f-bc69-dcd20f3d6742/changes HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 51

{
  "modified_since" : "2025-04-24T10:09:44.859Z"
}

Response

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

{
  "content" : [ {
    "uuid" : "33248b53-ed3f-4e10-8232-e57609480b6a",
    "type" : "WELL",
    "operation" : "CREATE"
  }, {
    "uuid" : "b25939f2-fa7e-46fa-b657-ecccb390d59d",
    "type" : "TYPEWELL",
    "operation" : "CREATE"
  } ],
  "modified_on" : "2025-04-24T10:10:45.504Z",
  "modified_at" : "2025-04-24T10:10:45.504+00:00"
}

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

Path parameter Description
uuid Project UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
modified_since String Date/time project modifications request since (pay attention to format)

Response body

Path Type Description
content Array Content array
modified_at String Date/time project last modified at
content[].uuid String Project object UUID
content[].type String Project object type
content[].operation String Operation performed on the object

2. Laterals

Create lateral

Create lateral by project UUID

Request

$ curl 'https://solo.cloud/public/api/v1/projects/13c38ab5-ac1f-4825-8326-111073e75360/wells' -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/13c38ab5-ac1f-4825-8326-111073e75360/wells 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: ab8dd574753e47f4
Content-Type: application/json

{
  "uuid" : "7ebf2068-99ca-4891-8653-69ff8e040b52"
}

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

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 laterals by project

Get a list of laterals by project UUID with pagination

Request

$ curl 'https://solo.cloud/public/api/v1/projects/13c38ab5-ac1f-4825-8326-111073e75360/wells?offset=0&limit=10&filter=oNe' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/projects/13c38ab5-ac1f-4825-8326-111073e75360/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: dc6c91dc50264e3f
Content-Type: application/json

{
  "content" : [ {
    "uuid" : "1daa388b-3b3f-4b45-8255-7af83689a2dd",
    "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,
  "last" : true,
  "first" : true
}

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

Path parameter Description
uuid 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

Get laterals by API filter

Get a list of laterals by API filter with pagination

Request

$ curl 'https://solo.cloud/public/api/v1/wells/api-filtered?offset=0&limit=10&filter=lateral%20t' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/api-filtered?offset=0&limit=10&filter=lateral%20t HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

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

{
  "content" : [ {
    "uuid" : "8d3b8567-4a6f-4dd7-b1d6-1f5b7c08367c",
    "name" : "Lateral two",
    "api" : "api lateral two",
    "flags" : {
      "has_logs" : false,
      "has_topsets" : false,
      "has_interpretations" : false,
      "has_nested_wells" : false,
      "has_mudlogs" : false,
      "has_target_lines" : false
    },
    "project_uuid" : "13c38ab5-ac1f-4825-8326-111073e75360",
    "project_role" : "MANAGER"
  }, {
    "uuid" : "4e29b795-9214-48c7-9549-858017f91229",
    "name" : "Lateral three",
    "api" : "api lateral three",
    "flags" : {
      "has_logs" : false,
      "has_topsets" : false,
      "has_interpretations" : false,
      "has_nested_wells" : false,
      "has_mudlogs" : false,
      "has_target_lines" : false
    },
    "project_uuid" : "13c38ab5-ac1f-4825-8326-111073e75360",
    "project_role" : "MANAGER"
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 2,
  "last" : true,
  "first" : true
}

GET /public/api/v1/wells/api-filtered

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 'api' 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 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
content[].project_uuid String Project UUID
content[].project_role String Role

Get lateral metadata

Get lateral metadata

Request

$ curl 'https://solo.cloud/public/api/v1/wells/4e29b795-9214-48c7-9549-858017f91229' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/4e29b795-9214-48c7-9549-858017f91229 HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

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

{
  "uuid" : "4e29b795-9214-48c7-9549-858017f91229",
  "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/{uuid}

Path parameter Description
uuid 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
last_feed_stream_date String Timestamp of last update by Solo Feed

Get lateral trajectory

Get lateral trajectory data by lateral UUID

Request

$ curl 'https://solo.cloud/public/api/v1/wells/02ea2618-3c16-4fab-aab9-f27df9eaa843/trajectory' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/02ea2618-3c16-4fab-aab9-f27df9eaa843/trajectory HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: fb4c8744b6742e3a
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/{uuid}/trajectory

Path parameter Description
uuid 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)

Get lateral ellipses

Get lateral ellipses data by lateral UUID

Request

$ curl 'https://solo.cloud/public/api/v1/laterals/1c3b4aba-b13e-40ac-9c78-15bc18fdf847/ellipses' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/laterals/1c3b4aba-b13e-40ac-9c78-15bc18fdf847/ellipses HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

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

{
  "content" : [ {
    "index" : 10.0,
    "value" : {
      "nev" : [ 14.99, 98.23, 41.2, 67.78, 23.89, 12.31, 55.43, 11.23, 34.33 ],
      "messages" : [ ]
    }
  } ]
}

GET /public/api/v1/laterals/{lateralUuid}/ellipses

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

Response body

Path Type Description
content Array Ellipses points array
content[].index Number Measured Depth value
content[].value.nev Array Ellipse attributes
content[].value.messages Array Comments

Get starred objects

Get starred objects by lateral UUID

Request

$ curl 'https://solo.cloud/public/api/v1/wells/65faef17-84e5-4114-872d-8e10c6e5c6d0/starred' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/wells/65faef17-84e5-4114-872d-8e10c6e5c6d0/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: e9a4e8705de917ea
Content-Type: application/json

{
  "target_line" : "7ac5f1fe-4fac-4ad8-927a-3c272af46342",
  "nested_well" : "c056aa40-8b16-41d4-87e9-1be82bb64e9e",
  "interpretation" : "655b74dc-42d0-4e4c-beda-3d10ed2e76bc",
  "topset" : "34152ef3-b6c8-4bf8-9e1a-3fa0ffe7858b"
}

GET /public/api/v1/wells/{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/wells/1a80c975-3d19-43a2-89b4-f61177bbf187/linked?offset=0&limit=10' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/wells/1a80c975-3d19-43a2-89b4-f61177bbf187/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: 57c94ed28c9a2a76
Content-Type: application/json

{
  "content" : [ {
    "shift" : {
      "val" : 1640.4199475065616
    },
    "typewell_id" : "ee1e0de9-6400-4be8-a994-713aefa73a92"
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 1,
  "last" : true,
  "first" : true
}

GET /public/api/v1/wells/{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

Get bit projection

Get bit projection by lateral UUID

Request

$ curl 'https://solo.cloud/public/api/v1/wells/fd68ee58-9889-4dda-a315-431713def39c/bitprojection' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/wells/fd68ee58-9889-4dda-a315-431713def39c/bitprojection 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: 864aae17a1fdc573
Content-Type: application/json

{
  "mode" : "CALCULATED",
  "sub_mode" : "DLS_TF",
  "distance_to_bit" : {
    "val" : 30.0
  },
  "dls" : {
    "val" : 9.499999999999998
  },
  "tool_face" : {
    "val" : 120.49999999999999
  },
  "continuous_inclination_log" : "00000000-0000-0000-0000-000000000000",
  "last_log_point_log" : "00000000-0000-0000-0000-000000000000"
}

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

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

Response body

Path Type Description
mode String Can be [OFF, CALCULATED, PREDEFINED]
sub_mode String Can be [TREND, DLS_TF, CONT_INCL_LOG]
distance_to_bit.val Number Distance to Bit (range [0; 100000])
dls.val Number Dogleg Severity value (range [0; 60])
tool_face.val Number Tool face value (range [-180; 180])
continuous_inclination_log String Continuous inclination log UUID
last_log_point_log String Last point log UUID

Update lateral metadata

Update lateral metadata

Request

$ curl 'https://solo.cloud/public/api/v1/wells/1daa388b-3b3f-4b45-8255-7af83689a2dd' -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/1daa388b-3b3f-4b45-8255-7af83689a2dd 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: f1bc2ad33226c8a5

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

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/1daa388b-3b3f-4b45-8255-7af83689a2dd/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/1daa388b-3b3f-4b45-8255-7af83689a2dd/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: daaf603220ec121e

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/1daa388b-3b3f-4b45-8255-7af83689a2dd/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/1daa388b-3b3f-4b45-8255-7af83689a2dd/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: ed4879adf330d812

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/wells/65faef17-84e5-4114-872d-8e10c6e5c6d0/starred' -i -X PUT \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "targetline" : "7ac5f1fe-4fac-4ad8-927a-3c272af46342",
  "nestedwell" : "c056aa40-8b16-41d4-87e9-1be82bb64e9e",
  "interpretation" : "655b74dc-42d0-4e4c-beda-3d10ed2e76bc",
  "topset" : "34152ef3-b6c8-4bf8-9e1a-3fa0ffe7858b"
}'
PUT /public/api/v1/wells/65faef17-84e5-4114-872d-8e10c6e5c6d0/starred HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 230

{
  "targetline" : "7ac5f1fe-4fac-4ad8-927a-3c272af46342",
  "nestedwell" : "c056aa40-8b16-41d4-87e9-1be82bb64e9e",
  "interpretation" : "655b74dc-42d0-4e4c-beda-3d10ed2e76bc",
  "topset" : "34152ef3-b6c8-4bf8-9e1a-3fa0ffe7858b"
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 6d72f22d2a94a9d9

PUT /public/api/v1/wells/{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

Set bit projection

Set bit projection by lateral UUID

Request

$ curl 'https://solo.cloud/public/api/v1/wells/5a105fba-63b9-4499-a3bf-535b2de095a0/bitprojection' -i -X PUT \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "mode" : "CALCULATED",
  "sub_mode" : "DLS_TF",
  "distance_to_bit" : {
    "val" : 30.0
  },
  "dls" : {
    "val" : 9.5
  },
  "tool_face" : {
    "val" : 120.5
  },
  "last_log_point_log" : "00000000-0000-0000-0000-000000000000"
}'
PUT /public/api/v1/wells/5a105fba-63b9-4499-a3bf-535b2de095a0/bitprojection HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 237

{
  "mode" : "CALCULATED",
  "sub_mode" : "DLS_TF",
  "distance_to_bit" : {
    "val" : 30.0
  },
  "dls" : {
    "val" : 9.5
  },
  "tool_face" : {
    "val" : 120.5
  },
  "last_log_point_log" : "00000000-0000-0000-0000-000000000000"
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 8150dc61df7a11c4

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

Path parameter Description
uuid Lateral UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
mode String Can be [OFF, CALCULATED, PREDEFINED]
sub_mode String Can be [TREND, DLS_TF, CONT_INCL_LOG] for CALCULATED mode
distance_to_bit.val Number Distance to Bit (range [0; 100000])
dls.val Number Dogleg Severity value (range [0; 60])
tool_face.val Number Tool face value (range [-180; 180])
continuous_inclination_log String Continuous inclination log UUID
last_log_point_log String Last point log UUID

Response body

Empty body

Lock lateral

Lock lateral by UUID

Request

$ curl 'https://solo.cloud/public/api/v1/wells/411e47f7-da67-487b-a78c-5d2095780c3c/lock' -i -X PATCH \
    -H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/wells/411e47f7-da67-487b-a78c-5d2095780c3c/lock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 809405a91bbc0423

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

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

Response body

Empty body

Unlock lateral

Unlock lateral by UUID

Request

$ curl 'https://solo.cloud/public/api/v1/wells/f33978c7-f779-4173-a8a3-a5944997c9dd/unlock' -i -X PATCH \
    -H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/wells/f33978c7-f779-4173-a8a3-a5944997c9dd/unlock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 51eba0cf7a50094a

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

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

Response body

Empty body

3. Interpretations

Create interpretation

Create interpretation by lateral UUID

Request

$ curl 'https://solo.cloud/public/api/v1/wells/e8a1e7b1-5a63-4807-b379-ccab9825a250/interpretations' -i -X POST \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Interpretation name"
}'
POST /public/api/v1/wells/e8a1e7b1-5a63-4807-b379-ccab9825a250/interpretations HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 36

{
  "name" : "Interpretation name"
}

Response

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

{
  "uuid" : "bb5d0646-1aba-440e-8cfc-33423c6dd9e8"
}

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

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

Response body

Path Type Description
uuid String Created interpretation UUID

Get interpretations by lateral

Get a list of interpretations by lateral UUID with pagination

Request

$ curl 'https://solo.cloud/public/api/v1/wells/e8a1e7b1-5a63-4807-b379-ccab9825a250/interpretations?filter=test&offset=0&limit=20' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/wells/e8a1e7b1-5a63-4807-b379-ccab9825a250/interpretations?filter=test&offset=0&limit=20 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: f338c1192863a2f5
Content-Type: application/json

{
  "content" : [ {
    "uuid" : "d1a6190d-6978-40bb-8262-9331d19b70b0",
    "name" : "test interpretation 1",
    "format" : {
      "extension_grid_uuid" : "00000000-0000-0000-0000-000000000000",
      "reverse_extension" : false
    }
  }, {
    "uuid" : "1ddced2a-cd73-40d7-b7a7-4740478e785d",
    "name" : "test interpretation 2",
    "format" : {
      "extension_grid_uuid" : "00000000-0000-0000-0000-000000000000",
      "reverse_extension" : false
    }
  } ],
  "offset" : 0,
  "limit" : 20,
  "total" : 2,
  "last" : true,
  "first" : 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
content[].format.extension_grid_uuid String Extension grid UUID
content[].format.reverse_extension Boolean Is it reverse extension or not

Get starred objects

Get starred objects by interpretation UUID

Request

$ curl 'https://solo.cloud/public/api/v1/interpretations/e6783a9f-bf16-43b3-85b4-dba909b59707/starred' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/interpretations/e6783a9f-bf16-43b3-85b4-dba909b59707/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: 4a0dcf17bdbc6030
Content-Type: application/json

{
  "top" : "651cbc37-35df-4a69-9af5-828fd068af8d",
  "center" : "1f3239d4-9310-4258-9ba5-33912da86f09",
  "bottom" : "7328e5f6-6be2-4879-b361-e9d11a1dba59"
}

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

Set starred objects

Set starred objects by interpretation UUID

Request

$ curl 'https://solo.cloud/public/api/v1/interpretations/e6783a9f-bf16-43b3-85b4-dba909b59707/starred' -i -X PUT \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "top" : "651cbc37-35df-4a69-9af5-828fd068af8d",
  "center" : "1f3239d4-9310-4258-9ba5-33912da86f09",
  "bottom" : "7328e5f6-6be2-4879-b361-e9d11a1dba59"
}'
PUT /public/api/v1/interpretations/e6783a9f-bf16-43b3-85b4-dba909b59707/starred HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 158

{
  "top" : "651cbc37-35df-4a69-9af5-828fd068af8d",
  "center" : "1f3239d4-9310-4258-9ba5-33912da86f09",
  "bottom" : "7328e5f6-6be2-4879-b361-e9d11a1dba59"
}

Response

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

PUT /public/api/v1/interpretations/{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 auto-typewells by interpretation

Get a list of auto-typewells by interpretation UUID

Request

$ curl 'https://solo.cloud/public/api/v1/interpretations/514b32fd-7c77-45eb-9ae3-131644ee1f46/autotypewells' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/interpretations/514b32fd-7c77-45eb-9ae3-131644ee1f46/autotypewells 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: 7e4a9c64ebc404d2
Content-Type: application/json

{
  "content" : [ {
    "auto_typewell_uuid" : "8f61f17f-8cd3-4400-9cae-31e382e2b849"
  } ]
}

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

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

Response body

Path Type Description
content Array Content array
content[].auto_typewell_uuid String Auto-typewell UUID

Lock interpretation

Lock interpretation by UUID

Request

$ curl 'https://solo.cloud/public/api/v1/interpretations/211cc0de-0f7b-40a1-a25a-72660e1030ff/lock' -i -X PATCH \
    -H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/interpretations/211cc0de-0f7b-40a1-a25a-72660e1030ff/lock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 339ad9f9fc6cdd20

PATCH /public/api/v1/interpretations/{uuid}/lock

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

Response body

Empty body

Unlock interpretation

Unlock interpretation by UUID

Request

$ curl 'https://solo.cloud/public/api/v1/interpretations/9e925ef5-90f7-45b8-990d-2f97522047ef/unlock' -i -X PATCH \
    -H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/interpretations/9e925ef5-90f7-45b8-990d-2f97522047ef/unlock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 6cb0cb46bce4b55f

PATCH /public/api/v1/interpretations/{uuid}/unlock

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

Response body

Empty body

4. Horizons

Get horizons metadata

Get a list of horizons by interpretation UUID with pagination

Request

$ curl 'https://solo.cloud/public/api/v1/interpretations/ab7a21db-5348-4e4d-b305-bee42236d795/horizons?filter=tEst&offset=0&limit=20' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/interpretations/ab7a21db-5348-4e4d-b305-bee42236d795/horizons?filter=tEst&offset=0&limit=20 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: 37fbeb27a1f097b7
Content-Type: application/json

{
  "content" : [ {
    "uuid" : "d31b3121-a529-4b65-8cf2-09ddb49dc660",
    "name" : "Test horizon 1"
  }, {
    "uuid" : "ad729854-7221-484b-bc00-6068e1c97b94",
    "name" : "Test horizon 2"
  }, {
    "uuid" : "71c6186c-c58c-43c7-ac75-65610a46b870",
    "name" : "Test horizon 3"
  } ],
  "offset" : 0,
  "limit" : 20,
  "total" : 3,
  "last" : true,
  "first" : true
}

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

Path parameter Description
uuid 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/b6c9f457-b3d0-4ea9-a53d-3e8be37f3650/horizons/data/spacing/5000' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/interpretations/b6c9f457-b3d0-4ea9-a53d-3e8be37f3650/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: 114802f121be8f5f
Content-Type: application/json

{
  "content" : [ {
    "azimuth" : {
      "val" : 71.543
    },
    "horizons" : [ {
      "name" : "!new Hor",
      "tvdss" : {
        "val" : 22.965879265091868
      },
      "uuid" : "8882251f-3920-43b6-bfe1-16f7e60ec6d3"
    }, {
      "name" : "Horizon1",
      "tvdss" : {
        "val" : -3257.8740157480324
      },
      "uuid" : "bf7f4543-e864-4421-98ee-e22699d6ba3c"
    } ],
    "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" : "8882251f-3920-43b6-bfe1-16f7e60ec6d3"
    }, {
      "name" : "Horizon1",
      "tvdss" : {
        "val" : -3257.8740157480324
      },
      "uuid" : "bf7f4543-e864-4421-98ee-e22699d6ba3c"
    } ],
    "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/09dd3594-b44f-48be-8b56-19163e47eb32/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/09dd3594-b44f-48be-8b56-19163e47eb32/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: a89e0e3e50ea1325
Content-Type: application/json

{
  "content" : [ {
    "azimuth" : {
      "val" : 71.543
    },
    "horizons" : [ {
      "name" : "!new Hor",
      "tvdss" : {
        "val" : 22.965879265091868
      },
      "uuid" : "8882251f-3920-43b6-bfe1-16f7e60ec6d3"
    }, {
      "name" : "Horizon1",
      "tvdss" : {
        "val" : -3257.8740157480324
      },
      "uuid" : "bf7f4543-e864-4421-98ee-e22699d6ba3c"
    } ],
    "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" : "8882251f-3920-43b6-bfe1-16f7e60ec6d3"
    }, {
      "name" : "Horizon1",
      "tvdss" : {
        "val" : -3257.8740157480324
      },
      "uuid" : "bf7f4543-e864-4421-98ee-e22699d6ba3c"
    } ],
    "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" : {
    "uuid" : "b6c9f457-b3d0-4ea9-a53d-3e8be37f3650",
    "name" : "Interpretation"
  },
  "offset" : 0,
  "limit" : 1,
  "total" : 1,
  "last" : true,
  "first" : 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

Create nested well

Create nested well. Another term for a Nested well is a well plan. It's often referred to as a 'well plan object' in StarSteer and Solo

Request

$ curl 'https://solo.cloud/public/api/v1/wells/3310fde5-c15d-4c58-bc85-111c637ddddd/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/3310fde5-c15d-4c58-bc85-111c637ddddd/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: fd4490661e634dd1
Content-Type: application/json

{
  "uuid" : "43d85572-7bfa-4444-814e-87063a12d19c"
}

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 wells by lateral

Get a list of nested wells by lateral UUID with pagination

Request

$ curl 'https://solo.cloud/public/api/v1/wells/d3f2b16f-84ad-4b88-8b2f-18ef418b4771/nestedwells?offset=0&limit=10&filter=oNe' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/d3f2b16f-84ad-4b88-8b2f-18ef418b4771/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: 3f138627b761667e
Content-Type: application/json

{
  "content" : [ {
    "uuid" : "ab4495ff-7950-40bf-b68f-70bd662375ae",
    "name" : "Nested well one",
    "api" : "api nested well",
    "flags" : {
      "has_topsets" : false
    }
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 1,
  "last" : true,
  "first" : true
}

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

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 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

Get nested well metadata

Get nested well metadata data by UUID

Request

$ curl 'https://solo.cloud/public/api/v1/nestedwells/acc59df6-c007-4e51-a167-d10af3397013' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/nestedwells/acc59df6-c007-4e51-a167-d10af3397013 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: d85b66cebc11708a
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
corridor_top.val Number Corridor Top value
corridor_base.val Number Corridor Base value

Get nested well trajectory

Get nested well trajectory data by nested well UUID

Request

$ curl 'https://solo.cloud/public/api/v1/nestedwells/d28f83a6-4265-4677-ae28-9aa2f66ea4f6/trajectory' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/nestedwells/d28f83a6-4265-4677-ae28-9aa2f66ea4f6/trajectory HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 3a12207d3a748451
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/{uuid}/trajectory

Path parameter Description
uuid 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)

Get nested well ellipses

Get nested well ellipses data by nested well UUID

Request

$ curl 'https://solo.cloud/public/api/v1/nestedwells/c4f525a0-71a9-4305-ac96-fb0d8b0e9b3a/ellipses' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/nestedwells/c4f525a0-71a9-4305-ac96-fb0d8b0e9b3a/ellipses HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

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

{
  "content" : [ {
    "index" : 10.0,
    "value" : {
      "nev" : [ 14.99, 98.23, 41.2, 67.78, 23.89, 12.31, 55.43, 11.23, 34.33 ],
      "messages" : [ ]
    }
  } ]
}

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

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

Response body

Path Type Description
content Array Ellipses points array
content[].index Number Measured Depth value
content[].value.nev Array Ellipse attributes
content[].value.messages Array Comments

Get starred topset

Get starred topset by nested well UUID

Request

$ curl 'https://solo.cloud/public/api/v1/nestedwells/a462f920-a81f-4ef5-8fda-4d75ed24938c/starred' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/nestedwells/a462f920-a81f-4ef5-8fda-4d75ed24938c/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: e88f0617449092f2
Content-Type: application/json

{
  "topset" : "ac35640b-35b9-4eeb-b82c-2dcc817eae35"
}

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

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

Response body

Path Type Description
topset String Starred topset UUID

Update nested well metadata

Update nested well metadata

Request

$ curl 'https://solo.cloud/public/api/v1/nestedwells/5f4b75e5-a99e-4355-8228-1fa24c7f64f7' -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/5f4b75e5-a99e-4355-8228-1fa24c7f64f7 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: 81cdb7d6fb8f5aa0

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

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/a2e32642-d0c5-476c-be1c-1a7b1de4e5ad/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/a2e32642-d0c5-476c-be1c-1a7b1de4e5ad/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: 12bd1106a2f2de4e

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/8b20b22a-c9c2-4d8c-a87c-8fb471bfb452/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/8b20b22a-c9c2-4d8c-a87c-8fb471bfb452/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: 85cd64d909b9889b

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/5fcc5435-3786-4c58-9a6c-9dbd3a113ebe/starred' -i -X PUT \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "topset" : "fdae22ab-4802-47a9-af03-49945fb801fe"
}'
PUT /public/api/v1/nestedwells/5fcc5435-3786-4c58-9a6c-9dbd3a113ebe/starred HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 55

{
  "topset" : "fdae22ab-4802-47a9-af03-49945fb801fe"
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 3b1a700de2e02234

PUT /public/api/v1/nestedwells/{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

Lock nested well

Lock nested well by UUID

Request

$ curl 'https://solo.cloud/public/api/v1/nestedwells/b35daf3d-b728-4590-aae5-9c94519ec6a2/lock' -i -X PATCH \
    -H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/nestedwells/b35daf3d-b728-4590-aae5-9c94519ec6a2/lock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 5125b9510fe75559

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

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

Response body

Empty body

Unlock nested well

Unlock nested well by UUID

Request

$ curl 'https://solo.cloud/public/api/v1/nestedwells/cd765d57-80ca-4c37-b8b0-4eeab48d20d4/unlock' -i -X PATCH \
    -H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/nestedwells/cd765d57-80ca-4c37-b8b0-4eeab48d20d4/unlock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 91c29ddeb3037b39

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

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

Response body

Empty body

6. Typewells

Create typewell

Create typewell by project UUID

Request

$ curl 'https://solo.cloud/public/api/v1/projects/23673748-d8c4-415c-b4fd-b261dd2424fe/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/23673748-d8c4-415c-b4fd-b261dd2424fe/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: 5ba768e99651ad12
Content-Type: application/json

{
  "uuid" : "c69fdd1a-a6cc-420c-af61-4e781beecf61"
}

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 typewells by project

Get a list of typewells by project UUID with pagination

Request

$ curl 'https://solo.cloud/public/api/v1/projects/23673748-d8c4-415c-b4fd-b261dd2424fe/typewells?offset=0&limit=10&filter=oNe' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/projects/23673748-d8c4-415c-b4fd-b261dd2424fe/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: 4de0629eb9348138
Content-Type: application/json

{
  "content" : [ {
    "uuid" : "f35279c1-2d15-4e28-8028-668b42b0c09d",
    "name" : "Typewell one",
    "api" : "api typewell one",
    "flags" : {
      "has_logs" : false,
      "has_topsets" : false,
      "has_mudlogs" : false
    }
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 1,
  "last" : true,
  "first" : true
}

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

Path parameter Description
uuid 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

Get typewell metadata

Get typewell metadata

Request

$ curl 'https://solo.cloud/public/api/v1/typewells/919be829-d923-4fa6-8087-dd9115351e1f' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/typewells/919be829-d923-4fa6-8087-dd9115351e1f 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: 85bdd736130772d8
Content-Type: application/json

{
  "uuid" : "919be829-d923-4fa6-8087-dd9115351e1f",
  "name" : "Typewell",
  "operator" : "string",
  "api" : "string",
  "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

Get typewell trajectory

Get typewell trajectory data by typewell UUID

Request

$ curl 'https://solo.cloud/public/api/v1/typewells/32d8c52b-6315-424a-ba3b-b966aad994f8/trajectory' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/typewells/32d8c52b-6315-424a-ba3b-b966aad994f8/trajectory HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: bfe2d7691a08dae4
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/{uuid}/trajectory

Path parameter Description
uuid 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)

Get typewell ellipses

Get typewell ellipses data by typewell UUID

Request

$ curl 'https://solo.cloud/public/api/v1/typewells/93d508ac-7570-407f-ba2c-cff210014951/ellipses' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/typewells/93d508ac-7570-407f-ba2c-cff210014951/ellipses HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

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

{
  "content" : [ {
    "index" : 10.0,
    "value" : {
      "nev" : [ 14.99, 98.23, 41.2, 67.78, 23.89, 12.31, 55.43, 11.23, 34.33 ],
      "messages" : [ ]
    }
  } ]
}

GET /public/api/v1/typewells/{typewellUuid}/ellipses

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

Response body

Path Type Description
content Array Ellipses points array
content[].index Number Measured Depth value
content[].value.nev Array Ellipse attributes
content[].value.messages Array Comments

Get starred topset

Get starred topset by typewell UUID

Request

$ curl 'https://solo.cloud/public/api/v1/typewells/919be829-d923-4fa6-8087-dd9115351e1f/starred' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/typewells/919be829-d923-4fa6-8087-dd9115351e1f/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: 75c895e87572d910
Content-Type: application/json

{
  "topset" : "23bc7dbc-6411-4a8c-a9c4-d87c305d341b"
}

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

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

Response body

Path Type Description
topset String Starred topset UUID

Get linked laterals

Get linked laterals by typewell UUID

Request

$ curl 'https://solo.cloud/public/api/v1/typewells/0d2798e5-a0fc-4910-a9d5-5d50f4bb9408/linked?offset=0&limit=10' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/typewells/0d2798e5-a0fc-4910-a9d5-5d50f4bb9408/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: 7dcab2e782224ab1
Content-Type: application/json

{
  "content" : [ {
    "shift" : {
      "val" : 1640.4199475065616
    },
    "lateral_id" : "6f18ae75-189b-430b-a43b-d61957aaf962"
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 1,
  "last" : true,
  "first" : true
}

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

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[].shift.val Number Typewell shift
content[].lateral_id String Lateral UUID

Update typewell metadata

Update typewell metadata

Request

$ curl 'https://solo.cloud/public/api/v1/typewells/f35279c1-2d15-4e28-8028-668b42b0c09d' -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/f35279c1-2d15-4e28-8028-668b42b0c09d 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: 7e7e6ef03624702f

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

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/f35279c1-2d15-4e28-8028-668b42b0c09d/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/f35279c1-2d15-4e28-8028-668b42b0c09d/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: c893d956ec2ac72f

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/f35279c1-2d15-4e28-8028-668b42b0c09d/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/f35279c1-2d15-4e28-8028-668b42b0c09d/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: a3bbb582188ed2f2

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/919be829-d923-4fa6-8087-dd9115351e1f/starred' -i -X PUT \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "topset" : "23bc7dbc-6411-4a8c-a9c4-d87c305d341b"
}'
PUT /public/api/v1/typewells/919be829-d923-4fa6-8087-dd9115351e1f/starred HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 55

{
  "topset" : "23bc7dbc-6411-4a8c-a9c4-d87c305d341b"
}

Response

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

PUT /public/api/v1/typewells/{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

Lock typewell

Lock typewell by UUID

Request

$ curl 'https://solo.cloud/public/api/v1/typewells/508ebc59-d678-4da6-a0fd-5c98e3ff8e40/lock' -i -X PATCH \
    -H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/typewells/508ebc59-d678-4da6-a0fd-5c98e3ff8e40/lock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

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

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

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

Response body

Empty body

Unlock typewell

Unlock typewell by UUID

Request

$ curl 'https://solo.cloud/public/api/v1/typewells/e68e52b3-e06d-412a-9072-bf4c5705f179/unlock' -i -X PATCH \
    -H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/typewells/e68e52b3-e06d-412a-9072-bf4c5705f179/unlock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 2c8cb0197148e151

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

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

Response body

Empty body

7. Topsets

Create lateral topset

Create topset by lateral UUID

Request

$ curl 'https://solo.cloud/public/api/v1/wells/90167771-67ac-48c7-a89b-6fffc6b870de/topsets' -i -X POST \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Topset name"
}'
POST /public/api/v1/wells/90167771-67ac-48c7-a89b-6fffc6b870de/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: bddb87f8a3f4449f
Content-Type: application/json

{
  "uuid" : "f14a8adb-fd2c-4e12-ab9e-b49d43c2bfc8"
}

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/af7cad44-702f-41f8-9f4e-191ad190ebe1/topsets' -i -X POST \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Topset name"
}'
POST /public/api/v1/typewells/af7cad44-702f-41f8-9f4e-191ad190ebe1/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: a2b56a326c5db847
Content-Type: application/json

{
  "uuid" : "7daef848-04a7-4333-bdd8-094fe081c626"
}

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/064795b9-1a90-43de-9d6a-41c31397ec74/topsets' -i -X POST \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Topset name"
}'
POST /public/api/v1/nestedwells/064795b9-1a90-43de-9d6a-41c31397ec74/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: 82f05b9b2882064a
Content-Type: application/json

{
  "uuid" : "16126c0f-f073-4eb4-835f-3521d4eb1788"
}

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

Get topsets by lateral

Get a list of topsets by lateral UUID with pagination

Request

$ curl 'https://solo.cloud/public/api/v1/wells/90167771-67ac-48c7-a89b-6fffc6b870de/topsets?offset=0&limit=10' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/90167771-67ac-48c7-a89b-6fffc6b870de/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: cf8c39ad9c98ca64
Content-Type: application/json

{
  "content" : [ {
    "uuid" : "81a57e5a-02b6-4b63-aba8-cc0f0c5d447a",
    "name" : "C Log TopSet QbSBCsmanJ"
  }, {
    "uuid" : "3316cacc-2493-4e27-b4fb-736582ecd69a",
    "name" : "D Well uubHSKMgle"
  }, {
    "uuid" : "986b6b74-9cda-4a7c-8f1b-d887097213e3",
    "name" : "Top Set"
  }, {
    "uuid" : "b885168f-fba6-43c5-a565-142175927d8a",
    "name" : "TopSet Log rjFRCCHguo"
  }, {
    "uuid" : "10b991aa-3c03-4b48-98e0-000099d0c484",
    "name" : "TopSetYvRKhQlHHq"
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 5,
  "last" : true,
  "first" : 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/af7cad44-702f-41f8-9f4e-191ad190ebe1/topsets?offset=0&limit=10' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/typewells/af7cad44-702f-41f8-9f4e-191ad190ebe1/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: 314993e84d6cfd09
Content-Type: application/json

{
  "content" : [ {
    "uuid" : "bc6ae6fa-6b21-43d3-a715-10b30c68801d",
    "name" : "C Log TopSet dUaIQYOwsW"
  }, {
    "uuid" : "8924f350-2de6-4f6f-a51a-fee2614a5eb2",
    "name" : "D Well iPpnIplnaB"
  }, {
    "uuid" : "b676db7a-9330-4c4d-a452-9aa456537d0d",
    "name" : "TopSetgNLAcfpCqe"
  }, {
    "uuid" : "2ae29ce8-3464-4492-927b-6a80188b0acc",
    "name" : "TopSet Log dzblIYdMkZ"
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 4,
  "last" : true,
  "first" : 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/064795b9-1a90-43de-9d6a-41c31397ec74/topsets?offset=0&limit=10' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/nestedwells/064795b9-1a90-43de-9d6a-41c31397ec74/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: f75d3868e8b6061e
Content-Type: application/json

{
  "content" : [ {
    "uuid" : "241a4fa4-c13f-4c77-85c0-30dd8eacb372",
    "name" : "C Log TopSet zchaXNKUgT"
  }, {
    "uuid" : "dfa24c80-c5cd-4694-92fd-bd4fc1cf29c9",
    "name" : "D Well kmHzKyvuHY"
  }, {
    "uuid" : "70a280ab-a85b-4d5f-9db2-a4a9d11888bb",
    "name" : "TopSetEKJZatNUzB"
  }, {
    "uuid" : "4fd9ef96-f2bf-44c6-a6f7-ed7dda07b02f",
    "name" : "TopSet Log KmLTUBfSrS"
  }, {
    "uuid" : "16126c0f-f073-4eb4-835f-3521d4eb1788",
    "name" : "Topset name"
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 5,
  "last" : true,
  "first" : 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

Get starred objects

Get starred objects by topset UUID

Request

$ curl 'https://solo.cloud/public/api/v1/topsets/986b6b74-9cda-4a7c-8f1b-d887097213e3/starred' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/topsets/986b6b74-9cda-4a7c-8f1b-d887097213e3/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: 2c53896e6df2df2b
Content-Type: application/json

{
  "top" : "524ddb41-a97c-45a4-b46a-c35794ed5c02",
  "center" : "417395bc-4ecf-4ad8-9e45-bfa8d9fca7c0",
  "bottom" : "6eab4feb-2f4d-4080-bee4-c0a3e6b87b9f"
}

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

Set starred objects

Set starred objects by topset UUID

Request

$ curl 'https://solo.cloud/public/api/v1/topsets/986b6b74-9cda-4a7c-8f1b-d887097213e3/starred' -i -X PUT \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "top" : "524ddb41-a97c-45a4-b46a-c35794ed5c02",
  "center" : "417395bc-4ecf-4ad8-9e45-bfa8d9fca7c0",
  "bottom" : "6eab4feb-2f4d-4080-bee4-c0a3e6b87b9f"
}'
PUT /public/api/v1/topsets/986b6b74-9cda-4a7c-8f1b-d887097213e3/starred HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 158

{
  "top" : "524ddb41-a97c-45a4-b46a-c35794ed5c02",
  "center" : "417395bc-4ecf-4ad8-9e45-bfa8d9fca7c0",
  "bottom" : "6eab4feb-2f4d-4080-bee4-c0a3e6b87b9f"
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 5a456b915a5363d6

PUT /public/api/v1/topsets/{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

Update topset

Update topset by UUID

Request

$ curl 'https://solo.cloud/public/api/v1/topsets/986b6b74-9cda-4a7c-8f1b-d887097213e3' -i -X PATCH \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "New topset name"
}'
PATCH /public/api/v1/topsets/986b6b74-9cda-4a7c-8f1b-d887097213e3 HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 32

{
  "name" : "New topset name"
}

Response

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

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

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

Response body

Empty body

Lock topset

Lock topset by UUID

Request

$ curl 'https://solo.cloud/public/api/v1/topsets/986b6b74-9cda-4a7c-8f1b-d887097213e3/lock' -i -X PATCH \
    -H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/topsets/986b6b74-9cda-4a7c-8f1b-d887097213e3/lock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 3c28a56f9d2a5db0

PATCH /public/api/v1/topsets/{uuid}/lock

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

Response body

Empty body

Unlock topset

Unlock topset by UUID

Request

$ curl 'https://solo.cloud/public/api/v1/topsets/986b6b74-9cda-4a7c-8f1b-d887097213e3/unlock' -i -X PATCH \
    -H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/topsets/986b6b74-9cda-4a7c-8f1b-d887097213e3/unlock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 887327305fae8b81

PATCH /public/api/v1/topsets/{uuid}/unlock

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

Response body

Empty body

Delete topset

Delete topset by UUID

Request

$ curl 'https://solo.cloud/public/api/v1/topsets/986b6b74-9cda-4a7c-8f1b-d887097213e3' -i -X DELETE \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
DELETE /public/api/v1/topsets/986b6b74-9cda-4a7c-8f1b-d887097213e3 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: 8f6738707afe9908

DELETE /public/api/v1/topsets/{uuid}

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

Response body

Empty body

8. Tops

Create top

Create top by topset UUID

Request

$ curl 'https://solo.cloud/public/api/v1/topsets/7a8dab92-c7c3-4f7c-87e0-5c5a64282af8/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/7a8dab92-c7c3-4f7c-87e0-5c5a64282af8/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: 9f52c7bd6cb8ab88
Content-Type: application/json

{
  "uuid" : "40c8aae8-1ba6-4b84-8a7d-9f4f905d41f8"
}

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

Get tops by topset

Get a list of tops by topset UUID with pagination

Request

$ curl 'https://solo.cloud/public/api/v1/topsets/e86e9b45-af4c-4ede-80c8-3ed7364a8075/tops?offset=0&limit=20' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/topsets/e86e9b45-af4c-4ede-80c8-3ed7364a8075/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: 316f915fd72ffb72
Content-Type: application/json

{
  "content" : [ {
    "md" : {
      "val" : 9.842519685039372
    },
    "name" : "Top",
    "topset_name" : "Top Set",
    "uuid" : "88e3b8dc-6f05-4716-bf1b-d100cba633ca"
  }, {
    "md" : {
      "val" : 13.123359580052496
    },
    "name" : "Update Top",
    "topset_name" : "Top Set",
    "uuid" : "89c24d2b-3c4b-4f60-84f9-5fb29084d93e"
  } ],
  "offset" : 0,
  "limit" : 20,
  "total" : 2,
  "last" : true,
  "first" : 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

Get tops by lateral

Get a list of tops by lateral UUID with pagination

Request

$ curl 'https://solo.cloud/public/api/v1/wells/67f451dc-6506-4ed7-831f-e3246e4ae871/tops?offset=0&limit=20' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/67f451dc-6506-4ed7-831f-e3246e4ae871/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: 5a1dc816bcd49674
Content-Type: application/json

{
  "content" : [ {
    "md" : {
      "val" : 9.842519685039372
    },
    "name" : "Top",
    "topset_name" : "Top Set",
    "uuid" : "322253e9-5c8d-4d50-bc78-293547c7bc3a"
  }, {
    "md" : {
      "val" : 13.123359580052496
    },
    "name" : "Update Top",
    "topset_name" : "Top Set",
    "uuid" : "7b42f7d9-635a-4bed-af49-6387847b9e45"
  } ],
  "offset" : 0,
  "limit" : 20,
  "total" : 2,
  "last" : true,
  "first" : 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/0600bcec-c8fb-440b-993e-7965f7fbb063/tops?offset=0&limit=20' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/typewells/0600bcec-c8fb-440b-993e-7965f7fbb063/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: 053f72e56ee99d84
Content-Type: application/json

{
  "content" : [ {
    "md" : {
      "val" : 9.842519685039372
    },
    "name" : "Top",
    "topset_name" : "Top Set",
    "uuid" : "dbe0c48b-e0c9-4fd0-acf8-d2fe9b096cc7"
  }, {
    "md" : {
      "val" : 13.123359580052496
    },
    "name" : "Update Top",
    "topset_name" : "Top Set",
    "uuid" : "88f84c05-6806-4d87-9cc1-e19b85a46f5a"
  } ],
  "offset" : 0,
  "limit" : 20,
  "total" : 2,
  "last" : true,
  "first" : 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/b2ce5e8f-bc30-423c-a71f-f0b5c7657483/tops?offset=0&limit=20' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/nestedwells/b2ce5e8f-bc30-423c-a71f-f0b5c7657483/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: 194ecae4f98a1d2f
Content-Type: application/json

{
  "content" : [ {
    "md" : {
      "val" : 9.842519685039372
    },
    "name" : "Top",
    "topset_name" : "Top Set",
    "uuid" : "3266a5e6-8758-4b6d-8410-69d56fb0cd39"
  }, {
    "md" : {
      "val" : 13.123359580052496
    },
    "name" : "Update Top",
    "topset_name" : "Top Set",
    "uuid" : "8189894f-d4b0-4f01-aced-bdd0f2d8d7db"
  } ],
  "offset" : 0,
  "limit" : 20,
  "total" : 2,
  "last" : true,
  "first" : 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

Update top

Update top by UUID

Request

$ curl 'https://solo.cloud/public/api/v1/tops/7b42f7d9-635a-4bed-af49-6387847b9e45' -i -X PATCH \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "New top name",
  "md" : {
    "val" : 999.5
  }
}'
PATCH /public/api/v1/tops/7b42f7d9-635a-4bed-af49-6387847b9e45 HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 63

{
  "name" : "New top name",
  "md" : {
    "val" : 999.5
  }
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 881f1c1d8c170e7e

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

Path parameter Description
uuid Top 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

Empty body

Delete top

Delete top by UUID

Request

$ curl 'https://solo.cloud/public/api/v1/tops/7b42f7d9-635a-4bed-af49-6387847b9e45' -i -X DELETE \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
DELETE /public/api/v1/tops/7b42f7d9-635a-4bed-af49-6387847b9e45 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: d672a1d4b401b158

DELETE /public/api/v1/tops/{uuid}

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

Response body

Empty body

9. Target lines

Create target line

Create target line by lateral UUID

Request

$ curl 'https://solo.cloud/public/api/v1/wells/361dc0e5-96f3-4049-9213-59d6835ff717/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/361dc0e5-96f3-4049-9213-59d6835ff717/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: c1a3e6bc37c86f9a
Content-Type: application/json

{
  "uuid" : "d9ab484b-988c-4a0a-81df-6f86c95b98b5"
}

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

Create target line from waypoints

Create target line from waypoints by lateral UUID

Request

$ curl 'https://solo.cloud/public/api/v1/wells/c804e7f5-5edf-4d18-a95d-003fdb98e7bf/targetlines/fromwaypoints' -i -X POST \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Target line name",
  "waypoints" : [ {
    "name" : "Waypoint1",
    "break" : false,
    "order" : 2,
    "x" : {
      "val" : 30.0
    },
    "y" : {
      "val" : 10.0
    },
    "z" : {
      "val" : 40.0
    }
  }, {
    "name" : "Waypoint2",
    "break" : false,
    "order" : 3,
    "x" : {
      "val" : 70.0
    },
    "y" : {
      "val" : 80.0
    },
    "z" : {
      "val" : 90.0
    }
  } ]
}'
POST /public/api/v1/wells/c804e7f5-5edf-4d18-a95d-003fdb98e7bf/targetlines/fromwaypoints HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 421

{
  "name" : "Target line name",
  "waypoints" : [ {
    "name" : "Waypoint1",
    "break" : false,
    "order" : 2,
    "x" : {
      "val" : 30.0
    },
    "y" : {
      "val" : 10.0
    },
    "z" : {
      "val" : 40.0
    }
  }, {
    "name" : "Waypoint2",
    "break" : false,
    "order" : 3,
    "x" : {
      "val" : 70.0
    },
    "y" : {
      "val" : 80.0
    },
    "z" : {
      "val" : 90.0
    }
  } ]
}

Response

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

{
  "uuid" : "cbcadb12-ed86-40a2-a71b-42add10cdfd2"
}

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

Path parameter Description
uuid Lateral UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
name String Target line name
waypoints Array Target line waypoints list
waypoints[].name String Waypoint name
waypoints[].order Number Order of the waypoint in the list
waypoints[].x.val Number Waypoint X coordinate (project units)
waypoints[].y.val Number Waypoint Y coordinate (project units)
waypoints[].z.val Number Waypoint Z coordinate (project units)
waypoints[].break Boolean Is the waypoint break point or not

Response body

Path Type Description
uuid String Created target line UUID

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/bc3a4381-73bb-4e71-9e90-bab9bf6c1ed7/targetlines?offset=0&limit=20' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/bc3a4381-73bb-4e71-9e90-bab9bf6c1ed7/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: ab0d1b1d8e1b66c4
Content-Type: application/json

{
  "content" : [ {
    "uuid" : "fc19eb4d-32d8-42b9-b7c0-bd47c122c45f",
    "name" : "Target Line",
    "waypoints" : [ {
      "name" : "Origin",
      "order" : 0,
      "x" : {
        "val" : 3.280839895013123
      },
      "y" : {
        "val" : 6.561679790026246
      },
      "z" : {
        "val" : 9.84251968503937
      },
      "top_corridor_tvd" : {
        "undefined" : true
      },
      "base_corridor_tvd" : {
        "undefined" : true
      },
      "break" : false
    }, {
      "name" : "Target",
      "order" : 1,
      "x" : {
        "val" : 13.123359580052492
      },
      "y" : {
        "val" : 16.404199475065617
      },
      "z" : {
        "val" : 19.68503937007874
      },
      "top_corridor_tvd" : {
        "val" : 24.999999999999996
      },
      "base_corridor_tvd" : {
        "val" : 24.999999999999996
      },
      "break" : false
    } ]
  }, {
    "uuid" : "c4bcfbc2-cb64-41af-8ab8-5565ce5ab288",
    "name" : "Update Target Line",
    "waypoints" : [ {
      "name" : "Origin",
      "order" : 0,
      "x" : {
        "val" : 36.41732283464567
      },
      "y" : {
        "val" : 39.69816272965879
      },
      "z" : {
        "val" : 42.979002624671914
      },
      "top_corridor_tvd" : {
        "undefined" : true
      },
      "base_corridor_tvd" : {
        "undefined" : true
      },
      "break" : false
    }, {
      "name" : "Target",
      "order" : 1,
      "x" : {
        "val" : 46.25984251968504
      },
      "y" : {
        "val" : 49.54068241469816
      },
      "z" : {
        "val" : 52.82152230971129
      },
      "top_corridor_tvd" : {
        "val" : 28.608923884514432
      },
      "base_corridor_tvd" : {
        "val" : 28.608923884514432
      },
      "break" : false
    } ]
  } ],
  "offset" : 0,
  "limit" : 20,
  "total" : 2,
  "last" : true,
  "first" : 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
content[].waypoints Array Target line waypoints list
content[].waypoints[].name String Waypoint name
content[].waypoints[].order Number Order of the waypoint in the list
content[].waypoints[].x.val Number Waypoint X coordinate (project units)
content[].waypoints[].y.val Number Waypoint Y coordinate (project units)
content[].waypoints[].z.val Number Waypoint Z coordinate (project units)
content[].waypoints[].top_corridor_tvd Object Waypoint top corridor TVD. If present val is set, otherwise undefined is true
content[].waypoints[].top_corridor_tvd.val Number Waypoint top corridor TVD value (project units)
content[].waypoints[].base_corridor_tvd Object Waypoint base corridor TVD. If present val is set, otherwise undefined is true
content[].waypoints[].base_corridor_tvd.val Number Waypoint base corridor TVD value (project units)
content[].waypoints[].break Boolean Is the waypoint break point or not

Get target line data

Get a list of target line data by target line UUID

Request

$ curl 'https://solo.cloud/public/api/v1/targetlines/6ed2fbdd-64dc-4475-8fe3-40e84fa3007c/data' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/targetlines/6ed2fbdd-64dc-4475-8fe3-40e84fa3007c/data HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: c3c9c8d3adeb56b1
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" : {
      "val" : 38.123359580052494
    },
    "origin_md" : {
      "val" : 1594.0953719875106
    },
    "origin_top_corridor_tvd" : {
      "val" : -11.876640419947504
    },
    "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" : {
      "val" : 28.280839895013123
    },
    "target_md" : {
      "val" : 1106.7125786029799
    },
    "target_top_corridor_tvd" : {
      "val" : -21.719160104986877
    },
    "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" : "6ed2fbdd-64dc-4475-8fe3-40e84fa3007c"
  } ]
}

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/0e3d1f4f-31fe-438b-85ac-bf65142caf26/targetlines/data?offset=0&limit=20' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/0e3d1f4f-31fe-438b-85ac-bf65142caf26/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: ceb12fdf5faa5fd7
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" : {
      "val" : 38.123359580052494
    },
    "origin_md" : {
      "val" : 1594.0953719875106
    },
    "origin_top_corridor_tvd" : {
      "val" : -11.876640419947504
    },
    "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" : {
      "val" : 28.280839895013123
    },
    "target_md" : {
      "val" : 1106.7125786029799
    },
    "target_top_corridor_tvd" : {
      "val" : -21.719160104986877
    },
    "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" : "74eef568-1ce1-4935-8c06-df1f71f8cb0d"
  } ],
  "offset" : 0,
  "limit" : 20,
  "total" : 1,
  "last" : true,
  "first" : 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/98486ff6-8296-42ee-a42f-4153fd16ad5b/targetlines/starred' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/98486ff6-8296-42ee-a42f-4153fd16ad5b/targetlines/starred HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

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

{
  "uuid" : "ab9fde29-996b-426b-91a9-7709da46598e",
  "name" : "Target Line"
}

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

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

Response body

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

Update target line

Update target line by UUID

Request

$ curl 'https://solo.cloud/public/api/v1/targetlines/ad7c559b-8fb5-4ce8-8892-ee2d264ca418' -i -X PATCH \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "New target line name",
  "origin_x" : {
    "val" : 1000.5
  },
  "origin_y" : {
    "val" : 2000.5
  },
  "origin_z" : {
    "val" : 3000.5
  },
  "target_x" : {
    "val" : 4000.5
  },
  "target_y" : {
    "val" : 5000.5
  },
  "target_z" : {
    "val" : 6000.5
  }
}'
PATCH /public/api/v1/targetlines/ad7c559b-8fb5-4ce8-8892-ee2d264ca418 HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 283

{
  "name" : "New target line name",
  "origin_x" : {
    "val" : 1000.5
  },
  "origin_y" : {
    "val" : 2000.5
  },
  "origin_z" : {
    "val" : 3000.5
  },
  "target_x" : {
    "val" : 4000.5
  },
  "target_y" : {
    "val" : 5000.5
  },
  "target_z" : {
    "val" : 6000.5
  }
}

Response

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

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

Path parameter Description
uuid Target line 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

Empty body

Update target line from waypoints

Update target line from waypoints by UUID

Request

$ curl 'https://solo.cloud/public/api/v1/targetlines/38dcabed-f486-49ab-a7b6-49dc5e719751/fromwaypoints' -i -X PATCH \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Target line updated name",
  "waypoints" : [ {
    "name" : "Waypoint100",
    "break" : false,
    "order" : 2,
    "x" : {
      "val" : 30.0
    },
    "y" : {
      "val" : 10.0
    },
    "z" : {
      "val" : 40.0
    }
  }, {
    "name" : "Waypoint500",
    "break" : false,
    "order" : 3,
    "x" : {
      "val" : 70.0
    },
    "y" : {
      "val" : 80.0
    },
    "z" : {
      "val" : 90.0
    }
  } ]
}'
PATCH /public/api/v1/targetlines/38dcabed-f486-49ab-a7b6-49dc5e719751/fromwaypoints HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 433

{
  "name" : "Target line updated name",
  "waypoints" : [ {
    "name" : "Waypoint100",
    "break" : false,
    "order" : 2,
    "x" : {
      "val" : 30.0
    },
    "y" : {
      "val" : 10.0
    },
    "z" : {
      "val" : 40.0
    }
  }, {
    "name" : "Waypoint500",
    "break" : false,
    "order" : 3,
    "x" : {
      "val" : 70.0
    },
    "y" : {
      "val" : 80.0
    },
    "z" : {
      "val" : 90.0
    }
  } ]
}

Response

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

PATCH /public/api/v1/targetlines/{uuid}/fromwaypoints

Path parameter Description
uuid Target line UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
name String Target line name
waypoints Array Target line waypoints list
waypoints[].name String Waypoint name
waypoints[].order Number Order of the waypoint in the list
waypoints[].x.val Number Waypoint X coordinate (project units)
waypoints[].y.val Number Waypoint Y coordinate (project units)
waypoints[].z.val Number Waypoint Z coordinate (project units)
waypoints[].break Boolean Is the waypoint break point or not

Response body

Empty body

Delete target line

Delete target line by UUID

Request

$ curl 'https://solo.cloud/public/api/v1/targetlines/43bd6a7f-a106-4eed-bc83-35cf5da9b800' -i -X DELETE \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
DELETE /public/api/v1/targetlines/43bd6a7f-a106-4eed-bc83-35cf5da9b800 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: fba1ca548b606450

DELETE /public/api/v1/targetlines/{uuid}

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

Response body

Empty body

10. Logs

Create lateral log

Create log by lateral UUID

Request

$ curl 'https://solo.cloud/public/api/v1/wells/78b0c243-3996-43b9-ba76-fa2a50db3593/logs' -i -X POST \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Log name"
}'
POST /public/api/v1/wells/78b0c243-3996-43b9-ba76-fa2a50db3593/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: 57159bd302a5f6af
Content-Type: application/json

{
  "uuid" : "668d8909-ba22-467d-88a1-bb820449094c"
}

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/2058dfe1-797f-4d5a-9a8c-f61aa68eaa15/logs' -i -X POST \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Log name"
}'
POST /public/api/v1/typewells/2058dfe1-797f-4d5a-9a8c-f61aa68eaa15/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: f58b4db78a1ecae1
Content-Type: application/json

{
  "uuid" : "963ecc38-8091-4b65-9d91-eec3aabc72d1"
}

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 logs by lateral

Get a list of logs by lateral UUID with pagination. Logs that do not contain data will not be included in the response. After creating the log, you need to fill it with data using the commands Extend log data or Replace log data

Request

$ curl 'https://solo.cloud/public/api/v1/wells/8955bee3-7f8b-42d9-838d-b07c0176132d/logs?offset=0&limit=10&filter=mMa' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/8955bee3-7f8b-42d9-838d-b07c0176132d/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: 429d2a1a26127310
Content-Type: application/json

{
  "content" : [ {
    "uuid" : "7c2921ee-2124-41f4-8d99-4c5328f5ab41",
    "name" : "Gamma Ray"
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 1,
  "last" : true,
  "first" : 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. Logs that do not contain data will not be included in the response. After creating the log, you need to fill it with data using the commands Extend log data or Replace log data

Request

$ curl 'https://solo.cloud/public/api/v1/typewells/dd2320a6-6c6f-4bc1-af33-a91b1a9132c2/logs?offset=0&limit=10&filter=mMa' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/typewells/dd2320a6-6c6f-4bc1-af33-a91b1a9132c2/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: cf05a212176dfcff
Content-Type: application/json

{
  "content" : [ {
    "uuid" : "c1d63b16-ad3a-4854-990f-efdb0774fb54",
    "name" : "Gamma Ray"
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 1,
  "last" : true,
  "first" : 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

Get log data

Get log data by log UUID

Request

$ curl 'https://solo.cloud/public/api/v1/logs/94992641-048d-420a-bec3-c3190f117ed9/data' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/logs/94992641-048d-420a-bec3-c3190f117ed9/data HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 7f6d1496bd551409
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 metadata

Update log metadata

Request

$ curl 'https://solo.cloud/public/api/v1/logs/94992641-048d-420a-bec3-c3190f117ed9' -i -X PATCH \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Log name"
}'
PATCH /public/api/v1/logs/94992641-048d-420a-bec3-c3190f117ed9 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: 6a873df5c56d90b6

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/d3f2b45f-edb8-4c8c-91cc-620f719f7950/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/d3f2b45f-edb8-4c8c-91cc-620f719f7950/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: fb849ed912de8b3c

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/94992641-048d-420a-bec3-c3190f117ed9/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/94992641-048d-420a-bec3-c3190f117ed9/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: 022225061dc44cce

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

Delete log

Delete log by UUID

Request

$ curl 'https://solo.cloud/public/api/v1/logs/01ab24f4-50e7-407f-8d46-63564be5253b' -i -X DELETE \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
DELETE /public/api/v1/logs/01ab24f4-50e7-407f-8d46-63564be5253b 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: fe35a12ddf0a0638

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

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

Response body

Empty body

11. Images

Create image

Request

$ curl 'https://solo.cloud/public/api/v1/wells/4ce69eb0-b580-4e49-a23d-e930fbf16fe2/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/wells/4ce69eb0-b580-4e49-a23d-e930fbf16fe2/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: e6701fd4be326269
Content-Type: application/json

{
  "uuid" : "ac0cb49d-99fd-4045-b836-2a21bd48ddc5"
}

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

Path parameter Description
uuid 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/0e522174-9dbe-4322-a6c9-91924d842ec0' -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/0e522174-9dbe-4322-a6c9-91924d842ec0 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: fb66ffb657569ff6

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

Path parameter Description
uuid 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/cbd7c4d5-0d17-44d3-b800-569059cd3be9/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/cbd7c4d5-0d17-44d3-b800-569059cd3be9/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: c208182dd3de05b3

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

Path parameter Description
uuid 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/ef8cae86-5014-437b-84b9-732066d52312/data' -i -X PUT \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: multipart/form-data; boundary="9jQb3m0f3nZ-0q35Ytgo6BBrfBCY1MNT"' \
    -F 'image=<binary image data>;type=image/png'
PUT /public/api/v1/images/ef8cae86-5014-437b-84b9-732066d52312/data HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: multipart/form-data; boundary="9jQb3m0f3nZ-0q35Ytgo6BBrfBCY1MNT"; 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: a65ad97f6fcf735e

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

Path parameter Description
uuid 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. Mudlogs that do not contain data will not be included in the response

Request

$ curl 'https://solo.cloud/public/api/v1/wells/9702eb63-362c-4a51-8a46-0cace03e3703/mudlogs?offset=0&limit=10&filter=mMa' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/9702eb63-362c-4a51-8a46-0cace03e3703/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: 6ba918320bcba371
Content-Type: application/json

{
  "content" : [ {
    "uuid" : "6c5196d8-4b74-4b50-9eda-0a2cf09aa466",
    "name" : "Gamma Ray"
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 1,
  "last" : true,
  "first" : 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. Mudlogs that do not contain data will not be included in the response

Request

$ curl 'https://solo.cloud/public/api/v1/typewells/e2443bc3-f567-4e24-ac00-f6896535d0aa/mudlogs?offset=0&limit=10&filter=mMa' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/typewells/e2443bc3-f567-4e24-ac00-f6896535d0aa/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: c168cf732c3db919
Content-Type: application/json

{
  "content" : [ {
    "uuid" : "d36c3b3c-9aab-44c8-a30d-720d51eae35e",
    "name" : "Gamma Ray"
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 1,
  "last" : true,
  "first" : 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/deb0e8ca-32d4-46fc-ab73-adb6dd68e05a/data' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/mudlogs/deb0e8ca-32d4-46fc-ab73-adb6dd68e05a/data HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

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

{
  "logs" : [ {
    "log_points" : [ {
      "data" : {
        "val" : -3688.6927
      },
      "md" : {
        "val" : 2443.0
      }
    }, {
      "data" : {
        "val" : 16.581
      },
      "md" : {
        "val" : 2443.5
      }
    }, {
      "data" : {
        "val" : -11.85
      },
      "md" : {
        "val" : 2444.0
      }
    }, {
      "data" : {
        "val" : 15.187
      },
      "md" : {
        "val" : 2444.5
      }
    }, {
      "data" : {
        "val" : -4.363
      },
      "md" : {
        "val" : 2445.0
      }
    }, {
      "data" : {
        "val" : -40.475
      },
      "md" : {
        "val" : 2445.5
      }
    }, {
      "data" : {
        "val" : 61.463
      },
      "md" : {
        "val" : 2446.0
      }
    }, {
      "data" : {
        "val" : 82.305
      },
      "md" : {
        "val" : 2446.5
      }
    }, {
      "data" : {
        "val" : 114.139
      },
      "md" : {
        "val" : 2447.0
      }
    }, {
      "data" : {
        "val" : 144.503
      },
      "md" : {
        "val" : 2447.5
      }
    } ],
    "name" : "Gzipped Mudlog",
    "uuid" : "d4f2af81-db9b-4a0f-aebd-ae959e74020c"
  } ]
}

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

13. Drilling traces

Get traces collection

Get the list of predefined traces

Request

$ curl 'https://solo.cloud/public/api/v1/traces' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/traces HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

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

{
  "content" : [ {
    "uuid" : "f18afa65-7b06-4f6a-9494-746b3f10272f",
    "name" : "Axial Shock"
  }, {
    "uuid" : "97e29152-c59d-4055-b7e3-7d823e3eb122",
    "name" : "Axial Vibration"
  }, {
    "uuid" : "a415fee9-3992-4915-9ba2-262b084500f9",
    "name" : "Azimuth"
  }, {
    "uuid" : "f93bf5a7-9755-4163-9c44-6d107967db4b",
    "name" : "Bit depth"
  }, {
    "uuid" : "508ac83a-8d7e-45e6-b8c7-be7aa5dccbec",
    "name" : "Bit Depth Vertical"
  }, {
    "uuid" : "6a300b55-f00c-49ff-926a-7654a18731b2",
    "name" : "Bit on Bottom"
  }, {
    "uuid" : "cbfc47a9-4bb0-4a69-9747-136b5b5fa453",
    "name" : "Block position"
  }, {
    "uuid" : "1690e9e7-3c19-4053-8788-6935a0b2d034",
    "name" : "Block Velocity"
  }, {
    "uuid" : "19d0f8f5-fd1c-41f8-86c4-939a5dada63e",
    "name" : "Caliper"
  }, {
    "uuid" : "e5145f9f-e946-432c-ab0b-6bf0fbe9188c",
    "name" : "Casing Pressure"
  }, {
    "uuid" : "cc9ad146-13ae-4127-801c-4a689be7487d",
    "name" : "Choke Pressure"
  }, {
    "uuid" : "274c2682-91d7-4a31-b0e3-8928ef561f0a",
    "name" : "Circulation hours"
  }, {
    "uuid" : "b7f8a98c-e6b5-46cf-ac77-fcb2a52588f8",
    "name" : "Collar RPM"
  }, {
    "uuid" : "512cf80d-8872-435f-8e88-bed593b12670",
    "name" : "Cont Azimuth"
  }, {
    "uuid" : "a3fcfa5d-8881-499d-91e8-48a7b3dc2215",
    "name" : "Cont Inclination"
  }, {
    "uuid" : "e1f88165-de61-4da0-be1a-ce2d9d788cf3",
    "name" : "D-exponent"
  }, {
    "uuid" : "fd5fdd95-2cd8-4879-8403-2509ee3f66ee",
    "name" : "Density"
  }, {
    "uuid" : "544e3dd7-1464-4196-825b-b4da1085e4ff",
    "name" : "Depth of Cut"
  }, {
    "uuid" : "5e3a4999-9c76-4857-8cbf-eccf51539bbf",
    "name" : "Differential Pressure"
  }, {
    "uuid" : "2fd13e54-cfb7-477a-9c56-55c20b2cadb8",
    "name" : "Dip Angle"
  }, {
    "uuid" : "15be30d7-5ade-4595-ba27-e5ce9d1bf83e",
    "name" : "Downhole MSE"
  }, {
    "uuid" : "1e96aa39-75b9-4990-8042-a02a61a08646",
    "name" : "Downhole TQ"
  }, {
    "uuid" : "627bb479-067b-4e60-b4de-7679c48c6d0f",
    "name" : "Downhole WOB"
  }, {
    "uuid" : "78b342b0-ec47-4d9b-ae3a-0df49448c1ec",
    "name" : "PWD ECD"
  }, {
    "uuid" : "992a7d4e-f854-424d-911a-c674ef8e87f4",
    "name" : "Flow Out %"
  }, {
    "uuid" : "bda8a0dd-ced2-46bd-a82a-1db75b62653c",
    "name" : "Gamma Ray"
  }, {
    "uuid" : "cf0042b1-9c10-4eca-8aa6-3954147f4fad",
    "name" : "Total Gas"
  }, {
    "uuid" : "45fbab1e-efb3-420d-9786-6f3d6f2214ed",
    "name" : "Gas C1"
  }, {
    "uuid" : "fb2bceaf-d7c6-4921-b20b-1f6152f57060",
    "name" : "Gas C2"
  }, {
    "uuid" : "643fbb3b-fe7f-4fda-a276-295fc65ceb67",
    "name" : "Gas C3"
  }, {
    "uuid" : "cb23ab73-57c3-4344-af71-4a1c60cc024c",
    "name" : "Gas C4"
  }, {
    "uuid" : "20853910-11ea-46fb-b3a7-582e63625085",
    "name" : "Gas C5"
  }, {
    "uuid" : "5525d952-8db1-4641-b2fa-18fd185b7c9d",
    "name" : "Gas CO2"
  }, {
    "uuid" : "3ed2dacd-93ac-4e38-95ed-0a7b8b82c60e",
    "name" : "Gas H2S"
  }, {
    "uuid" : "27784730-2602-4442-ac2a-9ec9822baa6c",
    "name" : "Gas iso-C4"
  }, {
    "uuid" : "4b2627a3-6a3d-4751-b818-ce1f95cb3d6a",
    "name" : "Gas iso-C5"
  }, {
    "uuid" : "ecec68ec-9a33-44c6-bedb-609b69c7f022",
    "name" : "Gas nor-C4"
  }, {
    "uuid" : "3f85640e-889e-456e-93bc-3a2a567cd5f9",
    "name" : "Gas nor-C5"
  }, {
    "uuid" : "6a5faaf0-a756-4065-99a9-d84d1fe0bfd2",
    "name" : "Gravity Total"
  }, {
    "uuid" : "f86e140e-b5d0-4b5f-98de-951200fd8038",
    "name" : "GTF"
  }, {
    "uuid" : "d635c218-3d17-4f5d-98b4-026085c4f584",
    "name" : "Hole Depth"
  }, {
    "uuid" : "2d9cbed5-4d21-4243-89e6-586f1bb961ff",
    "name" : "Hole Depth Vertical"
  }, {
    "uuid" : "dfdf09da-5be0-495f-b802-15840ce93066",
    "name" : "Hookload"
  }, {
    "uuid" : "3a655e25-ff42-4c56-b083-9d6cc77a7a8c",
    "name" : "In Slips"
  }, {
    "uuid" : "624e443b-6a3b-4247-a648-53db39d19f1b",
    "name" : "Inclination"
  }, {
    "uuid" : "b2a12c8b-dc98-4b9d-96d6-6e020736ca1b",
    "name" : "Lateral Vibration"
  }, {
    "uuid" : "b6c70cd5-aff7-4bd7-bef6-dfb663c12da9",
    "name" : "Magnetic Field"
  }, {
    "uuid" : "03c53157-8443-40d8-8ef4-087f3205da5f",
    "name" : "Motor RPM"
  }, {
    "uuid" : "805070d4-e80a-4d0d-83d6-430ba7ab00bf",
    "name" : "MTF"
  }, {
    "uuid" : "702c9494-7666-435f-ad46-9c6a3f24faa3",
    "name" : "Flow In Rate"
  }, {
    "uuid" : "65c71407-9a65-484d-aeed-b4ef14b91582",
    "name" : "Flow Out Rate"
  }, {
    "uuid" : "4457de71-ae74-4fd6-ad87-c0f19275806e",
    "name" : "Mud Weight In"
  }, {
    "uuid" : "999d98fd-b761-488f-9af8-dca909ec7bd8",
    "name" : "Mud Weight Out"
  }, {
    "uuid" : "101c98d0-2643-4b75-8012-738faa9025f7",
    "name" : "MWD Turbine RPM"
  }, {
    "uuid" : "92e27c5f-3277-4a5c-a478-b9a989944671",
    "name" : "On bottom hours"
  }, {
    "uuid" : "5f527ef9-c86b-4e55-84c0-2b8df74de1c1",
    "name" : "Oscillate status"
  }, {
    "uuid" : "b7f3fdd3-ad94-4aa4-8e94-50f5ad4dee29",
    "name" : "Pit 1 Volume"
  }, {
    "uuid" : "f1b5479f-4488-47fe-9338-12591f2d48f9",
    "name" : "Pit 2 Volume"
  }, {
    "uuid" : "e5568169-182c-466e-99e0-6957159fe08c",
    "name" : "Pit 3 Volume"
  }, {
    "uuid" : "2f03c515-d6ff-41be-b7d4-83a77c13e6c3",
    "name" : "Pit 4 Volume"
  }, {
    "uuid" : "18accea3-a188-4189-bec9-3e78a207591e",
    "name" : "Pit 5 Volume"
  }, {
    "uuid" : "cce31e79-5444-4e8d-bcae-774314ac6958",
    "name" : "Pit 6 Volume"
  }, {
    "uuid" : "278c87fd-7b22-4118-8b12-84d6474cff5d",
    "name" : "Pit 7 Volume"
  }, {
    "uuid" : "45b1afbb-6d6c-4db5-93ff-0ffa94b802da",
    "name" : "Pit 8 Volume"
  }, {
    "uuid" : "ce850617-0391-4346-8834-1449a32722df",
    "name" : "Pump 1 Cumulative Strokes"
  }, {
    "uuid" : "27a591db-8db8-4148-9115-49d5df10ac7e",
    "name" : "Pump 1 Mud Flow In"
  }, {
    "uuid" : "328949d9-a0db-41fa-9c84-4064137315c7",
    "name" : "Pump 2 Cumulative Strokes"
  }, {
    "uuid" : "5286505c-c31c-4bb8-b3c7-f0900cce9fba",
    "name" : "Pump 2 Mud Flow In"
  }, {
    "uuid" : "a3ddb237-cd23-4f5d-999f-2a3e9f6821ee",
    "name" : "Pump 3 Cumulative Strokes"
  }, {
    "uuid" : "1e15c542-3673-4140-8165-1ad534e2b3dc",
    "name" : "Pump 3 Mud Flow In"
  }, {
    "uuid" : "30ad129a-4854-4bb5-8e1d-3c9065605fe2",
    "name" : "Pump Stroke Count"
  }, {
    "uuid" : "8f46e726-06b1-4c71-b638-203868bc4451",
    "name" : "PWD Annular Pressure"
  }, {
    "uuid" : "4265ba32-99d0-490b-a1a1-b8798206a82a",
    "name" : "Rate of Penetration Instantaneous"
  }, {
    "uuid" : "c4d4b89e-5e6c-404f-9d8d-5ca8b2c26885",
    "name" : "Resistivity"
  }, {
    "uuid" : "78334ca1-783e-4dc3-9f86-c86c391d6bac",
    "name" : "Rig State"
  }, {
    "uuid" : "b68b2510-7858-4dcb-b242-57fcd584e0aa",
    "name" : "ROP"
  }, {
    "uuid" : "f4b9e8ea-ada1-4aaf-b638-064916ece1d3",
    "name" : "RSS Toolface"
  }, {
    "uuid" : "f49024eb-cdf9-42a4-beca-974dc8348281",
    "name" : "Lateral Shock"
  }, {
    "uuid" : "98e64813-b867-400a-be7c-a8f31cb56047",
    "name" : "SPM1"
  }, {
    "uuid" : "9f50ec96-0d33-46c2-8b11-c1628fe39658",
    "name" : "SPM2"
  }, {
    "uuid" : "52a79823-4947-4796-b423-545ccd8194b6",
    "name" : "SPM3"
  }, {
    "uuid" : "0f936580-1edd-449c-b760-9142097dfec6",
    "name" : "SPM Total"
  }, {
    "uuid" : "f764306b-302e-4500-8518-4f149f839a85",
    "name" : "Standpipe Pressure"
  }, {
    "uuid" : "3d1105fa-a8de-4e54-981f-105b75142937",
    "name" : "StickSlip"
  }, {
    "uuid" : "30652f8a-15d2-4a10-9e86-2943a7bd5687",
    "name" : "Surface RPM"
  }, {
    "uuid" : "de8ce461-cf26-4e38-ac68-e2e228c331ab",
    "name" : "Surface Torque"
  }, {
    "uuid" : "8b6023ce-d4d7-46be-b9e1-d9ebc92b2711",
    "name" : "Surface Torque Max"
  }, {
    "uuid" : "354dbda4-8dc0-40e8-9723-8b63b794a003",
    "name" : "Survey MD"
  }, {
    "uuid" : "7a76ccd8-e64f-4155-9184-d5f66ac3a58a",
    "name" : "Temperature In"
  }, {
    "uuid" : "9d444b75-4c6b-496c-a945-f75f003e7a0a",
    "name" : "Temperature Out"
  }, {
    "uuid" : "ac3cc40c-6055-4efa-a4fa-6a9f787bcd9d",
    "name" : "Tool Temperature"
  }, {
    "uuid" : "957a4437-2806-43d6-9b2e-2fdb612be1de",
    "name" : "Torsional Vibration"
  }, {
    "uuid" : "f0ad751b-5c66-4961-b6b9-965b282d38d8",
    "name" : "Total MSE"
  }, {
    "uuid" : "5a89a54f-3c8e-40c9-8fae-fdb7437b8adb",
    "name" : "Bit RPM"
  }, {
    "uuid" : "6565f21c-0d1e-4ce6-bbcf-da4b7900f2f4",
    "name" : "Total Tank Volume"
  }, {
    "uuid" : "86e72bb4-8f89-405b-855b-117e6fdf5f24",
    "name" : "Total Volume Active"
  }, {
    "uuid" : "92e712cc-2fe4-4ebe-967c-603828f1bea5",
    "name" : "Trip Speed"
  }, {
    "uuid" : "107b71c0-ebe1-484f-91c3-c5f57a5ee2ba",
    "name" : "Trip Tank Volume"
  }, {
    "uuid" : "7392915c-10e3-4bd0-8717-3efd4eb2943f",
    "name" : "Time of Penetration"
  }, {
    "uuid" : "5ab9a650-9ccc-4709-a76e-10d5d3ede25a",
    "name" : "RSS Steering Ratio"
  }, {
    "uuid" : "44596b6b-f833-4299-aaf7-519c7b27e8e1",
    "name" : "WOB"
  }, {
    "uuid" : "8595db67-37e0-4389-8f29-6753c9a9e2f7",
    "name" : "WOB Max"
  }, {
    "uuid" : "c1ca14ae-6d00-48cb-9c6f-f0d9840c76b1",
    "name" : "X Accelerometer"
  }, {
    "uuid" : "05c50fad-d7e0-4752-be56-9c610c86e246",
    "name" : "X Magnetometer"
  }, {
    "uuid" : "1ceca6eb-2b67-4015-8930-8f4f64578bba",
    "name" : "Y Accelerometer"
  }, {
    "uuid" : "87cbf376-966b-4252-8368-0428bbeccf7a",
    "name" : "Y Magnetometer"
  }, {
    "uuid" : "8d4a8cb5-80cc-46fa-83c6-783c21598014",
    "name" : "Z Accelerometer"
  }, {
    "uuid" : "4fbd96a1-8606-4067-8b7f-c92a4f8d777d",
    "name" : "Z Magnetometer"
  }, {
    "uuid" : "c6e1722b-2a02-4470-b2d7-bf00f5506719",
    "name" : "Depth of Cut"
  }, {
    "uuid" : "89e07b1a-d50e-4b99-ada9-023f784767d8",
    "name" : "Downhole MSE"
  }, {
    "uuid" : "a1a0e98e-9e28-438e-9c7e-254e68d0c636",
    "name" : "Total MSE"
  }, {
    "uuid" : "5fe2a454-86ad-4fdc-abbf-686e4f67a4fa",
    "name" : "Trip Out: Connection"
  }, {
    "uuid" : "f65f24d3-a306-4a1c-9765-5b8359aed7c3",
    "name" : "Trip Out: Running"
  }, {
    "uuid" : "43b1d9c6-4420-4866-9c1f-c3f9d1d5f543",
    "name" : "Weight to Weight"
  }, {
    "uuid" : "e3c996b6-9cdb-4876-ac99-0aab694b801a",
    "name" : "Rig Activity"
  }, {
    "uuid" : "6906b6ba-5ad3-4df7-8176-dbc844d02d54",
    "name" : "Slide Sheet"
  }, {
    "uuid" : "0cc5b768-8a11-4e11-9ef2-135344f7b1a2",
    "name" : "RSS DLink"
  }, {
    "uuid" : "07700dd6-bdaf-477a-8b79-c48631b653d6",
    "name" : "RSS Desired TF"
  }, {
    "uuid" : "36f79b61-728b-4524-bc87-b2d97f558be2",
    "name" : "RSS Target Inclination"
  }, {
    "uuid" : "89211184-204e-4f3d-a655-bc742743ccf4",
    "name" : "RSS Target Azimuth"
  }, {
    "uuid" : "6ea4cf91-c576-4941-9515-25fec2014f6d",
    "name" : "RSS Status Word 1"
  }, {
    "uuid" : "3677c17f-bad2-44ca-95bb-6265b9898965",
    "name" : "RSS Status Word 2"
  }, {
    "uuid" : "d2271377-87d2-49b3-b40c-c4fb91d55c37",
    "name" : "RSS Status Word 3"
  }, {
    "uuid" : "b673ea0c-eee0-49b4-99ce-8bb8843365f2",
    "name" : "Zeroed WOB"
  }, {
    "uuid" : "d181ddaf-7921-476a-a45c-fc3206a07198",
    "name" : "Zeroed Differential Pressure"
  }, {
    "uuid" : "2adc5cd8-a1de-48ca-916a-3236ed6ece9a",
    "name" : "Trip Out: Reaming"
  }, {
    "uuid" : "2326a7a3-bb68-4924-a9e5-a16b7b87d192",
    "name" : "Trip In: Reaming"
  }, {
    "uuid" : "ab7e5866-a3da-4e6c-b584-523799719b34",
    "name" : "Slip to slip"
  }, {
    "uuid" : "eb85cf68-047e-43b0-bbbb-75548c8e700e",
    "name" : "Trip In: Connection"
  }, {
    "uuid" : "fed6681e-1f21-466c-bf91-55fed528a07d",
    "name" : "Trip In: Running"
  }, {
    "uuid" : "db16f0ac-2c69-4237-933d-7f6ce24fa1dc",
    "name" : "Trip In: Washing"
  }, {
    "uuid" : "08e28406-7ade-4fb2-8dca-1628936f2b36",
    "name" : "Trip Out: Washing"
  }, {
    "uuid" : "f09337a9-ca89-411d-a2e6-aad17746b4ee",
    "name" : "Slack off & Drag"
  }, {
    "uuid" : "bf7c700d-de08-41c5-b20b-cb32d649d8e8",
    "name" : "Erratic Torque"
  }, {
    "uuid" : "68a640b5-f885-4bea-a07e-49536fa2b93d",
    "name" : "Predicted WOB"
  }, {
    "uuid" : "2d348260-372a-4e87-a8b3-82d66d95196e",
    "name" : "Predicted RPM"
  }, {
    "uuid" : "8be6cd16-906a-465c-a04d-f1fd9459458e",
    "name" : "Predicted MFI"
  }, {
    "uuid" : "027be8e3-7fcb-4fd3-b064-1f50f5c4749b",
    "name" : "Predicted ROP"
  } ]
}

GET /public/api/v1/traces

Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Traces collection
content[].uuid String Trace UUID
content[].name String Trace name

Get mapped time traces by lateral

Get the list of mapped time traces by lateral UUID

Request

$ curl 'https://solo.cloud/public/api/v1/wells/3a2edcaf-40b7-40db-a61a-87a986f72b08/traces/mapped?type=TIME' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/3a2edcaf-40b7-40db-a61a-87a986f72b08/traces/mapped?type=TIME HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

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

{
  "content" : [ {
    "uuid" : "f93bf5a7-9755-4163-9c44-6d107967db4b",
    "name" : "Bit depth",
    "hash" : "ec7757c67c8a132a733d0c5be750aba3",
    "unit" : "m",
    "null_value" : "-999.25",
    "start_date_time_index" : "2020-12-29T08:00:00Z",
    "last_date_time_index" : "2020-12-29T08:50:00Z"
  }, {
    "uuid" : "d635c218-3d17-4f5d-98b4-026085c4f584",
    "name" : "Hole Depth",
    "hash" : "ba9cd29fc5cb0ff96292727e82fe871f",
    "unit" : "m",
    "null_value" : "-999.25",
    "start_date_time_index" : "2020-12-29T08:00:00Z",
    "last_date_time_index" : "2020-12-29T08:50:00Z"
  }, {
    "uuid" : "702c9494-7666-435f-ad46-9c6a3f24faa3",
    "name" : "Flow In Rate",
    "hash" : "57be07d693810a7f7c8668cf71e98f2c",
    "unit" : "m3/s",
    "null_value" : "-999.25",
    "start_date_time_index" : "2020-12-29T08:00:00Z",
    "last_date_time_index" : "2020-12-29T08:50:00Z"
  }, {
    "uuid" : "30652f8a-15d2-4a10-9e86-2943a7bd5687",
    "name" : "Surface RPM",
    "hash" : "9576e7e0d4b3f96956f27748ec790583",
    "unit" : "1/s",
    "null_value" : "-999.25",
    "start_date_time_index" : "2020-12-29T08:00:00Z",
    "last_date_time_index" : "2020-12-29T08:50:00Z"
  }, {
    "uuid" : "dfdf09da-5be0-495f-b802-15840ce93066",
    "name" : "Hookload",
    "hash" : "47f546d0260511de0611808b4325105d",
    "unit" : "N",
    "null_value" : "-999.25",
    "start_date_time_index" : "2020-12-29T08:00:00Z",
    "last_date_time_index" : "2020-12-29T08:50:00Z"
  } ]
}

GET /public/api/v1/wells/{uuid}/traces/mapped

Path parameter Description
uuid Lateral UUID
Parameter Description
type Trace type: TIME/CALC
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Mapped traces
content[].uuid String Trace UUID
content[].name String Trace name
content[].hash String Trace hash
content[].unit String Curve UOM related to Trace
content[].null_value String Null value
content[].start_date_time_index String Start date time index
content[].last_date_time_index String Last date time index

Get mapped depth traces by lateral

Get the list of mapped depth traces by lateral UUID

Request

$ curl 'https://solo.cloud/public/api/v1/wells/3a2edcaf-40b7-40db-a61a-87a986f72b08/traces/mapped?type=DEPTH' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/3a2edcaf-40b7-40db-a61a-87a986f72b08/traces/mapped?type=DEPTH HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

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

{
  "content" : [ {
    "uuid" : "d635c218-3d17-4f5d-98b4-026085c4f584",
    "name" : "Hole Depth",
    "hash" : "2856eb04fe315eb2632eba92d0d8977c",
    "unit" : "m",
    "index_unit" : "m",
    "null_value" : "-999.25",
    "start_depth_index" : 1.0,
    "last_depth_index" : 4.0
  } ]
}

GET /public/api/v1/wells/{uuid}/traces/mapped

Path parameter Description
uuid Lateral UUID
Parameter Description
type Trace type: DEPTH
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Mapped traces
content[].uuid String Trace UUID
content[].name String Trace name
content[].hash String Trace hash
content[].unit String Curve UOM related to Trace
content[].index_unit String Index curve UOM of a Log related to Trace
content[].null_value String Null value
content[].start_depth_index Number Start depth index
content[].last_depth_index Number Last depth index

Get time series data by lateral and trace

Get time series data by lateral UUID and mapped trace UUID

Request

$ curl 'https://solo.cloud/public/api/v1/wells/3a2edcaf-40b7-40db-a61a-87a986f72b08/traces/d635c218-3d17-4f5d-98b4-026085c4f584/data/time?from=2020-12-29T08%3A00%3A00Z&to=2020-12-29T08%3A50%3A00Z' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/3a2edcaf-40b7-40db-a61a-87a986f72b08/traces/d635c218-3d17-4f5d-98b4-026085c4f584/data/time?from=2020-12-29T08%3A00%3A00Z&to=2020-12-29T08%3A50%3A00Z HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

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

{
  "content" : [ {
    "index" : "2020-12-29T08:00:00Z",
    "value" : "20341.2"
  }, {
    "index" : "2020-12-29T08:00:01Z",
    "value" : "20341.2"
  }, {
    "index" : "2020-12-29T08:00:02Z",
    "value" : "20341.2"
  }, {
    "index" : "2020-12-29T08:00:03Z",
    "value" : "20341.2"
  }, {
    "index" : "2020-12-29T08:00:04Z",
    "value" : "20341.2"
  }, {
    "index" : "2020-12-29T08:00:05Z",
    "value" : "20341.2"
  }, {
    "index" : "2020-12-29T08:00:06Z",
    "value" : "20341.2"
  }, {
    "index" : "2020-12-29T08:00:07Z",
    "value" : "20341.3"
  }, {
    "index" : "2020-12-29T08:00:08Z",
    "value" : "20341.3"
  }, {
    "index" : "2020-12-29T08:00:09Z",
    "value" : "20341.3"
  }, {
    "index" : "2020-12-29T08:00:10Z",
    "value" : "20341.3"
  }, {
    "index" : "2020-12-29T08:00:11Z",
    "value" : "20341.3"
  }, {
    "index" : "2020-12-29T08:00:12Z",
    "value" : "20341.3"
  }, {
    "index" : "2020-12-29T08:00:13Z",
    "value" : "20341.3"
  }, {
    "index" : "2020-12-29T08:00:14Z",
    "value" : "20341.3"
  }, {
    "index" : "2020-12-29T08:00:15Z",
    "value" : "20341.3"
  }, {
    "index" : "2020-12-29T08:00:16Z",
    "value" : "20341.4"
  }, {
    "index" : "2020-12-29T08:00:17Z",
    "value" : "20341.4"
  }, {
    "index" : "2020-12-29T08:00:18Z",
    "value" : "20341.4"
  }, {
    "index" : "2020-12-29T08:00:19Z",
    "value" : "20341.4"
  }, {
    "index" : "2020-12-29T08:00:20Z",
    "value" : "20341.4"
  }, {
    "index" : "2020-12-29T08:00:21Z",
    "value" : "20341.4"
  }, {
    "index" : "2020-12-29T08:00:22Z",
    "value" : "20341.5"
  }, {
    "index" : "2020-12-29T08:00:23Z",
    "value" : "20341.5"
  }, {
    "index" : "2020-12-29T08:00:24Z",
    "value" : "20341.5"
  }, {
    "index" : "2020-12-29T08:00:25Z",
    "value" : "20341.5"
  }, {
    "index" : "2020-12-29T08:00:26Z",
    "value" : "20341.5"
  }, {
    "index" : "2020-12-29T08:00:27Z",
    "value" : "20341.5"
  }, {
    "index" : "2020-12-29T08:00:28Z",
    "value" : "20341.6"
  }, {
    "index" : "2020-12-29T08:00:29Z",
    "value" : "20341.6"
  }, {
    "index" : "2020-12-29T08:00:30Z",
    "value" : "20341.6"
  }, {
    "index" : "2020-12-29T08:00:31Z",
    "value" : "20341.6"
  }, {
    "index" : "2020-12-29T08:00:32Z",
    "value" : "20341.6"
  }, {
    "index" : "2020-12-29T08:00:33Z",
    "value" : "20341.6"
  }, {
    "index" : "2020-12-29T08:00:34Z",
    "value" : "20341.6"
  }, {
    "index" : "2020-12-29T08:00:35Z",
    "value" : "20341.6"
  }, {
    "index" : "2020-12-29T08:00:36Z",
    "value" : "20341.7"
  }, {
    "index" : "2020-12-29T08:00:37Z",
    "value" : "20341.7"
  }, {
    "index" : "2020-12-29T08:00:38Z",
    "value" : "20341.7"
  }, {
    "index" : "2020-12-29T08:00:39Z",
    "value" : "20341.7"
  }, {
    "index" : "2020-12-29T08:00:40Z",
    "value" : "20341.7"
  }, {
    "index" : "2020-12-29T08:00:41Z",
    "value" : "20341.7"
  }, {
    "index" : "2020-12-29T08:00:42Z",
    "value" : "20341.7"
  }, {
    "index" : "2020-12-29T08:00:43Z",
    "value" : "20341.8"
  }, {
    "index" : "2020-12-29T08:00:44Z",
    "value" : "20341.8"
  }, {
    "index" : "2020-12-29T08:00:45Z",
    "value" : "20341.8"
  }, {
    "index" : "2020-12-29T08:00:46Z",
    "value" : "20341.8"
  }, {
    "index" : "2020-12-29T08:00:47Z",
    "value" : "20341.8"
  }, {
    "index" : "2020-12-29T08:00:48Z",
    "value" : "20341.9"
  }, {
    "index" : "2020-12-29T08:00:49Z",
    "value" : "20341.9"
  }, {
    "index" : "2020-12-29T08:00:50Z",
    "value" : "20341.9"
  }, {
    "index" : "2020-12-29T08:00:51Z",
    "value" : "20341.9"
  }, {
    "index" : "2020-12-29T08:00:52Z",
    "value" : "20341.9"
  }, {
    "index" : "2020-12-29T08:00:53Z",
    "value" : "20341.9"
  }, {
    "index" : "2020-12-29T08:00:54Z",
    "value" : "20341.9"
  }, {
    "index" : "2020-12-29T08:00:55Z",
    "value" : "20341.9"
  }, {
    "index" : "2020-12-29T08:00:56Z",
    "value" : "20341.9"
  }, {
    "index" : "2020-12-29T08:00:57Z",
    "value" : "20342"
  }, {
    "index" : "2020-12-29T08:00:58Z",
    "value" : "20342"
  }, {
    "index" : "2020-12-29T08:00:59Z",
    "value" : "20342"
  }, {
    "index" : "2020-12-29T08:01:00Z",
    "value" : "20342"
  }, {
    "index" : "2020-12-29T08:01:01Z",
    "value" : "20342"
  }, {
    "index" : "2020-12-29T08:01:02Z",
    "value" : "20342"
  }, {
    "index" : "2020-12-29T08:01:03Z",
    "value" : "20342"
  }, {
    "index" : "2020-12-29T08:01:04Z",
    "value" : "20342"
  }, {
    "index" : "2020-12-29T08:01:05Z",
    "value" : "20342.1"
  }, {
    "index" : "2020-12-29T08:01:06Z",
    "value" : "20342.1"
  }, {
    "index" : "2020-12-29T08:01:07Z",
    "value" : "20342.1"
  }, {
    "index" : "2020-12-29T08:01:08Z",
    "value" : "20342.1"
  }, {
    "index" : "2020-12-29T08:01:09Z",
    "value" : "20342.1"
  }, {
    "index" : "2020-12-29T08:01:10Z",
    "value" : "20342.1"
  }, {
    "index" : "2020-12-29T08:01:11Z",
    "value" : "20342.1"
  }, {
    "index" : "2020-12-29T08:01:12Z",
    "value" : "20342.1"
  }, {
    "index" : "2020-12-29T08:01:13Z",
    "value" : "20342.1"
  }, {
    "index" : "2020-12-29T08:01:14Z",
    "value" : "20342.1"
  }, {
    "index" : "2020-12-29T08:01:15Z",
    "value" : "20342.2"
  }, {
    "index" : "2020-12-29T08:01:16Z",
    "value" : "20342.2"
  }, {
    "index" : "2020-12-29T08:01:17Z",
    "value" : "20342.2"
  }, {
    "index" : "2020-12-29T08:01:18Z",
    "value" : "20342.2"
  }, {
    "index" : "2020-12-29T08:01:19Z",
    "value" : "20342.2"
  }, {
    "index" : "2020-12-29T08:01:20Z",
    "value" : "20342.2"
  }, {
    "index" : "2020-12-29T08:01:21Z",
    "value" : "20342.3"
  }, {
    "index" : "2020-12-29T08:01:22Z",
    "value" : "20342.3"
  }, {
    "index" : "2020-12-29T08:01:23Z",
    "value" : "20342.3"
  }, {
    "index" : "2020-12-29T08:01:24Z",
    "value" : "20342.3"
  }, {
    "index" : "2020-12-29T08:01:25Z",
    "value" : "20342.3"
  }, {
    "index" : "2020-12-29T08:01:26Z",
    "value" : "20342.3"
  }, {
    "index" : "2020-12-29T08:01:27Z",
    "value" : "20342.3"
  }, {
    "index" : "2020-12-29T08:01:28Z",
    "value" : "20342.3"
  }, {
    "index" : "2020-12-29T08:01:29Z",
    "value" : "20342.3"
  }, {
    "index" : "2020-12-29T08:01:30Z",
    "value" : "20342.3"
  }, {
    "index" : "2020-12-29T08:01:31Z",
    "value" : "20342.3"
  }, {
    "index" : "2020-12-29T08:01:32Z",
    "value" : "20342.3"
  }, {
    "index" : "2020-12-29T08:01:33Z",
    "value" : "20342.4"
  }, {
    "index" : "2020-12-29T08:01:34Z",
    "value" : "20342.4"
  }, {
    "index" : "2020-12-29T08:01:35Z",
    "value" : "20342.4"
  }, {
    "index" : "2020-12-29T08:01:36Z",
    "value" : "20342.4"
  }, {
    "index" : "2020-12-29T08:01:37Z",
    "value" : "20342.4"
  }, {
    "index" : "2020-12-29T08:01:38Z",
    "value" : "20342.4"
  }, {
    "index" : "2020-12-29T08:01:39Z",
    "value" : "20342.4"
  }, {
    "index" : "2020-12-29T08:01:40Z",
    "value" : "20342.4"
  }, {
    "index" : "2020-12-29T08:01:41Z",
    "value" : "20342.5"
  }, {
    "index" : "2020-12-29T08:01:42Z",
    "value" : "20342.5"
  }, {
    "index" : "2020-12-29T08:01:43Z",
    "value" : "20342.5"
  }, {
    "index" : "2020-12-29T08:01:44Z",
    "value" : "20342.5"
  }, {
    "index" : "2020-12-29T08:01:45Z",
    "value" : "20342.5"
  }, {
    "index" : "2020-12-29T08:01:46Z",
    "value" : "20342.5"
  }, {
    "index" : "2020-12-29T08:01:47Z",
    "value" : "20342.6"
  }, {
    "index" : "2020-12-29T08:01:48Z",
    "value" : "20342.6"
  }, {
    "index" : "2020-12-29T08:01:49Z",
    "value" : "20342.6"
  }, {
    "index" : "2020-12-29T08:01:50Z",
    "value" : "20342.6"
  }, {
    "index" : "2020-12-29T08:01:51Z",
    "value" : "20342.6"
  }, {
    "index" : "2020-12-29T08:01:52Z",
    "value" : "20342.6"
  }, {
    "index" : "2020-12-29T08:01:53Z",
    "value" : "20342.6"
  }, {
    "index" : "2020-12-29T08:01:54Z",
    "value" : "20342.6"
  }, {
    "index" : "2020-12-29T08:01:55Z",
    "value" : "20342.6"
  }, {
    "index" : "2020-12-29T08:01:56Z",
    "value" : "20342.6"
  }, {
    "index" : "2020-12-29T08:01:57Z",
    "value" : "20342.7"
  }, {
    "index" : "2020-12-29T08:01:58Z",
    "value" : "20342.7"
  }, {
    "index" : "2020-12-29T08:01:59Z",
    "value" : "20342.7"
  }, {
    "index" : "2020-12-29T08:02:00Z",
    "value" : "20342.7"
  }, {
    "index" : "2020-12-29T08:02:01Z",
    "value" : "20342.7"
  }, {
    "index" : "2020-12-29T08:02:02Z",
    "value" : "20342.7"
  }, {
    "index" : "2020-12-29T08:02:03Z",
    "value" : "20342.7"
  }, {
    "index" : "2020-12-29T08:02:04Z",
    "value" : "20342.7"
  }, {
    "index" : "2020-12-29T08:02:05Z",
    "value" : "20342.7"
  }, {
    "index" : "2020-12-29T08:02:06Z",
    "value" : "20342.7"
  }, {
    "index" : "2020-12-29T08:02:07Z",
    "value" : "20342.7"
  }, {
    "index" : "2020-12-29T08:02:08Z",
    "value" : "20342.7"
  }, {
    "index" : "2020-12-29T08:02:09Z",
    "value" : "20342.7"
  }, {
    "index" : "2020-12-29T08:02:10Z",
    "value" : "20342.7"
  }, {
    "index" : "2020-12-29T08:02:11Z",
    "value" : "20342.8"
  }, {
    "index" : "2020-12-29T08:02:12Z",
    "value" : "20342.8"
  }, {
    "index" : "2020-12-29T08:02:13Z",
    "value" : "20342.8"
  }, {
    "index" : "2020-12-29T08:02:14Z",
    "value" : "20342.8"
  }, {
    "index" : "2020-12-29T08:02:15Z",
    "value" : "20342.8"
  }, {
    "index" : "2020-12-29T08:02:16Z",
    "value" : "20342.8"
  }, {
    "index" : "2020-12-29T08:02:17Z",
    "value" : "20342.8"
  }, {
    "index" : "2020-12-29T08:02:18Z",
    "value" : "20342.9"
  }, {
    "index" : "2020-12-29T08:02:19Z",
    "value" : "20342.9"
  }, {
    "index" : "2020-12-29T08:02:20Z",
    "value" : "20342.9"
  }, {
    "index" : "2020-12-29T08:02:21Z",
    "value" : "20342.9"
  }, {
    "index" : "2020-12-29T08:02:22Z",
    "value" : "20342.9"
  }, {
    "index" : "2020-12-29T08:02:23Z",
    "value" : "20342.9"
  }, {
    "index" : "2020-12-29T08:02:24Z",
    "value" : "20342.9"
  }, {
    "index" : "2020-12-29T08:02:25Z",
    "value" : "20342.9"
  }, {
    "index" : "2020-12-29T08:02:26Z",
    "value" : "20342.9"
  }, {
    "index" : "2020-12-29T08:02:27Z",
    "value" : "20342.9"
  }, {
    "index" : "2020-12-29T08:02:28Z",
    "value" : "20343"
  }, {
    "index" : "2020-12-29T08:02:29Z",
    "value" : "20343"
  }, {
    "index" : "2020-12-29T08:02:30Z",
    "value" : "20343"
  }, {
    "index" : "2020-12-29T08:02:31Z",
    "value" : "20343"
  }, {
    "index" : "2020-12-29T08:02:32Z",
    "value" : "20343"
  }, {
    "index" : "2020-12-29T08:02:33Z",
    "value" : "20343"
  }, {
    "index" : "2020-12-29T08:02:34Z",
    "value" : "20343"
  }, {
    "index" : "2020-12-29T08:02:35Z",
    "value" : "20343.1"
  }, {
    "index" : "2020-12-29T08:02:36Z",
    "value" : "20343.1"
  }, {
    "index" : "2020-12-29T08:02:37Z",
    "value" : "20343.1"
  }, {
    "index" : "2020-12-29T08:02:38Z",
    "value" : "20343.1"
  }, {
    "index" : "2020-12-29T08:02:39Z",
    "value" : "20343.1"
  }, {
    "index" : "2020-12-29T08:02:40Z",
    "value" : "20343.1"
  }, {
    "index" : "2020-12-29T08:02:41Z",
    "value" : "20343.2"
  }, {
    "index" : "2020-12-29T08:02:42Z",
    "value" : "20343.2"
  }, {
    "index" : "2020-12-29T08:02:43Z",
    "value" : "20343.2"
  }, {
    "index" : "2020-12-29T08:02:44Z",
    "value" : "20343.2"
  }, {
    "index" : "2020-12-29T08:02:45Z",
    "value" : "20343.2"
  }, {
    "index" : "2020-12-29T08:02:46Z",
    "value" : "20343.2"
  }, {
    "index" : "2020-12-29T08:02:47Z",
    "value" : "20343.2"
  }, {
    "index" : "2020-12-29T08:02:48Z",
    "value" : "20343.2"
  }, {
    "index" : "2020-12-29T08:02:49Z",
    "value" : "20343.2"
  }, {
    "index" : "2020-12-29T08:02:50Z",
    "value" : "20343.2"
  }, {
    "index" : "2020-12-29T08:02:51Z",
    "value" : "20343.2"
  }, {
    "index" : "2020-12-29T08:02:52Z",
    "value" : "20343.2"
  }, {
    "index" : "2020-12-29T08:02:53Z",
    "value" : "20343.2"
  }, {
    "index" : "2020-12-29T08:02:54Z",
    "value" : "20343.2"
  }, {
    "index" : "2020-12-29T08:02:55Z",
    "value" : "20343.3"
  }, {
    "index" : "2020-12-29T08:02:56Z",
    "value" : "20343.3"
  }, {
    "index" : "2020-12-29T08:02:57Z",
    "value" : "20343.3"
  }, {
    "index" : "2020-12-29T08:02:58Z",
    "value" : "20343.3"
  }, {
    "index" : "2020-12-29T08:02:59Z",
    "value" : "20343.4"
  }, {
    "index" : "2020-12-29T08:03:00Z",
    "value" : "20343.4"
  }, {
    "index" : "2020-12-29T08:03:01Z",
    "value" : "20343.5"
  }, {
    "index" : "2020-12-29T08:03:02Z",
    "value" : "20343.5"
  }, {
    "index" : "2020-12-29T08:03:03Z",
    "value" : "20343.5"
  }, {
    "index" : "2020-12-29T08:03:04Z",
    "value" : "20343.6"
  }, {
    "index" : "2020-12-29T08:03:05Z",
    "value" : "20343.6"
  }, {
    "index" : "2020-12-29T08:03:06Z",
    "value" : "20343.6"
  }, {
    "index" : "2020-12-29T08:03:07Z",
    "value" : "20343.7"
  }, {
    "index" : "2020-12-29T08:03:08Z",
    "value" : "20343.7"
  }, {
    "index" : "2020-12-29T08:03:09Z",
    "value" : "20343.7"
  }, {
    "index" : "2020-12-29T08:03:10Z",
    "value" : "20343.7"
  }, {
    "index" : "2020-12-29T08:03:11Z",
    "value" : "20343.8"
  }, {
    "index" : "2020-12-29T08:03:12Z",
    "value" : "20343.8"
  }, {
    "index" : "2020-12-29T08:03:13Z",
    "value" : "20343.8"
  }, {
    "index" : "2020-12-29T08:03:14Z",
    "value" : "20343.8"
  }, {
    "index" : "2020-12-29T08:03:15Z",
    "value" : "20343.8"
  }, {
    "index" : "2020-12-29T08:03:16Z",
    "value" : "20343.8"
  }, {
    "index" : "2020-12-29T08:03:17Z",
    "value" : "20343.8"
  }, {
    "index" : "2020-12-29T08:03:18Z",
    "value" : "20343.8"
  }, {
    "index" : "2020-12-29T08:03:19Z",
    "value" : "20343.9"
  }, {
    "index" : "2020-12-29T08:03:20Z",
    "value" : "20343.9"
  }, {
    "index" : "2020-12-29T08:03:21Z",
    "value" : "20343.9"
  }, {
    "index" : "2020-12-29T08:03:22Z",
    "value" : "20343.9"
  }, {
    "index" : "2020-12-29T08:03:23Z",
    "value" : "20343.9"
  }, {
    "index" : "2020-12-29T08:03:24Z",
    "value" : "20343.9"
  }, {
    "index" : "2020-12-29T08:03:25Z",
    "value" : "20343.9"
  }, {
    "index" : "2020-12-29T08:03:26Z",
    "value" : "20343.9"
  }, {
    "index" : "2020-12-29T08:03:27Z",
    "value" : "20343.9"
  }, {
    "index" : "2020-12-29T08:03:28Z",
    "value" : "20343.9"
  }, {
    "index" : "2020-12-29T08:03:29Z",
    "value" : "20343.9"
  }, {
    "index" : "2020-12-29T08:03:30Z",
    "value" : "20344"
  }, {
    "index" : "2020-12-29T08:03:31Z",
    "value" : "20344"
  }, {
    "index" : "2020-12-29T08:03:32Z",
    "value" : "20344"
  }, {
    "index" : "2020-12-29T08:03:33Z",
    "value" : "20344"
  }, {
    "index" : "2020-12-29T08:03:34Z",
    "value" : "20344"
  }, {
    "index" : "2020-12-29T08:03:35Z",
    "value" : "20344"
  }, {
    "index" : "2020-12-29T08:03:36Z",
    "value" : "20344.1"
  }, {
    "index" : "2020-12-29T08:03:37Z",
    "value" : "20344.1"
  }, {
    "index" : "2020-12-29T08:03:38Z",
    "value" : "20344.1"
  }, {
    "index" : "2020-12-29T08:03:39Z",
    "value" : "20344.1"
  }, {
    "index" : "2020-12-29T08:03:40Z",
    "value" : "20344.1"
  }, {
    "index" : "2020-12-29T08:03:41Z",
    "value" : "20344.1"
  }, {
    "index" : "2020-12-29T08:03:42Z",
    "value" : "20344.2"
  }, {
    "index" : "2020-12-29T08:03:43Z",
    "value" : "20344.2"
  }, {
    "index" : "2020-12-29T08:03:44Z",
    "value" : "20344.2"
  }, {
    "index" : "2020-12-29T08:03:45Z",
    "value" : "20344.2"
  }, {
    "index" : "2020-12-29T08:03:46Z",
    "value" : "20344.2"
  }, {
    "index" : "2020-12-29T08:03:47Z",
    "value" : "20344.2"
  }, {
    "index" : "2020-12-29T08:03:48Z",
    "value" : "20344.2"
  }, {
    "index" : "2020-12-29T08:03:49Z",
    "value" : "20344.3"
  }, {
    "index" : "2020-12-29T08:03:50Z",
    "value" : "20344.3"
  }, {
    "index" : "2020-12-29T08:03:51Z",
    "value" : "20344.3"
  }, {
    "index" : "2020-12-29T08:03:52Z",
    "value" : "20344.3"
  }, {
    "index" : "2020-12-29T08:03:53Z",
    "value" : "20344.3"
  }, {
    "index" : "2020-12-29T08:03:54Z",
    "value" : "20344.3"
  }, {
    "index" : "2020-12-29T08:03:55Z",
    "value" : "20344.3"
  }, {
    "index" : "2020-12-29T08:03:56Z",
    "value" : "20344.3"
  }, {
    "index" : "2020-12-29T08:03:57Z",
    "value" : "20344.3"
  }, {
    "index" : "2020-12-29T08:03:58Z",
    "value" : "20344.3"
  }, {
    "index" : "2020-12-29T08:03:59Z",
    "value" : "20344.3"
  }, {
    "index" : "2020-12-29T08:04:00Z",
    "value" : "20344.4"
  }, {
    "index" : "2020-12-29T08:04:01Z",
    "value" : "20344.4"
  }, {
    "index" : "2020-12-29T08:04:02Z",
    "value" : "20344.4"
  }, {
    "index" : "2020-12-29T08:04:03Z",
    "value" : "20344.4"
  }, {
    "index" : "2020-12-29T08:04:04Z",
    "value" : "20344.4"
  }, {
    "index" : "2020-12-29T08:04:05Z",
    "value" : "20344.5"
  }, {
    "index" : "2020-12-29T08:04:06Z",
    "value" : "20344.5"
  }, {
    "index" : "2020-12-29T08:04:07Z",
    "value" : "20344.5"
  }, {
    "index" : "2020-12-29T08:04:08Z",
    "value" : "20344.5"
  }, {
    "index" : "2020-12-29T08:04:09Z",
    "value" : "20344.5"
  }, {
    "index" : "2020-12-29T08:04:10Z",
    "value" : "20344.5"
  }, {
    "index" : "2020-12-29T08:04:11Z",
    "value" : "20344.6"
  }, {
    "index" : "2020-12-29T08:04:12Z",
    "value" : "20344.6"
  }, {
    "index" : "2020-12-29T08:04:13Z",
    "value" : "20344.6"
  }, {
    "index" : "2020-12-29T08:04:14Z",
    "value" : "20344.6"
  }, {
    "index" : "2020-12-29T08:04:15Z",
    "value" : "20344.6"
  }, {
    "index" : "2020-12-29T08:04:16Z",
    "value" : "20344.6"
  }, {
    "index" : "2020-12-29T08:04:17Z",
    "value" : "20344.6"
  }, {
    "index" : "2020-12-29T08:04:18Z",
    "value" : "20344.7"
  }, {
    "index" : "2020-12-29T08:04:19Z",
    "value" : "20344.7"
  }, {
    "index" : "2020-12-29T08:04:20Z",
    "value" : "20344.7"
  }, {
    "index" : "2020-12-29T08:04:21Z",
    "value" : "20344.7"
  }, {
    "index" : "2020-12-29T08:04:22Z",
    "value" : "20344.7"
  }, {
    "index" : "2020-12-29T08:04:23Z",
    "value" : "20344.7"
  }, {
    "index" : "2020-12-29T08:04:24Z",
    "value" : "20344.8"
  }, {
    "index" : "2020-12-29T08:04:25Z",
    "value" : "20344.8"
  }, {
    "index" : "2020-12-29T08:04:26Z",
    "value" : "20344.8"
  }, {
    "index" : "2020-12-29T08:04:27Z",
    "value" : "20344.8"
  }, {
    "index" : "2020-12-29T08:04:28Z",
    "value" : "20344.8"
  }, {
    "index" : "2020-12-29T08:04:29Z",
    "value" : "20344.8"
  }, {
    "index" : "2020-12-29T08:04:30Z",
    "value" : "20344.8"
  }, {
    "index" : "2020-12-29T08:04:31Z",
    "value" : "20344.8"
  }, {
    "index" : "2020-12-29T08:04:32Z",
    "value" : "20344.8"
  }, {
    "index" : "2020-12-29T08:04:33Z",
    "value" : "20344.8"
  }, {
    "index" : "2020-12-29T08:04:34Z",
    "value" : "20344.8"
  }, {
    "index" : "2020-12-29T08:04:35Z",
    "value" : "20344.8"
  }, {
    "index" : "2020-12-29T08:04:36Z",
    "value" : "20344.8"
  }, {
    "index" : "2020-12-29T08:04:37Z",
    "value" : "20344.8"
  }, {
    "index" : "2020-12-29T08:04:38Z",
    "value" : "20344.8"
  }, {
    "index" : "2020-12-29T08:04:39Z",
    "value" : "20344.8"
  }, {
    "index" : "2020-12-29T08:04:40Z",
    "value" : "20344.9"
  }, {
    "index" : "2020-12-29T08:04:41Z",
    "value" : "20344.9"
  }, {
    "index" : "2020-12-29T08:04:42Z",
    "value" : "20344.9"
  }, {
    "index" : "2020-12-29T08:04:43Z",
    "value" : "20344.9"
  }, {
    "index" : "2020-12-29T08:04:44Z",
    "value" : "20345"
  }, {
    "index" : "2020-12-29T08:04:45Z",
    "value" : "20345"
  }, {
    "index" : "2020-12-29T08:04:46Z",
    "value" : "20345"
  }, {
    "index" : "2020-12-29T08:04:47Z",
    "value" : "20345"
  }, {
    "index" : "2020-12-29T08:04:48Z",
    "value" : "20345"
  }, {
    "index" : "2020-12-29T08:04:49Z",
    "value" : "20345"
  }, {
    "index" : "2020-12-29T08:04:50Z",
    "value" : "20345"
  }, {
    "index" : "2020-12-29T08:04:51Z",
    "value" : "20345"
  }, {
    "index" : "2020-12-29T08:04:52Z",
    "value" : "20345.1"
  }, {
    "index" : "2020-12-29T08:04:53Z",
    "value" : "20345.1"
  }, {
    "index" : "2020-12-29T08:04:54Z",
    "value" : "20345.1"
  }, {
    "index" : "2020-12-29T08:04:55Z",
    "value" : "20345.1"
  }, {
    "index" : "2020-12-29T08:04:56Z",
    "value" : "20345.1"
  }, {
    "index" : "2020-12-29T08:04:57Z",
    "value" : "20345.1"
  }, {
    "index" : "2020-12-29T08:04:58Z",
    "value" : "20345.1"
  }, {
    "index" : "2020-12-29T08:04:59Z",
    "value" : "20345.1"
  }, {
    "index" : "2020-12-29T08:05:00Z",
    "value" : "20345.1"
  }, {
    "index" : "2020-12-29T08:05:01Z",
    "value" : "20345.2"
  }, {
    "index" : "2020-12-29T08:05:02Z",
    "value" : "20345.2"
  }, {
    "index" : "2020-12-29T08:05:03Z",
    "value" : "20345.2"
  }, {
    "index" : "2020-12-29T08:05:04Z",
    "value" : "20345.2"
  }, {
    "index" : "2020-12-29T08:05:05Z",
    "value" : "20345.2"
  }, {
    "index" : "2020-12-29T08:05:06Z",
    "value" : "20345.2"
  }, {
    "index" : "2020-12-29T08:05:07Z",
    "value" : "20345.2"
  }, {
    "index" : "2020-12-29T08:05:08Z",
    "value" : "20345.2"
  }, {
    "index" : "2020-12-29T08:05:09Z",
    "value" : "20345.2"
  }, {
    "index" : "2020-12-29T08:05:10Z",
    "value" : "20345.2"
  }, {
    "index" : "2020-12-29T08:05:11Z",
    "value" : "20345.3"
  }, {
    "index" : "2020-12-29T08:05:12Z",
    "value" : "20345.3"
  }, {
    "index" : "2020-12-29T08:05:13Z",
    "value" : "20345.3"
  }, {
    "index" : "2020-12-29T08:05:14Z",
    "value" : "20345.3"
  }, {
    "index" : "2020-12-29T08:05:15Z",
    "value" : "20345.3"
  }, {
    "index" : "2020-12-29T08:05:16Z",
    "value" : "20345.3"
  }, {
    "index" : "2020-12-29T08:05:17Z",
    "value" : "20345.3"
  }, {
    "index" : "2020-12-29T08:05:18Z",
    "value" : "20345.3"
  }, {
    "index" : "2020-12-29T08:05:19Z",
    "value" : "20345.4"
  }, {
    "index" : "2020-12-29T08:05:20Z",
    "value" : "20345.4"
  }, {
    "index" : "2020-12-29T08:05:21Z",
    "value" : "20345.4"
  }, {
    "index" : "2020-12-29T08:05:22Z",
    "value" : "20345.4"
  }, {
    "index" : "2020-12-29T08:05:23Z",
    "value" : "20345.4"
  }, {
    "index" : "2020-12-29T08:05:24Z",
    "value" : "20345.4"
  }, {
    "index" : "2020-12-29T08:05:25Z",
    "value" : "20345.4"
  }, {
    "index" : "2020-12-29T08:05:26Z",
    "value" : "20345.4"
  }, {
    "index" : "2020-12-29T08:05:27Z",
    "value" : "20345.4"
  }, {
    "index" : "2020-12-29T08:05:28Z",
    "value" : "20345.4"
  }, {
    "index" : "2020-12-29T08:05:29Z",
    "value" : "20345.4"
  }, {
    "index" : "2020-12-29T08:05:30Z",
    "value" : "20345.4"
  }, {
    "index" : "2020-12-29T08:05:31Z",
    "value" : "20345.4"
  }, {
    "index" : "2020-12-29T08:05:32Z",
    "value" : "20345.5"
  }, {
    "index" : "2020-12-29T08:05:33Z",
    "value" : "20345.5"
  }, {
    "index" : "2020-12-29T08:05:34Z",
    "value" : "20345.5"
  }, {
    "index" : "2020-12-29T08:05:35Z",
    "value" : "20345.5"
  }, {
    "index" : "2020-12-29T08:05:36Z",
    "value" : "20345.5"
  }, {
    "index" : "2020-12-29T08:05:37Z",
    "value" : "20345.5"
  }, {
    "index" : "2020-12-29T08:05:38Z",
    "value" : "20345.6"
  }, {
    "index" : "2020-12-29T08:05:39Z",
    "value" : "20345.6"
  }, {
    "index" : "2020-12-29T08:05:40Z",
    "value" : "20345.6"
  }, {
    "index" : "2020-12-29T08:05:41Z",
    "value" : "20345.6"
  }, {
    "index" : "2020-12-29T08:05:42Z",
    "value" : "20345.6"
  }, {
    "index" : "2020-12-29T08:05:43Z",
    "value" : "20345.6"
  }, {
    "index" : "2020-12-29T08:05:44Z",
    "value" : "20345.6"
  }, {
    "index" : "2020-12-29T08:05:45Z",
    "value" : "20345.7"
  }, {
    "index" : "2020-12-29T08:05:46Z",
    "value" : "20345.7"
  }, {
    "index" : "2020-12-29T08:05:47Z",
    "value" : "20345.7"
  }, {
    "index" : "2020-12-29T08:05:48Z",
    "value" : "20345.7"
  }, {
    "index" : "2020-12-29T08:05:49Z",
    "value" : "20345.7"
  }, {
    "index" : "2020-12-29T08:05:50Z",
    "value" : "20345.7"
  }, {
    "index" : "2020-12-29T08:05:51Z",
    "value" : "20345.7"
  }, {
    "index" : "2020-12-29T08:05:52Z",
    "value" : "20345.7"
  }, {
    "index" : "2020-12-29T08:05:53Z",
    "value" : "20345.7"
  }, {
    "index" : "2020-12-29T08:05:54Z",
    "value" : "20345.7"
  }, {
    "index" : "2020-12-29T08:05:55Z",
    "value" : "20345.7"
  }, {
    "index" : "2020-12-29T08:05:56Z",
    "value" : "20345.7"
  }, {
    "index" : "2020-12-29T08:05:57Z",
    "value" : "20345.8"
  }, {
    "index" : "2020-12-29T08:05:58Z",
    "value" : "20345.8"
  }, {
    "index" : "2020-12-29T08:05:59Z",
    "value" : "20345.8"
  }, {
    "index" : "2020-12-29T08:06:00Z",
    "value" : "20345.8"
  }, {
    "index" : "2020-12-29T08:06:01Z",
    "value" : "20345.8"
  }, {
    "index" : "2020-12-29T08:06:02Z",
    "value" : "20345.8"
  }, {
    "index" : "2020-12-29T08:06:03Z",
    "value" : "20345.8"
  }, {
    "index" : "2020-12-29T08:06:04Z",
    "value" : "20345.8"
  }, {
    "index" : "2020-12-29T08:06:05Z",
    "value" : "20345.8"
  }, {
    "index" : "2020-12-29T08:06:06Z",
    "value" : "20345.8"
  }, {
    "index" : "2020-12-29T08:06:07Z",
    "value" : "20345.9"
  }, {
    "index" : "2020-12-29T08:06:08Z",
    "value" : "20345.9"
  }, {
    "index" : "2020-12-29T08:06:09Z",
    "value" : "20345.9"
  }, {
    "index" : "2020-12-29T08:06:10Z",
    "value" : "20345.9"
  }, {
    "index" : "2020-12-29T08:06:11Z",
    "value" : "20345.9"
  }, {
    "index" : "2020-12-29T08:06:12Z",
    "value" : "20345.9"
  }, {
    "index" : "2020-12-29T08:06:13Z",
    "value" : "20346"
  }, {
    "index" : "2020-12-29T08:06:14Z",
    "value" : "20346"
  }, {
    "index" : "2020-12-29T08:06:15Z",
    "value" : "20346"
  }, {
    "index" : "2020-12-29T08:06:16Z",
    "value" : "20346"
  }, {
    "index" : "2020-12-29T08:06:17Z",
    "value" : "20346"
  }, {
    "index" : "2020-12-29T08:06:18Z",
    "value" : "20346"
  }, {
    "index" : "2020-12-29T08:06:19Z",
    "value" : "20346"
  }, {
    "index" : "2020-12-29T08:06:20Z",
    "value" : "20346"
  }, {
    "index" : "2020-12-29T08:06:21Z",
    "value" : "20346"
  }, {
    "index" : "2020-12-29T08:06:22Z",
    "value" : "20346"
  }, {
    "index" : "2020-12-29T08:06:23Z",
    "value" : "20346"
  }, {
    "index" : "2020-12-29T08:06:24Z",
    "value" : "20346"
  }, {
    "index" : "2020-12-29T08:06:25Z",
    "value" : "20346"
  }, {
    "index" : "2020-12-29T08:06:26Z",
    "value" : "20346"
  }, {
    "index" : "2020-12-29T08:06:27Z",
    "value" : "20346"
  }, {
    "index" : "2020-12-29T08:06:28Z",
    "value" : "20346"
  }, {
    "index" : "2020-12-29T08:06:29Z",
    "value" : "20346"
  }, {
    "index" : "2020-12-29T08:06:30Z",
    "value" : "20346.1"
  }, {
    "index" : "2020-12-29T08:06:31Z",
    "value" : "20346.1"
  }, {
    "index" : "2020-12-29T08:06:32Z",
    "value" : "20346.1"
  }, {
    "index" : "2020-12-29T08:06:33Z",
    "value" : "20346.1"
  }, {
    "index" : "2020-12-29T08:06:34Z",
    "value" : "20346.1"
  }, {
    "index" : "2020-12-29T08:06:35Z",
    "value" : "20346.1"
  }, {
    "index" : "2020-12-29T08:06:36Z",
    "value" : "20346.2"
  }, {
    "index" : "2020-12-29T08:06:37Z",
    "value" : "20346.2"
  }, {
    "index" : "2020-12-29T08:06:38Z",
    "value" : "20346.2"
  }, {
    "index" : "2020-12-29T08:06:39Z",
    "value" : "20346.2"
  }, {
    "index" : "2020-12-29T08:06:40Z",
    "value" : "20346.2"
  }, {
    "index" : "2020-12-29T08:06:41Z",
    "value" : "20346.2"
  }, {
    "index" : "2020-12-29T08:06:42Z",
    "value" : "20346.3"
  }, {
    "index" : "2020-12-29T08:06:43Z",
    "value" : "20346.3"
  }, {
    "index" : "2020-12-29T08:06:44Z",
    "value" : "20346.3"
  }, {
    "index" : "2020-12-29T08:06:45Z",
    "value" : "20346.3"
  }, {
    "index" : "2020-12-29T08:06:46Z",
    "value" : "20346.3"
  }, {
    "index" : "2020-12-29T08:06:47Z",
    "value" : "20346.3"
  }, {
    "index" : "2020-12-29T08:06:48Z",
    "value" : "20346.3"
  }, {
    "index" : "2020-12-29T08:06:49Z",
    "value" : "20346.3"
  }, {
    "index" : "2020-12-29T08:06:50Z",
    "value" : "20346.3"
  }, {
    "index" : "2020-12-29T08:06:51Z",
    "value" : "20346.3"
  }, {
    "index" : "2020-12-29T08:06:52Z",
    "value" : "20346.3"
  }, {
    "index" : "2020-12-29T08:06:53Z",
    "value" : "20346.3"
  }, {
    "index" : "2020-12-29T08:06:54Z",
    "value" : "20346.4"
  }, {
    "index" : "2020-12-29T08:06:55Z",
    "value" : "20346.4"
  }, {
    "index" : "2020-12-29T08:06:56Z",
    "value" : "20346.4"
  }, {
    "index" : "2020-12-29T08:06:57Z",
    "value" : "20346.4"
  }, {
    "index" : "2020-12-29T08:06:58Z",
    "value" : "20346.4"
  }, {
    "index" : "2020-12-29T08:06:59Z",
    "value" : "20346.4"
  }, {
    "index" : "2020-12-29T08:07:00Z",
    "value" : "20346.4"
  }, {
    "index" : "2020-12-29T08:07:01Z",
    "value" : "20346.4"
  }, {
    "index" : "2020-12-29T08:07:02Z",
    "value" : "20346.4"
  }, {
    "index" : "2020-12-29T08:07:03Z",
    "value" : "20346.4"
  }, {
    "index" : "2020-12-29T08:07:04Z",
    "value" : "20346.4"
  }, {
    "index" : "2020-12-29T08:07:05Z",
    "value" : "20346.4"
  }, {
    "index" : "2020-12-29T08:07:06Z",
    "value" : "20346.4"
  }, {
    "index" : "2020-12-29T08:07:07Z",
    "value" : "20346.4"
  }, {
    "index" : "2020-12-29T08:07:08Z",
    "value" : "20346.4"
  }, {
    "index" : "2020-12-29T08:07:09Z",
    "value" : "20346.4"
  }, {
    "index" : "2020-12-29T08:07:10Z",
    "value" : "20346.4"
  }, {
    "index" : "2020-12-29T08:07:11Z",
    "value" : "20346.4"
  }, {
    "index" : "2020-12-29T08:07:12Z",
    "value" : "20346.4"
  }, {
    "index" : "2020-12-29T08:07:13Z",
    "value" : "20346.4"
  }, {
    "index" : "2020-12-29T08:07:14Z",
    "value" : "20346.4"
  }, {
    "index" : "2020-12-29T08:07:15Z",
    "value" : "20346.4"
  }, {
    "index" : "2020-12-29T08:07:16Z",
    "value" : "20346.4"
  }, {
    "index" : "2020-12-29T08:07:17Z",
    "value" : "20346.5"
  }, {
    "index" : "2020-12-29T08:07:18Z",
    "value" : "20346.5"
  }, {
    "index" : "2020-12-29T08:07:19Z",
    "value" : "20346.5"
  }, {
    "index" : "2020-12-29T08:07:20Z",
    "value" : "20346.6"
  }, {
    "index" : "2020-12-29T08:07:21Z",
    "value" : "20346.6"
  }, {
    "index" : "2020-12-29T08:07:22Z",
    "value" : "20346.6"
  }, {
    "index" : "2020-12-29T08:07:23Z",
    "value" : "20346.6"
  }, {
    "index" : "2020-12-29T08:07:24Z",
    "value" : "20346.6"
  }, {
    "index" : "2020-12-29T08:07:25Z",
    "value" : "20346.6"
  }, {
    "index" : "2020-12-29T08:07:26Z",
    "value" : "20346.7"
  }, {
    "index" : "2020-12-29T08:07:27Z",
    "value" : "20346.7"
  }, {
    "index" : "2020-12-29T08:07:28Z",
    "value" : "20346.7"
  }, {
    "index" : "2020-12-29T08:07:29Z",
    "value" : "20346.7"
  }, {
    "index" : "2020-12-29T08:07:30Z",
    "value" : "20346.7"
  }, {
    "index" : "2020-12-29T08:07:31Z",
    "value" : "20346.7"
  }, {
    "index" : "2020-12-29T08:07:32Z",
    "value" : "20346.7"
  }, {
    "index" : "2020-12-29T08:07:33Z",
    "value" : "20346.8"
  }, {
    "index" : "2020-12-29T08:07:34Z",
    "value" : "20346.8"
  }, {
    "index" : "2020-12-29T08:07:35Z",
    "value" : "20346.8"
  }, {
    "index" : "2020-12-29T08:07:36Z",
    "value" : "20346.8"
  }, {
    "index" : "2020-12-29T08:07:37Z",
    "value" : "20346.8"
  }, {
    "index" : "2020-12-29T08:07:38Z",
    "value" : "20346.8"
  }, {
    "index" : "2020-12-29T08:07:39Z",
    "value" : "20346.8"
  }, {
    "index" : "2020-12-29T08:07:40Z",
    "value" : "20346.8"
  }, {
    "index" : "2020-12-29T08:07:41Z",
    "value" : "20346.8"
  }, {
    "index" : "2020-12-29T08:07:42Z",
    "value" : "20346.8"
  }, {
    "index" : "2020-12-29T08:07:43Z",
    "value" : "20346.8"
  }, {
    "index" : "2020-12-29T08:07:44Z",
    "value" : "20346.8"
  }, {
    "index" : "2020-12-29T08:07:45Z",
    "value" : "20346.8"
  }, {
    "index" : "2020-12-29T08:07:46Z",
    "value" : "20346.8"
  }, {
    "index" : "2020-12-29T08:07:47Z",
    "value" : "20346.8"
  }, {
    "index" : "2020-12-29T08:07:48Z",
    "value" : "20346.8"
  }, {
    "index" : "2020-12-29T08:07:49Z",
    "value" : "20346.8"
  }, {
    "index" : "2020-12-29T08:07:50Z",
    "value" : "20346.8"
  }, {
    "index" : "2020-12-29T08:07:51Z",
    "value" : "20346.8"
  }, {
    "index" : "2020-12-29T08:07:52Z",
    "value" : "20346.9"
  }, {
    "index" : "2020-12-29T08:07:53Z",
    "value" : "20346.9"
  }, {
    "index" : "2020-12-29T08:07:54Z",
    "value" : "20346.9"
  }, {
    "index" : "2020-12-29T08:07:55Z",
    "value" : "20346.9"
  }, {
    "index" : "2020-12-29T08:07:56Z",
    "value" : "20347"
  }, {
    "index" : "2020-12-29T08:07:57Z",
    "value" : "20347"
  }, {
    "index" : "2020-12-29T08:07:58Z",
    "value" : "20347"
  }, {
    "index" : "2020-12-29T08:07:59Z",
    "value" : "20347"
  }, {
    "index" : "2020-12-29T08:08:00Z",
    "value" : "20347"
  }, {
    "index" : "2020-12-29T08:08:01Z",
    "value" : "20347.1"
  }, {
    "index" : "2020-12-29T08:08:02Z",
    "value" : "20347.1"
  }, {
    "index" : "2020-12-29T08:08:03Z",
    "value" : "20347.1"
  }, {
    "index" : "2020-12-29T08:08:04Z",
    "value" : "20347.1"
  }, {
    "index" : "2020-12-29T08:08:05Z",
    "value" : "20347.1"
  }, {
    "index" : "2020-12-29T08:08:06Z",
    "value" : "20347.1"
  }, {
    "index" : "2020-12-29T08:08:07Z",
    "value" : "20347.2"
  }, {
    "index" : "2020-12-29T08:08:08Z",
    "value" : "20347.2"
  }, {
    "index" : "2020-12-29T08:08:09Z",
    "value" : "20347.2"
  }, {
    "index" : "2020-12-29T08:08:30Z",
    "value" : "20347.4"
  }, {
    "index" : "2020-12-29T08:08:31Z",
    "value" : "20347.5"
  }, {
    "index" : "2020-12-29T08:08:32Z",
    "value" : "20347.5"
  }, {
    "index" : "2020-12-29T08:08:33Z",
    "value" : "20347.5"
  }, {
    "index" : "2020-12-29T08:08:34Z",
    "value" : "20347.5"
  }, {
    "index" : "2020-12-29T08:08:35Z",
    "value" : "20347.5"
  }, {
    "index" : "2020-12-29T08:08:36Z",
    "value" : "20347.6"
  }, {
    "index" : "2020-12-29T08:08:37Z",
    "value" : "20347.6"
  }, {
    "index" : "2020-12-29T08:08:38Z",
    "value" : "20347.6"
  }, {
    "index" : "2020-12-29T08:08:39Z",
    "value" : "20347.6"
  }, {
    "index" : "2020-12-29T08:08:40Z",
    "value" : "20347.6"
  }, {
    "index" : "2020-12-29T08:08:41Z",
    "value" : "20347.6"
  }, {
    "index" : "2020-12-29T08:08:42Z",
    "value" : "20347.6"
  }, {
    "index" : "2020-12-29T08:08:43Z",
    "value" : "20347.6"
  }, {
    "index" : "2020-12-29T08:08:44Z",
    "value" : "20347.6"
  }, {
    "index" : "2020-12-29T08:08:45Z",
    "value" : "20347.6"
  }, {
    "index" : "2020-12-29T08:08:46Z",
    "value" : "20347.6"
  }, {
    "index" : "2020-12-29T08:08:47Z",
    "value" : "20347.6"
  }, {
    "index" : "2020-12-29T08:08:48Z",
    "value" : "20347.6"
  }, {
    "index" : "2020-12-29T08:08:49Z",
    "value" : "20347.6"
  }, {
    "index" : "2020-12-29T08:08:50Z",
    "value" : "20347.6"
  }, {
    "index" : "2020-12-29T08:08:51Z",
    "value" : "20347.6"
  }, {
    "index" : "2020-12-29T08:08:52Z",
    "value" : "20347.7"
  }, {
    "index" : "2020-12-29T08:08:53Z",
    "value" : "20347.7"
  }, {
    "index" : "2020-12-29T08:08:54Z",
    "value" : "20347.7"
  }, {
    "index" : "2020-12-29T08:08:55Z",
    "value" : "20347.7"
  }, {
    "index" : "2020-12-29T08:08:56Z",
    "value" : "20347.7"
  }, {
    "index" : "2020-12-29T08:08:57Z",
    "value" : "20347.8"
  }, {
    "index" : "2020-12-29T08:08:58Z",
    "value" : "20347.8"
  }, {
    "index" : "2020-12-29T08:08:59Z",
    "value" : "20347.8"
  }, {
    "index" : "2020-12-29T08:09:00Z",
    "value" : "20347.8"
  }, {
    "index" : "2020-12-29T08:09:01Z",
    "value" : "20347.8"
  }, {
    "index" : "2020-12-29T08:09:02Z",
    "value" : "20347.8"
  }, {
    "index" : "2020-12-29T08:09:03Z",
    "value" : "20347.8"
  }, {
    "index" : "2020-12-29T08:09:04Z",
    "value" : "20347.8"
  }, {
    "index" : "2020-12-29T08:09:05Z",
    "value" : "20347.8"
  }, {
    "index" : "2020-12-29T08:09:06Z",
    "value" : "20347.8"
  }, {
    "index" : "2020-12-29T08:09:07Z",
    "value" : "20347.9"
  }, {
    "index" : "2020-12-29T08:09:08Z",
    "value" : "20347.9"
  }, {
    "index" : "2020-12-29T08:09:09Z",
    "value" : "20347.9"
  }, {
    "index" : "2020-12-29T08:09:10Z",
    "value" : "20347.9"
  }, {
    "index" : "2020-12-29T08:09:11Z",
    "value" : "20348"
  }, {
    "index" : "2020-12-29T08:09:12Z",
    "value" : "20348"
  }, {
    "index" : "2020-12-29T08:09:13Z",
    "value" : "20348"
  }, {
    "index" : "2020-12-29T08:09:14Z",
    "value" : "20348"
  }, {
    "index" : "2020-12-29T08:09:15Z",
    "value" : "20348"
  }, {
    "index" : "2020-12-29T08:09:16Z",
    "value" : "20348"
  }, {
    "index" : "2020-12-29T08:09:17Z",
    "value" : "20348"
  }, {
    "index" : "2020-12-29T08:09:18Z",
    "value" : "20348"
  }, {
    "index" : "2020-12-29T08:09:19Z",
    "value" : "20348"
  }, {
    "index" : "2020-12-29T08:09:20Z",
    "value" : "20348"
  }, {
    "index" : "2020-12-29T08:09:21Z",
    "value" : "20348"
  }, {
    "index" : "2020-12-29T08:09:22Z",
    "value" : "20348"
  }, {
    "index" : "2020-12-29T08:09:23Z",
    "value" : "20348.1"
  }, {
    "index" : "2020-12-29T08:09:24Z",
    "value" : "20348.1"
  }, {
    "index" : "2020-12-29T08:09:25Z",
    "value" : "20348.1"
  }, {
    "index" : "2020-12-29T08:09:26Z",
    "value" : "20348.1"
  }, {
    "index" : "2020-12-29T08:09:27Z",
    "value" : "20348.1"
  }, {
    "index" : "2020-12-29T08:09:28Z",
    "value" : "20348.1"
  }, {
    "index" : "2020-12-29T08:09:29Z",
    "value" : "20348.1"
  }, {
    "index" : "2020-12-29T08:09:30Z",
    "value" : "20348.1"
  }, {
    "index" : "2020-12-29T08:09:31Z",
    "value" : "20348.1"
  }, {
    "index" : "2020-12-29T08:09:32Z",
    "value" : "20348.2"
  }, {
    "index" : "2020-12-29T08:09:33Z",
    "value" : "20348.2"
  }, {
    "index" : "2020-12-29T08:09:34Z",
    "value" : "20348.2"
  }, {
    "index" : "2020-12-29T08:09:35Z",
    "value" : "20348.2"
  }, {
    "index" : "2020-12-29T08:09:36Z",
    "value" : "20348.2"
  }, {
    "index" : "2020-12-29T08:09:37Z",
    "value" : "20348.2"
  }, {
    "index" : "2020-12-29T08:09:38Z",
    "value" : "20348.2"
  }, {
    "index" : "2020-12-29T08:09:39Z",
    "value" : "20348.2"
  }, {
    "index" : "2020-12-29T08:09:40Z",
    "value" : "20348.2"
  }, {
    "index" : "2020-12-29T08:09:41Z",
    "value" : "20348.2"
  }, {
    "index" : "2020-12-29T08:09:42Z",
    "value" : "20348.2"
  }, {
    "index" : "2020-12-29T08:09:43Z",
    "value" : "20348.2"
  }, {
    "index" : "2020-12-29T08:09:44Z",
    "value" : "20348.2"
  }, {
    "index" : "2020-12-29T08:09:45Z",
    "value" : "20348.2"
  }, {
    "index" : "2020-12-29T08:09:46Z",
    "value" : "20348.2"
  }, {
    "index" : "2020-12-29T08:09:47Z",
    "value" : "20348.2"
  }, {
    "index" : "2020-12-29T08:09:48Z",
    "value" : "20348.2"
  }, {
    "index" : "2020-12-29T08:09:49Z",
    "value" : "20348.2"
  }, {
    "index" : "2020-12-29T08:09:50Z",
    "value" : "20348.2"
  }, {
    "index" : "2020-12-29T08:09:51Z",
    "value" : "20348.2"
  }, {
    "index" : "2020-12-29T08:09:52Z",
    "value" : "20348.3"
  }, {
    "index" : "2020-12-29T08:09:53Z",
    "value" : "20348.3"
  }, {
    "index" : "2020-12-29T08:09:54Z",
    "value" : "20348.3"
  }, {
    "index" : "2020-12-29T08:09:55Z",
    "value" : "20348.4"
  }, {
    "index" : "2020-12-29T08:09:56Z",
    "value" : "20348.4"
  }, {
    "index" : "2020-12-29T08:09:57Z",
    "value" : "20348.4"
  }, {
    "index" : "2020-12-29T08:09:58Z",
    "value" : "20348.4"
  }, {
    "index" : "2020-12-29T08:09:59Z",
    "value" : "20348.4"
  }, {
    "index" : "2020-12-29T08:10:00Z",
    "value" : "20348.4"
  }, {
    "index" : "2020-12-29T08:10:01Z",
    "value" : "20348.4"
  }, {
    "index" : "2020-12-29T08:10:02Z",
    "value" : "20348.4"
  }, {
    "index" : "2020-12-29T08:10:03Z",
    "value" : "20348.4"
  }, {
    "index" : "2020-12-29T08:10:04Z",
    "value" : "20348.4"
  }, {
    "index" : "2020-12-29T08:10:05Z",
    "value" : "20348.5"
  }, {
    "index" : "2020-12-29T08:10:06Z",
    "value" : "20348.5"
  }, {
    "index" : "2020-12-29T08:10:07Z",
    "value" : "20348.5"
  }, {
    "index" : "2020-12-29T08:10:08Z",
    "value" : "20348.5"
  }, {
    "index" : "2020-12-29T08:10:09Z",
    "value" : "20348.5"
  }, {
    "index" : "2020-12-29T08:10:10Z",
    "value" : "20348.5"
  }, {
    "index" : "2020-12-29T08:10:11Z",
    "value" : "20348.5"
  }, {
    "index" : "2020-12-29T08:10:12Z",
    "value" : "20348.5"
  }, {
    "index" : "2020-12-29T08:10:13Z",
    "value" : "20348.5"
  }, {
    "index" : "2020-12-29T08:10:14Z",
    "value" : "20348.5"
  }, {
    "index" : "2020-12-29T08:10:15Z",
    "value" : "20348.6"
  }, {
    "index" : "2020-12-29T08:10:16Z",
    "value" : "20348.6"
  }, {
    "index" : "2020-12-29T08:10:17Z",
    "value" : "20348.6"
  }, {
    "index" : "2020-12-29T08:10:18Z",
    "value" : "20348.6"
  }, {
    "index" : "2020-12-29T08:10:19Z",
    "value" : "20348.6"
  }, {
    "index" : "2020-12-29T08:10:20Z",
    "value" : "20348.6"
  }, {
    "index" : "2020-12-29T08:10:21Z",
    "value" : "20348.6"
  }, {
    "index" : "2020-12-29T08:10:22Z",
    "value" : "20348.7"
  }, {
    "index" : "2020-12-29T08:10:23Z",
    "value" : "20348.7"
  }, {
    "index" : "2020-12-29T08:10:24Z",
    "value" : "20348.7"
  }, {
    "index" : "2020-12-29T08:10:25Z",
    "value" : "20348.7"
  }, {
    "index" : "2020-12-29T08:10:26Z",
    "value" : "20348.7"
  }, {
    "index" : "2020-12-29T08:10:27Z",
    "value" : "20348.7"
  }, {
    "index" : "2020-12-29T08:10:28Z",
    "value" : "20348.7"
  }, {
    "index" : "2020-12-29T08:10:29Z",
    "value" : "20348.7"
  }, {
    "index" : "2020-12-29T08:10:30Z",
    "value" : "20348.7"
  }, {
    "index" : "2020-12-29T08:10:31Z",
    "value" : "20348.8"
  }, {
    "index" : "2020-12-29T08:10:32Z",
    "value" : "20348.8"
  }, {
    "index" : "2020-12-29T08:10:33Z",
    "value" : "20348.8"
  }, {
    "index" : "2020-12-29T08:10:34Z",
    "value" : "20348.8"
  }, {
    "index" : "2020-12-29T08:10:35Z",
    "value" : "20348.8"
  }, {
    "index" : "2020-12-29T08:10:36Z",
    "value" : "20348.8"
  }, {
    "index" : "2020-12-29T08:10:37Z",
    "value" : "20348.8"
  }, {
    "index" : "2020-12-29T08:10:38Z",
    "value" : "20348.8"
  }, {
    "index" : "2020-12-29T08:10:39Z",
    "value" : "20348.9"
  }, {
    "index" : "2020-12-29T08:10:40Z",
    "value" : "20348.9"
  }, {
    "index" : "2020-12-29T08:10:41Z",
    "value" : "20348.9"
  }, {
    "index" : "2020-12-29T08:10:42Z",
    "value" : "20348.9"
  }, {
    "index" : "2020-12-29T08:10:43Z",
    "value" : "20348.9"
  }, {
    "index" : "2020-12-29T08:10:44Z",
    "value" : "20348.9"
  }, {
    "index" : "2020-12-29T08:10:45Z",
    "value" : "20348.9"
  }, {
    "index" : "2020-12-29T08:10:46Z",
    "value" : "20349"
  }, {
    "index" : "2020-12-29T08:10:47Z",
    "value" : "20349"
  }, {
    "index" : "2020-12-29T08:10:48Z",
    "value" : "20349"
  }, {
    "index" : "2020-12-29T08:10:49Z",
    "value" : "20349"
  }, {
    "index" : "2020-12-29T08:10:50Z",
    "value" : "20349"
  }, {
    "index" : "2020-12-29T08:10:51Z",
    "value" : "20349"
  }, {
    "index" : "2020-12-29T08:10:52Z",
    "value" : "20349"
  }, {
    "index" : "2020-12-29T08:10:53Z",
    "value" : "20349"
  }, {
    "index" : "2020-12-29T08:10:54Z",
    "value" : "20349.1"
  }, {
    "index" : "2020-12-29T08:10:55Z",
    "value" : "20349.1"
  }, {
    "index" : "2020-12-29T08:10:56Z",
    "value" : "20349.1"
  }, {
    "index" : "2020-12-29T08:10:57Z",
    "value" : "20349.1"
  }, {
    "index" : "2020-12-29T08:10:58Z",
    "value" : "20349.1"
  }, {
    "index" : "2020-12-29T08:10:59Z",
    "value" : "20349.1"
  }, {
    "index" : "2020-12-29T08:11:00Z",
    "value" : "20349.1"
  }, {
    "index" : "2020-12-29T08:11:01Z",
    "value" : "20349.1"
  }, {
    "index" : "2020-12-29T08:11:02Z",
    "value" : "20349.1"
  }, {
    "index" : "2020-12-29T08:11:03Z",
    "value" : "20349.1"
  }, {
    "index" : "2020-12-29T08:11:04Z",
    "value" : "20349.1"
  }, {
    "index" : "2020-12-29T08:11:05Z",
    "value" : "20349.1"
  }, {
    "index" : "2020-12-29T08:11:06Z",
    "value" : "20349.1"
  }, {
    "index" : "2020-12-29T08:11:07Z",
    "value" : "20349.1"
  }, {
    "index" : "2020-12-29T08:11:08Z",
    "value" : "20349.1"
  }, {
    "index" : "2020-12-29T08:11:09Z",
    "value" : "20349.1"
  }, {
    "index" : "2020-12-29T08:11:10Z",
    "value" : "20349.1"
  }, {
    "index" : "2020-12-29T08:11:11Z",
    "value" : "20349.1"
  }, {
    "index" : "2020-12-29T08:11:12Z",
    "value" : "20349.1"
  }, {
    "index" : "2020-12-29T08:11:13Z",
    "value" : "20349.2"
  }, {
    "index" : "2020-12-29T08:11:14Z",
    "value" : "20349.2"
  }, {
    "index" : "2020-12-29T08:11:15Z",
    "value" : "20349.2"
  }, {
    "index" : "2020-12-29T08:11:16Z",
    "value" : "20349.2"
  }, {
    "index" : "2020-12-29T08:11:17Z",
    "value" : "20349.2"
  }, {
    "index" : "2020-12-29T08:11:18Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:19Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:20Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:21Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:22Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:23Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:24Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:25Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:26Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:27Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:28Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:29Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:30Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:31Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:32Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:33Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:34Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:35Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:36Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:37Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:38Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:39Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:40Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:41Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:42Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:43Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:44Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:45Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:46Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:47Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:48Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:49Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:50Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:51Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:52Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:53Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:54Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:55Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:56Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:57Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:58Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:11:59Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:12:00Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:12:01Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:12:02Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:12:03Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:12:04Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:12:05Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:12:06Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:12:07Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:12:08Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:12:09Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:12:10Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:12:11Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:12:12Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:12:13Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:12:14Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:12:15Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:12:16Z",
    "value" : "20349.3"
  }, {
    "index" : "2020-12-29T08:12:17Z",
    "value" : "20349.4"
  }, {
    "index" : "2020-12-29T08:12:18Z",
    "value" : "20349.4"
  }, {
    "index" : "2020-12-29T08:12:19Z",
    "value" : "20349.4"
  }, {
    "index" : "2020-12-29T08:12:20Z",
    "value" : "20349.5"
  }, {
    "index" : "2020-12-29T08:12:21Z",
    "value" : "20349.5"
  }, {
    "index" : "2020-12-29T08:12:22Z",
    "value" : "20349.5"
  }, {
    "index" : "2020-12-29T08:12:23Z",
    "value" : "20349.6"
  }, {
    "index" : "2020-12-29T08:12:24Z",
    "value" : "20349.6"
  }, {
    "index" : "2020-12-29T08:12:25Z",
    "value" : "20349.6"
  }, {
    "index" : "2020-12-29T08:12:26Z",
    "value" : "20349.6"
  }, {
    "index" : "2020-12-29T08:12:27Z",
    "value" : "20349.6"
  }, {
    "index" : "2020-12-29T08:12:28Z",
    "value" : "20349.6"
  }, {
    "index" : "2020-12-29T08:12:29Z",
    "value" : "20349.6"
  }, {
    "index" : "2020-12-29T08:12:30Z",
    "value" : "20349.6"
  }, {
    "index" : "2020-12-29T08:12:31Z",
    "value" : "20349.6"
  }, {
    "index" : "2020-12-29T08:12:32Z",
    "value" : "20349.6"
  }, {
    "index" : "2020-12-29T08:12:33Z",
    "value" : "20349.6"
  }, {
    "index" : "2020-12-29T08:12:34Z",
    "value" : "20349.6"
  }, {
    "index" : "2020-12-29T08:12:35Z",
    "value" : "20349.6"
  }, {
    "index" : "2020-12-29T08:12:36Z",
    "value" : "20349.7"
  }, {
    "index" : "2020-12-29T08:12:37Z",
    "value" : "20349.7"
  }, {
    "index" : "2020-12-29T08:12:38Z",
    "value" : "20349.7"
  }, {
    "index" : "2020-12-29T08:12:39Z",
    "value" : "20349.7"
  }, {
    "index" : "2020-12-29T08:12:40Z",
    "value" : "20349.7"
  }, {
    "index" : "2020-12-29T08:12:41Z",
    "value" : "20349.7"
  }, {
    "index" : "2020-12-29T08:12:42Z",
    "value" : "20349.7"
  }, {
    "index" : "2020-12-29T08:12:43Z",
    "value" : "20349.7"
  }, {
    "index" : "2020-12-29T08:12:44Z",
    "value" : "20349.7"
  }, {
    "index" : "2020-12-29T08:12:45Z",
    "value" : "20349.7"
  }, {
    "index" : "2020-12-29T08:12:46Z",
    "value" : "20349.8"
  }, {
    "index" : "2020-12-29T08:12:47Z",
    "value" : "20349.8"
  }, {
    "index" : "2020-12-29T08:12:48Z",
    "value" : "20349.8"
  }, {
    "index" : "2020-12-29T08:12:49Z",
    "value" : "20349.9"
  }, {
    "index" : "2020-12-29T08:12:50Z",
    "value" : "20349.9"
  }, {
    "index" : "2020-12-29T08:12:51Z",
    "value" : "20349.9"
  }, {
    "index" : "2020-12-29T08:12:52Z",
    "value" : "20349.9"
  }, {
    "index" : "2020-12-29T08:12:53Z",
    "value" : "20349.9"
  }, {
    "index" : "2020-12-29T08:12:54Z",
    "value" : "20349.9"
  }, {
    "index" : "2020-12-29T08:12:55Z",
    "value" : "20349.9"
  }, {
    "index" : "2020-12-29T08:12:56Z",
    "value" : "20349.9"
  }, {
    "index" : "2020-12-29T08:12:57Z",
    "value" : "20350"
  }, {
    "index" : "2020-12-29T08:12:58Z",
    "value" : "20350"
  }, {
    "index" : "2020-12-29T08:12:59Z",
    "value" : "20350"
  }, {
    "index" : "2020-12-29T08:13:00Z",
    "value" : "20350"
  }, {
    "index" : "2020-12-29T08:13:01Z",
    "value" : "20350"
  }, {
    "index" : "2020-12-29T08:13:02Z",
    "value" : "20350"
  }, {
    "index" : "2020-12-29T08:13:03Z",
    "value" : "20350.1"
  }, {
    "index" : "2020-12-29T08:13:04Z",
    "value" : "20350.1"
  }, {
    "index" : "2020-12-29T08:13:05Z",
    "value" : "20350.1"
  }, {
    "index" : "2020-12-29T08:13:06Z",
    "value" : "20350.1"
  }, {
    "index" : "2020-12-29T08:13:07Z",
    "value" : "20350.1"
  }, {
    "index" : "2020-12-29T08:13:08Z",
    "value" : "20350.1"
  }, {
    "index" : "2020-12-29T08:13:09Z",
    "value" : "20350.1"
  }, {
    "index" : "2020-12-29T08:13:10Z",
    "value" : "20350.1"
  }, {
    "index" : "2020-12-29T08:13:11Z",
    "value" : "20350.1"
  }, {
    "index" : "2020-12-29T08:13:12Z",
    "value" : "20350.2"
  }, {
    "index" : "2020-12-29T08:13:13Z",
    "value" : "20350.2"
  }, {
    "index" : "2020-12-29T08:13:14Z",
    "value" : "20350.2"
  }, {
    "index" : "2020-12-29T08:13:15Z",
    "value" : "20350.2"
  }, {
    "index" : "2020-12-29T08:13:16Z",
    "value" : "20350.2"
  }, {
    "index" : "2020-12-29T08:13:17Z",
    "value" : "20350.2"
  }, {
    "index" : "2020-12-29T08:13:18Z",
    "value" : "20350.2"
  }, {
    "index" : "2020-12-29T08:13:19Z",
    "value" : "20350.3"
  }, {
    "index" : "2020-12-29T08:13:20Z",
    "value" : "20350.3"
  }, {
    "index" : "2020-12-29T08:13:21Z",
    "value" : "20350.3"
  }, {
    "index" : "2020-12-29T08:13:22Z",
    "value" : "20350.3"
  }, {
    "index" : "2020-12-29T08:13:23Z",
    "value" : "20350.3"
  }, {
    "index" : "2020-12-29T08:13:24Z",
    "value" : "20350.3"
  }, {
    "index" : "2020-12-29T08:13:25Z",
    "value" : "20350.3"
  }, {
    "index" : "2020-12-29T08:13:26Z",
    "value" : "20350.3"
  }, {
    "index" : "2020-12-29T08:13:27Z",
    "value" : "20350.3"
  }, {
    "index" : "2020-12-29T08:13:28Z",
    "value" : "20350.3"
  }, {
    "index" : "2020-12-29T08:13:29Z",
    "value" : "20350.3"
  }, {
    "index" : "2020-12-29T08:13:30Z",
    "value" : "20350.3"
  }, {
    "index" : "2020-12-29T08:13:31Z",
    "value" : "20350.3"
  }, {
    "index" : "2020-12-29T08:13:32Z",
    "value" : "20350.3"
  }, {
    "index" : "2020-12-29T08:13:33Z",
    "value" : "20350.3"
  }, {
    "index" : "2020-12-29T08:13:34Z",
    "value" : "20350.3"
  }, {
    "index" : "2020-12-29T08:13:35Z",
    "value" : "20350.3"
  }, {
    "index" : "2020-12-29T08:13:36Z",
    "value" : "20350.3"
  }, {
    "index" : "2020-12-29T08:13:37Z",
    "value" : "20350.3"
  }, {
    "index" : "2020-12-29T08:13:38Z",
    "value" : "20350.4"
  }, {
    "index" : "2020-12-29T08:13:39Z",
    "value" : "20350.4"
  }, {
    "index" : "2020-12-29T08:13:40Z",
    "value" : "20350.4"
  }, {
    "index" : "2020-12-29T08:13:41Z",
    "value" : "20350.4"
  }, {
    "index" : "2020-12-29T08:13:42Z",
    "value" : "20350.5"
  }, {
    "index" : "2020-12-29T08:13:43Z",
    "value" : "20350.5"
  }, {
    "index" : "2020-12-29T08:13:44Z",
    "value" : "20350.5"
  }, {
    "index" : "2020-12-29T08:13:45Z",
    "value" : "20350.6"
  }, {
    "index" : "2020-12-29T08:13:46Z",
    "value" : "20350.6"
  }, {
    "index" : "2020-12-29T08:13:47Z",
    "value" : "20350.6"
  }, {
    "index" : "2020-12-29T08:13:48Z",
    "value" : "20350.6"
  }, {
    "index" : "2020-12-29T08:13:49Z",
    "value" : "20350.6"
  }, {
    "index" : "2020-12-29T08:13:50Z",
    "value" : "20350.6"
  }, {
    "index" : "2020-12-29T08:13:51Z",
    "value" : "20350.6"
  }, {
    "index" : "2020-12-29T08:13:52Z",
    "value" : "20350.6"
  }, {
    "index" : "2020-12-29T08:13:53Z",
    "value" : "20350.6"
  }, {
    "index" : "2020-12-29T08:13:54Z",
    "value" : "20350.7"
  }, {
    "index" : "2020-12-29T08:13:55Z",
    "value" : "20350.7"
  }, {
    "index" : "2020-12-29T08:13:56Z",
    "value" : "20350.7"
  }, {
    "index" : "2020-12-29T08:13:57Z",
    "value" : "20350.7"
  }, {
    "index" : "2020-12-29T08:13:58Z",
    "value" : "20350.7"
  }, {
    "index" : "2020-12-29T08:13:59Z",
    "value" : "20350.7"
  }, {
    "index" : "2020-12-29T08:14:00Z",
    "value" : "20350.8"
  }, {
    "index" : "2020-12-29T08:14:01Z",
    "value" : "20350.8"
  }, {
    "index" : "2020-12-29T08:14:02Z",
    "value" : "20350.8"
  }, {
    "index" : "2020-12-29T08:14:03Z",
    "value" : "20350.8"
  }, {
    "index" : "2020-12-29T08:14:04Z",
    "value" : "20350.8"
  }, {
    "index" : "2020-12-29T08:14:05Z",
    "value" : "20350.8"
  }, {
    "index" : "2020-12-29T08:14:06Z",
    "value" : "20350.8"
  }, {
    "index" : "2020-12-29T08:14:07Z",
    "value" : "20350.8"
  }, {
    "index" : "2020-12-29T08:14:08Z",
    "value" : "20350.8"
  }, {
    "index" : "2020-12-29T08:14:09Z",
    "value" : "20350.9"
  }, {
    "index" : "2020-12-29T08:14:10Z",
    "value" : "20350.9"
  }, {
    "index" : "2020-12-29T08:14:11Z",
    "value" : "20350.9"
  }, {
    "index" : "2020-12-29T08:14:12Z",
    "value" : "20350.9"
  }, {
    "index" : "2020-12-29T08:14:13Z",
    "value" : "20351"
  }, {
    "index" : "2020-12-29T08:14:14Z",
    "value" : "20351"
  }, {
    "index" : "2020-12-29T08:14:15Z",
    "value" : "20351"
  }, {
    "index" : "2020-12-29T08:14:16Z",
    "value" : "20351"
  }, {
    "index" : "2020-12-29T08:14:17Z",
    "value" : "20351"
  }, {
    "index" : "2020-12-29T08:14:18Z",
    "value" : "20351"
  }, {
    "index" : "2020-12-29T08:14:19Z",
    "value" : "20351"
  }, {
    "index" : "2020-12-29T08:14:20Z",
    "value" : "20351"
  }, {
    "index" : "2020-12-29T08:14:21Z",
    "value" : "20351"
  }, {
    "index" : "2020-12-29T08:14:22Z",
    "value" : "20351"
  }, {
    "index" : "2020-12-29T08:14:23Z",
    "value" : "20351"
  }, {
    "index" : "2020-12-29T08:14:24Z",
    "value" : "20351"
  }, {
    "index" : "2020-12-29T08:14:25Z",
    "value" : "20351"
  }, {
    "index" : "2020-12-29T08:14:26Z",
    "value" : "20351"
  }, {
    "index" : "2020-12-29T08:14:27Z",
    "value" : "20351"
  }, {
    "index" : "2020-12-29T08:14:28Z",
    "value" : "20351"
  }, {
    "index" : "2020-12-29T08:14:29Z",
    "value" : "20351"
  }, {
    "index" : "2020-12-29T08:14:30Z",
    "value" : "20351"
  }, {
    "index" : "2020-12-29T08:14:31Z",
    "value" : "20351"
  }, {
    "index" : "2020-12-29T08:14:32Z",
    "value" : "20351"
  }, {
    "index" : "2020-12-29T08:14:33Z",
    "value" : "20351"
  }, {
    "index" : "2020-12-29T08:14:34Z",
    "value" : "20351.1"
  }, {
    "index" : "2020-12-29T08:14:35Z",
    "value" : "20351.1"
  }, {
    "index" : "2020-12-29T08:14:36Z",
    "value" : "20351.1"
  }, {
    "index" : "2020-12-29T08:14:37Z",
    "value" : "20351.1"
  }, {
    "index" : "2020-12-29T08:14:38Z",
    "value" : "20351.1"
  }, {
    "index" : "2020-12-29T08:14:39Z",
    "value" : "20351.2"
  }, {
    "index" : "2020-12-29T08:14:40Z",
    "value" : "20351.2"
  }, {
    "index" : "2020-12-29T08:14:41Z",
    "value" : "20351.2"
  }, {
    "index" : "2020-12-29T08:14:42Z",
    "value" : "20351.3"
  }, {
    "index" : "2020-12-29T08:14:43Z",
    "value" : "20351.3"
  }, {
    "index" : "2020-12-29T08:14:44Z",
    "value" : "20351.3"
  }, {
    "index" : "2020-12-29T08:14:45Z",
    "value" : "20351.4"
  }, {
    "index" : "2020-12-29T08:14:46Z",
    "value" : "20351.4"
  }, {
    "index" : "2020-12-29T08:14:47Z",
    "value" : "20351.4"
  }, {
    "index" : "2020-12-29T08:14:48Z",
    "value" : "20351.5"
  }, {
    "index" : "2020-12-29T08:14:49Z",
    "value" : "20351.5"
  }, {
    "index" : "2020-12-29T08:14:50Z",
    "value" : "20351.5"
  }, {
    "index" : "2020-12-29T08:14:51Z",
    "value" : "20351.6"
  }, {
    "index" : "2020-12-29T08:14:52Z",
    "value" : "20351.6"
  }, {
    "index" : "2020-12-29T08:14:53Z",
    "value" : "20351.7"
  }, {
    "index" : "2020-12-29T08:14:54Z",
    "value" : "20351.7"
  }, {
    "index" : "2020-12-29T08:14:55Z",
    "value" : "20351.7"
  }, {
    "index" : "2020-12-29T08:14:56Z",
    "value" : "20351.7"
  }, {
    "index" : "2020-12-29T08:14:57Z",
    "value" : "20351.8"
  }, {
    "index" : "2020-12-29T08:14:58Z",
    "value" : "20351.8"
  }, {
    "index" : "2020-12-29T08:14:59Z",
    "value" : "20351.9"
  }, {
    "index" : "2020-12-29T08:15:00Z",
    "value" : "20351.9"
  }, {
    "index" : "2020-12-29T08:15:01Z",
    "value" : "20351.9"
  }, {
    "index" : "2020-12-29T08:15:02Z",
    "value" : "20352"
  }, {
    "index" : "2020-12-29T08:15:03Z",
    "value" : "20352"
  }, {
    "index" : "2020-12-29T08:15:04Z",
    "value" : "20352"
  }, {
    "index" : "2020-12-29T08:15:05Z",
    "value" : "20352"
  }, {
    "index" : "2020-12-29T08:15:06Z",
    "value" : "20352.1"
  }, {
    "index" : "2020-12-29T08:15:07Z",
    "value" : "20352.1"
  }, {
    "index" : "2020-12-29T08:15:08Z",
    "value" : "20352.1"
  }, {
    "index" : "2020-12-29T08:15:09Z",
    "value" : "20352.2"
  }, {
    "index" : "2020-12-29T08:15:10Z",
    "value" : "20352.2"
  }, {
    "index" : "2020-12-29T08:15:11Z",
    "value" : "20352.2"
  }, {
    "index" : "2020-12-29T08:15:12Z",
    "value" : "20352.2"
  }, {
    "index" : "2020-12-29T08:15:13Z",
    "value" : "20352.2"
  }, {
    "index" : "2020-12-29T08:15:14Z",
    "value" : "20352.3"
  }, {
    "index" : "2020-12-29T08:15:15Z",
    "value" : "20352.3"
  }, {
    "index" : "2020-12-29T08:15:16Z",
    "value" : "20352.3"
  }, {
    "index" : "2020-12-29T08:15:17Z",
    "value" : "20352.3"
  }, {
    "index" : "2020-12-29T08:15:18Z",
    "value" : "20352.4"
  }, {
    "index" : "2020-12-29T08:15:19Z",
    "value" : "20352.4"
  }, {
    "index" : "2020-12-29T08:15:20Z",
    "value" : "20352.4"
  }, {
    "index" : "2020-12-29T08:15:21Z",
    "value" : "20352.4"
  }, {
    "index" : "2020-12-29T08:15:22Z",
    "value" : "20352.4"
  }, {
    "index" : "2020-12-29T08:15:23Z",
    "value" : "20352.5"
  }, {
    "index" : "2020-12-29T08:15:24Z",
    "value" : "20352.5"
  }, {
    "index" : "2020-12-29T08:15:25Z",
    "value" : "20352.5"
  }, {
    "index" : "2020-12-29T08:15:26Z",
    "value" : "20352.5"
  }, {
    "index" : "2020-12-29T08:15:27Z",
    "value" : "20352.5"
  }, {
    "index" : "2020-12-29T08:15:28Z",
    "value" : "20352.6"
  }, {
    "index" : "2020-12-29T08:15:29Z",
    "value" : "20352.6"
  }, {
    "index" : "2020-12-29T08:15:30Z",
    "value" : "20352.6"
  }, {
    "index" : "2020-12-29T08:15:31Z",
    "value" : "20352.6"
  }, {
    "index" : "2020-12-29T08:15:32Z",
    "value" : "20352.6"
  }, {
    "index" : "2020-12-29T08:15:33Z",
    "value" : "20352.6"
  }, {
    "index" : "2020-12-29T08:15:34Z",
    "value" : "20352.6"
  }, {
    "index" : "2020-12-29T08:15:35Z",
    "value" : "20352.6"
  }, {
    "index" : "2020-12-29T08:15:36Z",
    "value" : "20352.6"
  }, {
    "index" : "2020-12-29T08:15:37Z",
    "value" : "20352.6"
  }, {
    "index" : "2020-12-29T08:15:38Z",
    "value" : "20352.6"
  }, {
    "index" : "2020-12-29T08:15:39Z",
    "value" : "20352.6"
  }, {
    "index" : "2020-12-29T08:15:40Z",
    "value" : "20352.6"
  }, {
    "index" : "2020-12-29T08:15:41Z",
    "value" : "20352.6"
  }, {
    "index" : "2020-12-29T08:15:42Z",
    "value" : "20352.6"
  }, {
    "index" : "2020-12-29T08:15:43Z",
    "value" : "20352.7"
  }, {
    "index" : "2020-12-29T08:15:44Z",
    "value" : "20352.7"
  }, {
    "index" : "2020-12-29T08:15:45Z",
    "value" : "20352.7"
  }, {
    "index" : "2020-12-29T08:15:46Z",
    "value" : "20352.7"
  }, {
    "index" : "2020-12-29T08:15:47Z",
    "value" : "20352.8"
  }, {
    "index" : "2020-12-29T08:15:48Z",
    "value" : "20352.8"
  }, {
    "index" : "2020-12-29T08:15:49Z",
    "value" : "20352.8"
  }, {
    "index" : "2020-12-29T08:15:50Z",
    "value" : "20352.8"
  }, {
    "index" : "2020-12-29T08:15:51Z",
    "value" : "20352.8"
  }, {
    "index" : "2020-12-29T08:15:52Z",
    "value" : "20352.9"
  }, {
    "index" : "2020-12-29T08:15:53Z",
    "value" : "20352.9"
  }, {
    "index" : "2020-12-29T08:15:54Z",
    "value" : "20352.9"
  }, {
    "index" : "2020-12-29T08:15:55Z",
    "value" : "20353"
  }, {
    "index" : "2020-12-29T08:15:56Z",
    "value" : "20353"
  }, {
    "index" : "2020-12-29T08:15:57Z",
    "value" : "20353"
  }, {
    "index" : "2020-12-29T08:15:58Z",
    "value" : "20353"
  }, {
    "index" : "2020-12-29T08:15:59Z",
    "value" : "20353"
  }, {
    "index" : "2020-12-29T08:16:00Z",
    "value" : "20353"
  }, {
    "index" : "2020-12-29T08:16:01Z",
    "value" : "20353"
  }, {
    "index" : "2020-12-29T08:16:02Z",
    "value" : "20353"
  }, {
    "index" : "2020-12-29T08:16:03Z",
    "value" : "20353"
  }, {
    "index" : "2020-12-29T08:16:04Z",
    "value" : "20353"
  }, {
    "index" : "2020-12-29T08:16:05Z",
    "value" : "20353"
  }, {
    "index" : "2020-12-29T08:16:06Z",
    "value" : "20353"
  }, {
    "index" : "2020-12-29T08:16:07Z",
    "value" : "20353"
  }, {
    "index" : "2020-12-29T08:16:08Z",
    "value" : "20353"
  }, {
    "index" : "2020-12-29T08:16:09Z",
    "value" : "20353"
  }, {
    "index" : "2020-12-29T08:16:10Z",
    "value" : "20353"
  }, {
    "index" : "2020-12-29T08:16:11Z",
    "value" : "20353"
  }, {
    "index" : "2020-12-29T08:16:12Z",
    "value" : "20353"
  }, {
    "index" : "2020-12-29T08:16:13Z",
    "value" : "20353"
  }, {
    "index" : "2020-12-29T08:16:14Z",
    "value" : "20353"
  }, {
    "index" : "2020-12-29T08:16:15Z",
    "value" : "20353.1"
  }, {
    "index" : "2020-12-29T08:16:16Z",
    "value" : "20353.1"
  }, {
    "index" : "2020-12-29T08:16:17Z",
    "value" : "20353.1"
  }, {
    "index" : "2020-12-29T08:16:18Z",
    "value" : "20353.2"
  }, {
    "index" : "2020-12-29T08:16:19Z",
    "value" : "20353.2"
  }, {
    "index" : "2020-12-29T08:16:20Z",
    "value" : "20353.2"
  }, {
    "index" : "2020-12-29T08:16:21Z",
    "value" : "20353.2"
  }, {
    "index" : "2020-12-29T08:16:22Z",
    "value" : "20353.3"
  }, {
    "index" : "2020-12-29T08:16:23Z",
    "value" : "20353.3"
  }, {
    "index" : "2020-12-29T08:16:24Z",
    "value" : "20353.3"
  }, {
    "index" : "2020-12-29T08:16:25Z",
    "value" : "20353.3"
  }, {
    "index" : "2020-12-29T08:16:26Z",
    "value" : "20353.3"
  }, {
    "index" : "2020-12-29T08:16:27Z",
    "value" : "20353.3"
  }, {
    "index" : "2020-12-29T08:16:28Z",
    "value" : "20353.3"
  }, {
    "index" : "2020-12-29T08:16:29Z",
    "value" : "20353.3"
  }, {
    "index" : "2020-12-29T08:16:30Z",
    "value" : "20353.3"
  }, {
    "index" : "2020-12-29T08:16:31Z",
    "value" : "20353.3"
  }, {
    "index" : "2020-12-29T08:16:32Z",
    "value" : "20353.3"
  }, {
    "index" : "2020-12-29T08:16:33Z",
    "value" : "20353.4"
  }, {
    "index" : "2020-12-29T08:16:34Z",
    "value" : "20353.4"
  }, {
    "index" : "2020-12-29T08:16:35Z",
    "value" : "20353.4"
  }, {
    "index" : "2020-12-29T08:16:36Z",
    "value" : "20353.4"
  }, {
    "index" : "2020-12-29T08:16:37Z",
    "value" : "20353.4"
  }, {
    "index" : "2020-12-29T08:16:38Z",
    "value" : "20353.4"
  }, {
    "index" : "2020-12-29T08:16:39Z",
    "value" : "20353.4"
  }, {
    "index" : "2020-12-29T08:16:40Z",
    "value" : "20353.5"
  }, {
    "index" : "2020-12-29T08:16:41Z",
    "value" : "20353.5"
  }, {
    "index" : "2020-12-29T08:16:42Z",
    "value" : "20353.5"
  }, {
    "index" : "2020-12-29T08:16:43Z",
    "value" : "20353.5"
  }, {
    "index" : "2020-12-29T08:16:44Z",
    "value" : "20353.5"
  }, {
    "index" : "2020-12-29T08:16:45Z",
    "value" : "20353.5"
  }, {
    "index" : "2020-12-29T08:16:46Z",
    "value" : "20353.5"
  }, {
    "index" : "2020-12-29T08:16:47Z",
    "value" : "20353.5"
  }, {
    "index" : "2020-12-29T08:16:48Z",
    "value" : "20353.5"
  }, {
    "index" : "2020-12-29T08:16:49Z",
    "value" : "20353.5"
  }, {
    "index" : "2020-12-29T08:16:50Z",
    "value" : "20353.5"
  }, {
    "index" : "2020-12-29T08:16:51Z",
    "value" : "20353.5"
  }, {
    "index" : "2020-12-29T08:16:52Z",
    "value" : "20353.5"
  }, {
    "index" : "2020-12-29T08:16:53Z",
    "value" : "20353.5"
  }, {
    "index" : "2020-12-29T08:16:54Z",
    "value" : "20353.5"
  }, {
    "index" : "2020-12-29T08:16:55Z",
    "value" : "20353.5"
  }, {
    "index" : "2020-12-29T08:16:56Z",
    "value" : "20353.5"
  }, {
    "index" : "2020-12-29T08:16:57Z",
    "value" : "20353.5"
  }, {
    "index" : "2020-12-29T08:16:58Z",
    "value" : "20353.5"
  }, {
    "index" : "2020-12-29T08:16:59Z",
    "value" : "20353.6"
  } ]
}

GET /public/api/v1/wells/{lateralUuid}/traces/{traceUuid}/data/time

Path parameter Description
lateralUuid Lateral UUID
traceUuid Trace UUID
Parameter Description
from (Optional) Start date, for example: 2020-11-01T00:00:00.000Z
to (Optional) End date, for example: 2020-11-01T00:02:00.000Z
hash (Optional) Trace hash
limit (Optional) Limit of returning rows. Default 1000, max 1_000_000
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Log data array
content[].index String an index value
content[].value String a value of the requested trace

Get depth series data by lateral and trace

Get depth series data by lateral UUID and mapped trace UUID

Request

$ curl 'https://solo.cloud/public/api/v1/wells/3a2edcaf-40b7-40db-a61a-87a986f72b08/traces/d635c218-3d17-4f5d-98b4-026085c4f584/data/depth?from=1.0&to=4.0' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/3a2edcaf-40b7-40db-a61a-87a986f72b08/traces/d635c218-3d17-4f5d-98b4-026085c4f584/data/depth?from=1.0&to=4.0 HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

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

{
  "content" : [ {
    "index" : "1",
    "value" : "10"
  }, {
    "index" : "2",
    "value" : "20"
  }, {
    "index" : "3",
    "value" : "30"
  }, {
    "index" : "4",
    "value" : "40"
  } ]
}

GET /public/api/v1/wells/{lateralUuid}/traces/{traceUuid}/data/depth

Path parameter Description
lateralUuid Lateral UUID
traceUuid Trace UUID
Parameter Description
from (Optional) Start md, for example: 0.0
to (Optional) End md, for example: 2300
hash (Optional) Trace hash
limit (Optional) Limit of returning rows. Default 1000, max 1_000_000
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Log data array
content[].index String an index value
content[].value String a value of the requested trace

Get Rig Activity and KPIs (by time) by lateral and trace

Get Rig Activity and KPIs by lateral (by time) UUID and trace UUID

Request

$ curl 'https://solo.cloud/public/api/v1/wells/3a2edcaf-40b7-40db-a61a-87a986f72b08/traces/e3c996b6-9cdb-4876-ac99-0aab694b801a/data/calculated/time' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/3a2edcaf-40b7-40db-a61a-87a986f72b08/traces/e3c996b6-9cdb-4876-ac99-0aab694b801a/data/calculated/time HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

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

{
  "content" : [ {
    "start" : "2020-11-01T00:00:00Z",
    "end" : "2020-11-01T01:00:02Z",
    "value" : "21"
  }, {
    "start" : "2020-12-29T08:00:00Z",
    "end" : "2020-12-29T08:08:09Z",
    "value" : "21"
  }, {
    "start" : "2020-12-29T08:08:09Z",
    "end" : "2020-12-29T08:08:30Z",
    "value" : "99"
  }, {
    "start" : "2020-12-29T08:08:30Z",
    "end" : "2020-12-29T08:23:09Z",
    "value" : "21"
  }, {
    "start" : "2020-12-29T08:23:09Z",
    "end" : "2020-12-29T08:23:30Z",
    "value" : "99"
  }, {
    "start" : "2020-12-29T08:23:30Z",
    "end" : "2020-12-29T08:38:09Z",
    "value" : "21"
  }, {
    "start" : "2020-12-29T08:38:09Z",
    "end" : "2020-12-29T08:38:30Z",
    "value" : "99"
  }, {
    "start" : "2020-12-29T08:38:30Z",
    "end" : "2020-12-29T08:42:55Z",
    "value" : "21"
  }, {
    "start" : "2020-12-29T08:42:55Z",
    "end" : "2020-12-29T08:42:58Z",
    "value" : "32"
  }, {
    "start" : "2020-12-29T08:42:58Z",
    "end" : "2020-12-29T08:43:01Z",
    "value" : "64"
  }, {
    "start" : "2020-12-29T08:43:01Z",
    "end" : "2020-12-29T08:43:18Z",
    "value" : "52"
  }, {
    "start" : "2020-12-29T08:43:18Z",
    "end" : "2020-12-29T08:43:21Z",
    "value" : "62"
  }, {
    "start" : "2020-12-29T08:43:21Z",
    "end" : "2020-12-29T08:45:15Z",
    "value" : "11"
  }, {
    "start" : "2020-12-29T08:45:15Z",
    "end" : "2020-12-29T08:45:19Z",
    "value" : "64"
  }, {
    "start" : "2020-12-29T08:45:19Z",
    "end" : "2020-12-29T08:47:47Z",
    "value" : "51"
  }, {
    "start" : "2020-12-29T08:47:47Z",
    "end" : "2020-12-29T08:47:48Z",
    "value" : "31"
  }, {
    "start" : "2020-12-29T08:47:48Z",
    "end" : "2020-12-29T08:47:53Z",
    "value" : "32"
  }, {
    "start" : "2020-12-29T08:47:53Z",
    "end" : "2020-12-29T08:47:58Z",
    "value" : "31"
  }, {
    "start" : "2020-12-29T08:47:58Z",
    "end" : "2020-12-29T08:48:21Z",
    "value" : "51"
  }, {
    "start" : "2020-12-29T08:48:21Z",
    "end" : "2020-12-29T08:48:28Z",
    "value" : "31"
  }, {
    "start" : "2020-12-29T08:48:28Z",
    "end" : "2020-12-29T08:48:33Z",
    "value" : "51"
  }, {
    "start" : "2020-12-29T08:48:33Z",
    "end" : "2020-12-29T08:48:42Z",
    "value" : "31"
  }, {
    "start" : "2020-12-29T08:48:42Z",
    "end" : "2020-12-29T08:48:43Z",
    "value" : "51"
  }, {
    "start" : "2020-12-29T08:48:43Z",
    "end" : "2020-12-29T08:50:00Z",
    "value" : "21"
  } ]
}

GET /public/api/v1/wells/{lateralUuid}/traces/{traceUuid}/data/calculated/time

Path parameter Description
lateralUuid Lateral UUID
traceUuid Trace UUID
Parameter Description
from (Optional) Start date, for example: 2020-11-01T00:00:00.000Z
to (Optional) End date, for example: 2020-11-01T00:02:00.000Z
hash (Optional) Trace hash
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Data array
content[].start String interval start date
content[].end String interval end date
content[].value String a value

Get Rig Activity and KPIs (by depth) by lateral and trace

Get Rig Activity and KPIs (by depth) by lateral UUID and trace UUID

Request

$ curl 'https://solo.cloud/public/api/v1/wells/3a2edcaf-40b7-40db-a61a-87a986f72b08/traces/e3c996b6-9cdb-4876-ac99-0aab694b801a/data/calculated/depth?from=1.0&to=10.0' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/3a2edcaf-40b7-40db-a61a-87a986f72b08/traces/e3c996b6-9cdb-4876-ac99-0aab694b801a/data/calculated/depth?from=1.0&to=10.0 HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

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

{
  "content" : [ {
    "start" : 1.0,
    "end" : 10.0,
    "value" : "21"
  } ]
}

GET /public/api/v1/wells/{lateralUuid}/traces/{traceUuid}/data/calculated/depth

Path parameter Description
lateralUuid Lateral UUID
traceUuid Trace UUID
Parameter Description
from Start depth
to End depth
hash (Optional) Trace hash
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
content Array Data array
content[].start Number interval start value
content[].end Number interval end value
content[].value String a value

14. Well attributes

Get well attribute groups

Get a list of well attribute groups

Request

$ curl 'https://solo.cloud/public/api/v1/attributegroups' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/attributegroups HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

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

[ {
  "name" : "General",
  "uuid" : "caeb5bb2-18ea-4191-9c36-f2e252259371"
}, {
  "name" : "Location",
  "uuid" : "b7ef6059-d428-4f35-9d4a-a786ffff1d83"
}, {
  "name" : "Well Status",
  "uuid" : "47f0b746-16e4-4959-a722-91a03c9d3aaf"
}, {
  "name" : "Dates",
  "uuid" : "a7bf5d85-6294-403e-8909-1ab9fda006f4"
}, {
  "name" : "Production",
  "uuid" : "a5b4f651-1212-4bf2-9ec5-f279480ffdad"
}, {
  "name" : "Completion",
  "uuid" : "d2bde9e4-2042-48b4-a3a2-eb49146c8145"
}, {
  "name" : "Development characteristics",
  "uuid" : "b995079d-7f89-4054-9276-93c69b70a6f5"
} ]

GET /public/api/v1/attributegroups

Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
[].name String Well attribute group name
[].uuid String Well attribute group UUID

Get well attributes by group

Get a list of well attributes by group UUID

Request

$ curl 'https://solo.cloud/public/api/v1/attributegroups/d2bde9e4-2042-48b4-a3a2-eb49146c8145/wellattributes' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/attributegroups/d2bde9e4-2042-48b4-a3a2-eb49146c8145/wellattributes HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

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

[ {
  "range" : [ "Slickwater", "Gel", "X-link", "N2", "Hybrid" ],
  "name" : "Frac Fluid",
  "id" : 46,
  "type" : "ENUM"
}, {
  "range" : {
    "client" : {
      "min" : 0
    }
  },
  "name" : "# of Stages",
  "id" : 43,
  "type" : "INTEGER"
}, {
  "name" : "Total Proppant",
  "id" : 44,
  "type" : "FLOAT"
}, {
  "name" : "Total Fluid",
  "id" : 45,
  "type" : "FLOAT"
} ]

GET /public/api/v1/attributegroups/{uuid}/wellattributes

Path parameter Description
uuid Well attribute group UUID
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
[].name String Well attribute name
[].id Number Well attribute Id
[].type String Well attribute type
[].range Varies Well attribute range (for enums)
[].range.client Object Well attribute client validation
[].range.client.min Number Minimum value

Get well attribute values by lateral

Get a list of well attribute values by lateral UUID

Request

$ curl 'https://solo.cloud/public/api/v1/wells/6cb7999c-b01e-4e11-9058-405f3d365ff2/attributevalues' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/6cb7999c-b01e-4e11-9058-405f3d365ff2/attributevalues HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

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

{
  "Name" : {
    "value" : "nameWell",
    "attribute_id" : 1
  },
  "API" : {
    "value" : "api",
    "attribute_id" : 2
  },
  "Well Type" : {
    "value" : "Deviated",
    "attribute_id" : 3
  },
  "Operator" : {
    "value" : "operator",
    "attribute_id" : 4
  },
  "KB" : {
    "value" : {
      "val" : 1050.1005
    },
    "attribute_id" : 7
  },
  "Azimuth VS" : {
    "value" : {
      "val" : 2.0
    },
    "attribute_id" : 8
  },
  "Convergence" : {
    "value" : {
      "val" : 3.0
    },
    "attribute_id" : 9
  },
  "State (Province)" : {
    "value" : "Penguin State ",
    "attribute_id" : 10
  },
  "X-srf" : {
    "value" : {
      "val" : 13.123359580052492
    },
    "attribute_id" : 12
  },
  "Y-srf" : {
    "value" : {
      "val" : 16.404199475065617
    },
    "attribute_id" : 13
  },
  "Spud date" : {
    "value" : "2023-12-18T14:16:32.001+00:00",
    "attribute_id" : 17
  },
  "# of Stages" : {
    "value" : 20,
    "attribute_id" : 43
  },
  "Frac Fluid" : {
    "value" : "X-link",
    "attribute_id" : 46
  },
  "Final TVD" : {
    "value" : {
      "val" : 0.49
    },
    "attribute_id" : 49
  },
  "Final TVDSS" : {
    "value" : {
      "val" : -0.5
    },
    "attribute_id" : 50
  },
  "Formation" : {
    "value" : "test51",
    "attribute_id" : 51
  },
  "Net pay" : {
    "value" : {
      "val" : 52.0
    },
    "attribute_id" : 52
  }
}

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

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

Response body

Path Type Description
.value Object Well attribute value for string type
.value.val Number Well attribute value for numeric type
*.attribute_id Number Well attribute Id

Get well attribute values by typewell

Get a list of well attribute values by typewell UUID

Request

$ curl 'https://solo.cloud/public/api/v1/typewells/e2af6265-37bf-4f48-a38b-4e94842ec000/attributevalues' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/typewells/e2af6265-37bf-4f48-a38b-4e94842ec000/attributevalues HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

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

{
  "Name" : {
    "value" : "nameWell",
    "attribute_id" : 1
  },
  "API" : {
    "value" : "api",
    "attribute_id" : 2
  },
  "Well Type" : {
    "value" : "Deviated",
    "attribute_id" : 3
  },
  "Operator" : {
    "value" : "operator",
    "attribute_id" : 4
  },
  "KB" : {
    "value" : {
      "val" : 1.0
    },
    "attribute_id" : 7
  },
  "Azimuth VS" : {
    "value" : {
      "val" : 2.0
    },
    "attribute_id" : 8
  },
  "Convergence" : {
    "value" : {
      "val" : 3.0
    },
    "attribute_id" : 9
  },
  "X-srf" : {
    "value" : {
      "val" : 13.123359580052492
    },
    "attribute_id" : 12
  },
  "Y-srf" : {
    "value" : {
      "val" : 16.404199475065617
    },
    "attribute_id" : 13
  },
  "Spud date" : {
    "value" : "2022-11-17T13:15:31.000+00:00",
    "attribute_id" : 17
  },
  "# of Stages" : {
    "value" : 43,
    "attribute_id" : 43
  },
  "Final TVD" : {
    "value" : {
      "val" : 0.49
    },
    "attribute_id" : 49
  },
  "Final TVDSS" : {
    "value" : {
      "val" : -0.5
    },
    "attribute_id" : 50
  },
  "Formation" : {
    "value" : "test51",
    "attribute_id" : 51
  },
  "Net pay" : {
    "value" : {
      "val" : 52.0
    },
    "attribute_id" : 52
  }
}

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

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

Response body

Path Type Description
.value Object Well attribute value for string type
.value.val Number Well attribute value for numeric type
*.attribute_id Number Well attribute Id

Update well attribute values by lateral

Update well attribute values by lateral UUID. The values to be changed must be pre-checked for validity using the range fields constraints returned by Get a list of well attributes by group UUID method (if applicable)

Request

$ curl 'https://solo.cloud/public/api/v1/wells/6cb7999c-b01e-4e11-9058-405f3d365ff2/attributevalues' -i -X PATCH \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '[ {
  "value" : "Penguin State ",
  "attribute_id" : 10
}, {
  "value" : {
    "val" : 1050.1005
  },
  "attribute_id" : 7
}, {
  "value" : 20,
  "attribute_id" : 43
}, {
  "value" : "2023-12-18T14:16:32.001+00:00",
  "attribute_id" : 17
}, {
  "value" : "X-link",
  "attribute_id" : 46
} ]'
PATCH /public/api/v1/wells/6cb7999c-b01e-4e11-9058-405f3d365ff2/attributevalues HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 290

[ {
  "value" : "Penguin State ",
  "attribute_id" : 10
}, {
  "value" : {
    "val" : 1050.1005
  },
  "attribute_id" : 7
}, {
  "value" : 20,
  "attribute_id" : 43
}, {
  "value" : "2023-12-18T14:16:32.001+00:00",
  "attribute_id" : 17
}, {
  "value" : "X-link",
  "attribute_id" : 46
} ]

Response

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

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

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

Response body

Empty body

Update well attribute values by typewell

Update well attribute values by typewell UUID. The values to be changed must be pre-checked for validity using the range fields constraints returned by Get a list of well attributes by group UUID method (if applicable)

Request

$ curl 'https://solo.cloud/public/api/v1/typewells/e2af6265-37bf-4f48-a38b-4e94842ec000/attributevalues' -i -X PATCH \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '[ {
  "value" : "Penguin State ",
  "attribute_id" : 10
}, {
  "value" : {
    "val" : 1050.1005
  },
  "attribute_id" : 7
}, {
  "value" : 20,
  "attribute_id" : 43
}, {
  "value" : "2023-12-18T14:16:32.001+00:00",
  "attribute_id" : 17
}, {
  "value" : "X-link",
  "attribute_id" : 46
} ]'
PATCH /public/api/v1/typewells/e2af6265-37bf-4f48-a38b-4e94842ec000/attributevalues HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 290

[ {
  "value" : "Penguin State ",
  "attribute_id" : 10
}, {
  "value" : {
    "val" : 1050.1005
  },
  "attribute_id" : 7
}, {
  "value" : 20,
  "attribute_id" : 43
}, {
  "value" : "2023-12-18T14:16:32.001+00:00",
  "attribute_id" : 17
}, {
  "value" : "X-link",
  "attribute_id" : 46
} ]

Response

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

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

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

Response body

Empty body

15. Grids

Create grid

Create grid by project UUID

Request

$ curl 'https://solo.cloud/public/api/v1/projects/832baf2a-4a1f-4ea1-a4ab-f8c38a3c4bc3/grids' -i -X POST \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Grid name"
}'
POST /public/api/v1/projects/832baf2a-4a1f-4ea1-a4ab-f8c38a3c4bc3/grids HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 26

{
  "name" : "Grid name"
}

Response

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

{
  "uuid" : "b12dbd32-b6ac-4d61-8feb-4fd9e038adf5"
}

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

Path parameter Description
uuid Project UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
name String Grid name

Response body

Path Type Description
uuid String Created grid UUID

Get grids by project

Get a list of grids by project UUID with pagination. Grids that do not contain data will not be included in the response

Request

$ curl 'https://solo.cloud/public/api/v1/projects/832baf2a-4a1f-4ea1-a4ab-f8c38a3c4bc3/grids?offset=0&limit=10&filter=oNe' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/projects/832baf2a-4a1f-4ea1-a4ab-f8c38a3c4bc3/grids?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: c91a709fcee7d032
Content-Type: application/json

{
  "content" : [ {
    "uuid" : "df3871ff-601d-4649-b23f-fd5bd6127e81",
    "name" : "Grid one"
  }, {
    "uuid" : "f1556d1c-fdf5-4579-a515-903cdb521978",
    "name" : "One more grid"
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 2,
  "last" : true,
  "first" : true
}

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

Path parameter Description
uuid 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 grids 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 Grid UUID
content[].name String Grid name

Get grid metadata

Get grid metadata by UUID

Request

$ curl 'https://solo.cloud/public/api/v1/grids/abcfe2eb-2a68-47e8-9331-261292fe76ba/metadata' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/grids/abcfe2eb-2a68-47e8-9331-261292fe76ba/metadata HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

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

{
  "start_x" : 1761026.4432000222,
  "start_y" : 508018.38319997117,
  "step_x" : 50.00000000089999,
  "step_y" : 50.000899999999994,
  "angle" : 3.4377511537473244E-4,
  "columns" : 10,
  "rows" : 5
}

GET /public/api/v1/grids/{uuid}/metadata

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

Response body

Path Type Description
start_x Number Grid start X surface coordinate
start_y Number Grid start Y surface coordinate
step_x Number Grid X-axis step in project units
step_y Number Grid Y-axis step in project units
angle Number Grid rotation angle (degrees)
columns Number Number of grid columns
rows Number Number of grid rows

Get grid data

Get grid data by UUID

Request

$ curl 'https://solo.cloud/public/api/v1/grids/abcfe2eb-2a68-47e8-9331-261292fe76ba/data' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/grids/abcfe2eb-2a68-47e8-9331-261292fe76ba/data HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

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

{
  "metadata" : {
    "start_x" : 1761026.4432000222,
    "start_y" : 508018.38319997117,
    "step_x" : 50.00000000089999,
    "step_y" : 50.000899999999994,
    "angle" : 3.4377511537473244E-4,
    "columns" : 10,
    "rows" : 5
  },
  "data" : [ {
    "row_number" : 1,
    "values" : [ -4004.1541, -4005.4883, -4006.1639, -4004.9126, -4003.3309, -4001.4009, -3998.938, -3996.5938, -3994.3135, -3991.4742 ]
  }, {
    "row_number" : 2,
    "values" : [ -4006.5755, -4007.4856, -4008.077, -4006.9102, -4005.2642, -4002.824, -4000.285, -3998.0855, -3996.1604, -3993.5733 ]
  }, {
    "row_number" : 3,
    "values" : [ -4009.1927, -4010.4065, -4011.1248, -4009.6104, -4007.5018, -4004.8636, -4002.7835, -4000.7776, -3998.6927, -3994.7417 ]
  }, {
    "row_number" : 4,
    "values" : [ -4012.2437, -4013.699, -4014.2129, -4012.1336, -4009.8895, -4007.2583, -4005.5298, -4003.5118, -3999.9412, -3995.8165 ]
  }, {
    "row_number" : 5,
    "values" : [ -4016.2227, -4016.9622, -4016.6907, -4014.7264, -4012.2242, -4009.7496, -4008.4166, -4005.1592, -4001.252, -3996.7496 ]
  } ]
}

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

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

Response body

Path Type Description
metadata.start_x Number Grid start X surface coordinate
metadata.start_y Number Grid start Y surface coordinate
metadata.step_x Number Grid X-axis step in project units
metadata.step_y Number Grid Y-axis step in project units
metadata.angle Number Grid rotation angle (degrees)
metadata.columns Number Number of grid columns
metadata.rows Number Number of grid rows
data Array Data array
data[].row_number Number Number of row
data[].values Array Values array

Upload grid data to GP

Upload grid data to global project by grid UUID

Request

$ curl 'https://solo.cloud/public/api/v1/grids/abcfe2eb-2a68-47e8-9331-261292fe76ba/data' -i -X PUT \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "metadata" : {
    "start_x" : 111.5,
    "start_y" : 555.1,
    "step_x" : 10,
    "step_y" : 20,
    "angle" : 120,
    "columns" : 10,
    "rows" : 5
  },
  "data" : [ {
    "row_number" : 1,
    "values" : [ -4004.1541, -4005.4883, -4006.1639, -4004.9126, -4003.3309, -4001.4009, -3998.938, -3996.5938, -3994.3135, -3991.4742 ]
  }, {
    "row_number" : 2,
    "values" : [ -4006.5755, -4007.4856, -4008.077, -4006.9102, -4005.2642, -4002.824, -4000.285, -3998.0855, -3996.1604, -3993.5733 ]
  }, {
    "row_number" : 3,
    "values" : [ -4009.1927, -4010.4065, -4011.1248, -4009.6104, -4007.5018, -4004.8636, -4002.7835, -4000.7776, -3998.6927, -3994.7417 ]
  }, {
    "row_number" : 4,
    "values" : [ -4012.2437, -4013.699, -4014.2129, -4012.1336, -4009.8895, -4007.2583, -4005.5298, -4003.5118, -3999.9412, -3995.8165 ]
  }, {
    "row_number" : 5,
    "values" : [ -4016.2227, -4016.9622, -4016.6907, -4014.7264, -4012.2242, -4009.7496, -4008.4166, -4005.1592, -4001.252, -3996.7496 ]
  } ]
}'
PUT /public/api/v1/grids/abcfe2eb-2a68-47e8-9331-261292fe76ba/data HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 1006

{
  "metadata" : {
    "start_x" : 111.5,
    "start_y" : 555.1,
    "step_x" : 10,
    "step_y" : 20,
    "angle" : 120,
    "columns" : 10,
    "rows" : 5
  },
  "data" : [ {
    "row_number" : 1,
    "values" : [ -4004.1541, -4005.4883, -4006.1639, -4004.9126, -4003.3309, -4001.4009, -3998.938, -3996.5938, -3994.3135, -3991.4742 ]
  }, {
    "row_number" : 2,
    "values" : [ -4006.5755, -4007.4856, -4008.077, -4006.9102, -4005.2642, -4002.824, -4000.285, -3998.0855, -3996.1604, -3993.5733 ]
  }, {
    "row_number" : 3,
    "values" : [ -4009.1927, -4010.4065, -4011.1248, -4009.6104, -4007.5018, -4004.8636, -4002.7835, -4000.7776, -3998.6927, -3994.7417 ]
  }, {
    "row_number" : 4,
    "values" : [ -4012.2437, -4013.699, -4014.2129, -4012.1336, -4009.8895, -4007.2583, -4005.5298, -4003.5118, -3999.9412, -3995.8165 ]
  }, {
    "row_number" : 5,
    "values" : [ -4016.2227, -4016.9622, -4016.6907, -4014.7264, -4012.2242, -4009.7496, -4008.4166, -4005.1592, -4001.252, -3996.7496 ]
  } ]
}

Response

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

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

Path parameter Description
uuid Grid UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
metadata.start_x Number Grid start X surface coordinate
metadata.start_y Number Grid start Y surface coordinate
metadata.step_x Number Grid X-axis step in project units
metadata.step_y Number Grid Y-axis step in project units
metadata.angle Number Grid rotation angle (range [-180; 180])
metadata.columns Number Number of grid columns
metadata.rows Number Number of grid rows
data Array Data array
data[].row_number Number Number of row
data[].values Array Values array

Response body

Empty body

Upload grid data to VP

Upload grid data to virtual project by grid UUID and virtual project UUID

Request

$ curl 'https://solo.cloud/public/api/v1/projects/d7b5c8a4-825f-4463-ba67-da77d548f0b8/grids/f1556d1c-fdf5-4579-a515-903cdb521978/data' -i -X PUT \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "metadata" : {
    "start_x" : 111.5,
    "start_y" : 555.1,
    "step_x" : 10,
    "step_y" : 20,
    "angle" : 120,
    "columns" : 10,
    "rows" : 5
  },
  "data" : [ {
    "row_number" : 1,
    "values" : [ -4004.1541, -4005.4883, -4006.1639, -4004.9126, -4003.3309, -4001.4009, -3998.938, -3996.5938, -3994.3135, -3991.4742 ]
  }, {
    "row_number" : 2,
    "values" : [ -4006.5755, -4007.4856, -4008.077, -4006.9102, -4005.2642, -4002.824, -4000.285, -3998.0855, -3996.1604, -3993.5733 ]
  }, {
    "row_number" : 3,
    "values" : [ -4009.1927, -4010.4065, -4011.1248, -4009.6104, -4007.5018, -4004.8636, -4002.7835, -4000.7776, -3998.6927, -3994.7417 ]
  }, {
    "row_number" : 4,
    "values" : [ -4012.2437, -4013.699, -4014.2129, -4012.1336, -4009.8895, -4007.2583, -4005.5298, -4003.5118, -3999.9412, -3995.8165 ]
  }, {
    "row_number" : 5,
    "values" : [ -4016.2227, -4016.9622, -4016.6907, -4014.7264, -4012.2242, -4009.7496, -4008.4166, -4005.1592, -4001.252, -3996.7496 ]
  } ]
}'
PUT /public/api/v1/projects/d7b5c8a4-825f-4463-ba67-da77d548f0b8/grids/f1556d1c-fdf5-4579-a515-903cdb521978/data HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 1006

{
  "metadata" : {
    "start_x" : 111.5,
    "start_y" : 555.1,
    "step_x" : 10,
    "step_y" : 20,
    "angle" : 120,
    "columns" : 10,
    "rows" : 5
  },
  "data" : [ {
    "row_number" : 1,
    "values" : [ -4004.1541, -4005.4883, -4006.1639, -4004.9126, -4003.3309, -4001.4009, -3998.938, -3996.5938, -3994.3135, -3991.4742 ]
  }, {
    "row_number" : 2,
    "values" : [ -4006.5755, -4007.4856, -4008.077, -4006.9102, -4005.2642, -4002.824, -4000.285, -3998.0855, -3996.1604, -3993.5733 ]
  }, {
    "row_number" : 3,
    "values" : [ -4009.1927, -4010.4065, -4011.1248, -4009.6104, -4007.5018, -4004.8636, -4002.7835, -4000.7776, -3998.6927, -3994.7417 ]
  }, {
    "row_number" : 4,
    "values" : [ -4012.2437, -4013.699, -4014.2129, -4012.1336, -4009.8895, -4007.2583, -4005.5298, -4003.5118, -3999.9412, -3995.8165 ]
  }, {
    "row_number" : 5,
    "values" : [ -4016.2227, -4016.9622, -4016.6907, -4014.7264, -4012.2242, -4009.7496, -4008.4166, -4005.1592, -4001.252, -3996.7496 ]
  } ]
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 703e6ba4607f1e8e

PUT /public/api/v1/projects/{projectUuid}/grids/{gridUuid}/data

Path parameter Description
projectUuid Virtual project UUID
gridUuid Grid UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
metadata.start_x Number Grid start X surface coordinate
metadata.start_y Number Grid start Y surface coordinate
metadata.step_x Number Grid X-axis step in project units
metadata.step_y Number Grid Y-axis step in project units
metadata.angle Number Grid rotation angle (range [-180; 180])
metadata.columns Number Number of grid columns
metadata.rows Number Number of grid rows
data Array Data array
data[].row_number Number Number of row
data[].values Array Values array

Response body

Empty body

16. Polygons

Create polygon

Create polygon by project UUID

Request

$ curl 'https://solo.cloud/public/api/v1/projects/b096ddcd-1516-4aa4-a34f-3c4552c56b64/polygons' -i -X POST \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Polygon name"
}'
POST /public/api/v1/projects/b096ddcd-1516-4aa4-a34f-3c4552c56b64/polygons HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 29

{
  "name" : "Polygon name"
}

Response

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

{
  "uuid" : "f0106aed-0bbd-4a9c-9acb-0692ee6b0218"
}

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

Path parameter Description
uuid Project UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
name String Polygon name

Response body

Path Type Description
uuid String Created polygon UUID

Get polygons by project

Get a list of polygons by project UUID with pagination. Polygons that do not contain data will not be included in the response

Request

$ curl 'https://solo.cloud/public/api/v1/projects/b096ddcd-1516-4aa4-a34f-3c4552c56b64/polygons?offset=0&limit=10&filter=oNe' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/projects/b096ddcd-1516-4aa4-a34f-3c4552c56b64/polygons?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: c6f7b7eb8da2ba91
Content-Type: application/json

{
  "content" : [ {
    "uuid" : "134bd847-23c6-40d6-8776-efc2bff0f2ba",
    "name" : "One more polygon"
  }, {
    "uuid" : "4959ce18-0a09-4557-a2dc-c570ffc21651",
    "name" : "Polygon one"
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 2,
  "last" : true,
  "first" : true
}

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

Path parameter Description
uuid 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 polygons 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 Polygon UUID
content[].name String Polygon name

Get polygon data

Get polygon data by UUID

Request

$ curl 'https://solo.cloud/public/api/v1/polygons/6e537c58-d81c-4cac-b5b5-1a8c281ecca6/data' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/polygons/6e537c58-d81c-4cac-b5b5-1a8c281ecca6/data HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

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

[ {
  "label" : "",
  "points_count" : 24,
  "xyz_points" : [ {
    "x" : 1791071.9272422243,
    "y" : 2.505124146981627E7,
    "z" : 1.6404199507874015E8
  }, {
    "x" : 1789698.1627296587,
    "y" : 2.505965649606299E7,
    "z" : -1.6404199507874015E8
  }, {
    "x" : 1795150.2624671916,
    "y" : 2.504813877952756E7,
    "z" : -5389.763779527559
  }, {
    "x" : 1796545.93175853,
    "y" : 2.5044033464566927E7,
    "z" : -5406.496062992126
  }, {
    "x" : 1790436.0236220472,
    "y" : 2.50544937664042E7,
    "z" : -5390.419947506562
  }, {
    "x" : 1798453.7401574801,
    "y" : 2.5044123031496063E7,
    "z" : -5395.997375328084
  }, {
    "x" : 1788395.9973753279,
    "y" : 2.505090649606299E7,
    "z" : -5406.824146981627
  }, {
    "x" : 1794440.6167979,
    "y" : 2.5046503280839894E7,
    "z" : -5392.716535433071
  }, {
    "x" : 1786367.4540682416,
    "y" : 2.5062931430446193E7,
    "z" : -5452.755905511811
  }, {
    "x" : 1788224.7375328084,
    "y" : 2.5057265748031493E7,
    "z" : -5404.85564304462
  }, {
    "x" : 1789879.2650918632,
    "y" : 2.50643156167979E7,
    "z" : -5464.238845144357
  }, {
    "x" : 1796062.6640419948,
    "y" : 2.5055903871391077E7,
    "z" : -5512.795275590551
  }, {
    "x" : 1789700.1312335955,
    "y" : 2.5059661089238845E7,
    "z" : -5548.884514435695
  }, {
    "x" : 1796443.2414698163,
    "y" : 2.5047924212598424E7,
    "z" : -5404.199475065617
  }, {
    "x" : 1782251.968503937,
    "y" : 2.505876902887139E7,
    "z" : -5779.85564304462
  }, {
    "x" : 1793879.2650918635,
    "y" : 2.5047021325459316E7,
    "z" : -5394.028871391076
  }, {
    "x" : 1795888.1233595798,
    "y" : 2.5046238845144354E7,
    "z" : -5369.422572178477
  }, {
    "x" : 1794775.2624671916,
    "y" : 2.5049992782152228E7,
    "z" : -5404.527559055117
  }, {
    "x" : 1793214.2388451442,
    "y" : 2.5048931102362204E7,
    "z" : -5332.677165354331
  }, {
    "x" : 1797323.490813648,
    "y" : 2.5047011811023623E7,
    "z" : -5422.900262467192
  }, {
    "x" : 1789103.3464566926,
    "y" : 2.505270866141732E7,
    "z" : -5341.535433070866
  }, {
    "x" : 1788217.847769029,
    "y" : 2.505421062992126E7,
    "z" : -5350.0656167979005
  }, {
    "x" : 1789805.4461942255,
    "y" : 2.5062502952755906E7,
    "z" : -5399.278215223097
  }, {
    "x" : 1788417.3228346454,
    "y" : 2.5061791994750656E7,
    "z" : -5383.202099737532
  } ]
} ]

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

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

Response body

Path Type Description
[].label String Polyline`s label
[].points_count Number Number of points in polyline
[].xyz_points Array Polyline XYZ points
[].xyz_points[].x Number Point X coordinate (project units)
[].xyz_points[].y Number Point Y coordinate (project units)
[].xyz_points[].z Number Point Z coordinate (project units)

Upload polygon data to GP

Upload polygon data to global project by polygon UUID

Request

$ curl 'https://solo.cloud/public/api/v1/polygons/6e537c58-d81c-4cac-b5b5-1a8c281ecca6/data' -i -X PUT \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '[ {
  "label" : "polyline1",
  "xyz_points" : [ {
    "x" : 178821.8,
    "y" : 250542.6,
    "z" : -5350.0
  }, {
    "x" : 178980.4,
    "y" : 250625.7,
    "z" : -5399.2
  }, {
    "x" : 178841.3,
    "y" : 250617.9,
    "z" : -5383.5
  } ]
}, {
  "xyz_points" : [ {
    "x" : 17.0,
    "y" : 25.0,
    "z" : -53.1
  }, {
    "x" : 11.0,
    "y" : 225.7,
    "z" : -154.0
  } ]
} ]'
PUT /public/api/v1/polygons/6e537c58-d81c-4cac-b5b5-1a8c281ecca6/data HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 384

[ {
  "label" : "polyline1",
  "xyz_points" : [ {
    "x" : 178821.8,
    "y" : 250542.6,
    "z" : -5350.0
  }, {
    "x" : 178980.4,
    "y" : 250625.7,
    "z" : -5399.2
  }, {
    "x" : 178841.3,
    "y" : 250617.9,
    "z" : -5383.5
  } ]
}, {
  "xyz_points" : [ {
    "x" : 17.0,
    "y" : 25.0,
    "z" : -53.1
  }, {
    "x" : 11.0,
    "y" : 225.7,
    "z" : -154.0
  } ]
} ]

Response

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

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

Path parameter Description
uuid Polygon UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
[].label String Polyline`s label
[].xyz_points Array Polyline XYZ points
[].xyz_points[].x Number Point X coordinate (project units)
[].xyz_points[].y Number Point Y coordinate (project units)
[].xyz_points[].z Number Point Z coordinate (project units)

Response body

Empty body

Upload polygon data to VP

Upload polygon data to virtual project by polygon UUID and virtual project UUID

Request

$ curl 'https://solo.cloud/public/api/v1/projects/183b23b7-b7bf-41a5-b1d5-a47fb47e6c6e/polygons/134bd847-23c6-40d6-8776-efc2bff0f2ba/data' -i -X PUT \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '[ {
  "label" : "polyline1",
  "xyz_points" : [ {
    "x" : 178821.8,
    "y" : 250542.6,
    "z" : -5350.0
  }, {
    "x" : 178980.4,
    "y" : 250625.7,
    "z" : -5399.2
  }, {
    "x" : 178841.3,
    "y" : 250617.9,
    "z" : -5383.5
  } ]
}, {
  "xyz_points" : [ {
    "x" : 17.0,
    "y" : 25.0,
    "z" : -53.1
  }, {
    "x" : 11.0,
    "y" : 225.7,
    "z" : -154.0
  } ]
} ]'
PUT /public/api/v1/projects/183b23b7-b7bf-41a5-b1d5-a47fb47e6c6e/polygons/134bd847-23c6-40d6-8776-efc2bff0f2ba/data HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 384

[ {
  "label" : "polyline1",
  "xyz_points" : [ {
    "x" : 178821.8,
    "y" : 250542.6,
    "z" : -5350.0
  }, {
    "x" : 178980.4,
    "y" : 250625.7,
    "z" : -5399.2
  }, {
    "x" : 178841.3,
    "y" : 250617.9,
    "z" : -5383.5
  } ]
}, {
  "xyz_points" : [ {
    "x" : 17.0,
    "y" : 25.0,
    "z" : -53.1
  }, {
    "x" : 11.0,
    "y" : 225.7,
    "z" : -154.0
  } ]
} ]

Response

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

PUT /public/api/v1/projects/{projectUuid}/polygons/{polygonUuid}/data

Path parameter Description
projectUuid Virtual project UUID
polygonUuid Polygon UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
[].label String Polyline`s label
[].xyz_points Array Polyline XYZ points
[].xyz_points[].x Number Point X coordinate (project units)
[].xyz_points[].y Number Point Y coordinate (project units)
[].xyz_points[].z Number Point Z coordinate (project units)

Response body

Empty body

17. Sticks

Create stick

Create stick by project UUID

Request

$ curl 'https://solo.cloud/public/api/v1/projects/12ca64df-de09-4256-a070-a2a5f23ed487/sticks' -i -X POST \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Stick name",
  "trajectory" : [ {
    "tvdss" : {
      "undefined" : true
    },
    "type" : "SHL",
    "x" : {
      "undefined" : true
    },
    "y" : {
      "undefined" : true
    }
  }, {
    "tvdss" : {
      "val" : -3048
    },
    "type" : "LP",
    "x" : {
      "val" : 617886.755760369
    },
    "y" : {
      "val" : -305263.133640553
    }
  }, {
    "tvdss" : {
      "val" : -3048
    },
    "type" : "TD",
    "x" : {
      "val" : 617886.755760369
    },
    "y" : {
      "val" : -300263.133640553
    }
  } ]
}'
POST /public/api/v1/projects/12ca64df-de09-4256-a070-a2a5f23ed487/sticks HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 548

{
  "name" : "Stick name",
  "trajectory" : [ {
    "tvdss" : {
      "undefined" : true
    },
    "type" : "SHL",
    "x" : {
      "undefined" : true
    },
    "y" : {
      "undefined" : true
    }
  }, {
    "tvdss" : {
      "val" : -3048
    },
    "type" : "LP",
    "x" : {
      "val" : 617886.755760369
    },
    "y" : {
      "val" : -305263.133640553
    }
  }, {
    "tvdss" : {
      "val" : -3048
    },
    "type" : "TD",
    "x" : {
      "val" : 617886.755760369
    },
    "y" : {
      "val" : -300263.133640553
    }
  } ]
}

Response

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

{
  "uuid" : "b6065565-5d35-4095-9924-c8e6093e87f5"
}

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

Path parameter Description
uuid Project UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
name String Stick name
trajectory Array Trajectory data
trajectory[].x.val Number X coordinate (project units)
trajectory[].y.val Number Y coordinate (project units)
trajectory[].tvdss.val Number True vertical depth below sea level (project units)
trajectory[].type String Point type (possible values: SHL for Surface Hole Location, LP for Landing Point, TD for Total Depth, WP)

Response body

Path Type Description
uuid String Created Stick UUID

Get sticks by project

Get sticks by project UUID

Request

$ curl 'https://solo.cloud/public/api/v1/projects/12ca64df-de09-4256-a070-a2a5f23ed487/sticks?offset=0&limit=10&filter=oNe' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/projects/12ca64df-de09-4256-a070-a2a5f23ed487/sticks?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: 61859131edf693a6
Content-Type: application/json

{
  "content" : [ {
    "uuid" : "452b35e1-cf78-4333-82f1-f1b985c54f3c",
    "name" : "Stick one",
    "trajectory" : [ {
      "type" : "SHL",
      "x" : {
        "val" : 0.7674300271120105
      },
      "y" : {
        "val" : 8.851065715325124E-4
      },
      "tvdss" : {
        "val" : 2.7075803008031976
      }
    }, {
      "type" : "LP",
      "x" : {
        "val" : 0.3225529669335391
      },
      "y" : {
        "val" : 0.8574771135789099
      },
      "tvdss" : {
        "val" : 0.02197687649956558
      }
    }, {
      "type" : "TD",
      "x" : {
        "val" : 0.25212708317543553
      },
      "y" : {
        "val" : 0.7374661068382877
      },
      "tvdss" : {
        "val" : 2.6483318130234847
      }
    } ]
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 1,
  "last" : true,
  "first" : true
}

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

Path parameter Description
uuid 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 sticks 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 Stick UUID
content[].name String Stick name
content[].trajectory Array Trajectory data
content[].trajectory[].x.val Number X coordinate (project units)
content[].trajectory[].y.val Number Y coordinate (project units)
content[].trajectory[].tvdss.val Number True vertical depth below sea level (project units)
content[].trajectory[].type String Point type (possible values: SHL for Surface Hole Location, LP for Landing Point, TD for Total Depth, WP)

Update stick

Update stick by UUID

Request

$ curl 'https://solo.cloud/public/api/v1/sticks/452b35e1-cf78-4333-82f1-f1b985c54f3c' -i -X PATCH \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Updated stick name",
  "trajectory" : [ {
    "tvdss" : {
      "undefined" : true
    },
    "type" : "SHL",
    "x" : {
      "undefined" : true
    },
    "y" : {
      "undefined" : true
    }
  }, {
    "tvdss" : {
      "val" : -1524
    },
    "type" : "WP",
    "x" : {
      "val" : 617886.755760369
    },
    "y" : {
      "val" : -305263.133640553
    }
  }, {
    "tvdss" : {
      "val" : -2286
    },
    "type" : "WP",
    "x" : {
      "val" : 617886.755760369
    },
    "y" : {
      "val" : -305263.133640553
    }
  }, {
    "tvdss" : {
      "val" : -3048
    },
    "type" : "LP",
    "x" : {
      "val" : 617886.755760369
    },
    "y" : {
      "val" : -305263.133640553
    }
  }, {
    "tvdss" : {
      "val" : -3048
    },
    "type" : "WP",
    "x" : {
      "val" : 617886.755760369
    },
    "y" : {
      "val" : -301513.133640553
    }
  }, {
    "tvdss" : {
      "val" : -3048
    },
    "type" : "TD",
    "x" : {
      "val" : 617886.755760369
    },
    "y" : {
      "val" : -300263.133640553
    }
  } ]
}'
PATCH /public/api/v1/sticks/452b35e1-cf78-4333-82f1-f1b985c54f3c HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 1063

{
  "name" : "Updated stick name",
  "trajectory" : [ {
    "tvdss" : {
      "undefined" : true
    },
    "type" : "SHL",
    "x" : {
      "undefined" : true
    },
    "y" : {
      "undefined" : true
    }
  }, {
    "tvdss" : {
      "val" : -1524
    },
    "type" : "WP",
    "x" : {
      "val" : 617886.755760369
    },
    "y" : {
      "val" : -305263.133640553
    }
  }, {
    "tvdss" : {
      "val" : -2286
    },
    "type" : "WP",
    "x" : {
      "val" : 617886.755760369
    },
    "y" : {
      "val" : -305263.133640553
    }
  }, {
    "tvdss" : {
      "val" : -3048
    },
    "type" : "LP",
    "x" : {
      "val" : 617886.755760369
    },
    "y" : {
      "val" : -305263.133640553
    }
  }, {
    "tvdss" : {
      "val" : -3048
    },
    "type" : "WP",
    "x" : {
      "val" : 617886.755760369
    },
    "y" : {
      "val" : -301513.133640553
    }
  }, {
    "tvdss" : {
      "val" : -3048
    },
    "type" : "TD",
    "x" : {
      "val" : 617886.755760369
    },
    "y" : {
      "val" : -300263.133640553
    }
  } ]
}

Response

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

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

Path parameter Description
uuid Stick UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
name String Stick name
trajectory Array Trajectory data
trajectory[].x.val Number X coordinate (project units)
trajectory[].y.val Number Y coordinate (project units)
trajectory[].tvdss.val Number True vertical depth below sea level (project units)
trajectory[].type String Point type (possible values: SHL for Surface Hole Location, LP for Landing Point, TD for Total Depth, WP)

Response body

Empty body

Delete stick

Delete stick by UUID

Request

$ curl 'https://solo.cloud/public/api/v1/sticks/dab914cc-30b1-422f-8fd2-4c177436f59c' -i -X DELETE \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
DELETE /public/api/v1/sticks/dab914cc-30b1-422f-8fd2-4c177436f59c 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: 39457ded4d84473c

DELETE /public/api/v1/sticks/{uuid}

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

Response body

Empty body

18. Earth models

Create earth model

Create earth model by interpretation UUID

Request

$ curl 'https://solo.cloud/public/api/v1/interpretations/b48c0509-e419-4202-b578-d3455db80f7f/earthmodels' -i -X POST \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Earth model name"
}'
POST /public/api/v1/interpretations/b48c0509-e419-4202-b578-d3455db80f7f/earthmodels HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 33

{
  "name" : "Earth model name"
}

Response

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

{
  "uuid" : "5924adf4-579c-4dc7-b963-952ee24f380d"
}

POST /public/api/v1/interpretations/{uuid}/earthmodels

Path parameter Description
uuid Interpretation UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
name String Earth model name

Response body

Path Type Description
uuid String Created earth model UUID

Get earth models by interpretation

Get a list of earth models by interpretation UUID with pagination. Earth models that do not contain data will not be included in the response

Request

$ curl 'https://solo.cloud/public/api/v1/interpretations/b48c0509-e419-4202-b578-d3455db80f7f/earthmodels?offset=0&limit=10&filter=EM' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/interpretations/b48c0509-e419-4202-b578-d3455db80f7f/earthmodels?offset=0&limit=10&filter=EM HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

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

{
  "content" : [ {
    "uuid" : "6886217f-0f86-4361-a954-37e5cb4d1a75",
    "name" : "EM 1"
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 1,
  "last" : true,
  "first" : true
}

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

Path parameter Description
uuid 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 earth models 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 Earth model UUID
content[].name String Earth model name

Get earth model data

Get earth model data by UUID

Request

$ curl 'https://solo.cloud/public/api/v1/earthmodels/6886217f-0f86-4361-a954-37e5cb4d1a75/data' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/earthmodels/6886217f-0f86-4361-a954-37e5cb4d1a75/data HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

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

{
  "sections" : [ {
    "layers" : [ ],
    "md" : {
      "val" : 328.0839895013124
    }
  }, {
    "layers" : [ ],
    "md" : {
      "val" : 0.0
    }
  } ]
}

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

Path parameter Description
uuid Earth model UUID
Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
sections Array Earth model sections
sections[].md.val Number Measured Depth value (project units)
sections[].layers Array Earth model section layers
sections[].layers[]resistivity_horizontal.val Number Horizontal resistivity value
sections[].layers[]resistivity_vertical.val Number Vertical resistivity value
sections[].layers[]tvd.val Number True vertical depth value (project units)

Upload earth model data

Upload earth model data by UUID

Request

$ curl 'https://solo.cloud/public/api/v1/earthmodels/6886217f-0f86-4361-a954-37e5cb4d1a75/data' -i -X PUT \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "sections" : [ {
    "layers" : [ {
      "resistivity_horizontal" : {
        "val" : 10.0
      },
      "resistivity_vertical" : {
        "val" : 10.0
      },
      "tvd" : {
        "val" : -100000
      }
    }, {
      "resistivity_horizontal" : {
        "val" : 994.0
      },
      "resistivity_vertical" : {
        "val" : 1988.0
      },
      "tvd" : {
        "val" : 16.4592
      }
    }, {
      "resistivity_horizontal" : {
        "val" : 994.0
      },
      "resistivity_vertical" : {
        "val" : 1988.0
      },
      "tvd" : {
        "val" : 30.48
      }
    } ],
    "md" : {
      "val" : 10.0
    }
  }, {
    "layers" : [ {
      "resistivity_horizontal" : {
        "val" : 20.0
      },
      "resistivity_vertical" : {
        "val" : 20.0
      },
      "tvd" : {
        "val" : -100000
      }
    }, {
      "resistivity_horizontal" : {
        "val" : 99.0
      },
      "resistivity_vertical" : {
        "val" : 988.0
      },
      "tvd" : {
        "val" : 31
      }
    } ],
    "md" : {
      "val" : 30.0
    }
  } ]
}'
PUT /public/api/v1/earthmodels/6886217f-0f86-4361-a954-37e5cb4d1a75/data HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 1074

{
  "sections" : [ {
    "layers" : [ {
      "resistivity_horizontal" : {
        "val" : 10.0
      },
      "resistivity_vertical" : {
        "val" : 10.0
      },
      "tvd" : {
        "val" : -100000
      }
    }, {
      "resistivity_horizontal" : {
        "val" : 994.0
      },
      "resistivity_vertical" : {
        "val" : 1988.0
      },
      "tvd" : {
        "val" : 16.4592
      }
    }, {
      "resistivity_horizontal" : {
        "val" : 994.0
      },
      "resistivity_vertical" : {
        "val" : 1988.0
      },
      "tvd" : {
        "val" : 30.48
      }
    } ],
    "md" : {
      "val" : 10.0
    }
  }, {
    "layers" : [ {
      "resistivity_horizontal" : {
        "val" : 20.0
      },
      "resistivity_vertical" : {
        "val" : 20.0
      },
      "tvd" : {
        "val" : -100000
      }
    }, {
      "resistivity_horizontal" : {
        "val" : 99.0
      },
      "resistivity_vertical" : {
        "val" : 988.0
      },
      "tvd" : {
        "val" : 31
      }
    } ],
    "md" : {
      "val" : 30.0
    }
  } ]
}

Response

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

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

Path parameter Description
uuid Earth model UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
sections Array Earth model sections
sections[].md.val Number Measured Depth value (project units)
sections[].layers Array Earth model section layers
sections[].layers[]resistivity_horizontal.val Number Horizontal resistivity value
sections[].layers[]resistivity_vertical.val Number Vertical resistivity value
sections[].layers[]tvd.val Number True vertical depth value (project units)

Response body

Empty body

19. Reference lists

Get reference list categories

Get a list of reference list categories

Request

$ curl 'https://solo.cloud/public/api/v1/referencelistcategories' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/referencelistcategories HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

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

[ {
  "name" : "welllist",
  "uuid" : "f6665da9-e922-42a7-ae92-a45a5b367eaf",
  "applicable_to" : [ "laterals", "typewells" ]
} ]

GET /public/api/v1/referencelistcategories

Header Description
Authorization OAuth2 authorization header

Response body

Path Type Description
[].name String Reference list category name
[].uuid String Reference list category UUID
[].applicable_to Array Reference list category objects type array

Get reference lists with items

Get a list of reference lists by project UUID and category UUID

Request

$ curl 'https://solo.cloud/public/api/v1/projects/c6cb0f41-73c0-4105-9ce4-ce330f4cf333/listcategories/f6665da9-e922-42a7-ae92-a45a5b367eaf/referencelists?offset=0&limit=10' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/projects/c6cb0f41-73c0-4105-9ce4-ce330f4cf333/listcategories/f6665da9-e922-42a7-ae92-a45a5b367eaf/referencelists?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: c66493d5f27ad3a7
Content-Type: application/json

{
  "content" : [ {
    "uuid" : "ed6228f8-b90e-4f75-8d68-9f27160b6d5c",
    "name" : "name",
    "object_ids" : [ ]
  }, {
    "uuid" : "0e4370b3-f945-4862-af19-cdf0e3769587",
    "name" : "Reference List Name",
    "object_ids" : [ "8fd77295-24a8-42d5-94b4-8aaf7943a73c" ]
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 2,
  "last" : true,
  "first" : true
}

GET /public/api/v1/projects/{projectUuid}/listcategories/{categoryUuid}/referencelists

Path parameter Description
projectUuid Project UUID
categoryUuid Category 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 Reference list UUID
content[].name String Reference list name
content[].object_ids Array Reference list objects array

Get well lists with items

Get a list of well lists by project UUID

Request

$ curl 'https://solo.cloud/public/api/v1/projects/c6cb0f41-73c0-4105-9ce4-ce330f4cf333/welllists?offset=0&limit=10' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/projects/c6cb0f41-73c0-4105-9ce4-ce330f4cf333/welllists?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: f43cdfbf98074dfa
Content-Type: application/json

{
  "content" : [ {
    "uuid" : "ed6228f8-b90e-4f75-8d68-9f27160b6d5c",
    "name" : "name",
    "object_ids" : [ ]
  }, {
    "uuid" : "0e4370b3-f945-4862-af19-cdf0e3769587",
    "name" : "Reference List Name",
    "object_ids" : [ "8fd77295-24a8-42d5-94b4-8aaf7943a73c" ]
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 2,
  "last" : true,
  "first" : true
}

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

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'
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 Reference list UUID
content[].name String Reference list name
content[].object_ids Array Reference list objects array

20. Comments

Create comment

Create comment by lateral UUID

Request

$ curl 'https://solo.cloud/public/api/v1/wells/1556ee1d-b6df-4192-b844-a0fe3f1eae44/comments' -i -X POST \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Comment name"
}'
POST /public/api/v1/wells/1556ee1d-b6df-4192-b844-a0fe3f1eae44/comments HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 29

{
  "name" : "Comment name"
}

Response

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

{
  "uuid" : "a1426a0a-d3a6-4808-9fcd-14d39c5f878c"
}

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

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

Response body

Path Type Description
uuid String Created comment UUID

Create comment box

Create comment box by comment UUID

Request

$ curl 'https://solo.cloud/public/api/v1/comments/d8e12fd4-b5e8-450c-8ffb-df257f866e9e/commentboxes' -i -X POST \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "text" : "Comment box text",
  "anchor_md" : {
    "val" : 1205.8
  }
}'
POST /public/api/v1/comments/d8e12fd4-b5e8-450c-8ffb-df257f866e9e/commentboxes HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 75

{
  "text" : "Comment box text",
  "anchor_md" : {
    "val" : 1205.8
  }
}

Response

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

{
  "uuid" : "05d7275e-8d99-4db7-a2ed-b4ae2cf88a0c"
}

POST /public/api/v1/comments/{uuid}/commentboxes

Path parameter Description
uuid Comment UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
text String Comment box text
anchor_md.val Number Comment box placement measured depth value in project units

Response body

Path Type Description
uuid String Created comment box UUID

Get comments

Get comments with comment boxes by lateral UUID

Request

$ curl 'https://solo.cloud/public/api/v1/wells/1556ee1d-b6df-4192-b844-a0fe3f1eae44/comments?offset=0&limit=10' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json'
GET /public/api/v1/wells/1556ee1d-b6df-4192-b844-a0fe3f1eae44/comments?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: 851b0e87f7318f18
Content-Type: application/json

{
  "content" : [ {
    "comment_id" : "d8e12fd4-b5e8-450c-8ffb-df257f866e9e",
    "name" : "Updated comment name",
    "comment_boxes" : [ {
      "commentbox_id" : "a03e6ee0-b6d4-4a3b-bcfb-f1582703c392",
      "text" : "New Comment Text",
      "anchor_md" : {
        "val" : 2375.2755905511813
      }
    }, {
      "commentbox_id" : "05d7275e-8d99-4db7-a2ed-b4ae2cf88a0c",
      "text" : "Comment box text",
      "anchor_md" : {
        "val" : 1205.8
      }
    } ]
  }, {
    "comment_id" : "366f9ef0-566f-4411-9299-483c157d01be",
    "name" : "Comment",
    "comment_boxes" : [ {
      "commentbox_id" : "5fa3c86a-6f6d-4860-b3ab-8adeb7b03cb2",
      "text" : "New Comment Text",
      "anchor_md" : {
        "val" : 2375.2755905511813
      }
    }, {
      "commentbox_id" : "9d6bbb91-326f-47e9-a81f-fa2c064ba1e3",
      "text" : "New Comment Text",
      "anchor_md" : {
        "val" : 2375.2755905511813
      }
    } ]
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 2,
  "last" : true,
  "first" : true
}

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

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[].comment_id String Comment UUID
content[].name String Comment name
content[].comment_boxes[].commentbox_id String Comment box UUID
content[].comment_boxes[].text String Comment box text
content[].comment_boxes[].anchor_md.val Number Comment box placement measured depth value in project units

Update comment

Update comment by UUID

Request

$ curl 'https://solo.cloud/public/api/v1/comments/d8e12fd4-b5e8-450c-8ffb-df257f866e9e' -i -X PATCH \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "name" : "Updated comment name"
}'
PATCH /public/api/v1/comments/d8e12fd4-b5e8-450c-8ffb-df257f866e9e HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 37

{
  "name" : "Updated comment name"
}

Response

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

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

Path parameter Description
uuid Comment UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
name String New comment name

Response body

Empty body

Update comment box

Update comment box by UUID

Request

$ curl 'https://solo.cloud/public/api/v1/commentboxes/a03e6ee0-b6d4-4a3b-bcfb-f1582703c392' -i -X PATCH \
    -H 'Authorization: Bearer <your_access_token>' \
    -H 'Content-Type: application/json' \
    -d '{
  "text" : "Updated comment box text",
  "anchor_md" : {
    "val" : 333.8
  }
}'
PATCH /public/api/v1/commentboxes/a03e6ee0-b6d4-4a3b-bcfb-f1582703c392 HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 82

{
  "text" : "Updated comment box text",
  "anchor_md" : {
    "val" : 333.8
  }
}

Response

HTTP/1.1 200 OK
X-Solo-Trace-Id: 8545562a6a22d1fd

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

Path parameter Description
uuid Comment box UUID
Header Description
Authorization OAuth2 authorization header
Body field Type Description
text String New comment box text
anchor_md.val Number New comment box placement measured depth value in project units

Response body

Empty body

21. Log families

Get laterals log families list

Get laterals log families list by project UUID

Request

$ curl 'https://solo.cloud/public/api/v1/projects/523efcf1-6878-4c5f-a4dc-eec12bbadaec/wells/logs/logfamilies?offset=0&limit=10' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/projects/523efcf1-6878-4c5f-a4dc-eec12bbadaec/wells/logs/logfamilies?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: 45ce57244eb54c62
Content-Type: application/json

{
  "content" : [ {
    "uuid" : "2969c9ad-745a-496f-9001-44e3a62b6408",
    "name" : "Log Family",
    "group_mnemonics" : [ "mnemonic1", "mnemonic2", "mnemonic3" ]
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 1,
  "last" : true,
  "first" : true
}

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

Path parameter Description
uuid 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'
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 Log family UUID
content[].name String Log family name
content[].group_mnemonics[]. Array Mnemonics list

Get typewells log families list

Get typewells log families list by project UUID

Request

$ curl 'https://solo.cloud/public/api/v1/projects/523efcf1-6878-4c5f-a4dc-eec12bbadaec/typewells/logs/logfamilies?offset=0&limit=10' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/projects/523efcf1-6878-4c5f-a4dc-eec12bbadaec/typewells/logs/logfamilies?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: 689120c401a5409a
Content-Type: application/json

{
  "content" : [ {
    "uuid" : "2969c9ad-745a-496f-9001-44e3a62b6408",
    "name" : "Log Family",
    "group_mnemonics" : [ "mnemonic1", "mnemonic2", "mnemonic3" ]
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 1,
  "last" : true,
  "first" : true
}

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

Path parameter Description
uuid 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'
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 Log family UUID
content[].name String Log family name
content[].group_mnemonics[]. Array Mnemonics list

Get laterals log list by log family in specific project

Get laterals log list by log family and project UUIDs

Request

$ curl 'https://solo.cloud/public/api/v1/projects/523efcf1-6878-4c5f-a4dc-eec12bbadaec/logfamilies/2969c9ad-745a-496f-9001-44e3a62b6408/wells/logs?offset=0&limit=10' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/projects/523efcf1-6878-4c5f-a4dc-eec12bbadaec/logfamilies/2969c9ad-745a-496f-9001-44e3a62b6408/wells/logs?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: 797583c08d3fbd12
Content-Type: application/json

{
  "content" : [ {
    "uuid" : "02ce9a82-743c-4b66-981a-81a20247e30d",
    "name" : "mnemonic1"
  }, {
    "uuid" : "97ba8ead-2e1e-4311-8487-b2f85c64ca43",
    "name" : "mnemonic3"
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 2,
  "last" : true,
  "first" : true
}

GET /public/api/v1/projects/{project_id}/logfamilies/{log_family_id}/wells/logs

Path parameter Description
project_id Project UUID
log_family_id Log family 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 Log UUID
content[].name String Log name

Get typewells log list by log family in specific project

Get typewells log list by log family and project UUIDs

Request

$ curl 'https://solo.cloud/public/api/v1/projects/523efcf1-6878-4c5f-a4dc-eec12bbadaec/logfamilies/2969c9ad-745a-496f-9001-44e3a62b6408/typewells/logs?offset=0&limit=10' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/projects/523efcf1-6878-4c5f-a4dc-eec12bbadaec/logfamilies/2969c9ad-745a-496f-9001-44e3a62b6408/typewells/logs?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: 69e271efd97b2a9a
Content-Type: application/json

{
  "content" : [ {
    "uuid" : "91a72bce-0661-4464-8abe-5d0158c64ac1",
    "name" : "mnemonic1"
  }, {
    "uuid" : "b523e0a4-d7f4-4019-b784-2b1fa818d4a7",
    "name" : "mnemonic3"
  } ],
  "offset" : 0,
  "limit" : 10,
  "total" : 2,
  "last" : true,
  "first" : true
}

GET /public/api/v1/projects/{project_id}/logfamilies/{log_family_id}/typewells/logs

Path parameter Description
project_id Project UUID
log_family_id Log family 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 Log UUID
content[].name String Log name

22. Objects update info

Get update info by lateral

Get update info about child objects by lateral UUID. If some child object is missing in the response, it means that at the moment it no longer exists (was deleted)

Request

$ curl 'https://solo.cloud/public/api/v1/wells/16c9086c-9eb3-4eee-9bf0-c5ab5fa764e7/updateinfo' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/16c9086c-9eb3-4eee-9bf0-c5ab5fa764e7/updateinfo HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

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

{
  "content" : [ {
    "modified_at" : "2025-04-24T10:11:48.219717Z",
    "parent_uuid" : "6420b224-5aec-4ab7-96c2-0e1a2479bb07",
    "uuid" : "ad424849-ee55-4194-bc9d-846a834e7e79",
    "type" : "TOPSET",
    "updated_at" : "2025-04-24T10:11:48.219717Z"
  }, {
    "modified_at" : "2025-04-24T10:11:48.619897Z",
    "parent_uuid" : "16c9086c-9eb3-4eee-9bf0-c5ab5fa764e7",
    "uuid" : "750e8ab4-ef1b-4637-96a5-e20925287b71",
    "type" : "TOPSET",
    "updated_at" : "2025-04-24T10:11:48.238107Z"
  }, {
    "modified_at" : "2025-04-24T10:11:48.257452Z",
    "parent_uuid" : "750e8ab4-ef1b-4637-96a5-e20925287b71",
    "uuid" : "531dd979-b32e-4c8a-9d39-fcd477fb78a9",
    "type" : "TOP",
    "updated_at" : "2025-04-24T10:11:48.257452Z"
  }, {
    "modified_at" : "2025-04-24T10:11:48.619897Z",
    "uuid" : "16c9086c-9eb3-4eee-9bf0-c5ab5fa764e7",
    "type" : "WELL",
    "updated_at" : "2025-04-24T10:11:47.587488Z"
  }, {
    "modified_at" : "2025-04-24T10:11:48.298026Z",
    "parent_uuid" : "16c9086c-9eb3-4eee-9bf0-c5ab5fa764e7",
    "uuid" : "c403bf1a-338e-465d-93b7-84c7edebc55f",
    "type" : "COMMENT",
    "updated_at" : "2025-04-24T10:11:48.298026Z"
  }, {
    "modified_at" : "2025-04-24T10:11:47.677366Z",
    "parent_uuid" : "16c9086c-9eb3-4eee-9bf0-c5ab5fa764e7",
    "uuid" : "d1c6d0cb-8502-4812-87cd-f0257671b10a",
    "type" : "LOG",
    "updated_at" : "2025-04-24T10:11:47.677366Z"
  }, {
    "modified_at" : "2025-04-24T10:11:47.849816Z",
    "parent_uuid" : "16c9086c-9eb3-4eee-9bf0-c5ab5fa764e7",
    "uuid" : "80665864-5efc-4f2f-9e11-23fe69c3c07f",
    "type" : "IMAGE",
    "updated_at" : "2025-04-24T10:11:47.849816Z"
  }, {
    "modified_at" : "2025-04-24T10:11:48.428092Z",
    "parent_uuid" : "16c9086c-9eb3-4eee-9bf0-c5ab5fa764e7",
    "uuid" : "1a2e2234-fdb1-4e70-86bb-221d3d9add64",
    "type" : "INTERPRETATION",
    "updated_at" : "2025-04-24T10:11:47.890852Z"
  }, {
    "modified_at" : "2025-04-24T10:11:48.345178Z",
    "parent_uuid" : "16c9086c-9eb3-4eee-9bf0-c5ab5fa764e7",
    "uuid" : "1d902f3c-6386-491e-a117-344f9866569b",
    "type" : "TARGETLINE",
    "updated_at" : "2025-04-24T10:11:48.345178Z"
  }, {
    "modified_at" : "2025-04-24T10:11:48.428092Z",
    "parent_uuid" : "1a2e2234-fdb1-4e70-86bb-221d3d9add64",
    "uuid" : "35685972-0b8b-4ff4-83fb-6ed80cf135db",
    "type" : "EARTHMODEL",
    "updated_at" : "2025-04-24T10:11:48.389745Z"
  }, {
    "modified_at" : "2025-04-24T10:11:48.040362Z",
    "parent_uuid" : "16c9086c-9eb3-4eee-9bf0-c5ab5fa764e7",
    "uuid" : "f27b4ce9-b0b3-4f40-a058-17e9b2adb745",
    "type" : "IMAGE",
    "updated_at" : "2025-04-24T10:11:48.040362Z"
  }, {
    "modified_at" : "2025-04-24T10:11:48.098690Z",
    "parent_uuid" : "16c9086c-9eb3-4eee-9bf0-c5ab5fa764e7",
    "uuid" : "d74eeb68-a19c-4ad9-b43f-0aa67520821f",
    "type" : "MUDLOG",
    "updated_at" : "2025-04-24T10:11:48.098690Z"
  }, {
    "modified_at" : "2025-04-24T10:11:48.219717Z",
    "parent_uuid" : "16c9086c-9eb3-4eee-9bf0-c5ab5fa764e7",
    "uuid" : "6420b224-5aec-4ab7-96c2-0e1a2479bb07",
    "type" : "NESTEDWELL",
    "updated_at" : "2025-04-24T10:11:48.192451Z"
  } ]
}

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

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

Response body

Path Type Description
content Array Content array
content[].uuid String The object UUID
content[].type String Type of the object
content[].parent_uuid String Parent object UUID (optional)
content[].updated_at String Timestamp showing when the object itself was updated (UTC time)
content[].modified_at String Timestamp showing when either one of the child objects or object itself was updated (UTC time)

Get update info by typewell

Get update info about child objects by typewell UUID. If some child object is missing in the response, it means that at the moment it no longer exists (was deleted)

Request

$ curl 'https://solo.cloud/public/api/v1/typewells/3cc42e02-906d-4ab0-8762-87168116c4ee/updateinfo' -i -X GET \
    -H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/typewells/3cc42e02-906d-4ab0-8762-87168116c4ee/updateinfo HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud

Response

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

{
  "content" : [ {
    "modified_at" : "2025-04-24T10:11:47.525869Z",
    "uuid" : "3cc42e02-906d-4ab0-8762-87168116c4ee",
    "type" : "TYPEWELL",
    "updated_at" : "2025-04-24T10:11:47.327399Z"
  }, {
    "modified_at" : "2025-04-24T10:11:47.383756Z",
    "parent_uuid" : "3cc42e02-906d-4ab0-8762-87168116c4ee",
    "uuid" : "8fe2ecf6-d31f-4ff5-9951-519892168da0",
    "type" : "LOG",
    "updated_at" : "2025-04-24T10:11:47.383756Z"
  }, {
    "modified_at" : "2025-04-24T10:11:47.525869Z",
    "parent_uuid" : "3cc42e02-906d-4ab0-8762-87168116c4ee",
    "uuid" : "f9d068c3-6124-4c4c-a8c9-d695a2e9a325",
    "type" : "TOPSET",
    "updated_at" : "2025-04-24T10:11:47.410330Z"
  }, {
    "modified_at" : "2025-04-24T10:11:47.463543Z",
    "parent_uuid" : "3cc42e02-906d-4ab0-8762-87168116c4ee",
    "uuid" : "3a3bf471-88d9-4f06-bea2-71f128e57c22",
    "type" : "MUDLOG",
    "updated_at" : "2025-04-24T10:11:47.463543Z"
  }, {
    "modified_at" : "2025-04-24T10:11:47.525869Z",
    "parent_uuid" : "f9d068c3-6124-4c4c-a8c9-d695a2e9a325",
    "uuid" : "fa68b927-34e1-4356-b424-e2cb810309e2",
    "type" : "TOP",
    "updated_at" : "2025-04-24T10:11:47.525869Z"
  } ]
}

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

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

Response body

Path Type Description
content Array Content array
content[].uuid String The object UUID
content[].type String Type of the object
content[].parent_uuid String Parent object UUID (optional)
content[].updated_at String Timestamp showing when the object itself was updated (UTC time)
content[].modified_at String Timestamp showing when either one of the child objects or object itself was updated (UTC time)

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
{
    "message": "This interpretation's type is not supported",
    "trace_id": "d4e9313ff6267dd5",
    "type": "INVALID_PARAMETER"
}

409 Conflict

Request could not be processed because of conflict in the current state of the resource (such as an edit conflict between multiple simultaneous updates).

Response

HTTP/1.1 409 Conflict
{
    "message": "Requested change cannot be applied",
    "trace_id": "4844645175526a44",
    "type": "NOT_ACCEPTED"
}

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.