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:
- Project
- Lateral
- Interpretation
- Horizon
- Nested well (PAPI term for Well Plan)
- Topset
- Top
- Topset
- Log
- Mudlog
- Topset
- Top
- Image
- Target line
- Interpretation
- Typewell
- Log
- Mudlog
- Topset
- Top
- Grid
- Polygon
- Lateral
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:
val
- field holds a valueundefined
- field which istrue
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:
Vary: origin,access-control-request-method,access-control-request-headers,accept-encoding
Authorization: 7a233778-ae0f-41b2-ae18-fe82fae0978f
Set-Cookie: SESSION=N2EyMzM3NzgtYWUwZi00MWIyLWFlMTgtZmU4MmZhZTA5Nzhm; Path=/; HttpOnly; SameSite=Lax
Content-Type: application/json;charset=UTF-8
{
"access_token" : "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb21wYW55X2lkIjoyMDAwMywiY2xpZW50X2FwcF9pZCI6InBhcGkiLCJ1c2VyX25hbWUiOiJ0ZXN0K2FwaUB0ZXN0LmNvbSIsImNsaWVudF9pbml0X2lwIjoiMTAuMC4wLjIiLCJ1c2VyX2RpZ2VzdCI6IjhiOWVlYTM3NzciLCJhdXRob3JpdGllcyI6WyJST0xFX1NUQUZGIl0sImNsaWVudF9pZCI6InNvbG8tYXBpLWNsaWVudC1pZCIsImF1ZCI6WyJzb2xvLXB1YmxpYy1hcGkiXSwidXNlcl9pZCI6MTQ5Nywic2NvcGUiOlsicmVhZCJdLCJleHAiOjE3MjgwMjU5MTIsImlhdCI6MTcyODAxNTkxMiwianRpIjoiNXpfTE9DdGtRWlRjTTg0bzd0aGQ3VENvOUIwIn0.ubxPLZvKPheCuB3ruI2hCGg8mfW7E5xlc4K_kFgEVumzwJsxnAOaR-HYq8AJxHAMC4RNVE3gqfjy41FdDB2DbMg6k8g9K8pjpexFnCC71rIPe39xO5tfLbh4uqEb_QBabO862YV39HxciB0n-F0WBSYI8_H6okEhSx4VtC3G_ftyqOWR_Yue1Vd3aLmWUYXIYRxTjZt0r88r_lMOkHboFSRclwHHv-nNjCYn2KR2T2j_-XMVhm53NnPFIpqzPv72ZLi7B2FT-SklQRHWsfe-Wm4oTDeVb_d6mlAasOC5y4SFDV9IMxfK-AE2UHiEjhk-KmYXmr7sBEyX3nVQqu52MQ",
"token_type" : "bearer",
"refresh_token" : "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb21wYW55X2lkIjoyMDAwMywiY2xpZW50X2FwcF9pZCI6InBhcGkiLCJ1c2VyX25hbWUiOiJ0ZXN0K2FwaUB0ZXN0LmNvbSIsImNsaWVudF9pbml0X2lwIjoiMTAuMC4wLjIiLCJ1c2VyX2RpZ2VzdCI6IjhiOWVlYTM3NzciLCJhdXRob3JpdGllcyI6WyJST0xFX1NUQUZGIl0sImNsaWVudF9pZCI6InNvbG8tYXBpLWNsaWVudC1pZCIsImF1ZCI6WyJzb2xvLXB1YmxpYy1hcGkiXSwidXNlcl9pZCI6MTQ5Nywic2NvcGUiOlsicmVhZCJdLCJhdGkiOiI1el9MT0N0a1FaVGNNODRvN3RoZDdUQ285QjAiLCJleHAiOjE3MjgwNDU5MTIsImlhdCI6MTcyODAxNTkxMiwianRpIjoiNnN0c19PVFo5ZnI5cjNhdW53SEYxOWU0XzBzIn0.ZeAlBet_xY592OnNOTcx_8rasEJT2UX9rQgpyDbmYpbGW4gQ3atEYKnM5qgbKW0adg8shFt_4pIyhbmhBUiM0ePG5_lFJX6lk7xuHUkTXf11w5lOLQq_BHUZ5aANeM_EcI3ZMi-D0jwhYB_uSkoGkcuMRJ1qz0Q3sjGyZkeDSFF398iknng0x-5YbA6ggZUtm7AMxO_B-avY5ed8QwJhrskuGehDNSsgOQBwjX25juAfSl2shgMYpk5VF-kmB9EA1M72MoafPYQqsGUND6znia9I91w7rJk33sFWn3EJyD0uqC7kfS-27DpwFEW65TU9wK48a_vtvqvawi-48PwKBg",
"expires_in" : 9999,
"scope" : "read",
"iat" : 1728015912,
"jti" : "5z_LOCtkQZTcM84o7thd7TCo9B0"
}
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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"uuid" : "83e18782-4d45-4be8-84c1-b14e3a5b6238",
"name" : "Papi test project 1",
"measure_unit" : "FOOT",
"role" : "MANAGER",
"accessed_on" : "2024-10-04T04:24:41Z",
"modified_on" : "2024-10-04T04:24:41Z"
}, {
"uuid" : "71e2d318-d294-4585-87b0-03cbef7dd973",
"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" : "2024-10-04T04:24:42Z",
"modified_on" : "2024-10-04T04:24:42Z"
}, {
"uuid" : "f9086790-f483-4c25-a1a8-e501ad638cc4",
"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" : "2024-10-04T04:24:42Z",
"modified_on" : "2024-10-04T04:24:42Z"
} ],
"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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"uuid" : "db95bb4f-c690-4684-97b2-b08db70e9c4f",
"name" : "Virtual Papi test project 1",
"measure_unit" : "FOOT",
"role" : "MANAGER",
"parent_uuid" : "83e18782-4d45-4be8-84c1-b14e3a5b6238",
"parent_name" : "Papi test project 1",
"virtual" : true,
"modified_on" : "2024-10-04T04:24:41Z"
}, {
"uuid" : "d0170dbe-9d95-4a33-a4ff-f184972f6c3a",
"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" : "71e2d318-d294-4585-87b0-03cbef7dd973",
"parent_name" : "Papi test project 2",
"virtual" : true,
"modified_on" : "2024-10-04T04:24:42Z"
}, {
"uuid" : "f94b3bdf-ef5b-4995-91b3-2fc3a4c2a36f",
"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" : "f9086790-f483-4c25-a1a8-e501ad638cc4",
"parent_name" : "Papi test project 3",
"virtual" : true,
"modified_on" : "2024-10-04T04:24:42Z"
} ],
"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/f9086790-f483-4c25-a1a8-e501ad638cc4' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/projects/f9086790-f483-4c25-a1a8-e501ad638cc4 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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"uuid" : "f9086790-f483-4c25-a1a8-e501ad638cc4",
"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" : "2024-10-04T04:24:42Z",
"modified_on" : "2024-10-04T04:24:42Z"
}
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/f9086790-f483-4c25-a1a8-e501ad638cc4/changes' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"modified_since" : "2024-10-04T04:23:42.148Z"
}'
POST /public/api/v1/projects/f9086790-f483-4c25-a1a8-e501ad638cc4/changes HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 51
{
"modified_since" : "2024-10-04T04:23:42.148Z"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"uuid" : "f17487a8-77db-4818-b678-648c5ce3da8f",
"type" : "WELL",
"operation" : "CREATE"
}, {
"uuid" : "2107f7be-a112-4835-8719-c1c904dc9fc2",
"type" : "TYPEWELL",
"operation" : "CREATE"
} ],
"modified_on" : "2024-10-04T04:24:42.548Z",
"modified_at" : "2024-10-04T04:24:42.548+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/5b453c2a-3adf-4526-9962-c27c0ab132bd/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/5b453c2a-3adf-4526-9962-c27c0ab132bd/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"uuid" : "ca805291-7f73-49f0-8e27-37cedd1c33e3"
}
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/5b453c2a-3adf-4526-9962-c27c0ab132bd/wells?offset=0&limit=10&filter=oNe' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/projects/5b453c2a-3adf-4526-9962-c27c0ab132bd/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"uuid" : "ce7400f7-b1ea-4c40-b723-39585a7fb95c",
"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 lateral metadata
Get lateral metadata
Request
$ curl 'https://solo.cloud/public/api/v1/wells/117faa2d-89dd-49e4-80ec-35b405e2c165' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/117faa2d-89dd-49e4-80ec-35b405e2c165 HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"uuid" : "117faa2d-89dd-49e4-80ec-35b405e2c165",
"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/0cc0b01f-00ae-44bc-9698-73c9124554ea/trajectory' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/0cc0b01f-00ae-44bc-9698-73c9124554ea/trajectory HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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 starred objects
Get starred objects by lateral UUID
Request
$ curl 'https://solo.cloud/public/api/v1/wells/4e27d601-e91f-4261-ad78-11eb2c8b150f/starred' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/wells/4e27d601-e91f-4261-ad78-11eb2c8b150f/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"target_line" : "39bc393e-a5ef-4d70-88b7-448912f6795d",
"nested_well" : "d5837cdf-dd35-4ce8-922b-12b19cc3579d",
"interpretation" : "2a08eee3-b915-4755-8403-68294574e688",
"topset" : "293c6c02-e4ee-4cc5-9523-c62f1b38cf4f"
}
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/1e1cec33-aa60-431f-836a-cfca6b060b6a/linked?offset=0&limit=10' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/wells/1e1cec33-aa60-431f-836a-cfca6b060b6a/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"shift" : {
"val" : 1640.4199475065616
},
"typewell_id" : "bda6034d-9bed-4cbd-9af9-46ee35752d1f"
} ],
"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 comments
Get comments by lateral UUID
Request
$ curl 'https://solo.cloud/public/api/v1/wells/4e68610d-7dd2-4013-9f43-5f1e944255ba/comments?offset=0&limit=10' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/wells/4e68610d-7dd2-4013-9f43-5f1e944255ba/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"comment_id" : "220c5c70-2f76-42a3-9e97-3d02d8aa0572",
"name" : "Comment",
"comment_boxes" : [ {
"commentbox_id" : "9c8f15de-9930-4ce5-b501-be0677d7fcc2",
"text" : "New Comment Text",
"anchor_md" : {
"val" : 2375.2755905511813
}
} ]
}, {
"comment_id" : "53997e7c-bad1-417b-bb73-d384fcc2e567",
"name" : "Comment",
"comment_boxes" : [ {
"commentbox_id" : "72e14e22-cce4-4ea8-a7c5-26e19c4c8147",
"text" : "New Comment Text",
"anchor_md" : {
"val" : 2375.2755905511813
}
}, {
"commentbox_id" : "0135a471-09e1-4346-89dd-af4d8d65ab44",
"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 measured depth |
Get bit projection
Get bit projection by lateral UUID
Request
$ curl 'https://solo.cloud/public/api/v1/wells/da746dd0-ff86-47bc-ae3d-2a7a03963aa9/bitprojection' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/wells/da746dd0-ff86-47bc-ae3d-2a7a03963aa9/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/ce7400f7-b1ea-4c40-b723-39585a7fb95c' -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/ce7400f7-b1ea-4c40-b723-39585a7fb95c 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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/ce7400f7-b1ea-4c40-b723-39585a7fb95c/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/ce7400f7-b1ea-4c40-b723-39585a7fb95c/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/ce7400f7-b1ea-4c40-b723-39585a7fb95c/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/ce7400f7-b1ea-4c40-b723-39585a7fb95c/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/4e27d601-e91f-4261-ad78-11eb2c8b150f/starred' -i -X PUT \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"targetline" : "39bc393e-a5ef-4d70-88b7-448912f6795d",
"nestedwell" : "d5837cdf-dd35-4ce8-922b-12b19cc3579d",
"interpretation" : "2a08eee3-b915-4755-8403-68294574e688",
"topset" : "293c6c02-e4ee-4cc5-9523-c62f1b38cf4f"
}'
PUT /public/api/v1/wells/4e27d601-e91f-4261-ad78-11eb2c8b150f/starred HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 230
{
"targetline" : "39bc393e-a5ef-4d70-88b7-448912f6795d",
"nestedwell" : "d5837cdf-dd35-4ce8-922b-12b19cc3579d",
"interpretation" : "2a08eee3-b915-4755-8403-68294574e688",
"topset" : "293c6c02-e4ee-4cc5-9523-c62f1b38cf4f"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/5a5a7d13-9961-4120-9cad-dd3df6913e24/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/5a5a7d13-9961-4120-9cad-dd3df6913e24/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/376d6c03-6a6d-4cbd-8abb-2aac84468efb/lock' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/wells/376d6c03-6a6d-4cbd-8abb-2aac84468efb/lock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/ee67f81a-81dd-4819-b207-5517967af7da/unlock' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/wells/ee67f81a-81dd-4819-b207-5517967af7da/unlock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/7b563aef-0e0c-4df1-98db-061ab90dc3d2/interpretations' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Interpretation name"
}'
POST /public/api/v1/wells/7b563aef-0e0c-4df1-98db-061ab90dc3d2/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"uuid" : "c9ca1728-33ee-4cb9-b880-c4f1d21e2a34"
}
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/7b563aef-0e0c-4df1-98db-061ab90dc3d2/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/7b563aef-0e0c-4df1-98db-061ab90dc3d2/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"uuid" : "b518988a-0c74-47d5-a393-34ef81eb7ce9",
"name" : "test interpretation 1",
"format" : {
"extension_grid_uuid" : "00000000-0000-0000-0000-000000000000",
"reverse_extension" : false
}
}, {
"uuid" : "11bafc0d-905a-490c-9d53-4429efd27730",
"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/4ceb5011-5f1d-466e-94b9-7f11327d23fa/starred' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/interpretations/4ceb5011-5f1d-466e-94b9-7f11327d23fa/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"top" : "24d091b6-1de7-43c5-a0a9-fb4934c26ff7",
"center" : "6bf89f3d-74e1-4d68-ba07-1fa7111692af",
"bottom" : "6501dea0-4ad0-4436-a031-1b7805b1141e"
}
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/4ceb5011-5f1d-466e-94b9-7f11327d23fa/starred' -i -X PUT \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"top" : "24d091b6-1de7-43c5-a0a9-fb4934c26ff7",
"center" : "6bf89f3d-74e1-4d68-ba07-1fa7111692af",
"bottom" : "6501dea0-4ad0-4436-a031-1b7805b1141e"
}'
PUT /public/api/v1/interpretations/4ceb5011-5f1d-466e-94b9-7f11327d23fa/starred HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 158
{
"top" : "24d091b6-1de7-43c5-a0a9-fb4934c26ff7",
"center" : "6bf89f3d-74e1-4d68-ba07-1fa7111692af",
"bottom" : "6501dea0-4ad0-4436-a031-1b7805b1141e"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/3e721193-5a24-4482-814e-df1f243c2de6/autotypewells' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/interpretations/3e721193-5a24-4482-814e-df1f243c2de6/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"auto_typewell_uuid" : "3c106590-bb86-4bd0-a98e-bcebb9ec8d4a"
} ]
}
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/60a7ce2f-1a81-4a3c-9372-21ef0e85ea5a/lock' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/interpretations/60a7ce2f-1a81-4a3c-9372-21ef0e85ea5a/lock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/e3896bcc-04b5-4e0d-92ba-6c1eb8c19541/unlock' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/interpretations/e3896bcc-04b5-4e0d-92ba-6c1eb8c19541/unlock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/e285f331-9102-4308-aa09-91af0b698cf7/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/e285f331-9102-4308-aa09-91af0b698cf7/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"uuid" : "f5cc2a7b-c61a-4982-9f84-036771d0da53",
"name" : "Test horizon 1"
}, {
"uuid" : "7ca675d9-e8d3-4dc7-97e4-ef063151dcaa",
"name" : "Test horizon 2"
}, {
"uuid" : "0b3b737a-2736-40e2-a258-3c75cd76bafb",
"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/6022523e-a61e-43d7-92f7-48238e0dd023/horizons/data/spacing/5000' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/interpretations/6022523e-a61e-43d7-92f7-48238e0dd023/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"azimuth" : {
"val" : 71.543
},
"horizons" : [ {
"name" : "!new Hor",
"tvdss" : {
"val" : 22.965879265091868
},
"uuid" : "2d2bd3c1-e7fc-4da5-9fd0-1943841d403e"
}, {
"name" : "Horizon1",
"tvdss" : {
"val" : -3257.8740157480324
},
"uuid" : "07b66772-d518-4da1-a04e-2be212b82445"
} ],
"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" : "2d2bd3c1-e7fc-4da5-9fd0-1943841d403e"
}, {
"name" : "Horizon1",
"tvdss" : {
"val" : -3257.8740157480324
},
"uuid" : "07b66772-d518-4da1-a04e-2be212b82445"
} ],
"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/648a8fe8-a68a-4d0f-9d53-7816da9e8c8f/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/648a8fe8-a68a-4d0f-9d53-7816da9e8c8f/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"azimuth" : {
"val" : 71.543
},
"horizons" : [ {
"name" : "!new Hor",
"tvdss" : {
"val" : 22.965879265091868
},
"uuid" : "2d2bd3c1-e7fc-4da5-9fd0-1943841d403e"
}, {
"name" : "Horizon1",
"tvdss" : {
"val" : -3257.8740157480324
},
"uuid" : "07b66772-d518-4da1-a04e-2be212b82445"
} ],
"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" : "2d2bd3c1-e7fc-4da5-9fd0-1943841d403e"
}, {
"name" : "Horizon1",
"tvdss" : {
"val" : -3257.8740157480324
},
"uuid" : "07b66772-d518-4da1-a04e-2be212b82445"
} ],
"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" : "6022523e-a61e-43d7-92f7-48238e0dd023",
"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/0b2ad907-434f-4ffb-b776-265518b94765/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/0b2ad907-434f-4ffb-b776-265518b94765/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"uuid" : "2478c6f4-84bb-4331-b589-ead60656c499"
}
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/311833f2-4901-49ad-aac4-31331adeef65/nestedwells?offset=0&limit=10&filter=oNe' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/311833f2-4901-49ad-aac4-31331adeef65/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"uuid" : "82e5c3d7-c039-4917-92ad-bfe71f63c994",
"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/2b88f146-fc74-42e5-8a99-6b23a32ef197' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/nestedwells/2b88f146-fc74-42e5-8a99-6b23a32ef197 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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/58cdfe91-89b5-43cb-ab87-cebb317bb737/trajectory' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/nestedwells/58cdfe91-89b5-43cb-ab87-cebb317bb737/trajectory HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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 starred topset
Get starred topset by nested well UUID
Request
$ curl 'https://solo.cloud/public/api/v1/nestedwells/1872ed5b-a53e-4e7d-b2b6-43f7f65c0246/starred' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/nestedwells/1872ed5b-a53e-4e7d-b2b6-43f7f65c0246/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"topset" : "dbd38f83-f43b-44c3-a2bd-ed3d8ccbd598"
}
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/306b0572-418a-48ef-b98e-03847c3a715e' -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/306b0572-418a-48ef-b98e-03847c3a715e 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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/809a306b-f34f-47ad-b659-90ff38793ee2/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/809a306b-f34f-47ad-b659-90ff38793ee2/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/aff76153-6a0c-43f7-81ee-676017fcfb12/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/aff76153-6a0c-43f7-81ee-676017fcfb12/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/78e0644a-c7c1-4ccb-9a86-ce8023189590/starred' -i -X PUT \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"topset" : "44f5e19a-e71f-444d-82e0-3a404c8ff42c"
}'
PUT /public/api/v1/nestedwells/78e0644a-c7c1-4ccb-9a86-ce8023189590/starred HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 55
{
"topset" : "44f5e19a-e71f-444d-82e0-3a404c8ff42c"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/4ed18459-5beb-4f6a-83b3-de4257c111d0/lock' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/nestedwells/4ed18459-5beb-4f6a-83b3-de4257c111d0/lock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/9ce9fc77-ba02-415d-84fb-d899bdce32bd/unlock' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/nestedwells/9ce9fc77-ba02-415d-84fb-d899bdce32bd/unlock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/3fbdfd7d-e5eb-484c-a083-edd466ee9215/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/3fbdfd7d-e5eb-484c-a083-edd466ee9215/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"uuid" : "d5338025-04f4-47aa-af30-b62d9b52250f"
}
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/3fbdfd7d-e5eb-484c-a083-edd466ee9215/typewells?offset=0&limit=10&filter=oNe' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/projects/3fbdfd7d-e5eb-484c-a083-edd466ee9215/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"uuid" : "aabc1998-a514-47d4-bdac-1ddf7e666942",
"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/5880776b-9268-479d-a9af-cfad177b2265' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/typewells/5880776b-9268-479d-a9af-cfad177b2265 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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"uuid" : "5880776b-9268-479d-a9af-cfad177b2265",
"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/58b6ab13-e53a-4771-bb8d-67ce419c11ee/trajectory' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/typewells/58b6ab13-e53a-4771-bb8d-67ce419c11ee/trajectory HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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 starred topset
Get starred topset by typewell UUID
Request
$ curl 'https://solo.cloud/public/api/v1/typewells/5880776b-9268-479d-a9af-cfad177b2265/starred' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/typewells/5880776b-9268-479d-a9af-cfad177b2265/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"topset" : "9c8c404f-31f0-4de9-9f01-d8efdc3b9d3e"
}
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/5fee6655-3e18-4012-b8b7-d1da384c3079/linked?offset=0&limit=10' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/typewells/5fee6655-3e18-4012-b8b7-d1da384c3079/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"shift" : {
"val" : 1640.4199475065616
},
"lateral_id" : "a59c3a58-72f9-4d1c-9160-0ed928c6ab8b"
} ],
"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/aabc1998-a514-47d4-bdac-1ddf7e666942' -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/aabc1998-a514-47d4-bdac-1ddf7e666942 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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/aabc1998-a514-47d4-bdac-1ddf7e666942/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/aabc1998-a514-47d4-bdac-1ddf7e666942/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/aabc1998-a514-47d4-bdac-1ddf7e666942/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/aabc1998-a514-47d4-bdac-1ddf7e666942/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/5880776b-9268-479d-a9af-cfad177b2265/starred' -i -X PUT \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"topset" : "9c8c404f-31f0-4de9-9f01-d8efdc3b9d3e"
}'
PUT /public/api/v1/typewells/5880776b-9268-479d-a9af-cfad177b2265/starred HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 55
{
"topset" : "9c8c404f-31f0-4de9-9f01-d8efdc3b9d3e"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/2d478951-7bab-478d-9cfa-f2351a40976b/lock' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/typewells/2d478951-7bab-478d-9cfa-f2351a40976b/lock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/c18e25c2-3ee3-480b-9470-12b4c15cbdc8/unlock' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/typewells/c18e25c2-3ee3-480b-9470-12b4c15cbdc8/unlock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/46046797-c35c-4aab-9ab1-9516a9d7eb66/topsets' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Topset name"
}'
POST /public/api/v1/wells/46046797-c35c-4aab-9ab1-9516a9d7eb66/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"uuid" : "04207f0e-e986-41a0-89a2-508a7d80b4cd"
}
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/374300fc-7120-481d-81d9-3ebe1b615885/topsets' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Topset name"
}'
POST /public/api/v1/typewells/374300fc-7120-481d-81d9-3ebe1b615885/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"uuid" : "ce5c62f3-4e7f-401f-b1a2-e71af9dfd5c8"
}
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/89f203ad-43ea-48f9-b4b4-05cf4e6ad0df/topsets' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Topset name"
}'
POST /public/api/v1/nestedwells/89f203ad-43ea-48f9-b4b4-05cf4e6ad0df/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"uuid" : "007e71e0-a939-4409-857f-5455d0289332"
}
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/46046797-c35c-4aab-9ab1-9516a9d7eb66/topsets?offset=0&limit=10' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/46046797-c35c-4aab-9ab1-9516a9d7eb66/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"uuid" : "f5fc8a76-939b-4077-a58f-716cb8bf5069",
"name" : "C Log TopSet pszxUtdoQR"
}, {
"uuid" : "1de2593f-a678-4c14-adcc-6b89ca166157",
"name" : "D Well grbIjhHzQl"
}, {
"uuid" : "66d8c742-c881-4a95-a24f-4e82845e831e",
"name" : "Top Set"
}, {
"uuid" : "aff63eba-3ecc-4028-9116-7e3cfb3fa3e1",
"name" : "TopSet Log PFEMoWeOqG"
}, {
"uuid" : "b556c517-30dd-47b3-a555-6bca25ed241d",
"name" : "TopSetyqJbGTpWfg"
} ],
"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/374300fc-7120-481d-81d9-3ebe1b615885/topsets?offset=0&limit=10' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/typewells/374300fc-7120-481d-81d9-3ebe1b615885/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"uuid" : "257c0251-5486-4053-b218-37de0aedd3de",
"name" : "C Log TopSet XLAPJTlQaj"
}, {
"uuid" : "ca6eb150-4fd1-4b67-a958-ead4d44c3d73",
"name" : "D Well XZWLqjINjF"
}, {
"uuid" : "4c2e4579-4769-4ffc-8630-235b4180153a",
"name" : "TopSet Log iTIWuuNOud"
}, {
"uuid" : "dace6f63-85fd-4be0-ae2e-2dd092b5dbe6",
"name" : "TopSetuHkvTOqKQB"
} ],
"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/89f203ad-43ea-48f9-b4b4-05cf4e6ad0df/topsets?offset=0&limit=10' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/nestedwells/89f203ad-43ea-48f9-b4b4-05cf4e6ad0df/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"uuid" : "6715ec1a-05aa-4c97-8aba-dc4412cf0c56",
"name" : "C Log TopSet TYaomjvzUw"
}, {
"uuid" : "42757bec-fa2c-4799-9621-9669c63299ba",
"name" : "D Well lBMRQqTvvq"
}, {
"uuid" : "25b03bc5-c721-4674-8cfc-eaea50dbfcad",
"name" : "TopSet Log evPcRNNvXn"
}, {
"uuid" : "007e71e0-a939-4409-857f-5455d0289332",
"name" : "Topset name"
}, {
"uuid" : "f4931366-baf1-4f46-a494-18c2a302bb2f",
"name" : "TopSetoidEYmXlDX"
} ],
"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/66d8c742-c881-4a95-a24f-4e82845e831e/starred' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/topsets/66d8c742-c881-4a95-a24f-4e82845e831e/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"top" : "f17f553c-bf3b-47dd-b91c-39d760ab7f4d",
"center" : "bfb49751-20c2-416f-ad54-ba245a355bf0",
"bottom" : "00d21402-839e-4e14-8249-6cd463f99cb8"
}
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/66d8c742-c881-4a95-a24f-4e82845e831e/starred' -i -X PUT \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"top" : "f17f553c-bf3b-47dd-b91c-39d760ab7f4d",
"center" : "bfb49751-20c2-416f-ad54-ba245a355bf0",
"bottom" : "00d21402-839e-4e14-8249-6cd463f99cb8"
}'
PUT /public/api/v1/topsets/66d8c742-c881-4a95-a24f-4e82845e831e/starred HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 158
{
"top" : "f17f553c-bf3b-47dd-b91c-39d760ab7f4d",
"center" : "bfb49751-20c2-416f-ad54-ba245a355bf0",
"bottom" : "00d21402-839e-4e14-8249-6cd463f99cb8"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/66d8c742-c881-4a95-a24f-4e82845e831e' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "New topset name"
}'
PATCH /public/api/v1/topsets/66d8c742-c881-4a95-a24f-4e82845e831e 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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/66d8c742-c881-4a95-a24f-4e82845e831e/lock' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/topsets/66d8c742-c881-4a95-a24f-4e82845e831e/lock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/66d8c742-c881-4a95-a24f-4e82845e831e/unlock' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/topsets/66d8c742-c881-4a95-a24f-4e82845e831e/unlock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
PATCH /public/api/v1/topsets/{uuid}/unlock
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/f291b46c-31ce-44a6-9f3c-9c59e5a0c324/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/f291b46c-31ce-44a6-9f3c-9c59e5a0c324/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"uuid" : "c0a13715-7622-4e3f-9b39-f24e48496d1e"
}
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/4134d090-c07f-43dc-a9f3-4adf83d46ee0/tops?offset=0&limit=20' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/topsets/4134d090-c07f-43dc-a9f3-4adf83d46ee0/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"md" : {
"val" : 9.842519685039372
},
"name" : "Top",
"topset_name" : "Top Set",
"uuid" : "e45384d1-cd08-4493-b1f1-2e17100654ab"
}, {
"md" : {
"val" : 13.123359580052496
},
"name" : "Update Top",
"topset_name" : "Top Set",
"uuid" : "ff4905de-7a4a-40dc-99ff-3f5b65ea090e"
} ],
"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/c794b8dd-9890-4f4e-bb9f-5c7a20c441ba/tops?offset=0&limit=20' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/c794b8dd-9890-4f4e-bb9f-5c7a20c441ba/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"md" : {
"val" : 9.842519685039372
},
"name" : "Top",
"topset_name" : "Top Set",
"uuid" : "490a4cc8-5163-4147-8c3a-42f8438e0a97"
}, {
"md" : {
"val" : 13.123359580052496
},
"name" : "Update Top",
"topset_name" : "Top Set",
"uuid" : "b8731126-3123-4b06-895a-94d1a7f4de1b"
} ],
"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/d60c87f4-920e-4bd2-9704-aea985d89bee/tops?offset=0&limit=20' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/typewells/d60c87f4-920e-4bd2-9704-aea985d89bee/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"md" : {
"val" : 9.842519685039372
},
"name" : "Top",
"topset_name" : "Top Set",
"uuid" : "5769d6b3-cdaf-43a4-be86-fbde42daa8cc"
}, {
"md" : {
"val" : 13.123359580052496
},
"name" : "Update Top",
"topset_name" : "Top Set",
"uuid" : "f1ec1f8b-e168-4d07-a316-bffa4f39331c"
} ],
"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/b2c9c104-fdae-4ac6-874f-eebf2d5e3f3c/tops?offset=0&limit=20' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/nestedwells/b2c9c104-fdae-4ac6-874f-eebf2d5e3f3c/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"md" : {
"val" : 9.842519685039372
},
"name" : "Top",
"topset_name" : "Top Set",
"uuid" : "d52b6f55-29b5-4c6a-ad27-2563a8aa5726"
}, {
"md" : {
"val" : 13.123359580052496
},
"name" : "Update Top",
"topset_name" : "Top Set",
"uuid" : "e106e7ba-5b22-42e8-8bc0-e50b13a8643f"
} ],
"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/b8731126-3123-4b06-895a-94d1a7f4de1b' -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/b8731126-3123-4b06-895a-94d1a7f4de1b 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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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
9. Target lines
Create target line
Create target line by lateral UUID
Request
$ curl 'https://solo.cloud/public/api/v1/wells/c3c6d587-f825-4f9c-b6ff-3449329c8255/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/c3c6d587-f825-4f9c-b6ff-3449329c8255/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"uuid" : "ba948847-42fe-4fc1-b120-65f6030b8d2f"
}
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/622b2c34-3519-41f0-95bf-a4e8c5e923a7/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/622b2c34-3519-41f0-95bf-a4e8c5e923a7/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"uuid" : "3b8291e8-3d9a-486c-bbf6-0b34d6eed643"
}
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/44809f3a-1c79-43fa-8dad-dee8c5500fd6/targetlines?offset=0&limit=20' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/44809f3a-1c79-43fa-8dad-dee8c5500fd6/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"uuid" : "669ac399-e148-4252-8316-ae0defb6e987",
"name" : "Target Line",
"waypoints" : [ {
"name" : "Origin",
"order" : 0,
"x" : {
"val" : 3.280839895013123
},
"y" : {
"val" : 6.561679790026246
},
"z" : {
"val" : 9.84251968503937
},
"break" : false
}, {
"name" : "Target",
"order" : 1,
"x" : {
"val" : 13.123359580052492
},
"y" : {
"val" : 16.404199475065617
},
"z" : {
"val" : 19.68503937007874
},
"break" : false
} ]
}, {
"uuid" : "b03078de-b812-4b69-8b12-9d50f36d10ee",
"name" : "Update Target Line",
"waypoints" : [ {
"name" : "Origin",
"order" : 0,
"x" : {
"val" : 36.41732283464567
},
"y" : {
"val" : 39.69816272965879
},
"z" : {
"val" : 42.979002624671914
},
"break" : false
}, {
"name" : "Target",
"order" : 1,
"x" : {
"val" : 46.25984251968504
},
"y" : {
"val" : 49.54068241469816
},
"z" : {
"val" : 52.82152230971129
},
"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[].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/70d252d0-4a98-4746-9bab-da96afe0d80c/data' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/targetlines/70d252d0-4a98-4746-9bab-da96afe0d80c/data HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"azimuth" : {
"val" : 45
},
"delta_tvd" : {
"val" : -9.842519685039372
},
"delta_vs" : {
"val" : 9.842519685039374
},
"inclination" : {
"val" : 125.26438968275465
},
"length" : {
"val" : 17.047744168985016
},
"name" : "Target Line",
"origin_base_corridor_tvd" : {
"undefined" : true
},
"origin_md" : {
"val" : 1594.0953719875106
},
"origin_top_corridor_tvd" : {
"undefined" : true
},
"origin_tvd" : {
"val" : 13.123359580052496
},
"origin_vs" : {
"val" : -26.246719160104988
},
"origin_x" : {
"val" : 3.280839895013124
},
"origin_y" : {
"val" : 6.561679790026248
},
"origin_z" : {
"val" : 9.842519685039372
},
"target_base_corridor_tvd" : {
"undefined" : true
},
"target_md" : {
"val" : 1106.7125786029799
},
"target_top_corridor_tvd" : {
"undefined" : true
},
"target_tvd" : {
"val" : 3.2808398950131235
},
"target_vs" : {
"val" : -16.404199475065614
},
"target_x" : {
"val" : 13.123359580052496
},
"target_y" : {
"val" : 16.40419947506562
},
"target_z" : {
"val" : 19.685039370078744
},
"tvd_vs" : {
"val" : -13.123359580052487
},
"uuid" : "70d252d0-4a98-4746-9bab-da96afe0d80c"
} ]
}
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/18117959-e071-4b00-b3d3-f1664b2461b4/targetlines/data?offset=0&limit=20' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/18117959-e071-4b00-b3d3-f1664b2461b4/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"azimuth" : {
"val" : 45
},
"delta_tvd" : {
"val" : -9.842519685039372
},
"delta_vs" : {
"val" : 9.842519685039374
},
"inclination" : {
"val" : 125.26438968275465
},
"length" : {
"val" : 17.047744168985016
},
"name" : "Target Line",
"origin_base_corridor_tvd" : {
"undefined" : true
},
"origin_md" : {
"val" : 1594.0953719875106
},
"origin_top_corridor_tvd" : {
"undefined" : true
},
"origin_tvd" : {
"val" : 13.123359580052496
},
"origin_vs" : {
"val" : -26.246719160104988
},
"origin_x" : {
"val" : 3.280839895013124
},
"origin_y" : {
"val" : 6.561679790026248
},
"origin_z" : {
"val" : 9.842519685039372
},
"target_base_corridor_tvd" : {
"undefined" : true
},
"target_md" : {
"val" : 1106.7125786029799
},
"target_top_corridor_tvd" : {
"undefined" : true
},
"target_tvd" : {
"val" : 3.2808398950131235
},
"target_vs" : {
"val" : -16.404199475065614
},
"target_x" : {
"val" : 13.123359580052496
},
"target_y" : {
"val" : 16.40419947506562
},
"target_z" : {
"val" : 19.685039370078744
},
"tvd_vs" : {
"val" : -13.123359580052487
},
"uuid" : "c6893b23-4510-450e-8ac3-027c5a940267"
} ],
"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/aa7beb52-b06a-4c51-8344-c7d909693eac/targetlines/starred' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/aa7beb52-b06a-4c51-8344-c7d909693eac/targetlines/starred HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"uuid" : "c37d9b64-577d-4dfb-b7d0-3bb820571fca",
"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/d4c7fa90-ffd0-4b01-8504-8cc7f142d3c9' -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/d4c7fa90-ffd0-4b01-8504-8cc7f142d3c9 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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/c6015abc-d07c-4ff0-a64e-7b88974643bd/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/c6015abc-d07c-4ff0-a64e-7b88974643bd/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/59739e6f-9ddb-4c3f-a594-aac1de10aeb3' -i -X DELETE \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
DELETE /public/api/v1/targetlines/59739e6f-9ddb-4c3f-a594-aac1de10aeb3 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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/d8cf7f42-fe36-42b6-be05-21bb97802907/logs' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Log name"
}'
POST /public/api/v1/wells/d8cf7f42-fe36-42b6-be05-21bb97802907/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"uuid" : "80e37b1d-bb1b-4f6b-91f2-8dfc43a274a8"
}
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/338bd8d5-6550-41f1-8192-733d66737bd4/logs' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Log name"
}'
POST /public/api/v1/typewells/338bd8d5-6550-41f1-8192-733d66737bd4/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"uuid" : "202948bb-7d0d-447c-a535-cc9bb7e79514"
}
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/12632ddf-23b4-4298-8393-46fc588fac62/logs?offset=0&limit=10&filter=mMa' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/12632ddf-23b4-4298-8393-46fc588fac62/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"uuid" : "ef1b4be5-908e-48ae-8895-ddfba30ee5b5",
"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/1e1b539c-9187-45b7-aaeb-705ce898a9bb/logs?offset=0&limit=10&filter=mMa' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/typewells/1e1b539c-9187-45b7-aaeb-705ce898a9bb/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"uuid" : "d4c5f91b-28c7-4c8b-9f2d-2c708fb82111",
"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/91e5b41e-2948-4c64-ab8b-1be39f9fb6fc/data' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/logs/91e5b41e-2948-4c64-ab8b-1be39f9fb6fc/data HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/91e5b41e-2948-4c64-ab8b-1be39f9fb6fc' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Log name"
}'
PATCH /public/api/v1/logs/91e5b41e-2948-4c64-ab8b-1be39f9fb6fc 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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/eb57c923-c9e3-4433-af7e-529de67acabf/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/eb57c923-c9e3-4433-af7e-529de67acabf/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/91e5b41e-2948-4c64-ab8b-1be39f9fb6fc/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/91e5b41e-2948-4c64-ab8b-1be39f9fb6fc/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
PUT /public/api/v1/logs/{uuid}/data
Path parameter | Description |
---|---|
uuid |
Log UUID |
Header | Description |
---|---|
Authorization |
OAuth2 authorization header |
Body field | Type | Description |
---|---|---|
index_unit |
String |
Measure unit of point MD values related to the log. Accepted values: m, ft |
value_unit |
String |
Measure unit of point data values related to the log |
log_points |
Array |
Log points array |
log_points[].value.val |
Number |
Point data value |
log_points[].index.val |
Number |
Point MD value |
Response body
Empty body
11. Images
Create image
Request
$ curl 'https://solo.cloud/public/api/v1/wells/1196e961-bb88-425f-bfe3-2ebf9c569c06/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/1196e961-bb88-425f-bfe3-2ebf9c569c06/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"uuid" : "c7fb3876-edae-47ff-9e4a-5c44bbfc9f77"
}
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/f1b724ee-7c67-4270-b58f-24e8cbb30d0e' -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/f1b724ee-7c67-4270-b58f-24e8cbb30d0e 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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/ce865138-7390-4fda-9190-157baddf9a61/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/ce865138-7390-4fda-9190-157baddf9a61/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/5cd6fbbd-6ffa-46aa-b1c4-86537d0caa36/data' -i -X PUT \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: multipart/form-data; boundary="b1GCeoJrnWs2y7k2Aa-oPRa_vu8i91zGiaks5x"' \
-F 'image=<binary image data>;type=image/png'
PUT /public/api/v1/images/5cd6fbbd-6ffa-46aa-b1c4-86537d0caa36/data HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: multipart/form-data; boundary="b1GCeoJrnWs2y7k2Aa-oPRa_vu8i91zGiaks5x"; 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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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/fe357dac-d78d-4490-bc23-9b10cfad676a/mudlogs?offset=0&limit=10&filter=mMa' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/fe357dac-d78d-4490-bc23-9b10cfad676a/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"uuid" : "e4316ef5-3467-4f8c-a93e-ead8cc18ad78",
"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/ff17d3d3-c296-4e7d-9002-233f27657349/mudlogs?offset=0&limit=10&filter=mMa' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/typewells/ff17d3d3-c296-4e7d-9002-233f27657349/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"uuid" : "c69806ae-537e-4395-8e3b-1f04d5ce7c3f",
"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/a699966b-40c7-453c-8f03-ef1400934472/data' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/mudlogs/a699966b-40c7-453c-8f03-ef1400934472/data HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
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:
Vary: origin,access-control-request-method,access-control-request-headers,accept-encoding
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" : "5ab9a650-9ccc-4709-a76e-10d5d3ede25a",
"name" : "RSS Deflection"
}, {
"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" : "7392915c-10e3-4bd0-8717-3efd4eb2943f",
"name" : "Time of Penetration"
}, {
"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" : "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" : "d181ddaf-7921-476a-a45c-fc3206a07198",
"name" : "Differential Pressure"
}, {
"uuid" : "89e07b1a-d50e-4b99-ada9-023f784767d8",
"name" : "Downhole MSE"
}, {
"uuid" : "a1a0e98e-9e28-438e-9c7e-254e68d0c636",
"name" : "Total MSE"
}, {
"uuid" : "2adc5cd8-a1de-48ca-916a-3236ed6ece9a",
"name" : "KPI: Trip Out: Reaming"
}, {
"uuid" : "2326a7a3-bb68-4924-a9e5-a16b7b87d192",
"name" : "KPI: Trip In: Reaming"
}, {
"uuid" : "ab7e5866-a3da-4e6c-b584-523799719b34",
"name" : "KPI: Slip to slip"
}, {
"uuid" : "eb85cf68-047e-43b0-bbbb-75548c8e700e",
"name" : "KPI: Trip In: Connection"
}, {
"uuid" : "fed6681e-1f21-466c-bf91-55fed528a07d",
"name" : "KPI: Trip In: Running"
}, {
"uuid" : "5fe2a454-86ad-4fdc-abbf-686e4f67a4fa",
"name" : "KPI: Trip Out: Connection"
}, {
"uuid" : "f65f24d3-a306-4a1c-9765-5b8359aed7c3",
"name" : "KPI: Trip Out: Running"
}, {
"uuid" : "43b1d9c6-4420-4866-9c1f-c3f9d1d5f543",
"name" : "KPI: Weight to Weight"
}, {
"uuid" : "db16f0ac-2c69-4237-933d-7f6ce24fa1dc",
"name" : "KPI: Trip In: Washing"
}, {
"uuid" : "08e28406-7ade-4fb2-8dca-1628936f2b36",
"name" : "KPI: Trip Out: Washing"
}, {
"uuid" : "11584aba-59fb-4a81-a12e-cf52e1d819c5",
"name" : "KPI: Pumps On to Bottom"
}, {
"uuid" : "4e2f64a1-eaf9-4d7f-9e3f-616c68084bfd",
"name" : "KPI: On Bottom to Slips"
}, {
"uuid" : "3084fd0c-0ea0-42b6-8024-768c8c26566d",
"name" : "KPI: Slips to On Bottom"
}, {
"uuid" : "e3c996b6-9cdb-4876-ac99-0aab694b801a",
"name" : "Rig Activity"
}, {
"uuid" : "f09337a9-ca89-411d-a2e6-aad17746b4ee",
"name" : "Hazard: Slack off & Drag"
}, {
"uuid" : "bf7c700d-de08-41c5-b20b-cb32d649d8e8",
"name" : "Erratic Torque"
}, {
"uuid" : "6906b6ba-5ad3-4df7-8176-dbc844d02d54",
"name" : "Slide Sheet"
} ]
}
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/49a0ca50-f7f5-4d8b-ae45-a3f9830b689c/traces/mapped?type=TIME' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/49a0ca50-f7f5-4d8b-ae45-a3f9830b689c/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"uuid" : "f93bf5a7-9755-4163-9c44-6d107967db4b",
"name" : "Bit depth",
"hash" : "57ba5fc9ed6ac78175aa4aa26dca821a",
"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" : "3f62e0fc3114a36e7fda4bf511d65eda",
"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" : "dfdf09da-5be0-495f-b802-15840ce93066",
"name" : "Hookload",
"hash" : "1c1c44ad545168c0fb08437860a89afd",
"unit" : "N",
"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" : "6d58e08ca2f97fe928e53971a22357bf",
"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" : "433bb4e93ceafb44f7ba77feb3ed498b",
"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"
} ]
}
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/49a0ca50-f7f5-4d8b-ae45-a3f9830b689c/traces/mapped?type=DEPTH' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/49a0ca50-f7f5-4d8b-ae45-a3f9830b689c/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:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
{
"content" : [ {
"uuid" : "d635c218-3d17-4f5d-98b4-026085c4f584",
"name" : "Hole Depth",
"hash" : "bfcb22a5b27ce12571e607127f6835a5",
"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/49a0ca50-f7f5-4d8b-ae45-a3f9830b689c/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/49a0ca50-f7f5-4d8b-ae45-a3f9830b689c/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:
Vary: origin,access-control-request-method,access-control-request-headers,accept-encoding
Content-Type: application/json
{
"content" : [ {
"index" : "2020-12-29T08:00:00.000Z",
"value" : "20341.2"
}, {
"index" : "2020-12-29T08:00:01.000Z",
"value" : "20341.2"
}, {
"index" : "2020-12-29T08:00:02.000Z",
"value" : "20341.2"
}, {
"index" : "2020-12-29T08:00:03.000Z",
"value" : "20341.2"
}, {
"index" : "2020-12-29T08:00:04.000Z",
"value" : "20341.2"
}, {
"index" : "2020-12-29T08:00:05.000Z",
"value" : "20341.2"
}, {
"index" : "2020-12-29T08:00:06.000Z",
"value" : "20341.2"
}, {
"index" : "2020-12-29T08:00:07.000Z",
"value" : "20341.3"
}, {
"index" : "2020-12-29T08:00:08.000Z",
"value" : "20341.3"
}, {
"index" : "2020-12-29T08:00:09.000Z",
"value" : "20341.3"
}, {
"index" : "2020-12-29T08:00:10.000Z",
"value" : "20341.3"
}, {
"index" : "2020-12-29T08:00:11.000Z",
"value" : "20341.3"
}, {
"index" : "2020-12-29T08:00:12.000Z",
"value" : "20341.3"
}, {
"index" : "2020-12-29T08:00:13.000Z",
"value" : "20341.3"
}, {
"index" : "2020-12-29T08:00:14.000Z",
"value" : "20341.3"
}, {
"index" : "2020-12-29T08:00:15.000Z",
"value" : "20341.3"
}, {
"index" : "2020-12-29T08:00:16.000Z",
"value" : "20341.4"
}, {
"index" : "2020-12-29T08:00:17.000Z",
"value" : "20341.4"
}, {
"index" : "2020-12-29T08:00:18.000Z",
"value" : "20341.4"
}, {
"index" : "2020-12-29T08:00:19.000Z",
"value" : "20341.4"
}, {
"index" : "2020-12-29T08:00:20.000Z",
"value" : "20341.4"
}, {
"index" : "2020-12-29T08:00:21.000Z",
"value" : "20341.4"
}, {
"index" : "2020-12-29T08:00:22.000Z",
"value" : "20341.5"
}, {
"index" : "2020-12-29T08:00:23.000Z",
"value" : "20341.5"
}, {
"index" : "2020-12-29T08:00:24.000Z",
"value" : "20341.5"
}, {
"index" : "2020-12-29T08:00:25.000Z",
"value" : "20341.5"
}, {
"index" : "2020-12-29T08:00:26.000Z",
"value" : "20341.5"
}, {
"index" : "2020-12-29T08:00:27.000Z",
"value" : "20341.5"
}, {
"index" : "2020-12-29T08:00:28.000Z",
"value" : "20341.6"
}, {
"index" : "2020-12-29T08:00:29.000Z",
"value" : "20341.6"
}, {
"index" : "2020-12-29T08:00:30.000Z",
"value" : "20341.6"
}, {
"index" : "2020-12-29T08:00:31.000Z",
"value" : "20341.6"
}, {
"index" : "2020-12-29T08:00:32.000Z",
"value" : "20341.6"
}, {
"index" : "2020-12-29T08:00:33.000Z",
"value" : "20341.6"
}, {
"index" : "2020-12-29T08:00:34.000Z",
"value" : "20341.6"
}, {
"index" : "2020-12-29T08:00:35.000Z",
"value" : "20341.6"
}, {
"index" : "2020-12-29T08:00:36.000Z",
"value" : "20341.7"
}, {
"index" : "2020-12-29T08:00:37.000Z",
"value" : "20341.7"
}, {
"index" : "2020-12-29T08:00:38.000Z",
"value" : "20341.7"
}, {
"index" : "2020-12-29T08:00:39.000Z",
"value" : "20341.7"
}, {
"index" : "2020-12-29T08:00:40.000Z",
"value" : "20341.7"
}, {
"index" : "2020-12-29T08:00:41.000Z",
"value" : "20341.7"
}, {
"index" : "2020-12-29T08:00:42.000Z",
"value" : "20341.7"
}, {
"index" : "2020-12-29T08:00:43.000Z",
"value" : "20341.8"
}, {
"index" : "2020-12-29T08:00:44.000Z",
"value" : "20341.8"
}, {
"index" : "2020-12-29T08:00:45.000Z",
"value" : "20341.8"
}, {
"index" : "2020-12-29T08:00:46.000Z",
"value" : "20341.8"
}, {
"index" : "2020-12-29T08:00:47.000Z",
"value" : "20341.8"
}, {
"index" : "2020-12-29T08:00:48.000Z",
"value" : "20341.9"
}, {
"index" : "2020-12-29T08:00:49.000Z",
"value" : "20341.9"
}, {
"index" : "2020-12-29T08:00:50.000Z",
"value" : "20341.9"
}, {
"index" : "2020-12-29T08:00:51.000Z",
"value" : "20341.9"
}, {
"index" : "2020-12-29T08:00:52.000Z",
"value" : "20341.9"
}, {
"index" : "2020-12-29T08:00:53.000Z",
"value" : "20341.9"
}, {
"index" : "2020-12-29T08:00:54.000Z",
"value" : "20341.9"
}, {
"index" : "2020-12-29T08:00:55.000Z",
"value" : "20341.9"
}, {
"index" : "2020-12-29T08:00:56.000Z",
"value" : "20341.9"
}, {
"index" : "2020-12-29T08:00:57.000Z",
"value" : "20342"
}, {
"index" : "2020-12-29T08:00:58.000Z",
"value" : "20342"
}, {
"index" : "2020-12-29T08:00:59.000Z",
"value" : "20342"
}, {
"index" : "2020-12-29T08:01:00.000Z",
"value" : "20342"
}, {
"index" : "2020-12-29T08:01:01.000Z",
"value" : "20342"
}, {
"index" : "2020-12-29T08:01:02.000Z",
"value" : "20342"
}, {
"index" : "2020-12-29T08:01:03.000Z",
"value" : "20342"
}, {
"index" : "2020-12-29T08:01:04.000Z",
"value" : "20342"
}, {
"index" : "2020-12-29T08:01:05.000Z",
"value" : "20342.1"
}, {
"index" : "2020-12-29T08:01:06.000Z",
"value" : "20342.1"
}, {
"index" : "2020-12-29T08:01:07.000Z",
"value" : "20342.1"
}, {
"index" : "2020-12-29T08:01:08.000Z",
"value" : "20342.1"
}, {
"index" : "2020-12-29T08:01:09.000Z",
"value" : "20342.1"
}, {
"index" : "2020-12-29T08:01:10.000Z",
"value" : "20342.1"
}, {
"index" : "2020-12-29T08:01:11.000Z",
"value" : "20342.1"
}, {
"index" : "2020-12-29T08:01:12.000Z",
"value" : "20342.1"
}, {
"index" : "2020-12-29T08:01:13.000Z",
"value" : "20342.1"
}, {
"index" : "2020-12-29T08:01:14.000Z",
"value" : "20342.1"
}, {
"index" : "2020-12-29T08:01:15.000Z",
"value" : "20342.2"
}, {
"index" : "2020-12-29T08:01:16.000Z",
"value" : "20342.2"
}, {
"index" : "2020-12-29T08:01:17.000Z",
"value" : "20342.2"
}, {
"index" : "2020-12-29T08:01:18.000Z",
"value" : "20342.2"
}, {
"index" : "2020-12-29T08:01:19.000Z",
"value" : "20342.2"
}, {
"index" : "2020-12-29T08:01:20.000Z",
"value" : "20342.2"
}, {
"index" : "2020-12-29T08:01:21.000Z",
"value" : "20342.3"
}, {
"index" : "2020-12-29T08:01:22.000Z",
"value" : "20342.3"
}, {
"index" : "2020-12-29T08:01:23.000Z",
"value" : "20342.3"
}, {
"index" : "2020-12-29T08:01:24.000Z",
"value" : "20342.3"
}, {
"index" : "2020-12-29T08:01:25.000Z",
"value" : "20342.3"
}, {
"index" : "2020-12-29T08:01:26.000Z",
"value" : "20342.3"
}, {
"index" : "2020-12-29T08:01:27.000Z",
"value" : "20342.3"
}, {
"index" : "2020-12-29T08:01:28.000Z",
"value" : "20342.3"
}, {
"index" : "2020-12-29T08:01:29.000Z",
"value" : "20342.3"
}, {
"index" : "2020-12-29T08:01:30.000Z",
"value" : "20342.3"
}, {
"index" : "2020-12-29T08:01:31.000Z",
"value" : "20342.3"
}, {
"index" : "2020-12-29T08:01:32.000Z",
"value" : "20342.3"
}, {
"index" : "2020-12-29T08:01:33.000Z",
"value" : "20342.4"
}, {
"index" : "2020-12-29T08:01:34.000Z",
"value" : "20342.4"
}, {
"index" : "2020-12-29T08:01:35.000Z",
"value" : "20342.4"
}, {
"index" : "2020-12-29T08:01:36.000Z",
"value" : "20342.4"
}, {
"index" : "2020-12-29T08:01:37.000Z",
"value" : "20342.4"
}, {
"index" : "2020-12-29T08:01:38.000Z",
"value" : "20342.4"
}, {
"index" : "2020-12-29T08:01:39.000Z",
"value" : "20342.4"
}, {
"index" : "2020-12-29T08:01:40.000Z",
"value" : "20342.4"
}, {
"index" : "2020-12-29T08:01:41.000Z",
"value" : "20342.5"
}, {
"index" : "2020-12-29T08:01:42.000Z",
"value" : "20342.5"
}, {
"index" : "2020-12-29T08:01:43.000Z",
"value" : "20342.5"
}, {
"index" : "2020-12-29T08:01:44.000Z",
"value" : "20342.5"
}, {
"index" : "2020-12-29T08:01:45.000Z",
"value" : "20342.5"
}, {
"index" : "2020-12-29T08:01:46.000Z",
"value" : "20342.5"
}, {
"index" : "2020-12-29T08:01:47.000Z",
"value" : "20342.6"
}, {
"index" : "2020-12-29T08:01:48.000Z",
"value" : "20342.6"
}, {
"index" : "2020-12-29T08:01:49.000Z",
"value" : "20342.6"
}, {
"index" : "2020-12-29T08:01:50.000Z",
"value" : "20342.6"
}, {
"index" : "2020-12-29T08:01:51.000Z",
"value" : "20342.6"
}, {
"index" : "2020-12-29T08:01:52.000Z",
"value" : "20342.6"
}, {
"index" : "2020-12-29T08:01:53.000Z",
"value" : "20342.6"
}, {
"index" : "2020-12-29T08:01:54.000Z",
"value" : "20342.6"
}, {
"index" : "2020-12-29T08:01:55.000Z",
"value" : "20342.6"
}, {
"index" : "2020-12-29T08:01:56.000Z",
"value" : "20342.6"
}, {
"index" : "2020-12-29T08:01:57.000Z",
"value" : "20342.7"
}, {
"index" : "2020-12-29T08:01:58.000Z",
"value" : "20342.7"
}, {
"index" : "2020-12-29T08:01:59.000Z",
"value" : "20342.7"
}, {
"index" : "2020-12-29T08:02:00.000Z",
"value" : "20342.7"
}, {
"index" : "2020-12-29T08:02:01.000Z",
"value" : "20342.7"
}, {
"index" : "2020-12-29T08:02:02.000Z",
"value" : "20342.7"
}, {
"index" : "2020-12-29T08:02:03.000Z",
"value" : "20342.7"
}, {
"index" : "2020-12-29T08:02:04.000Z",
"value" : "20342.7"
}, {
"index" : "2020-12-29T08:02:05.000Z",
"value" : "20342.7"
}, {
"index" : "2020-12-29T08:02:06.000Z",
"value" : "20342.7"
}, {
"index" : "2020-12-29T08:02:07.000Z",
"value" : "20342.7"
}, {
"index" : "2020-12-29T08:02:08.000Z",
"value" : "20342.7"
}, {
"index" : "2020-12-29T08:02:09.000Z",
"value" : "20342.7"
}, {
"index" : "2020-12-29T08:02:10.000Z",
"value" : "20342.7"
}, {
"index" : "2020-12-29T08:02:11.000Z",
"value" : "20342.8"
}, {
"index" : "2020-12-29T08:02:12.000Z",
"value" : "20342.8"
}, {
"index" : "2020-12-29T08:02:13.000Z",
"value" : "20342.8"
}, {
"index" : "2020-12-29T08:02:14.000Z",
"value" : "20342.8"
}, {
"index" : "2020-12-29T08:02:15.000Z",
"value" : "20342.8"
}, {
"index" : "2020-12-29T08:02:16.000Z",
"value" : "20342.8"
}, {
"index" : "2020-12-29T08:02:17.000Z",
"value" : "20342.8"
}, {
"index" : "2020-12-29T08:02:18.000Z",
"value" : "20342.9"
}, {
"index" : "2020-12-29T08:02:19.000Z",
"value" : "20342.9"
}, {
"index" : "2020-12-29T08:02:20.000Z",
"value" : "20342.9"
}, {
"index" : "2020-12-29T08:02:21.000Z",
"value" : "20342.9"
}, {
"index" : "2020-12-29T08:02:22.000Z",
"value" : "20342.9"
}, {
"index" : "2020-12-29T08:02:23.000Z",
"value" : "20342.9"
}, {
"index" : "2020-12-29T08:02:24.000Z",
"value" : "20342.9"
}, {
"index" : "2020-12-29T08:02:25.000Z",
"value" : "20342.9"
}, {
"index" : "2020-12-29T08:02:26.000Z",
"value" : "20342.9"
}, {
"index" : "2020-12-29T08:02:27.000Z",
"value" : "20342.9"
}, {
"index" : "2020-12-29T08:02:28.000Z",
"value" : "20343"
}, {
"index" : "2020-12-29T08:02:29.000Z",
"value" : "20343"
}, {
"index" : "2020-12-29T08:02:30.000Z",
"value" : "20343"
}, {
"index" : "2020-12-29T08:02:31.000Z",
"value" : "20343"
}, {
"index" : "2020-12-29T08:02:32.000Z",
"value" : "20343"
}, {
"index" : "2020-12-29T08:02:33.000Z",
"value" : "20343"
}, {
"index" : "2020-12-29T08:02:34.000Z",
"value" : "20343"
}, {
"index" : "2020-12-29T08:02:35.000Z",
"value" : "20343.1"
}, {
"index" : "2020-12-29T08:02:36.000Z",
"value" : "20343.1"
}, {
"index" : "2020-12-29T08:02:37.000Z",
"value" : "20343.1"
}, {
"index" : "2020-12-29T08:02:38.000Z",
"value" : "20343.1"
}, {
"index" : "2020-12-29T08:02:39.000Z",
"value" : "20343.1"
}, {
"index" : "2020-12-29T08:02:40.000Z",
"value" : "20343.1"
}, {
"index" : "2020-12-29T08:02:41.000Z",
"value" : "20343.2"
}, {
"index" : "2020-12-29T08:02:42.000Z",
"value" : "20343.2"
}, {
"index" : "2020-12-29T08:02:43.000Z",
"value" : "20343.2"
}, {
"index" : "2020-12-29T08:02:44.000Z",
"value" : "20343.2"
}, {
"index" : "2020-12-29T08:02:45.000Z",
"value" : "20343.2"
}, {
"index" : "2020-12-29T08:02:46.000Z",
"value" : "20343.2"
}, {
"index" : "2020-12-29T08:02:47.000Z",
"value" : "20343.2"
}, {
"index" : "2020-12-29T08:02:48.000Z",
"value" : "20343.2"
}, {
"index" : "2020-12-29T08:02:49.000Z",
"value" : "20343.2"
}, {
"index" : "2020-12-29T08:02:50.000Z",
"value" : "20343.2"
}, {
"index" : "2020-12-29T08:02:51.000Z",
"value" : "20343.2"
}, {
"index" : "2020-12-29T08:02:52.000Z",
"value" : "20343.2"
}, {
"index" : "2020-12-29T08:02:53.000Z",
"value" : "20343.2"
}, {
"index" : "2020-12-29T08:02:54.000Z",
"value" : "20343.2"
}, {
"index" : "2020-12-29T08:02:55.000Z",
"value" : "20343.3"
}, {
"index" : "2020-12-29T08:02:56.000Z",
"value" : "20343.3"
}, {
"index" : "2020-12-29T08:02:57.000Z",
"value" : "20343.3"
}, {
"index" : "2020-12-29T08:02:58.000Z",
"value" : "20343.3"
}, {
"index" : "2020-12-29T08:02:59.000Z",
"value" : "20343.4"
}, {
"index" : "2020-12-29T08:03:00.000Z",
"value" : "20343.4"
}, {
"index" : "2020-12-29T08:03:01.000Z",
"value" : "20343.5"
}, {
"index" : "2020-12-29T08:03:02.000Z",
"value" : "20343.5"
}, {
"index" : "2020-12-29T08:03:03.000Z",
"value" : "20343.5"
}, {
"index" : "2020-12-29T08:03:04.000Z",
"value" : "20343.6"
}, {
"index" : "2020-12-29T08:03:05.000Z",
"value" : "20343.6"
}, {
"index" : "2020-12-29T08:03:06.000Z",
"value" : "20343.6"
}, {
"index" : "2020-12-29T08:03:07.000Z",
"value" : "20343.7"
}, {
"index" : "2020-12-29T08:03:08.000Z",
"value" : "20343.7"
}, {
"index" : "2020-12-29T08:03:09.000Z",
"value" : "20343.7"
}, {
"index" : "2020-12-29T08:03:10.000Z",
"value" : "20343.7"
}, {
"index" : "2020-12-29T08:03:11.000Z",
"value" : "20343.8"
}, {
"index" : "2020-12-29T08:03:12.000Z",
"value" : "20343.8"
}, {
"index" : "2020-12-29T08:03:13.000Z",
"value" : "20343.8"
}, {
"index" : "2020-12-29T08:03:14.000Z",
"value" : "20343.8"
}, {
"index" : "2020-12-29T08:03:15.000Z",
"value" : "20343.8"
}, {
"index" : "2020-12-29T08:03:16.000Z",
"value" : "20343.8"
}, {
"index" : "2020-12-29T08:03:17.000Z",
"value" : "20343.8"
}, {
"index" : "2020-12-29T08:03:18.000Z",
"value" : "20343.8"
}, {
"index" : "2020-12-29T08:03:19.000Z",
"value" : "20343.9"
}, {
"index" : "2020-12-29T08:03:20.000Z",
"value" : "20343.9"
}, {
"index" : "2020-12-29T08:03:21.000Z",
"value" : "20343.9"
}, {
"index" : "2020-12-29T08:03:22.000Z",
"value" : "20343.9"
}, {
"index" : "2020-12-29T08:03:23.000Z",
"value" : "20343.9"
}, {
"index" : "2020-12-29T08:03:24.000Z",
"value" : "20343.9"
}, {
"index" : "2020-12-29T08:03:25.000Z",
"value" : "20343.9"
}, {
"index" : "2020-12-29T08:03:26.000Z",
"value" : "20343.9"
}, {
"index" : "2020-12-29T08:03:27.000Z",
"value" : "20343.9"
}, {
"index" : "2020-12-29T08:03:28.000Z",
"value" : "20343.9"
}, {
"index" : "2020-12-29T08:03:29.000Z",
"value" : "20343.9"
}, {
"index" : "2020-12-29T08:03:30.000Z",
"value" : "20344"
}, {
"index" : "2020-12-29T08:03:31.000Z",
"value" : "20344"
}, {
"index" : "2020-12-29T08:03:32.000Z",
"value" : "20344"
}, {
"index" : "2020-12-29T08:03:33.000Z",
"value" : "20344"
}, {
"index" : "2020-12-29T08:03:34.000Z",
"value" : "20344"
}, {
"index" : "2020-12-29T08:03:35.000Z",
"value" : "20344"
}, {
"index" : "2020-12-29T08:03:36.000Z",
"value" : "20344.1"
}, {
"index" : "2020-12-29T08:03:37.000Z",
"value" : "20344.1"
}, {
"index" : "2020-12-29T08:03:38.000Z",
"value" : "20344.1"
}, {
"index" : "2020-12-29T08:03:39.000Z",
"value" : "20344.1"
}, {
"index" : "2020-12-29T08:03:40.000Z",
"value" : "20344.1"
}, {
"index" : "2020-12-29T08:03:41.000Z",
"value" : "20344.1"
}, {
"index" : "2020-12-29T08:03:42.000Z",
"value" : "20344.2"
}, {
"index" : "2020-12-29T08:03:43.000Z",
"value" : "20344.2"
}, {
"index" : "2020-12-29T08:03:44.000Z",
"value" : "20344.2"
}, {
"index" : "2020-12-29T08:03:45.000Z",
"value" : "20344.2"
}, {
"index" : "2020-12-29T08:03:46.000Z",
"value" : "20344.2"
}, {
"index" : "2020-12-29T08:03:47.000Z",
"value" : "20344.2"
}, {
"index" : "2020-12-29T08:03:48.000Z",
"value" : "20344.2"
}, {
"index" : "2020-12-29T08:03:49.000Z",
"value" : "20344.3"
}, {
"index" : "2020-12-29T08:03:50.000Z",
"value" : "20344.3"
}, {
"index" : "2020-12-29T08:03:51.000Z",
"value" : "20344.3"
}, {
"index" : "2020-12-29T08:03:52.000Z",
"value" : "20344.3"
}, {
"index" : "2020-12-29T08:03:53.000Z",
"value" : "20344.3"
}, {
"index" : "2020-12-29T08:03:54.000Z",
"value" : "20344.3"
}, {
"index" : "2020-12-29T08:03:55.000Z",
"value" : "20344.3"
}, {
"index" : "2020-12-29T08:03:56.000Z",
"value" : "20344.3"
}, {
"index" : "2020-12-29T08:03:57.000Z",
"value" : "20344.3"
}, {
"index" : "2020-12-29T08:03:58.000Z",
"value" : "20344.3"
}, {
"index" : "2020-12-29T08:03:59.000Z",
"value" : "20344.3"
}, {
"index" : "2020-12-29T08:04:00.000Z",
"value" : "20344.4"
}, {
"index" : "2020-12-29T08:04:01.000Z",
"value" : "20344.4"
}, {
"index" : "2020-12-29T08:04:02.000Z",
"value" : "20344.4"
}, {
"index" : "2020-12-29T08:04:03.000Z",
"value" : "20344.4"
}, {
"index" : "2020-12-29T08:04:04.000Z",
"value" : "20344.4"
}, {
"index" : "2020-12-29T08:04:05.000Z",
"value" : "20344.5"
}, {
"index" : "2020-12-29T08:04:06.000Z",
"value" : "20344.5"
}, {
"index" : "2020-12-29T08:04:07.000Z",
"value" : "20344.5"
}, {
"index" : "2020-12-29T08:04:08.000Z",
"value" : "20344.5"
}, {
"index" : "2020-12-29T08:04:09.000Z",
"value" : "20344.5"
}, {
"index" : "2020-12-29T08:04:10.000Z",
"value" : "20344.5"
}, {
"index" : "2020-12-29T08:04:11.000Z",
"value" : "20344.6"
}, {
"index" : "2020-12-29T08:04:12.000Z",
"value" : "20344.6"
}, {
"index" : "2020-12-29T08:04:13.000Z",
"value" : "20344.6"
}, {
"index" : "2020-12-29T08:04:14.000Z",
"value" : "20344.6"
}, {
"index" : "2020-12-29T08:04:15.000Z",
"value" : "20344.6"
}, {
"index" : "2020-12-29T08:04:16.000Z",
"value" : "20344.6"
}, {
"index" : "2020-12-29T08:04:17.000Z",
"value" : "20344.6"
}, {
"index" : "2020-12-29T08:04:18.000Z",
"value" : "20344.7"
}, {
"index" : "2020-12-29T08:04:19.000Z",
"value" : "20344.7"
}, {
"index" : "2020-12-29T08:04:20.000Z",
"value" : "20344.7"
}, {
"index" : "2020-12-29T08:04:21.000Z",
"value" : "20344.7"
}, {
"index" : "2020-12-29T08:04:22.000Z",
"value" : "20344.7"
}, {
"index" : "2020-12-29T08:04:23.000Z",
"value" : "20344.7"
}, {
"index" : "2020-12-29T08:04:24.000Z",
"value" : "20344.8"
}, {
"index" : "2020-12-29T08:04:25.000Z",
"value" : "20344.8"
}, {
"index" : "2020-12-29T08:04:26.000Z",
"value" : "20344.8"
}, {
"index" : "2020-12-29T08:04:27.000Z",
"value" : "20344.8"
}, {
"index" : "2020-12-29T08:04:28.000Z",
"value" : "20344.8"
}, {
"index" : "2020-12-29T08:04:29.000Z",
"value" : "20344.8"
}, {
"index" : "2020-12-29T08:04:30.000Z",
"value" : "20344.8"
}, {
"index" : "2020-12-29T08:04:31.000Z",
"value" : "20344.8"
}, {
"index" : "2020-12-29T08:04:32.000Z",
"value" : "20344.8"
}, {
"index" : "2020-12-29T08:04:33.000Z",
"value" : "20344.8"
}, {
"index" : "2020-12-29T08:04:34.000Z",
"value" : "20344.8"
}, {
"index" : "2020-12-29T08:04:35.000Z",
"value" : "20344.8"
}, {
"index" : "2020-12-29T08:04:36.000Z",
"value" : "20344.8"
}, {
"index" : "2020-12-29T08:04:37.000Z",
"value" : "20344.8"
}, {
"index" : "2020-12-29T08:04:38.000Z",
"value" : "20344.8"
}, {
"index" : "2020-12-29T08:04:39.000Z",
"value" : "20344.8"
}, {
"index" : "2020-12-29T08:04:40.000Z",
"value" : "20344.9"
}, {
"index" : "2020-12-29T08:04:41.000Z",
"value" : "20344.9"
}, {
"index" : "2020-12-29T08:04:42.000Z",
"value" : "20344.9"
}, {
"index" : "2020-12-29T08:04:43.000Z",
"value" : "20344.9"
}, {
"index" : "2020-12-29T08:04:44.000Z",
"value" : "20345"
}, {
"index" : "2020-12-29T08:04:45.000Z",
"value" : "20345"
}, {
"index" : "2020-12-29T08:04:46.000Z",
"value" : "20345"
}, {
"index" : "2020-12-29T08:04:47.000Z",
"value" : "20345"
}, {
"index" : "2020-12-29T08:04:48.000Z",
"value" : "20345"
}, {
"index" : "2020-12-29T08:04:49.000Z",
"value" : "20345"
}, {
"index" : "2020-12-29T08:04:50.000Z",
"value" : "20345"
}, {
"index" : "2020-12-29T08:04:51.000Z",
"value" : "20345"
}, {
"index" : "2020-12-29T08:04:52.000Z",
"value" : "20345.1"
}, {
"index" : "2020-12-29T08:04:53.000Z",
"value" : "20345.1"
}, {
"index" : "2020-12-29T08:04:54.000Z",
"value" : "20345.1"
}, {
"index" : "2020-12-29T08:04:55.000Z",
"value" : "20345.1"
}, {
"index" : "2020-12-29T08:04:56.000Z",
"value" : "20345.1"
}, {
"index" : "2020-12-29T08:04:57.000Z",
"value" : "20345.1"
}, {
"index" : "2020-12-29T08:04:58.000Z",
"value" : "20345.1"
}, {
"index" : "2020-12-29T08:04:59.000Z",
"value" : "20345.1"
}, {
"index" : "2020-12-29T08:05:00.000Z",
"value" : "20345.1"
}, {
"index" : "2020-12-29T08:05:01.000Z",
"value" : "20345.2"
}, {
"index" : "2020-12-29T08:05:02.000Z",
"value" : "20345.2"
}, {
"index" : "2020-12-29T08:05:03.000Z",
"value" : "20345.2"
}, {
"index" : "2020-12-29T08:05:04.000Z",
"value" : "20345.2"
}, {
"index" : "2020-12-29T08:05:05.000Z",
"value" : "20345.2"
}, {
"index" : "2020-12-29T08:05:06.000Z",
"value" : "20345.2"
}, {
"index" : "2020-12-29T08:05:07.000Z",
"value" : "20345.2"
}, {
"index" : "2020-12-29T08:05:08.000Z",
"value" : "20345.2"
}, {
"index" : "2020-12-29T08:05:09.000Z",
"value" : "20345.2"
}, {
"index" : "2020-12-29T08:05:10.000Z",
"value" : "20345.2"
}, {
"index" : "2020-12-29T08:05:11.000Z",
"value" : "20345.3"
}, {
"index" : "2020-12-29T08:05:12.000Z",
"value" : "20345.3"
}, {
"index" : "2020-12-29T08:05:13.000Z",
"value" : "20345.3"
}, {
"index" : "2020-12-29T08:05:14.000Z",
"value" : "20345.3"
}, {
"index" : "2020-12-29T08:05:15.000Z",
"value" : "20345.3"
}, {
"index" : "2020-12-29T08:05:16.000Z",
"value" : "20345.3"
}, {
"index" : "2020-12-29T08:05:17.000Z",
"value" : "20345.3"
}, {
"index" : "2020-12-29T08:05:18.000Z",
"value" : "20345.3"
}, {
"index" : "2020-12-29T08:05:19.000Z",
"value" : "20345.4"
}, {
"index" : "2020-12-29T08:05:20.000Z",
"value" : "20345.4"
}, {
"index" : "2020-12-29T08:05:21.000Z",
"value" : "20345.4"
}, {
"index" : "2020-12-29T08:05:22.000Z",
"value" : "20345.4"
}, {
"index" : "2020-12-29T08:05:23.000Z",
"value" : "20345.4"
}, {
"index" : "2020-12-29T08:05:24.000Z",
"value" : "20345.4"
}, {
"index" : "2020-12-29T08:05:25.000Z",
"value" : "20345.4"
}, {
"index" : "2020-12-29T08:05:26.000Z",
"value" : "20345.4"
}, {
"index" : "2020-12-29T08:05:27.000Z",
"value" : "20345.4"
}, {
"index" : "2020-12-29T08:05:28.000Z",
"value" : "20345.4"
}, {
"index" : "2020-12-29T08:05:29.000Z",
"value" : "20345.4"
}, {
"index" : "2020-12-29T08:05:30.000Z",
"value" : "20345.4"
}, {
"index" : "2020-12-29T08:05:31.000Z",
"value" : "20345.4"
}, {
"index" : "2020-12-29T08:05:32.000Z",
"value" : "20345.5"
}, {
"index" : "2020-12-29T08:05:33.000Z",
"value" : "20345.5"
}, {
"index" : "2020-12-29T08:05:34.000Z",
"value" : "20345.5"
}, {
"index" : "2020-12-29T08:05:35.000Z",
"value" : "20345.5"
}, {
"index" : "2020-12-29T08:05:36.000Z",
"value" : "20345.5"
}, {
"index" : "2020-12-29T08:05:37.000Z",
"value" : "20345.5"
}, {
"index" : "2020-12-29T08:05:38.000Z",
"value" : "20345.6"
}, {
"index" : "2020-12-29T08:05:39.000Z",
"value" : "20345.6"
}, {
"index" : "2020-12-29T08:05:40.000Z",
"value" : "20345.6"
}, {
"index" : "2020-12-29T08:05:41.000Z",
"value" : "20345.6"
}, {
"index" : "2020-12-29T08:05:42.000Z",
"value" : "20345.6"
}, {
"index" : "2020-12-29T08:05:43.000Z",
"value" : "20345.6"
}, {
"index" : "2020-12-29T08:05:44.000Z",
"value" : "20345.6"
}, {
"index" : "2020-12-29T08:05:45.000Z",
"value" : "20345.7"
}, {
"index" : "2020-12-29T08:05:46.000Z",
"value" : "20345.7"
}, {
"index" : "2020-12-29T08:05:47.000Z",
"value" : "20345.7"
}, {
"index" : "2020-12-29T08:05:48.000Z",
"value" : "20345.7"
}, {
"index" : "2020-12-29T08:05:49.000Z",
"value" : "20345.7"
}, {
"index" : "2020-12-29T08:05:50.000Z",
"value" : "20345.7"
}, {
"index" : "2020-12-29T08:05:51.000Z",
"value" : "20345.7"
}, {
"index" : "2020-12-29T08:05:52.000Z",
"value" : "20345.7"
}, {
"index" : "2020-12-29T08:05:53.000Z",
"value" : "20345.7"
}, {
"index" : "2020-12-29T08:05:54.000Z",
"value" : "20345.7"
}, {
"index" : "2020-12-29T08:05:55.000Z",
"value" : "20345.7"
}, {
"index" : "2020-12-29T08:05:56.000Z",
"value" : "20345.7"
}, {
"index" : "2020-12-29T08:05:57.000Z",
"value" : "20345.8"
}, {
"index" : "2020-12-29T08:05:58.000Z",
"value" : "20345.8"
}, {
"index" : "2020-12-29T08:05:59.000Z",
"value" : "20345.8"
}, {
"index" : "2020-12-29T08:06:00.000Z",
"value" : "20345.8"
}, {
"index" : "2020-12-29T08:06:01.000Z",
"value" : "20345.8"
}, {
"index" : "2020-12-29T08:06:02.000Z",
"value" : "20345.8"
}, {
"index" : "2020-12-29T08:06:03.000Z",
"value" : "20345.8"
}, {
"index" : "2020-12-29T08:06:04.000Z",
"value" : "20345.8"
}, {
"index" : "2020-12-29T08:06:05.000Z",
"value" : "20345.8"
}, {
"index" : "2020-12-29T08:06:06.000Z",
"value" : "20345.8"
}, {
"index" : "2020-12-29T08:06:07.000Z",
"value" : "20345.9"
}, {
"index" : "2020-12-29T08:06:08.000Z",
"value" : "20345.9"
}, {
"index" : "2020-12-29T08:06:09.000Z",
"value" : "20345.9"
}, {
"index" : "2020-12-29T08:06:10.000Z",
"value" : "20345.9"
}, {
"index" : "2020-12-29T08:06:11.000Z",
"value" : "20345.9"
}, {
"index" : "2020-12-29T08:06:12.000Z",
"value" : "20345.9"
}, {
"index" : "2020-12-29T08:06:13.000Z",
"value" : "20346"
}, {
"index" : "2020-12-29T08:06:14.000Z",
"value" : "20346"
}, {
"index" : "2020-12-29T08:06:15.000Z",
"value" : "20346"
}, {
"index" : "2020-12-29T08:06:16.000Z",
"value" : "20346"
}, {
"index" : "2020-12-29T08:06:17.000Z",
"value" : "20346"
}, {
"index" : "2020-12-29T08:06:18.000Z",
"value" : "20346"
}, {
"index" : "2020-12-29T08:06:19.000Z",
"value" : "20346"
}, {
"index" : "2020-12-29T08:06:20.000Z",
"value" : "20346"
}, {
"index" : "2020-12-29T08:06:21.000Z",
"value" : "20346"
}, {
"index" : "2020-12-29T08:06:22.000Z",
"value" : "20346"
}, {
"index" : "2020-12-29T08:06:23.000Z",
"value" : "20346"
}, {
"index" : "2020-12-29T08:06:24.000Z",
"value" : "20346"
}, {
"index" : "2020-12-29T08:06:25.000Z",
"value" : "20346"
}, {
"index" : "2020-12-29T08:06:26.000Z",
"value" : "20346"
}, {
"index" : "2020-12-29T08:06:27.000Z",
"value" : "20346"
}, {
"index" : "2020-12-29T08:06:28.000Z",
"value" : "20346"
}, {
"index" : "2020-12-29T08:06:29.000Z",
"value" : "20346"
}, {
"index" : "2020-12-29T08:06:30.000Z",
"value" : "20346.1"
}, {
"index" : "2020-12-29T08:06:31.000Z",
"value" : "20346.1"
}, {
"index" : "2020-12-29T08:06:32.000Z",
"value" : "20346.1"
}, {
"index" : "2020-12-29T08:06:33.000Z",
"value" : "20346.1"
}, {
"index" : "2020-12-29T08:06:34.000Z",
"value" : "20346.1"
}, {
"index" : "2020-12-29T08:06:35.000Z",
"value" : "20346.1"
}, {
"index" : "2020-12-29T08:06:36.000Z",
"value" : "20346.2"
}, {
"index" : "2020-12-29T08:06:37.000Z",
"value" : "20346.2"
}, {
"index" : "2020-12-29T08:06:38.000Z",
"value" : "20346.2"
}, {
"index" : "2020-12-29T08:06:39.000Z",
"value" : "20346.2"
}, {
"index" : "2020-12-29T08:06:40.000Z",
"value" : "20346.2"
}, {
"index" : "2020-12-29T08:06:41.000Z",
"value" : "20346.2"
}, {
"index" : "2020-12-29T08:06:42.000Z",
"value" : "20346.3"
}, {
"index" : "2020-12-29T08:06:43.000Z",
"value" : "20346.3"
}, {
"index" : "2020-12-29T08:06:44.000Z",
"value" : "20346.3"
}, {
"index" : "2020-12-29T08:06:45.000Z",
"value" : "20346.3"
}, {
"index" : "2020-12-29T08:06:46.000Z",
"value" : "20346.3"
}, {
"index" : "2020-12-29T08:06:47.000Z",
"value" : "20346.3"
}, {
"index" : "2020-12-29T08:06:48.000Z",
"value" : "20346.3"
}, {
"index" : "2020-12-29T08:06:49.000Z",
"value" : "20346.3"
}, {
"index" : "2020-12-29T08:06:50.000Z",
"value" : "20346.3"
}, {
"index" : "2020-12-29T08:06:51.000Z",
"value" : "20346.3"
}, {
"index" : "2020-12-29T08:06:52.000Z",
"value" : "20346.3"
}, {
"index" : "2020-12-29T08:06:53.000Z",
"value" : "20346.3"
}, {
"index" : "2020-12-29T08:06:54.000Z",
"value" : "20346.4"
}, {
"index" : "2020-12-29T08:06:55.000Z",
"value" : "20346.4"
}, {
"index" : "2020-12-29T08:06:56.000Z",
"value" : "20346.4"
}, {
"index" : "2020-12-29T08:06:57.000Z",
"value" : "20346.4"
}, {
"index" : "2020-12-29T08:06:58.000Z",
"value" : "20346.4"
}, {
"index" : "2020-12-29T08:06:59.000Z",
"value" : "20346.4"
}, {
"index" : "2020-12-29T08:07:00.000Z",
"value" : "20346.4"
}, {
"index" : "2020-12-29T08:07:01.000Z",
"value" : "20346.4"
}, {
"index" : "2020-12-29T08:07:02.000Z",
"value" : "20346.4"
}, {
"index" : "2020-12-29T08:07:03.000Z",
"value" : "20346.4"
}, {
"index" : "2020-12-29T08:07:04.000Z",
"value" : "20346.4"
}, {
"index" : "2020-12-29T08:07:05.000Z",
"value" : "20346.4"
}, {
"index" : "2020-12-29T08:07:06.000Z",
"value" : "20346.4"
}, {
"index" : "2020-12-29T08:07:07.000Z",
"value" : "20346.4"
}, {
"index" : "2020-12-29T08:07:08.000Z",
"value" : "20346.4"
}, {
"index" : "2020-12-29T08:07:09.000Z",
"value" : "20346.4"
}, {
"index" : "2020-12-29T08:07:10.000Z",
"value" : "20346.4"
}, {
"index" : "2020-12-29T08:07:11.000Z",
"value" : "20346.4"
}, {
"index" : "2020-12-29T08:07:12.000Z",
"value" : "20346.4"
}, {
"index" : "2020-12-29T08:07:13.000Z",
"value" : "20346.4"
}, {
"index" : "2020-12-29T08:07:14.000Z",
"value" : "20346.4"
}, {
"index" : "2020-12-29T08:07:15.000Z",
"value" : "20346.4"
}, {
"index" : "2020-12-29T08:07:16.000Z",
"value" : "20346.4"
}, {
"index" : "2020-12-29T08:07:17.000Z",
"value" : "20346.5"
}, {
"index" : "2020-12-29T08:07:18.000Z",
"value" : "20346.5"
}, {
"index" : "2020-12-29T08:07:19.000Z",
"value" : "20346.5"
}, {
"index" : "2020-12-29T08:07:20.000Z",
"value" : "20346.6"
}, {
"index" : "2020-12-29T08:07:21.000Z",
"value" : "20346.6"
}, {
"index" : "2020-12-29T08:07:22.000Z",
"value" : "20346.6"
}, {
"index" : "2020-12-29T08:07:23.000Z",
"value" : "20346.6"
}, {
"index" : "2020-12-29T08:07:24.000Z",
"value" : "20346.6"
}, {
"index" : "2020-12-29T08:07:25.000Z",
"value" : "20346.6"
}, {
"index" : "2020-12-29T08:07:26.000Z",
"value" : "20346.7"
}, {
"index" : "2020-12-29T08:07:27.000Z",
"value" : "20346.7"
}, {
"index" : "2020-12-29T08:07:28.000Z",
"value" : "20346.7"
}, {
"index" : "2020-12-29T08:07:29.000Z",
"value" : "20346.7"
}, {
"index" : "2020-12-29T08:07:30.000Z",
"value" : "20346.7"
}, {
"index" : "2020-12-29T08:07:31.000Z",
"value" : "20346.7"
}, {
"index" : "2020-12-29T08:07:32.000Z",
"value" : "20346.7"
}, {
"index" : "2020-12-29T08:07:33.000Z",
"value" : "20346.8"
}, {
"index" : "2020-12-29T08:07:34.000Z",
"value" : "20346.8"
}, {
"index" : "2020-12-29T08:07:35.000Z",
"value" : "20346.8"
}, {
"index" : "2020-12-29T08:07:36.000Z",
"value" : "20346.8"
}, {
"index" : "2020-12-29T08:07:37.000Z",
"value" : "20346.8"
}, {
"index" : "2020-12-29T08:07:38.000Z",
"value" : "20346.8"
}, {
"index" : "2020-12-29T08:07:39.000Z",
"value" : "20346.8"
}, {
"index" : "2020-12-29T08:07:40.000Z",
"value" : "20346.8"
}, {
"index" : "2020-12-29T08:07:41.000Z",
"value" : "20346.8"
}, {
"index" : "2020-12-29T08:07:42.000Z",
"value" : "20346.8"
}, {
"index" : "2020-12-29T08:07:43.000Z",
"value" : "20346.8"
}, {
"index" : "2020-12-29T08:07:44.000Z",
"value" : "20346.8"
}, {
"index" : "2020-12-29T08:07:45.000Z",
"value" : "20346.8"
}, {
"index" : "2020-12-29T08:07:46.000Z",
"value" : "20346.8"
}, {
"index" : "2020-12-29T08:07:47.000Z",
"value" : "20346.8"
}, {
"index" : "2020-12-29T08:07:48.000Z",
"value" : "20346.8"
}, {
"index" : "2020-12-29T08:07:49.000Z",
"value" : "20346.8"
}, {
"index" : "2020-12-29T08:07:50.000Z",
"value" : "20346.8"
}, {
"index" : "2020-12-29T08:07:51.000Z",
"value" : "20346.8"
}, {
"index" : "2020-12-29T08:07:52.000Z",
"value" : "20346.9"
}, {
"index" : "2020-12-29T08:07:53.000Z",
"value" : "20346.9"
}, {
"index" : "2020-12-29T08:07:54.000Z",
"value" : "20346.9"
}, {
"index" : "2020-12-29T08:07:55.000Z",
"value" : "20346.9"
}, {
"index" : "2020-12-29T08:07:56.000Z",
"value" : "20347"
}, {
"index" : "2020-12-29T08:07:57.000Z",
"value" : "20347"
}, {
"index" : "2020-12-29T08:07:58.000Z",
"value" : "20347"
}, {
"index" : "2020-12-29T08:07:59.000Z",
"value" : "20347"
}, {
"index" : "2020-12-29T08:08:00.000Z",
"value" : "20347"
}, {
"index" : "2020-12-29T08:08:01.000Z",
"value" : "20347.1"
}, {
"index" : "2020-12-29T08:08:02.000Z",
"value" : "20347.1"
}, {
"index" : "2020-12-29T08:08:03.000Z",
"value" : "20347.1"
}, {
"index" : "2020-12-29T08:08:04.000Z",
"value" : "20347.1"
}, {
"index" : "2020-12-29T08:08:05.000Z",
"value" : "20347.1"
}, {
"index" : "2020-12-29T08:08:06.000Z",
"value" : "20347.1"
}, {
"index" : "2020-12-29T08:08:07.000Z",
"value" : "20347.2"
}, {
"index" : "2020-12-29T08:08:08.000Z",
"value" : "20347.2"
}, {
"index" : "2020-12-29T08:08:09.000Z",
"value" : "20347.2"
}, {
"index" : "2020-12-29T08:08:30.000Z",
"value" : "20347.4"
}, {
"index" : "2020-12-29T08:08:31.000Z",
"value" : "20347.5"
}, {
"index" : "2020-12-29T08:08:32.000Z",
"value" : "20347.5"
}, {
"index" : "2020-12-29T08:08:33.000Z",
"value" : "20347.5"
}, {
"index" : "2020-12-29T08:08:34.000Z",
"value" : "20347.5"
}, {
"index" : "2020-12-29T08:08:35.000Z",
"value" : "20347.5"
}, {
"index" : "2020-12-29T08:08:36.000Z",
"value" : "20347.6"
}, {
"index" : "2020-12-29T08:08:37.000Z",
"value" : "20347.6"
}, {
"index" : "2020-12-29T08:08:38.000Z",
"value" : "20347.6"
}, {
"index" : "2020-12-29T08:08:39.000Z",
"value" : "20347.6"
}, {
"index" : "2020-12-29T08:08:40.000Z",
"value" : "20347.6"
}, {
"index" : "2020-12-29T08:08:41.000Z",
"value" : "20347.6"
}, {
"index" : "2020-12-29T08:08:42.000Z",
"value" : "20347.6"
}, {
"index" : "2020-12-29T08:08:43.000Z",
"value" : "20347.6"
}, {
"index" : "2020-12-29T08:08:44.000Z",
"value" : "20347.6"
}, {
"index" : "2020-12-29T08:08:45.000Z",
"value" : "20347.6"
}, {
"index" : "2020-12-29T08:08:46.000Z",
"value" : "20347.6"
}, {
"index" : "2020-12-29T08:08:47.000Z",
"value" : "20347.6"
}, {
"index" : "2020-12-29T08:08:48.000Z",
"value" : "20347.6"
}, {
"index" : "2020-12-29T08:08:49.000Z",
"value" : "20347.6"
}, {
"index" : "2020-12-29T08:08:50.000Z",
"value" : "20347.6"
}, {
"index" : "2020-12-29T08:08:51.000Z",
"value" : "20347.6"
}, {
"index" : "2020-12-29T08:08:52.000Z",
"value" : "20347.7"
}, {
"index" : "2020-12-29T08:08:53.000Z",
"value" : "20347.7"
}, {
"index" : "2020-12-29T08:08:54.000Z",
"value" : "20347.7"
}, {
"index" : "2020-12-29T08:08:55.000Z",
"value" : "20347.7"
}, {
"index" : "2020-12-29T08:08:56.000Z",
"value" : "20347.7"
}, {
"index" : "2020-12-29T08:08:57.000Z",
"value" : "20347.8"
}, {
"index" : "2020-12-29T08:08:58.000Z",
"value" : "20347.8"
}, {
"index" : "2020-12-29T08:08:59.000Z",
"value" : "20347.8"
}, {
"index" : "2020-12-29T08:09:00.000Z",
"value" : "20347.8"
}, {
"index" : "2020-12-29T08:09:01.000Z",
"value" : "20347.8"
}, {
"index" : "2020-12-29T08:09:02.000Z",
"value" : "20347.8"
}, {
"index" : "2020-12-29T08:09:03.000Z",
"value" : "20347.8"
}, {
"index" : "2020-12-29T08:09:04.000Z",
"value" : "20347.8"
}, {
"index" : "2020-12-29T08:09:05.000Z",
"value" : "20347.8"
}, {
"index" : "2020-12-29T08:09:06.000Z",
"value" : "20347.8"
}, {
"index" : "2020-12-29T08:09:07.000Z",
"value" : "20347.9"
}, {
"index" : "2020-12-29T08:09:08.000Z",
"value" : "20347.9"
}, {
"index" : "2020-12-29T08:09:09.000Z",
"value" : "20347.9"
}, {
"index" : "2020-12-29T08:09:10.000Z",
"value" : "20347.9"
}, {
"index" : "2020-12-29T08:09:11.000Z",
"value" : "20348"
}, {
"index" : "2020-12-29T08:09:12.000Z",
"value" : "20348"
}, {
"index" : "2020-12-29T08:09:13.000Z",
"value" : "20348"
}, {
"index" : "2020-12-29T08:09:14.000Z",
"value" : "20348"
}, {
"index" : "2020-12-29T08:09:15.000Z",
"value" : "20348"
}, {
"index" : "2020-12-29T08:09:16.000Z",
"value" : "20348"
}, {
"index" : "2020-12-29T08:09:17.000Z",
"value" : "20348"
}, {
"index" : "2020-12-29T08:09:18.000Z",
"value" : "20348"
}, {
"index" : "2020-12-29T08:09:19.000Z",
"value" : "20348"
}, {
"index" : "2020-12-29T08:09:20.000Z",
"value" : "20348"
}, {
"index" : "2020-12-29T08:09:21.000Z",
"value" : "20348"
}, {
"index" : "2020-12-29T08:09:22.000Z",
"value" : "20348"
}, {
"index" : "2020-12-29T08:09:23.000Z",
"value" : "20348.1"
}, {
"index" : "2020-12-29T08:09:24.000Z",
"value" : "20348.1"
}, {
"index" : "2020-12-29T08:09:25.000Z",
"value" : "20348.1"
}, {
"index" : "2020-12-29T08:09:26.000Z",
"value" : "20348.1"
}, {
"index" : "2020-12-29T08:09:27.000Z",
"value" : "20348.1"
}, {
"index" : "2020-12-29T08:09:28.000Z",
"value" : "20348.1"
}, {
"index" : "2020-12-29T08:09:29.000Z",
"value" : "20348.1"
}, {
"index" : "2020-12-29T08:09:30.000Z",
"value" : "20348.1"
}, {
"index" : "2020-12-29T08:09:31.000Z",
"value" : "20348.1"
}, {
"index" : "2020-12-29T08:09:32.000Z",
"value" : "20348.2"
}, {
"index" : "2020-12-29T08:09:33.000Z",
"value" : "20348.2"
}, {
"index" : "2020-12-29T08:09:34.000Z",
"value" : "20348.2"
}, {
"index" : "2020-12-29T08:09:35.000Z",
"value" : "20348.2"
}, {
"index" : "2020-12-29T08:09:36.000Z",
"value" : "20348.2"
}, {
"index" : "2020-12-29T08:09:37.000Z",
"value" : "20348.2"
}, {
"index" : "2020-12-29T08:09:38.000Z",
"value" : "20348.2"
}, {
"index" : "2020-12-29T08:09:39.000Z",
"value" : "20348.2"
}, {
"index" : "2020-12-29T08:09:40.000Z",
"value" : "20348.2"
}, {
"index" : "2020-12-29T08:09:41.000Z",
"value" : "20348.2"
}, {
"index" : "2020-12-29T08:09:42.000Z",
"value" : "20348.2"
}, {
"index" : "2020-12-29T08:09:43.000Z",
"value" : "20348.2"
}, {
"index" : "2020-12-29T08:09:44.000Z",
"value" : "20348.2"
}, {
"index" : "2020-12-29T08:09:45.000Z",
"value" : "20348.2"
}, {
"index" : "2020-12-29T08:09:46.000Z",
"value" : "20348.2"
}, {
"index" : "2020-12-29T08:09:47.000Z",
"value" : "20348.2"
}, {
"index" : "2020-12-29T08:09:48.000Z",
"value" : "20348.2"
}, {
"index" : "2020-12-29T08:09:49.000Z",
"value" : "20348.2"
}, {
"index" : "2020-12-29T08:09:50.000Z",
"value" : "20348.2"
}, {
"index" : "2020-12-29T08:09:51.000Z",
"value" : "20348.2"
}, {
"index" : "2020-12-29T08:09:52.000Z",
"value" : "20348.3"
}, {
"index" : "2020-12-29T08:09:53.000Z",
"value" : "20348.3"
}, {
"index" : "2020-12-29T08:09:54.000Z",
"value" : "20348.3"
}, {
"index" : "2020-12-29T08:09:55.000Z",
"value" : "20348.4"
}, {
"index" : "2020-12-29T08:09:56.000Z",
"value" : "20348.4"
}, {
"index" : "2020-12-29T08:09:57.000Z",
"value" : "20348.4"
}, {
"index" : "2020-12-29T08:09:58.000Z",
"value" : "20348.4"
}, {
"index" : "2020-12-29T08:09:59.000Z",
"value" : "20348.4"
}, {
"index" : "2020-12-29T08:10:00.000Z",
"value" : "20348.4"
}, {
"index" : "2020-12-29T08:10:01.000Z",
"value" : "20348.4"
}, {
"index" : "2020-12-29T08:10:02.000Z",
"value" : "20348.4"
}, {
"index" : "2020-12-29T08:10:03.000Z",
"value" : "20348.4"
}, {
"index" : "2020-12-29T08:10:04.000Z",
"value" : "20348.4"
}, {
"index" : "2020-12-29T08:10:05.000Z",
"value" : "20348.5"
}, {
"index" : "2020-12-29T08:10:06.000Z",
"value" : "20348.5"
}, {
"index" : "2020-12-29T08:10:07.000Z",
"value" : "20348.5"
}, {
"index" : "2020-12-29T08:10:08.000Z",
"value" : "20348.5"
}, {
"index" : "2020-12-29T08:10:09.000Z",
"value" : "20348.5"
}, {
"index" : "2020-12-29T08:10:10.000Z",
"value" : "20348.5"
}, {
"index" : "2020-12-29T08:10:11.000Z",
"value" : "20348.5"
}, {
"index" : "2020-12-29T08:10:12.000Z",
"value" : "20348.5"
}, {
"index" : "2020-12-29T08:10:13.000Z",
"value" : "20348.5"
}, {
"index" : "2020-12-29T08:10:14.000Z",
"value" : "20348.5"
}, {
"index" : "2020-12-29T08:10:15.000Z",
"value" : "20348.6"
}, {
"index" : "2020-12-29T08:10:16.000Z",
"value" : "20348.6"
}, {
"index" : "2020-12-29T08:10:17.000Z",
"value" : "20348.6"
}, {
"index" : "2020-12-29T08:10:18.000Z",
"value" : "20348.6"
}, {
"index" : "2020-12-29T08:10:19.000Z",
"value" : "20348.6"
}, {
"index" : "2020-12-29T08:10:20.000Z",
"value" : "20348.6"
}, {
"index" : "2020-12-29T08:10:21.000Z",
"value" : "20348.6"
}, {
"index" : "2020-12-29T08:10:22.000Z",
"value" : "20348.7"
}, {
"index" : "2020-12-29T08:10:23.000Z",
"value" : "20348.7"
}, {
"index" : "2020-12-29T08:10:24.000Z",
"value" : "20348.7"
}, {
"index" : "2020-12-29T08:10:25.000Z",
"value" : "20348.7"
}, {
"index" : "2020-12-29T08:10:26.000Z",
"value" : "20348.7"
}, {
"index" : "2020-12-29T08:10:27.000Z",
"value" : "20348.7"
}, {
"index" : "2020-12-29T08:10:28.000Z",
"value" : "20348.7"
}, {
"index" : "2020-12-29T08:10:29.000Z",
"value" : "20348.7"
}, {
"index" : "2020-12-29T08:10:30.000Z",
"value" : "20348.7"
}, {
"index" : "2020-12-29T08:10:31.000Z",
"value" : "20348.8"
}, {
"index" : "2020-12-29T08:10:32.000Z",
"value" : "20348.8"
}, {
"index" : "2020-12-29T08:10:33.000Z",
"value" : "20348.8"
}, {
"index" : "2020-12-29T08:10:34.000Z",
"value" : "20348.8"
}, {
"index" : "2020-12-29T08:10:35.000Z",
"value" : "20348.8"
}, {
"index" : "2020-12-29T08:10:36.000Z",
"value" : "20348.8"
}, {
"index" : "2020-12-29T08:10:37.000Z",
"value" : "20348.8"
}, {
"index" : "2020-12-29T08:10:38.000Z",
"value" : "20348.8"
}, {
"index" : "2020-12-29T08:10:39.000Z",
"value" : "20348.9"
}, {
"index" : "2020-12-29T08:10:40.000Z",
"value" : "20348.9"
}, {
"index" : "2020-12-29T08:10:41.000Z",
"value" : "20348.9"
}, {
"index" : "2020-12-29T08:10:42.000Z",
"value" : "20348.9"
}, {
"index" : "2020-12-29T08:10:43.000Z",
"value" : "20348.9"
}, {
"index" : "2020-12-29T08:10:44.000Z",
"value" : "20348.9"
}, {
"index" : "2020-12-29T08:10:45.000Z",
"value" : "20348.9"
}, {
"index" : "2020-12-29T08:10:46.000Z",
"value" : "20349"
}, {
"index" : "2020-12-29T08:10:47.000Z",
"value" : "20349"
}, {
"index" : "2020-12-29T08:10:48.000Z",
"value" : "20349"
}, {
"index" : "2020-12-29T08:10:49.000Z",
"value" : "20349"
}, {
"index" : "2020-12-29T08:10:50.000Z",
"value" : "20349"
}, {
"index" : "2020-12-29T08:10:51.000Z",
"value" : "20349"
}, {
"index" : "2020-12-29T08:10:52.000Z",
"value" : "20349"
}, {
"index" : "2020-12-29T08:10:53.000Z",
"value" : "20349"
}, {
"index" : "2020-12-29T08:10:54.000Z",
"value" : "20349.1"
}, {
"index" : "2020-12-29T08:10:55.000Z",
"value" : "20349.1"
}, {
"index" : "2020-12-29T08:10:56.000Z",
"value" : "20349.1"
}, {
"index" : "2020-12-29T08:10:57.000Z",
"value" : "20349.1"
}, {
"index" : "2020-12-29T08:10:58.000Z",
"value" : "20349.1"
}, {
"index" : "2020-12-29T08:10:59.000Z",
"value" : "20349.1"
}, {
"index" : "2020-12-29T08:11:00.000Z",
"value" : "20349.1"
}, {
"index" : "2020-12-29T08:11:01.000Z",
"value" : "20349.1"
}, {
"index" : "2020-12-29T08:11:02.000Z",
"value" : "20349.1"
}, {
"index" : "2020-12-29T08:11:03.000Z",
"value" : "20349.1"
}, {
"index" : "2020-12-29T08:11:04.000Z",
"value" : "20349.1"
}, {
"index" : "2020-12-29T08:11:05.000Z",
"value" : "20349.1"
}, {
"index" : "2020-12-29T08:11:06.000Z",
"value" : "20349.1"
}, {
"index" : "2020-12-29T08:11:07.000Z",
"value" : "20349.1"
}, {
"index" : "2020-12-29T08:11:08.000Z",
"value" : "20349.1"
}, {
"index" : "2020-12-29T08:11:09.000Z",
"value" : "20349.1"
}, {
"index" : "2020-12-29T08:11:10.000Z",
"value" : "20349.1"
}, {
"index" : "2020-12-29T08:11:11.000Z",
"value" : "20349.1"
}, {
"index" : "2020-12-29T08:11:12.000Z",
"value" : "20349.1"
}, {
"index" : "2020-12-29T08:11:13.000Z",
"value" : "20349.2"
}, {
"index" : "2020-12-29T08:11:14.000Z",
"value" : "20349.2"
}, {
"index" : "2020-12-29T08:11:15.000Z",
"value" : "20349.2"
}, {
"index" : "2020-12-29T08:11:16.000Z",
"value" : "20349.2"
}, {
"index" : "2020-12-29T08:11:17.000Z",
"value" : "20349.2"
}, {
"index" : "2020-12-29T08:11:18.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:19.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:20.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:21.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:22.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:23.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:24.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:25.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:26.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:27.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:28.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:29.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:30.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:31.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:32.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:33.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:34.000Z",