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
- Earth model
- Nested well (PAPI term for Well Plan)
- Topset
- Top
- Topset
- Log
- Mudlog
- Topset
- Top
- Image
- Target line
- Comment
- Comment box
- Interpretation
- Typewell
- Log
- Mudlog
- Topset
- Top
- Grid
- Polygon
- Stick
- 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 istrueif 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: d31dea512be8454a79d8ec93b98a9268
X-Solo-Device-Identifier: hPlYfuOyOrhDqoNOz0CjAm9EGqNHPH29jwH3neNkfpgTsvVt7WQmfqg4yCZoWiFNNCQYyxkHgbDbPPb+w/l3PQ==
Set-Cookie: device-identifier=hPlYfuOyOrhDqoNOz0CjAm9EGqNHPH29jwH3neNkfpgTsvVt7WQmfqg4yCZoWiFNNCQYyxkHgbDbPPb+w/l3PQ==; Domain=rogii.net; Path=/auth/api/v2; HttpOnly; SameSite=Strict
Set-Cookie: SESSION=ZmFmNzFhYWQtZDUxZS00NzZjLWEyMDktZTYxODk1ZDBiZmUw; Max-Age=2147483647; Expires=Wed, 4 Aug 2094 12:21:05 GMT; Path=/; HttpOnly; SameSite=Strict
Set-Cookie: SSO-SESSION=ZmFmNzFhYWQtZDUxZS00NzZjLWEyMDktZTYxODk1ZDBiZmUw; Max-Age=2147483647; Expires=Wed, 4 Aug 2094 12:21:05 GMT; Domain=rogii.com; Path=/; HttpOnly; SameSite=Strict
Set-Cookie: SSO-SESSION=ZmFmNzFhYWQtZDUxZS00NzZjLWEyMDktZTYxODk1ZDBiZmUw; Max-Age=2147483647; Expires=Wed, 4 Aug 2094 12:21:05 GMT; Domain=solo.cloud; Path=/; HttpOnly; SameSite=Strict
Set-Cookie: SSO-SESSION=ZmFmNzFhYWQtZDUxZS00NzZjLWEyMDktZTYxODk1ZDBiZmUw; Max-Age=2147483647; Expires=Wed, 4 Aug 2094 12:21:05 GMT; Domain=testsolo.rogii.net; Path=/; HttpOnly; SameSite=Strict
Authorization: faf71aad-d51e-476c-a209-e61895d0bfe0
Content-Type: application/json;charset=UTF-8
{
"access_token" : "eyJraWQiOiIxOTAyNWMzYy1hMDFjLTQ2ZTAtOTdkOS0xMDNjYjNmZGQ5ZjEiLCJhbGciOiJSUzI1NiJ9.eyJjb21wYW55X2lkIjoyMDAwMywiY2xpZW50X2FwcF9pZCI6InBhcGkiLCJ1c2VyX25hbWUiOiJ0ZXN0K2FwaUB0ZXN0LmNvbSIsImNsaWVudF9pbml0X2lwIjoiMTAuNDIuMC4zMSIsInVzZXJfZGlnZXN0IjoiOGI5ZWVhMzc3NyIsImF1dGhvcml0aWVzIjpbIlJPTEVfU1RBRkYiXSwiY2xpZW50X2lkIjoic29sby1hcGktY2xpZW50LWlkIiwiYXVkIjoic29sby1wdWJsaWMtYXBpIiwidXNlcl9pZCI6MTQ5Nywic2NvcGUiOlsicmVhZCJdLCJleHAiOjE3ODQyODkyMTgsImlhdCI6MTc4NDI3OTIxOCwianRpIjoiMmVjNTI2MmYtODExMC00NWU1LTlmMTEtMDhhYjBmNjUwNjAyIn0.h2riJNyq_gBUejX3ROfSb7f8CHDugICqp6JFmOkPKHK733LZNrco9ze30QeGInuSkfH6sawNKHZbcgZIAtDhuOLSwVZVl5pPwbrO4bx-fReYC8ABkbN0rp6ND4xzUdLNBJktSu2z7OU6ngf-96oOQ6kMGYoWHsfXEX4wv_XVkBzTDTxC-nBhRMFAnZSfL171rxWrf8t-xerZyjhD9Wi6Io6v7C-mAZglpe19rg3PcHZ4a6bXeKqjA9Yy6uoFvjEVXpM6mwBkXdHkNp4hiLW4qidL_yM0-QYJfOL9acG4Llz3im45AJQ1RX4j64YFrN_EUU7zdsWuQSbWTxTRW2EweA",
"refresh_token" : "eyJraWQiOiIxOTAyNWMzYy1hMDFjLTQ2ZTAtOTdkOS0xMDNjYjNmZGQ5ZjEiLCJhbGciOiJSUzI1NiJ9.eyJjb21wYW55X2lkIjoyMDAwMywiY2xpZW50X2FwcF9pZCI6InBhcGkiLCJ1c2VyX25hbWUiOiJ0ZXN0K2FwaUB0ZXN0LmNvbSIsImNsaWVudF9pbml0X2lwIjoiMTAuNDIuMC4zMSIsInVzZXJfZGlnZXN0IjoiOGI5ZWVhMzc3NyIsImF1dGhvcml0aWVzIjpbIlJPTEVfU1RBRkYiXSwiY2xpZW50X2lkIjoic29sby1hcGktY2xpZW50LWlkIiwiYXVkIjoic29sby1wdWJsaWMtYXBpIiwidXNlcl9pZCI6MTQ5Nywic2NvcGUiOlsicmVhZCJdLCJleHAiOjE3ODQzMDkyMTgsImlhdCI6MTc4NDI3OTIxOCwianRpIjoiMWI0ZDM4YzMtY2E3My00NDc4LTk4MzQtNDJlMzNmNjUwMmFkIn0.uIf6ZtOnErvF76NNv-R6HpxdLIu5E344hjray3ewiy_3pXpRYr1FkbOxmgG7Ku1hn2GakjxyA_08cyhG2avKKxsE6NvFgsz9J_Ck3cMaJVuCpZ16dgMr4OLsuwtjFWkoVzAJoKejn4lR_f03EwlN9fltbyx9XnwtjbXAwbz11IN1EjZlhvDvaNS6YQMntkuZ39XRpfhFKbzYufy0ONtEyzjXz_oAs8SbA2s4Y7BOdc8cW6C9n9Y8YyHhCbs5qFMnVlHecgp8yEDTJntAinP-4Gk1byhZuz91LMeEIbZeVXW0zBAqy2Ykoj2FuxrqLXdyskuTqFDVDhXMqwmQAbZ3Kg",
"scope" : "read",
"token_type" : "Bearer",
"expires_in" : 9999,
"iat" : 1784279218,
"jti" : "2ec5262f-8110-45e5-9f11-08ab0f650602"
}
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 credentialscredentials 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 |
Solo-hosted login for external integrations
In addition to the OAuth 2.0 token methods described above, Solo supports a browser-based, Solo-hosted login flow for external applications. This flow is suitable for integrations that want to present a "Sign in with Solo" button, redirect the user to Solo for authentication, and receive an authorization code that can be exchanged for tokens.
Download sample project
A runnable sample project is available as a reference implementation. It demonstrates the hosted login redirect, callback handling, token exchange, refresh token handling, and local setup with .env.example.
Download: Solo-auth-sample.zip
1. Projects
Create virtual project
Create virtual project by project UUID
Request
$ curl 'https://solo.cloud/public/api/v1/projects/47a23348-667e-4fba-bc5a-e2d5fbd9d02c/virtual' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Virtual project name",
"description" : "Virtual project description"
}'
POST /public/api/v1/projects/47a23348-667e-4fba-bc5a-e2d5fbd9d02c/virtual HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 86
{
"name" : "Virtual project name",
"description" : "Virtual project description"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 6e9f01cc6a6315b53681b26ee0916e1e
Content-Type: application/json
{
"uuid" : "09bcd60a-6530-47f4-8dd3-a4e3e1a7cfab"
}
POST /public/api/v1/projects/{uuid}/virtual
| Path parameter | Description |
|---|---|
uuid |
Project UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
name |
String |
Virtual project name |
description |
String |
Virtual project description |
Response body
| Path | Type | Description |
|---|---|---|
uuid |
String |
Created virtual project UUID |
Add virtual project entities
Add virtual project entities by virtual project UUID
Request
$ curl 'https://solo.cloud/public/api/v1/projects/virtual/09bcd60a-6530-47f4-8dd3-a4e3e1a7cfab/entities' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"wells" : [ "9ba318b8-921e-4e14-ae89-916f4e712156", "0ca0b1bf-33c5-42fe-bf86-158cff1c96cd" ],
"typewells" : [ "d1cff9ef-99dd-430a-a4a1-837c054cbba0", "cb66deee-c99c-4e40-b6bc-18fcacd02205" ],
"grids" : [ "9f13bec1-5331-4a8d-8594-0595ca396ecc" ],
"polygons" : [ "78ed9ac5-3a3c-46cf-82a8-2ee698c7811f" ],
"sticks" : [ "321db276-8456-4e02-8243-4007dfa46ee8" ]
}'
POST /public/api/v1/projects/virtual/09bcd60a-6530-47f4-8dd3-a4e3e1a7cfab/entities HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 370
{
"wells" : [ "9ba318b8-921e-4e14-ae89-916f4e712156", "0ca0b1bf-33c5-42fe-bf86-158cff1c96cd" ],
"typewells" : [ "d1cff9ef-99dd-430a-a4a1-837c054cbba0", "cb66deee-c99c-4e40-b6bc-18fcacd02205" ],
"grids" : [ "9f13bec1-5331-4a8d-8594-0595ca396ecc" ],
"polygons" : [ "78ed9ac5-3a3c-46cf-82a8-2ee698c7811f" ],
"sticks" : [ "321db276-8456-4e02-8243-4007dfa46ee8" ]
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 2c33582c0859794f3cf624c46aef0dbe
POST /public/api/v1/projects/virtual/{uuid}/entities
| Path parameter | Description |
|---|---|
uuid |
Virtual project UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
wells |
Array |
List of well UUIDs to add to the virtual project |
typewells |
Array |
List of typewell UUIDs to add to the virtual project |
grids |
Array |
List of grid UUIDs to add to the virtual project |
polygons |
Array |
List of polygon UUIDs to add to the virtual project |
sticks |
Array |
List of stick UUIDs to add to the virtual project |
Response body
Empty body
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: 93fcd5218750c8d8f90677a2150dca04
Content-Type: application/json
{
"content" : [ {
"uuid" : "66ee081c-85fe-4229-8728-24748a35ef03",
"name" : "Papi test project 1",
"measure_unit" : "FOOT",
"role" : "MANAGER",
"accessed_on" : "2026-07-17T09:05:14Z",
"modified_on" : "2026-07-17T09:05:14Z"
}, {
"uuid" : "047be0b2-55b8-419b-96ca-22bb988911e6",
"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" : "2026-07-17T09:05:14Z",
"modified_on" : "2026-07-17T09:05:14Z"
}, {
"uuid" : "47a23348-667e-4fba-bc5a-e2d5fbd9d02c",
"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" : "2026-07-17T09:05:14Z",
"modified_on" : "2026-07-17T09:05:14Z"
} ],
"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: 03c26a764acbd78ef5539ec801e02702
Content-Type: application/json
{
"content" : [ {
"uuid" : "8d44e84f-1750-4cf7-b560-ad034d00a8fa",
"name" : "Virtual Papi test project 1",
"measure_unit" : "FOOT",
"role" : "MANAGER",
"parent_uuid" : "66ee081c-85fe-4229-8728-24748a35ef03",
"parent_name" : "Papi test project 1",
"virtual" : true,
"modified_on" : "2026-07-17T09:05:14Z"
}, {
"uuid" : "a9fb16fc-57ee-4164-8b87-ef3faf85695e",
"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" : "047be0b2-55b8-419b-96ca-22bb988911e6",
"parent_name" : "Papi test project 2",
"virtual" : true,
"modified_on" : "2026-07-17T09:05:14Z"
}, {
"uuid" : "e68361f4-cc68-449e-9dc3-0a6fcfd18bc3",
"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" : "47a23348-667e-4fba-bc5a-e2d5fbd9d02c",
"parent_name" : "Papi test project 3",
"virtual" : true,
"modified_on" : "2026-07-17T09:05:14Z"
} ],
"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/47a23348-667e-4fba-bc5a-e2d5fbd9d02c' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/projects/47a23348-667e-4fba-bc5a-e2d5fbd9d02c 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: 4b8cfc82008079358ab05c11fdbf6000
Content-Type: application/json
{
"uuid" : "47a23348-667e-4fba-bc5a-e2d5fbd9d02c",
"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" : "2026-07-17T09:05:14Z",
"modified_on" : "2026-07-17T09:05:14Z"
}
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/47a23348-667e-4fba-bc5a-e2d5fbd9d02c/changes' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"modified_since" : "2026-07-17T09:04:14.704Z"
}'
POST /public/api/v1/projects/47a23348-667e-4fba-bc5a-e2d5fbd9d02c/changes HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 51
{
"modified_since" : "2026-07-17T09:04:14.704Z"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 9a8eb30eca50303e295b32bf89ad32d8
Content-Type: application/json
{
"content" : [ {
"uuid" : "9ba318b8-921e-4e14-ae89-916f4e712156",
"type" : "WELL",
"operation" : "CREATE"
}, {
"uuid" : "d1cff9ef-99dd-430a-a4a1-837c054cbba0",
"type" : "TYPEWELL",
"operation" : "CREATE"
} ],
"modified_on" : "2026-07-17T09:05:15.412Z",
"modified_at" : "2026-07-17T09:05:15.412+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 |
Get project history
Get project history by project UUID
Request
$ curl 'https://solo.cloud/public/api/v1/projects/8703082f-d258-444e-896f-fe1a16b770e4/history?offset=0&limit=4' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"modified_since" : "2026-03-12T12:00:00.000+00:00",
"modified_to" : "2026-03-12T13:00:00.000+00:00",
"user_name" : "Bot Manager",
"user_email" : "a.bortnikov+manager@rogii.com",
"well_name" : "Typewell",
"well_ids" : [ "755135f6-6634-49bb-ad1f-093bf4efcc9c" ],
"sources" : [ "ANY" ]
}'
POST /public/api/v1/projects/8703082f-d258-444e-896f-fe1a16b770e4/history?offset=0&limit=4 HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 300
{
"modified_since" : "2026-03-12T12:00:00.000+00:00",
"modified_to" : "2026-03-12T13:00:00.000+00:00",
"user_name" : "Bot Manager",
"user_email" : "a.bortnikov+manager@rogii.com",
"well_name" : "Typewell",
"well_ids" : [ "755135f6-6634-49bb-ad1f-093bf4efcc9c" ],
"sources" : [ "ANY" ]
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 7403cb7037470b35
Content-Type: application/json
{
"content" : [ {
"modified_at" : "2026-03-12T12:00:04.441+00:00",
"user_email" : "a.bortnikov+manager@rogii.com",
"user_name" : "Bot Manager",
"source" : "portal",
"well_id" : "755135f6-6634-49bb-ad1f-093bf4efcc9c",
"well_name" : "Typewell",
"well_type" : "TYPEWELL",
"changes" : [ {
"operation" : "CREATE",
"object_id" : "755135f6-6634-49bb-ad1f-093bf4efcc9c",
"object_type" : "TYPEWELL",
"object_name" : "Typewell"
}, {
"operation" : "CREATE",
"object_id" : "00000000-0000-0000-0000-000000000001",
"object_type" : "WELLHEADER",
"object_name" : "Name"
}, {
"operation" : "CREATE",
"object_id" : "00000000-0000-0000-0000-000000000002",
"object_type" : "WELLHEADER",
"object_name" : "API"
}, {
"operation" : "CREATE",
"object_id" : "00000000-0000-0000-0000-000000000004",
"object_type" : "WELLHEADER",
"object_name" : "Operator"
}, {
"operation" : "CREATE",
"object_id" : "00000000-0000-0000-0000-000000000007",
"object_type" : "WELLHEADER",
"object_name" : "KB"
}, {
"operation" : "CREATE",
"object_id" : "00000000-0000-0000-0000-000000000008",
"object_type" : "WELLHEADER",
"object_name" : "Azimuth VS"
}, {
"operation" : "CREATE",
"object_id" : "00000000-0000-0000-0000-000000000009",
"object_type" : "WELLHEADER",
"object_name" : "Convergence"
}, {
"operation" : "CREATE",
"object_id" : "00000000-0000-0000-0000-000000000012",
"object_type" : "WELLHEADER",
"object_name" : "X-srf"
}, {
"operation" : "CREATE",
"object_id" : "00000000-0000-0000-0000-000000000013",
"object_type" : "WELLHEADER",
"object_name" : "Y-srf"
} ]
}, {
"modified_at" : "2026-03-12T12:00:05.488+00:00",
"user_email" : "a.bortnikov+manager@rogii.com",
"user_name" : "Bot Manager",
"source" : "portal",
"well_id" : "755135f6-6634-49bb-ad1f-093bf4efcc9c",
"well_name" : "Typewell",
"well_type" : "TYPEWELL",
"changes" : [ {
"operation" : "CREATE",
"object_id" : "489bce1c-333d-486d-b84d-89670505f9f3",
"object_type" : "LOG",
"object_name" : "Log"
} ]
}, {
"modified_at" : "2026-03-12T12:00:05.634+00:00",
"user_email" : "a.bortnikov+manager@rogii.com",
"user_name" : "Bot Manager",
"source" : "portal",
"well_id" : "755135f6-6634-49bb-ad1f-093bf4efcc9c",
"well_name" : "Typewell",
"well_type" : "TYPEWELL",
"changes" : [ {
"operation" : "CREATE",
"object_id" : "3bd00b21-c7d9-407e-83e9-347d50cef95d",
"object_type" : "TOPSET",
"object_name" : "Top Set"
} ]
}, {
"modified_at" : "2026-03-12T12:00:05.982+00:00",
"user_email" : "a.bortnikov+manager@rogii.com",
"user_name" : "Bot Manager",
"source" : "portal",
"well_id" : "755135f6-6634-49bb-ad1f-093bf4efcc9c",
"well_name" : "Typewell",
"well_type" : "TYPEWELL",
"changes" : [ {
"operation" : "CREATE",
"object_id" : "1b97e61f-f57e-4fa4-8df1-21ee3a1b0244",
"object_type" : "MUDLOG",
"object_name" : "Mud Log"
} ]
} ],
"offset" : 0,
"limit" : 4,
"total" : 32,
"last" : false,
"first" : true
}
POST /public/api/v1/projects/{uuid}/history
| Path parameter | Description |
|---|---|
uuid |
Project UUID |
| Parameter | Description |
|---|---|
offset |
Index of the first record to return by a request from the list of all records |
limit |
Maximum number of records to return by a request from the list of all records, starting with 'offset' |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
modified_since |
String |
Filter by modification date/time from |
modified_to |
String |
Filter by modification date/time to |
user_name |
String |
Filter by user name |
user_email |
String |
Filter by user email |
well_name |
String |
Filter by well name |
well_ids |
Array |
Filter by well UUIDs |
object_name |
String |
Filter by object name |
object_ids |
Array |
Filter by object UUIDs |
sources |
Array |
Filter by client application sources, allowed values are 'SOLO_CONNECT_CLOUD', 'FEED_OUTPUT', 'WEB_VIEWER_NATIVE_IOS', 'ANY', 'TLOG', 'ALERTS', 'PETREL', 'WS_RTM_NATIVE_ANDROID', 'STARSTEER', 'DRILLSPOT_FEED', 'WEB_VIEWER_MOBILE', 'WS_RTM', 'WEB_VIEWER_NATIVE_ANDROID', 'SOLO_CONNECT', 'SOLOBOX', 'WITSML', 'WITSML_SERVER', 'ACTIVITY_LOG', 'PYTHON_SDK', 'DATA_MANAGER', 'SYSTEM_ROBOT', 'WS_RTM_NATIVE_IOS', 'DRILLSPOT', 'SOLO_FEED', 'FEED_SAAS_OUTPUT', 'STARFRAC', 'WEB_PORTAL', 'SAAS_STARSTEER', 'WEB_ADMIN', 'PAPI', 'LANDING', 'WEB_VIEWER', 'WEB_SUPPORT_MANAGEMENT', 'WEB_FREE_VIEWER_NATIVE_IOS', 'DRILLSPOT_SOLO_FEED' |
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[].modified_at |
String |
Date/time of modification |
content[].user_email |
String |
User email |
content[].user_name |
String |
User name |
content[].source |
String |
Client application source |
content[].well_id |
String |
Well UUID |
content[].well_name |
String |
Well name |
content[].well_type |
String |
Well type |
content[].changes |
Array |
List of changes |
content[].changes[].operation |
String |
Operation performed |
content[].changes[].object_id |
String |
Object UUID |
content[].changes[].object_type |
String |
Object type |
content[].changes[].object_name |
String |
Object name |
2. Laterals
Create lateral
Create lateral by project UUID
Request
$ curl 'https://solo.cloud/public/api/v1/projects/febcdcaf-f422-4fe7-8d8a-1faee3bd3d39/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/febcdcaf-f422-4fe7-8d8a-1faee3bd3d39/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: 35d652ddab7935d992a33a54e7507228
Content-Type: application/json
{
"uuid" : "c02201a2-8d72-4fe3-be70-709cac6bc195"
}
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/febcdcaf-f422-4fe7-8d8a-1faee3bd3d39/wells?offset=0&limit=10&filter=oNe' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/projects/febcdcaf-f422-4fe7-8d8a-1faee3bd3d39/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: 18006aa79a6fef33c4e26513a056dd42
Content-Type: application/json
{
"content" : [ {
"uuid" : "2115384c-be9c-4c01-b6b7-5b13a6c0ed7c",
"name" : "Lateral one",
"api" : "api lateral one",
"flags" : {
"has_logs" : false,
"has_topsets" : false,
"has_interpretations" : false,
"has_nested_wells" : false,
"has_mudlogs" : false,
"has_target_lines" : false
}
} ],
"offset" : 0,
"limit" : 10,
"total" : 1,
"last" : true,
"first" : true
}
GET /public/api/v1/projects/{uuid}/wells
| Path parameter | Description |
|---|---|
uuid |
Project UUID |
| Parameter | Description |
|---|---|
offset |
Index of the first record to return by a request from the list of all records |
limit |
Maximum number of records to return by a request from the list of all records, starting with 'offset' |
filter |
Filter laterals by the 'name' or 'api' fields. Case insensitive. |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Content array |
offset |
Number |
Index of the first record returned by a request from the list of all records |
limit |
Number |
Maximum number of records returned by a request from the list of all records, starting with 'offset' |
total |
Number |
Total number of records |
first |
Boolean |
true if the current records range is the first, otherwise – false |
last |
Boolean |
true if the current records range is the last, otherwise – false |
content[].uuid |
String |
Lateral UUID |
content[].name |
String |
Lateral name |
content[].api |
String |
API lateral number |
content[].flags.has_logs |
Boolean |
Flag indicating the presence of logs |
content[].flags.has_topsets |
Boolean |
Flag indicating the presence of topsets |
content[].flags.has_interpretations |
Boolean |
Flag indicating the presence of interpretations |
content[].flags.has_nested_wells |
Boolean |
Flag indicating the presence of nested wells |
content[].flags.has_mudlogs |
Boolean |
Flag indicating the presence of mudlogs |
content[].flags.has_target_lines |
Boolean |
Flag indicating the presence of target lines |
Get laterals by API filter
Get a list of laterals by API filter with pagination
Request
$ curl 'https://solo.cloud/public/api/v1/wells/api-filtered?offset=0&limit=10&filter=lateral%20t' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/api-filtered?offset=0&limit=10&filter=lateral%20t HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 54fd9478d0a159739904d8f13dbeddbc
Content-Type: application/json
{
"content" : [ {
"uuid" : "f7b830f4-9efc-4be0-9cdc-d8728e5660d4",
"name" : "Lateral two",
"api" : "api lateral two",
"flags" : {
"has_logs" : false,
"has_topsets" : false,
"has_interpretations" : false,
"has_nested_wells" : false,
"has_mudlogs" : false,
"has_target_lines" : false
},
"project_uuid" : "febcdcaf-f422-4fe7-8d8a-1faee3bd3d39",
"project_role" : "MANAGER"
}, {
"uuid" : "074a911d-72b6-410c-8fe9-6db43bab8145",
"name" : "Lateral three",
"api" : "api lateral three",
"flags" : {
"has_logs" : false,
"has_topsets" : false,
"has_interpretations" : false,
"has_nested_wells" : false,
"has_mudlogs" : false,
"has_target_lines" : false
},
"project_uuid" : "febcdcaf-f422-4fe7-8d8a-1faee3bd3d39",
"project_role" : "MANAGER"
} ],
"offset" : 0,
"limit" : 10,
"total" : 2,
"last" : true,
"first" : true
}
GET /public/api/v1/wells/api-filtered
| Parameter | Description |
|---|---|
offset |
Index of the first record to return by a request from the list of all records |
limit |
Maximum number of records to return by a request from the list of all records, starting with 'offset' |
filter |
Filter laterals by the 'api' field. Case insensitive. |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Content array |
offset |
Number |
Index of the first record returned by a request from the list of all records |
limit |
Number |
Maximum number of records returned by a request from the list of all records, starting with 'offset' |
total |
Number |
Total number of records |
first |
Boolean |
true if the current records range is the first, otherwise – false |
last |
Boolean |
true if the current records range is the last, otherwise – false |
content[].uuid |
String |
Lateral UUID |
content[].name |
String |
Lateral name |
content[].api |
String |
API lateral number |
content[].flags.has_logs |
Boolean |
Flag indicating the presence of logs |
content[].flags.has_topsets |
Boolean |
Flag indicating the presence of topsets |
content[].flags.has_interpretations |
Boolean |
Flag indicating the presence of interpretations |
content[].flags.has_nested_wells |
Boolean |
Flag indicating the presence of nested wells |
content[].flags.has_mudlogs |
Boolean |
Flag indicating the presence of mudlogs |
content[].flags.has_target_lines |
Boolean |
Flag indicating the presence of target lines |
content[].project_uuid |
String |
Project UUID |
content[].project_role |
String |
Role |
Get lateral metadata
Get lateral metadata
Request
$ curl 'https://solo.cloud/public/api/v1/wells/074a911d-72b6-410c-8fe9-6db43bab8145' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/074a911d-72b6-410c-8fe9-6db43bab8145 HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: ab09d6e6d9e6bc41e79c63eb4a1cd182
Content-Type: application/json
{
"uuid" : "074a911d-72b6-410c-8fe9-6db43bab8145",
"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 ellipses
Get lateral ellipses data by lateral UUID
Request
$ curl 'https://solo.cloud/public/api/v1/laterals/4843861b-bdbb-48b8-aea9-07e541ea04a6/ellipses' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/laterals/4843861b-bdbb-48b8-aea9-07e541ea04a6/ellipses HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 265d45a99cef99dd70b607809b9296db
Content-Type: application/json
{
"content" : [ {
"index" : 10.0,
"value" : {
"nev" : [ 14.99, 98.23, 41.2, 67.78, 23.89, 12.31, 55.43, 11.23, 34.33 ],
"messages" : [ ]
}
} ]
}
GET /public/api/v1/laterals/{lateralUuid}/ellipses
| Path parameter | Description |
|---|---|
lateralUuid |
Lateral UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Ellipses points array |
content[].index |
Number |
Measured Depth value |
content[].value.nev |
Array |
Ellipse attributes |
content[].value.messages |
Array |
Comments |
Get starred objects
Get starred objects by lateral UUID
Request
$ curl 'https://solo.cloud/public/api/v1/wells/06eb02c7-e2a7-4e3c-82ba-914a8c43c49c/starred' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/wells/06eb02c7-e2a7-4e3c-82ba-914a8c43c49c/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: dba416c23ec60ffae60f5aff5434ef23
Content-Type: application/json
{
"target_line" : "19f9054f-6374-4d68-b776-4edd134f3a87",
"nested_well" : "b77d6902-586d-4489-acff-aa473283a564",
"interpretation" : "ddbed0d2-f6f0-496a-9f01-0bfca2c43311",
"topset" : "a879e1dd-5ee1-4de7-8076-56bf2a469932"
}
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/d41d25ab-104a-45f8-b059-15145e573d00/linked?offset=0&limit=10' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/wells/d41d25ab-104a-45f8-b059-15145e573d00/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: 06db125ffb1e04d1c8e8189831f1a15d
Content-Type: application/json
{
"content" : [ {
"shift" : {
"val" : 1640.4199475065616
},
"typewell_id" : "342f6063-cc85-459e-968d-3a291479d714"
} ],
"offset" : 0,
"limit" : 10,
"total" : 1,
"last" : true,
"first" : true
}
GET /public/api/v1/wells/{uuid}/linked
| Path parameter | Description |
|---|---|
uuid |
Lateral UUID |
| Parameter | Description |
|---|---|
offset |
Index of the first record to return by a request from the list of all records |
limit |
Maximum number of records to return by a request from the list of all records, starting with 'offset' |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Content array |
offset |
Number |
Index of the first record returned by a request from the list of all records |
limit |
Number |
Maximum number of records returned by a request from the list of all records, starting with 'offset' |
total |
Number |
Total number of records |
first |
Boolean |
true if the current records range is the first, otherwise – false |
last |
Boolean |
true if the current records range is the last, otherwise – false |
content[].shift.val |
Number |
Typewell shift |
content[].typewell_id |
String |
Typewell UUID |
Get bit projection
Get bit projection by lateral UUID
Request
$ curl 'https://solo.cloud/public/api/v1/wells/636c0adf-4d43-4e8d-864c-cb274d0eece9/bitprojection' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/wells/636c0adf-4d43-4e8d-864c-cb274d0eece9/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: 2b2adc61064e893b8374cbaac5a91ba2
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/2115384c-be9c-4c01-b6b7-5b13a6c0ed7c' -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/2115384c-be9c-4c01-b6b7-5b13a6c0ed7c 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: cd4feba786255f8b02c9ca96f6bb708a
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
Set starred objects
Set starred objects by lateral UUID
Request
$ curl 'https://solo.cloud/public/api/v1/wells/06eb02c7-e2a7-4e3c-82ba-914a8c43c49c/starred' -i -X PUT \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"targetline" : "19f9054f-6374-4d68-b776-4edd134f3a87",
"nestedwell" : "b77d6902-586d-4489-acff-aa473283a564",
"interpretation" : "ddbed0d2-f6f0-496a-9f01-0bfca2c43311",
"topset" : "a879e1dd-5ee1-4de7-8076-56bf2a469932"
}'
PUT /public/api/v1/wells/06eb02c7-e2a7-4e3c-82ba-914a8c43c49c/starred HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 230
{
"targetline" : "19f9054f-6374-4d68-b776-4edd134f3a87",
"nestedwell" : "b77d6902-586d-4489-acff-aa473283a564",
"interpretation" : "ddbed0d2-f6f0-496a-9f01-0bfca2c43311",
"topset" : "a879e1dd-5ee1-4de7-8076-56bf2a469932"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: a02c281ee1b43d04ccfecdbfc8c1e1ed
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/4aa7f87e-efab-4abf-ba8a-00bb6a20f0be/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/4aa7f87e-efab-4abf-ba8a-00bb6a20f0be/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: 23a96ef59eb1d363a6bed83b1346b0a4
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/98abdb49-3ca0-4dba-8203-3553051fd336/lock' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/wells/98abdb49-3ca0-4dba-8203-3553051fd336/lock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 48a7068ef87fbf360ee4251900611ff8
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/37ab3ede-acf6-4cde-98d6-d4b4c6930ec3/unlock' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/wells/37ab3ede-acf6-4cde-98d6-d4b4c6930ec3/unlock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: b0ba19d58c2c04827e3bb670d8332a75
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/7113e3ee-bdfc-4e72-a130-6f389208165f/interpretations' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Interpretation name"
}'
POST /public/api/v1/wells/7113e3ee-bdfc-4e72-a130-6f389208165f/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: d190d755c925d36c409b6638315d5728
Content-Type: application/json
{
"uuid" : "4d0f58e1-8370-4746-a84b-01da2110ef8f"
}
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 |
Add interpretation segment
Add segment by interpretation UUID
Request
$ curl 'https://solo.cloud/public/api/v1/interpretations/d6e66849-0d9d-4b7e-bcb7-fbda3cbe60c2/segments?horizontal_scale=MD' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"uuid" : "1ba5d498-137c-45aa-af9d-bc7f71fecfb7",
"md" : {
"val" : 1500.0
},
"vs" : {
"val" : 750.0
},
"dip" : {
"val" : 30.0
},
"dip_equal_thickness" : false,
"throw" : {
"val" : 15.0
},
"throw_equal_thickness" : false
}'
POST /public/api/v1/interpretations/d6e66849-0d9d-4b7e-bcb7-fbda3cbe60c2/segments?horizontal_scale=MD HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 260
{
"uuid" : "1ba5d498-137c-45aa-af9d-bc7f71fecfb7",
"md" : {
"val" : 1500.0
},
"vs" : {
"val" : 750.0
},
"dip" : {
"val" : 30.0
},
"dip_equal_thickness" : false,
"throw" : {
"val" : 15.0
},
"throw_equal_thickness" : false
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 832580dd61a20ff5cd2919862166184e
POST /public/api/v1/interpretations/{uuid}/segments
| Path parameter | Description |
|---|---|
uuid |
Interpretation UUID |
| Parameter | Description |
|---|---|
horizontal_scale |
Horizontal scale for segment calculations. Available values: MD, THL, VS |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
uuid |
String |
Segment UUID |
md.val |
Number |
Measured depth value in project units |
vs.val |
Number |
Vertical section value in project units |
dip.val |
Number |
Dip value in degrees |
dip_equal_thickness |
Boolean |
If true, dip is calculated with equal thickness |
throw.val |
Number |
Throw value in project units |
throw_equal_thickness |
Boolean |
If true, throw is calculated with equal thickness |
Response body
Empty body
Get interpretations by lateral
Get a list of interpretations by lateral UUID with pagination
Request
$ curl 'https://solo.cloud/public/api/v1/wells/7113e3ee-bdfc-4e72-a130-6f389208165f/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/7113e3ee-bdfc-4e72-a130-6f389208165f/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: d59bc3ff584d14d11208ffe9bbfcd7d0
Content-Type: application/json
{
"content" : [ {
"uuid" : "0be1885e-aac7-4523-810e-1132ed71fb03",
"name" : "test interpretation 1",
"format" : {
"extension_grid_uuid" : "00000000-0000-0000-0000-000000000000",
"reverse_extension" : false
}
}, {
"uuid" : "4063b680-7dd0-411e-b2a6-2a0330abcca3",
"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 segments by interpretation
Get a list of segments by interpretation UUID
Request
$ curl 'https://solo.cloud/public/api/v1/interpretations/c6ccd46e-36fc-4a46-9c91-bcd6199dc070/segments?horizontal_scale=MD' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/interpretations/c6ccd46e-36fc-4a46-9c91-bcd6199dc070/segments?horizontal_scale=MD 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: cf73ed02408a4705a617a6248890b6e4
Content-Type: application/json
{
"content" : [ {
"uuid" : "99c9ebac-7f43-402c-bc9f-ad9d110657b3",
"md" : {
"val" : 0.0
},
"vs" : {
"val" : 3.280839895013123
},
"dip" : {
"val" : 97.19791814183668
},
"dip_equal_thickness" : false,
"throw_equal_thickness" : true,
"throw" : {
"val" : 0.0
}
}, {
"uuid" : "abd79c72-41e2-47f1-9ff1-a987cc5838e6",
"md" : {
"val" : 328.0839895013123
},
"vs" : {
"val" : -0.615877064815856
},
"dip" : {
"val" : 90.00000000000594
},
"dip_equal_thickness" : true,
"throw_equal_thickness" : false,
"throw" : {
"val" : 0.49212598425196846
}
}, {
"uuid" : "96bb95e3-44e5-42ba-b22d-2eef59a98905",
"md" : {
"val" : 1500.0000000000005
},
"vs" : {
"val" : -24.350204919093997
},
"dip" : {
"undefined" : true
},
"dip_equal_thickness" : false,
"throw_equal_thickness" : false,
"throw" : {
"undefined" : true
}
} ]
}
GET /public/api/v1/interpretations/{uuid}/segments
| Path parameter | Description |
|---|---|
uuid |
Interpretation UUID |
| Parameter | Description |
|---|---|
horizontal_scale |
Horizontal scale for segment calculations. Available values: MD, THL, VS |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Content array |
content[].uuid |
String |
Segment UUID |
content[].md.val |
Number |
Measured depth value in project units |
content[].vs.val |
Number |
Vertical section value in project units |
content[].dip.val |
Number |
Dip value in degrees |
content[].dip.undefined |
Boolean |
If true, dip value is undefined |
content[].dip_equal_thickness |
Boolean |
If true, dip is calculated with equal thickness |
content[].throw.val |
Number |
Throw value in project units |
content[].throw.undefined |
Boolean |
If true, throw value is undefined |
content[].throw_equal_thickness |
Boolean |
If true, throw is calculated with equal thickness |
Get starred objects
Get starred objects by interpretation UUID
Request
$ curl 'https://solo.cloud/public/api/v1/interpretations/3441eb54-b478-4810-9b11-56c14333ac6e/starred' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/interpretations/3441eb54-b478-4810-9b11-56c14333ac6e/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: 286afbf56a47310365a7a1d316df2b27
Content-Type: application/json
{
"top" : "1406789a-39ea-4e04-ae58-ca7423970b8c",
"center" : "ba844d7f-2c2e-4a49-9edf-060db731c1a4",
"bottom" : "2412010b-095c-45ac-8dda-a177a9ca5a00"
}
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/3441eb54-b478-4810-9b11-56c14333ac6e/starred' -i -X PUT \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"top" : "1406789a-39ea-4e04-ae58-ca7423970b8c",
"center" : "ba844d7f-2c2e-4a49-9edf-060db731c1a4",
"bottom" : "2412010b-095c-45ac-8dda-a177a9ca5a00"
}'
PUT /public/api/v1/interpretations/3441eb54-b478-4810-9b11-56c14333ac6e/starred HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 158
{
"top" : "1406789a-39ea-4e04-ae58-ca7423970b8c",
"center" : "ba844d7f-2c2e-4a49-9edf-060db731c1a4",
"bottom" : "2412010b-095c-45ac-8dda-a177a9ca5a00"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 2ee06b613775f880c44e2f5b6ec1824f
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/96b40987-4b53-496b-a9ef-ac64088e224f/autotypewells' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/interpretations/96b40987-4b53-496b-a9ef-ac64088e224f/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: 6f39b2f5952a08c469c15a7705cf47c9
Content-Type: application/json
{
"content" : [ {
"auto_typewell_uuid" : "c4b99497-c426-488b-86ff-c9b20dc14d52"
} ]
}
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 |
Modify interpretation segment
Modify segment by interpretation UUID
Request
$ curl 'https://solo.cloud/public/api/v1/interpretations/78d5a9f6-1eec-4e77-9123-45b2eacd6407/segments?horizontal_scale=MD' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"uuid" : "b0ef967e-a4e6-4e90-ad63-f72b3fb337dc",
"md" : {
"val" : 1500.0
},
"vs" : {
"val" : 750.0
},
"dip" : {
"val" : 60.0
},
"dip_equal_thickness" : false,
"throw" : {
"val" : 25.0
},
"throw_equal_thickness" : true
}'
PATCH /public/api/v1/interpretations/78d5a9f6-1eec-4e77-9123-45b2eacd6407/segments?horizontal_scale=MD HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 259
{
"uuid" : "b0ef967e-a4e6-4e90-ad63-f72b3fb337dc",
"md" : {
"val" : 1500.0
},
"vs" : {
"val" : 750.0
},
"dip" : {
"val" : 60.0
},
"dip_equal_thickness" : false,
"throw" : {
"val" : 25.0
},
"throw_equal_thickness" : true
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 4c56fe1f9ae298ac5e576f6ba9e76874
PATCH /public/api/v1/interpretations/{uuid}/segments
| Path parameter | Description |
|---|---|
uuid |
Interpretation UUID |
| Parameter | Description |
|---|---|
horizontal_scale |
Horizontal scale for segment calculations. Available values: MD, THL, VS |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
uuid |
String |
Segment UUID |
md.val |
Number |
Measured depth value in project units |
vs.val |
Number |
Vertical section value in project units |
dip.val |
Number |
Dip value in degrees |
dip_equal_thickness |
Boolean |
If true, dip is calculated with equal thickness |
throw.val |
Number |
Throw value in project units |
throw_equal_thickness |
Boolean |
If true, throw is calculated with equal thickness |
Response body
Empty body
Delete interpretation segment
Delete segment by interpretation UUID
Request
$ curl 'https://solo.cloud/public/api/v1/interpretations/ce44a46c-f523-4b07-a3c7-aa3c10b04953/segments/c1bcfbf2-2d77-4877-a592-186848f30878' -i -X DELETE \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
DELETE /public/api/v1/interpretations/ce44a46c-f523-4b07-a3c7-aa3c10b04953/segments/c1bcfbf2-2d77-4877-a592-186848f30878 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: da27271960e4f3ad483fd97a3a804c8e
DELETE /public/api/v1/interpretations/{uuid}/segments/{segmentUuid}
| Path parameter | Description |
|---|---|
uuid |
Interpretation UUID |
segmentUuid |
Segment UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
Empty body
Lock interpretation
Lock interpretation by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/interpretations/b5e3d9bb-d528-46b4-94c1-72b64938c1bb/lock' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/interpretations/b5e3d9bb-d528-46b4-94c1-72b64938c1bb/lock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 7592bc019e134e4f11aa75f79705209b
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/50604b31-6470-4c06-a3ce-3d840c5e002d/unlock' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/interpretations/50604b31-6470-4c06-a3ce-3d840c5e002d/unlock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 0558577b8b97d65e78dc1ea68b314c56
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/17fcb65e-bd9c-465a-bae1-2ce41474a18e/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/17fcb65e-bd9c-465a-bae1-2ce41474a18e/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: 6ba9dfe1c6faa9edcbc4fd9452c65de8
Content-Type: application/json
{
"content" : [ {
"name" : "Test horizon 1",
"uuid" : "e13cdd9f-cb8d-450a-8c83-68de3e3d9ef7"
}, {
"name" : "Test horizon 2",
"uuid" : "c3d5a916-508e-40b8-a8f2-c985242530a2"
}, {
"name" : "Test horizon 3",
"uuid" : "0be7b97b-c561-4235-a38e-d8c5489b47c2"
} ],
"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/e2b5b596-31f8-4dbb-b8c9-d3944ac58578/horizons/data/spacing/5000' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/interpretations/e2b5b596-31f8-4dbb-b8c9-d3944ac58578/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: 527421ead81cd0b54ce0bca3fe77d45d
Content-Type: application/json
{
"content" : [ {
"azimuth" : {
"val" : 71.543
},
"horizons" : [ {
"name" : "!new Hor",
"tvdss" : {
"val" : 22.965879265091868
},
"uuid" : "5a7f9cea-8494-420a-a8b6-f8030062b865"
}, {
"name" : "Horizon1",
"tvdss" : {
"val" : -3257.8740157480324
},
"uuid" : "d9b653c3-b86e-4c32-8db0-ebc36e79204f"
} ],
"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" : "5a7f9cea-8494-420a-a8b6-f8030062b865"
}, {
"name" : "Horizon1",
"tvdss" : {
"val" : -3257.8740157480324
},
"uuid" : "d9b653c3-b86e-4c32-8db0-ebc36e79204f"
} ],
"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/d71b8789-e866-4244-a4c2-09ede5bcc40e/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/d71b8789-e866-4244-a4c2-09ede5bcc40e/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: 1f837b54a91c109b325a8d9386b5bab8
Content-Type: application/json
{
"content" : [ {
"azimuth" : {
"val" : 71.543
},
"horizons" : [ {
"name" : "!new Hor",
"tvdss" : {
"val" : 22.965879265091868
},
"uuid" : "5a7f9cea-8494-420a-a8b6-f8030062b865"
}, {
"name" : "Horizon1",
"tvdss" : {
"val" : -3257.8740157480324
},
"uuid" : "d9b653c3-b86e-4c32-8db0-ebc36e79204f"
} ],
"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" : "5a7f9cea-8494-420a-a8b6-f8030062b865"
}, {
"name" : "Horizon1",
"tvdss" : {
"val" : -3257.8740157480324
},
"uuid" : "d9b653c3-b86e-4c32-8db0-ebc36e79204f"
} ],
"inclination" : {
"val" : 1.33
},
"kb" : {
"val" : 22.965879265091868
},
"md" : {
"val" : 3280.839895013124
},
"tvt" : {
"val" : 3280.0196063852154
},
"vs_azim" : {
"azimuth" : {
"val" : 0
},
"vs" : {
"val" : -60.07861128428071
}
},
"well_name" : "Lateral",
"x" : {
"val" : 53.715600823725445
},
"y" : {
"val" : -27.270212334149477
},
"z" : {
"val" : -3257.0537271201238
}
} ],
"interpretation" : {
"name" : "Interpretation",
"uuid" : "e2b5b596-31f8-4dbb-b8c9-d3944ac58578"
},
"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/44089b0f-7f41-4e34-ad19-c320bc9f2b21/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/44089b0f-7f41-4e34-ad19-c320bc9f2b21/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: e1244ffb38bd4f2aa560d2629d18f63b
Content-Type: application/json
{
"uuid" : "4b1ce578-4d78-4f8d-98cf-22487eca3f45"
}
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/f197d57a-d050-48ab-92a5-79c6e2455942/nestedwells?offset=0&limit=10&filter=oNe' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/f197d57a-d050-48ab-92a5-79c6e2455942/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: 6d2c36af7cf299477e10da22837b7c17
Content-Type: application/json
{
"content" : [ {
"uuid" : "ae96146a-6593-4256-8fdd-1a216550dcfe",
"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/9cc8972b-4347-4a56-b495-e238b787d967' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/nestedwells/9cc8972b-4347-4a56-b495-e238b787d967 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: e535875c7c747cfbaa75d1380944534a
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 ellipses
Get nested well ellipses data by nested well UUID
Request
$ curl 'https://solo.cloud/public/api/v1/nestedwells/c897efc2-fbde-4979-a980-f3e07272eac3/ellipses' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/nestedwells/c897efc2-fbde-4979-a980-f3e07272eac3/ellipses HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: c45b7750db05f27a0b8d06bbfebff03c
Content-Type: application/json
{
"content" : [ {
"index" : 10.0,
"value" : {
"nev" : [ 14.99, 98.23, 41.2, 67.78, 23.89, 12.31, 55.43, 11.23, 34.33 ],
"messages" : [ ]
}
} ]
}
GET /public/api/v1/nestedwells/{nestedWellUuid}/ellipses
| Path parameter | Description |
|---|---|
nestedWellUuid |
Nested well UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Ellipses points array |
content[].index |
Number |
Measured Depth value |
content[].value.nev |
Array |
Ellipse attributes |
content[].value.messages |
Array |
Comments |
Get starred topset
Get starred topset by nested well UUID
Request
$ curl 'https://solo.cloud/public/api/v1/nestedwells/2e442623-9787-4e56-aa06-de3eb04e4b96/starred' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/nestedwells/2e442623-9787-4e56-aa06-de3eb04e4b96/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: 8557785471b54c7b260900b0e740f415
Content-Type: application/json
{
"topset" : "8d694b5b-8182-41be-91e0-e256adee9c1d"
}
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/a9d76967-c265-4bce-a0c1-7aa1a676b78c' -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/a9d76967-c265-4bce-a0c1-7aa1a676b78c 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: a0591878b9e329b079885cad020b23de
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
Set starred topset
Set starred topset by nested well UUID
Request
$ curl 'https://solo.cloud/public/api/v1/nestedwells/7cc01793-9bd3-45ea-9513-303314e410a5/starred' -i -X PUT \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"topset" : "f48b0f46-1809-4729-8a6f-c605397abff6"
}'
PUT /public/api/v1/nestedwells/7cc01793-9bd3-45ea-9513-303314e410a5/starred HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 55
{
"topset" : "f48b0f46-1809-4729-8a6f-c605397abff6"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: cbb53c337570c3bd4a80fc7e9b0ca163
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/ea5c692b-3cf2-4170-9f80-4c632d8d30cd/lock' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/nestedwells/ea5c692b-3cf2-4170-9f80-4c632d8d30cd/lock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 00e8edd431735b47e34312ac3fe0a2c1
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/36113ef1-f026-4958-a09e-1fadbcca5a10/unlock' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/nestedwells/36113ef1-f026-4958-a09e-1fadbcca5a10/unlock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: f01b09ba84bd730bc00c2159db8b5173
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/40476556-f0af-40fe-82ad-f6cdf28641da/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/40476556-f0af-40fe-82ad-f6cdf28641da/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: cfb7e64f294abecea67729ccb419d502
Content-Type: application/json
{
"uuid" : "8c6bdc2a-f083-4776-9e00-e40ddb7cd27c"
}
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/40476556-f0af-40fe-82ad-f6cdf28641da/typewells?offset=0&limit=10&filter=oNe' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/projects/40476556-f0af-40fe-82ad-f6cdf28641da/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: aa0f189150e7a65a17f04f161447581f
Content-Type: application/json
{
"content" : [ {
"uuid" : "9185740c-4ee0-4697-bb24-5be9db8b2e01",
"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/c09cd3da-608b-4a10-b018-5bf0516e25b6' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/typewells/c09cd3da-608b-4a10-b018-5bf0516e25b6 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: f9f3bd22c9918bd71a7c042c5d6d4f6c
Content-Type: application/json
{
"uuid" : "c09cd3da-608b-4a10-b018-5bf0516e25b6",
"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 ellipses
Get typewell ellipses data by typewell UUID
Request
$ curl 'https://solo.cloud/public/api/v1/typewells/e8f1fc4b-86ed-4db4-abc9-132fce816098/ellipses' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/typewells/e8f1fc4b-86ed-4db4-abc9-132fce816098/ellipses HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 3681ca91ed24b249687d1d375a8c8907
Content-Type: application/json
{
"content" : [ {
"index" : 10.0,
"value" : {
"nev" : [ 14.99, 98.23, 41.2, 67.78, 23.89, 12.31, 55.43, 11.23, 34.33 ],
"messages" : [ ]
}
} ]
}
GET /public/api/v1/typewells/{typewellUuid}/ellipses
| Path parameter | Description |
|---|---|
typewellUuid |
Typewell UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Ellipses points array |
content[].index |
Number |
Measured Depth value |
content[].value.nev |
Array |
Ellipse attributes |
content[].value.messages |
Array |
Comments |
Get starred topset
Get starred topset by typewell UUID
Request
$ curl 'https://solo.cloud/public/api/v1/typewells/c09cd3da-608b-4a10-b018-5bf0516e25b6/starred' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/typewells/c09cd3da-608b-4a10-b018-5bf0516e25b6/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: f9145f7bcf45730ff29654781a35a801
Content-Type: application/json
{
"topset" : "e16abe37-5670-4af9-9a5d-946485549c4d"
}
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/7417622d-41ef-4cbf-bd8f-c9927bd0c0f1/linked?offset=0&limit=10' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/typewells/7417622d-41ef-4cbf-bd8f-c9927bd0c0f1/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: 6a93c3fc67da147dba276c369309721e
Content-Type: application/json
{
"content" : [ {
"shift" : {
"val" : 1640.4199475065616
},
"lateral_id" : "50acae1c-42a8-441e-8569-126f397889b1"
} ],
"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/9185740c-4ee0-4697-bb24-5be9db8b2e01' -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/9185740c-4ee0-4697-bb24-5be9db8b2e01 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: 629056d3c35efd9e5e3cfe628fb4a9aa
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
Set starred topset
Set starred topset by typewell UUID
Request
$ curl 'https://solo.cloud/public/api/v1/typewells/c09cd3da-608b-4a10-b018-5bf0516e25b6/starred' -i -X PUT \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"topset" : "e16abe37-5670-4af9-9a5d-946485549c4d"
}'
PUT /public/api/v1/typewells/c09cd3da-608b-4a10-b018-5bf0516e25b6/starred HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 55
{
"topset" : "e16abe37-5670-4af9-9a5d-946485549c4d"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: f4899922ee8ac78e7f9e7b4a8a97c12d
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/257a62d3-ac31-4753-ab49-0ca25f6c2dd5/lock' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/typewells/257a62d3-ac31-4753-ab49-0ca25f6c2dd5/lock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 3c1b27ad8fe318be0f5876989d8f6878
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/46abf464-4dcd-457a-8647-aba740ba1d38/unlock' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/typewells/46abf464-4dcd-457a-8647-aba740ba1d38/unlock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 2d34b1d97f5b7350cc893012728a1be5
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/8e47bf64-90ef-431f-9b9f-18f40d035dbc/topsets' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Topset name"
}'
POST /public/api/v1/wells/8e47bf64-90ef-431f-9b9f-18f40d035dbc/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: c5d2dc8e1e2a40ea170c9ab5192ad122
Content-Type: application/json
{
"uuid" : "063774ce-e9d4-4201-848b-05aba49d8c6c"
}
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/d618d962-d271-475d-b28c-b3371ed1e84c/topsets' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Topset name"
}'
POST /public/api/v1/typewells/d618d962-d271-475d-b28c-b3371ed1e84c/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: ff9d2996f9a731c7000f3dab49a8e73b
Content-Type: application/json
{
"uuid" : "955c3597-05f1-4110-b34f-1f8ced415f2c"
}
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/ab6aa11c-cb31-4416-a3d7-b6fb42fbfb34/topsets' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Topset name"
}'
POST /public/api/v1/nestedwells/ab6aa11c-cb31-4416-a3d7-b6fb42fbfb34/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: 92f99570fe752a684f47428220cd7d5d
Content-Type: application/json
{
"uuid" : "3ac8df6a-8e48-41e9-89e2-ab5904700e18"
}
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/8e47bf64-90ef-431f-9b9f-18f40d035dbc/topsets?offset=0&limit=10' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/8e47bf64-90ef-431f-9b9f-18f40d035dbc/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: 3bfa84c2099ebd89792d0302b5027450
Content-Type: application/json
{
"content" : [ {
"name" : "C Log TopSet ZJARYqQnEB",
"uuid" : "1ace9e17-a2cb-4d5c-b84a-d77fdd0e9a37"
}, {
"name" : "D Well GailESAnAY",
"uuid" : "980dcf10-1240-4bcc-894e-6ead7e6d690f"
}, {
"name" : "Top Set",
"uuid" : "db9d78ee-9160-448f-810d-53c1c7659275"
}, {
"name" : "TopSetCDIqCMzZTV",
"uuid" : "73c408d0-2ed3-4e4e-81f0-77aaf24b6f05"
}, {
"name" : "TopSet Log medfXOpUsy",
"uuid" : "45b336d1-123e-494a-ae3f-92f5b0fd9552"
} ],
"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/d618d962-d271-475d-b28c-b3371ed1e84c/topsets?offset=0&limit=10' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/typewells/d618d962-d271-475d-b28c-b3371ed1e84c/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: f9d8a83e10b485c3cbe391a33454ac84
Content-Type: application/json
{
"content" : [ {
"name" : "C Log TopSet vrJAZMdlpY",
"uuid" : "18a962b6-1517-4d16-9b41-d5a22b61a780"
}, {
"name" : "D Well xFxuhOTLtv",
"uuid" : "49bf23f2-5ec1-469c-96a1-5fdb9428d107"
}, {
"name" : "TopSet Log cKKzPBqLkW",
"uuid" : "c3bee38d-b124-4b57-8a40-a87aecc635a4"
}, {
"name" : "TopSetRtTBAKZgPd",
"uuid" : "6d0b7188-d0b9-4c67-b47b-7b3791ca8abc"
} ],
"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/ab6aa11c-cb31-4416-a3d7-b6fb42fbfb34/topsets?offset=0&limit=10' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/nestedwells/ab6aa11c-cb31-4416-a3d7-b6fb42fbfb34/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: 2e9a6b652eeb6481ffe6165f85006e2b
Content-Type: application/json
{
"content" : [ {
"name" : "C Log TopSet upRXJiLATv",
"uuid" : "eed2d325-2892-4efa-9669-3a0f1fd96c97"
}, {
"name" : "D Well ZVMGfwUKXV",
"uuid" : "b25a43ef-3dce-4e40-817a-c6ab7c6f7ce7"
}, {
"name" : "TopSetjmyPaMlLmh",
"uuid" : "681276f7-9d43-4c9c-ba29-9f84949286ad"
}, {
"name" : "TopSet Log IYVLOPSDrk",
"uuid" : "22549d64-2039-46c4-a063-d97c847a025e"
}, {
"name" : "Topset name",
"uuid" : "3ac8df6a-8e48-41e9-89e2-ab5904700e18"
} ],
"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 zones by topset
Get zones by topset UUID
Request
$ curl 'https://solo.cloud/public/api/v1/topsets/db9d78ee-9160-448f-810d-53c1c7659275/zones?offset=0&limit=10' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/topsets/db9d78ee-9160-448f-810d-53c1c7659275/zones?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: 124fea17701e1b0748175dc9780ec898
Content-Type: application/json
{
"content" : [ {
"name" : "zone1",
"top_start" : "start",
"top_end" : "end",
"zone_id" : "fe787bd3-a09f-4604-9dd4-6193e4085734"
} ],
"offset" : 0,
"limit" : 10,
"total" : 1,
"last" : true,
"first" : true
}
GET /public/api/v1/topsets/{uuid}/zones
| Path parameter | Description |
|---|---|
uuid |
Topset UUID |
| 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[].zone_id |
String |
Zone UUID |
content[].name |
String |
Zone name |
content[].top_start |
String |
Start top |
content[].top_end |
String |
End top |
content[].from_tvd_offset |
Number |
TVD offset (from) |
content[].to_tvd_offset |
Number |
TVD offset (to) |
Get starred objects
Get starred objects by topset UUID
Request
$ curl 'https://solo.cloud/public/api/v1/topsets/db9d78ee-9160-448f-810d-53c1c7659275/starred' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/topsets/db9d78ee-9160-448f-810d-53c1c7659275/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: b760bcb258efc589699fd3adc16c96f7
Content-Type: application/json
{
"top" : "1bb085ec-0ab0-4fc3-aefa-2342d16f6ed7",
"center" : "d4cc404b-52a0-46b4-9efd-cf37a0984090",
"bottom" : "b6980178-5c88-4c2a-9f10-40f6992bf85d"
}
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/db9d78ee-9160-448f-810d-53c1c7659275/starred' -i -X PUT \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"top" : "1bb085ec-0ab0-4fc3-aefa-2342d16f6ed7",
"center" : "d4cc404b-52a0-46b4-9efd-cf37a0984090",
"bottom" : "b6980178-5c88-4c2a-9f10-40f6992bf85d"
}'
PUT /public/api/v1/topsets/db9d78ee-9160-448f-810d-53c1c7659275/starred HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 158
{
"top" : "1bb085ec-0ab0-4fc3-aefa-2342d16f6ed7",
"center" : "d4cc404b-52a0-46b4-9efd-cf37a0984090",
"bottom" : "b6980178-5c88-4c2a-9f10-40f6992bf85d"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 5ace80db800e6e1da7524bff83cda681
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/db9d78ee-9160-448f-810d-53c1c7659275' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "New topset name"
}'
PATCH /public/api/v1/topsets/db9d78ee-9160-448f-810d-53c1c7659275 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: 8f7e820433573956ffcec4c0f93bcb7a
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/db9d78ee-9160-448f-810d-53c1c7659275/lock' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/topsets/db9d78ee-9160-448f-810d-53c1c7659275/lock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 7662f443ca1fc8065a4cf8401d2bafd4
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/db9d78ee-9160-448f-810d-53c1c7659275/unlock' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>'
PATCH /public/api/v1/topsets/db9d78ee-9160-448f-810d-53c1c7659275/unlock HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 6392b66e94c78387edbbd89b4778547b
PATCH /public/api/v1/topsets/{uuid}/unlock
| Path parameter | Description |
|---|---|
uuid |
Topset UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
Empty body
Delete topset
Delete topset by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/topsets/db9d78ee-9160-448f-810d-53c1c7659275' -i -X DELETE \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
DELETE /public/api/v1/topsets/db9d78ee-9160-448f-810d-53c1c7659275 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: 94f4862e8299c599ae3a7fb4d0e4309b
DELETE /public/api/v1/topsets/{uuid}
| Path parameter | Description |
|---|---|
uuid |
Topset UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
Empty body
8. Tops
Create top
Create top by topset UUID
Request
$ curl 'https://solo.cloud/public/api/v1/topsets/7889a71d-e7aa-4e96-805f-c7e882280b4d/tops' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Top name",
"md" : {
"val" : 100.5
},
"dip" : {
"val" : 45.0
},
"azimuth" : {
"val" : 180.0
},
"dip_classification" : "bedding",
"confidence" : {
"val" : 0.95
},
"source" : "manual",
"model_info" : "human"
}'
POST /public/api/v1/topsets/7889a71d-e7aa-4e96-805f-c7e882280b4d/tops HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 258
{
"name" : "Top name",
"md" : {
"val" : 100.5
},
"dip" : {
"val" : 45.0
},
"azimuth" : {
"val" : 180.0
},
"dip_classification" : "bedding",
"confidence" : {
"val" : 0.95
},
"source" : "manual",
"model_info" : "human"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 6ef369128cd7e2869c5eb77bb99fe154
Content-Type: application/json
{
"uuid" : "1bac3712-4b17-44ad-9920-cc943270e00a"
}
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 |
dip |
Object |
Dip. If present val is set, otherwise undefined is true |
dip.val |
Number |
Dip value in degrees (must be in [0;90] range) |
dip.undefined |
Boolean |
Set to true if dip is undefined |
azimuth |
Object |
Azimuth. If present val is set, otherwise undefined is true |
azimuth.val |
Number |
Azimuth value in degrees (must be in [0;360) range) |
azimuth.undefined |
Boolean |
Set to true if azimuth is undefined |
dip_classification |
String |
Dip classification (must be null or one of: bedding, thin_bed, fault, fracture_open, fracture_healed, fracture_induced) |
confidence |
Object |
Confidence. If present val is set, otherwise undefined is true |
confidence.val |
Number |
Confidence value (must be in [0;1] range) |
confidence.undefined |
Boolean |
Set to true if confidence is undefined |
source |
String |
Top source (must be null or one of: manual, ai) |
model_info |
String |
Model info |
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/9c2d78da-3dcc-465f-8609-990e0a5c0677/tops?offset=0&limit=20' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/topsets/9c2d78da-3dcc-465f-8609-990e0a5c0677/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: 0c310de38a15f25489f79d1d03f4a500
Content-Type: application/json
{
"content" : [ {
"uuid" : "d3a2051f-6540-40ef-81c5-05fe055c7588",
"name" : "Top",
"topset_name" : "Top Set",
"md" : {
"val" : 9.84251968503937
},
"dip" : {
"val" : 114.59155902616465
},
"azimuth" : {
"val" : 57.29577951308232
},
"dip_classification" : "dip classification",
"confidence" : {
"val" : 0.5
},
"source" : "source",
"model_info" : "model info"
}, {
"uuid" : "a645837f-9558-483f-a6aa-a5ef595aabea",
"name" : "Update Top",
"topset_name" : "Top Set",
"md" : {
"val" : 13.123359580052492
},
"dip" : {
"val" : 171.88733853924697
},
"azimuth" : {
"val" : 114.59155902616465
},
"dip_classification" : "update dip classification",
"confidence" : {
"val" : 0.5
},
"source" : "update source",
"model_info" : "update model info"
} ],
"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 |
content[].dip.val |
Number |
Dip value in project units |
content[].azimuth.val |
Number |
Azimuth value in project units |
content[].dip_classification |
String |
Dip classification |
content[].confidence.val |
Number |
Confidence value |
content[].source |
String |
Source |
content[].model_info |
String |
Model info |
Get tops by lateral
Get a list of tops by lateral UUID with pagination
Request
$ curl 'https://solo.cloud/public/api/v1/wells/084761ac-7014-4da2-b889-e3b6ed91931f/tops?offset=0&limit=20' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/084761ac-7014-4da2-b889-e3b6ed91931f/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: 5046847d2f54bfd1193ace8da5fa5bbf
Content-Type: application/json
{
"content" : [ {
"uuid" : "d57abb2f-84da-466b-807c-2ac40f4cac6e",
"name" : "Top",
"topset_name" : "Top Set",
"md" : {
"val" : 9.84251968503937
},
"dip" : {
"val" : 114.59155902616465
},
"azimuth" : {
"val" : 57.29577951308232
},
"dip_classification" : "dip classification",
"confidence" : {
"val" : 0.5
},
"source" : "source",
"model_info" : "model info"
}, {
"uuid" : "78912e90-0101-4056-99c2-84bf1794303a",
"name" : "Update Top",
"topset_name" : "Top Set",
"md" : {
"val" : 13.123359580052492
},
"dip" : {
"val" : 171.88733853924697
},
"azimuth" : {
"val" : 114.59155902616465
},
"dip_classification" : "update dip classification",
"confidence" : {
"val" : 0.5
},
"source" : "update source",
"model_info" : "update model info"
} ],
"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 |
content[].dip.val |
Number |
Dip value in project units |
content[].azimuth.val |
Number |
Azimuth value in project units |
content[].dip_classification |
String |
Dip classification |
content[].confidence.val |
Number |
Confidence value |
content[].source |
String |
Source |
content[].model_info |
String |
Model info |
Get tops by typewell
Get a list of tops by typewell UUID with pagination
Request
$ curl 'https://solo.cloud/public/api/v1/typewells/19ecb981-6424-4893-9cd1-4617f65634d3/tops?offset=0&limit=20' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/typewells/19ecb981-6424-4893-9cd1-4617f65634d3/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: e4fe255960b06531379a1ae8523bc233
Content-Type: application/json
{
"content" : [ {
"uuid" : "58bad18f-047a-4951-9c8e-436fbb67e5cd",
"name" : "Top",
"topset_name" : "Top Set",
"md" : {
"val" : 9.84251968503937
},
"dip" : {
"val" : 114.59155902616465
},
"azimuth" : {
"val" : 57.29577951308232
},
"dip_classification" : "dip classification",
"confidence" : {
"val" : 0.5
},
"source" : "source",
"model_info" : "model info"
}, {
"uuid" : "c0d0362b-d108-48e6-9ce6-fba0da97e4e1",
"name" : "Update Top",
"topset_name" : "Top Set",
"md" : {
"val" : 13.123359580052492
},
"dip" : {
"val" : 171.88733853924697
},
"azimuth" : {
"val" : 114.59155902616465
},
"dip_classification" : "update dip classification",
"confidence" : {
"val" : 0.5
},
"source" : "update source",
"model_info" : "update model info"
} ],
"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 |
content[].dip.val |
Number |
Dip value in project units |
content[].azimuth.val |
Number |
Azimuth value in project units |
content[].dip_classification |
String |
Dip classification |
content[].confidence.val |
Number |
Confidence value |
content[].source |
String |
Source |
content[].model_info |
String |
Model info |
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/e316f1b0-d4b4-4945-8e71-41b4e6fcc792/tops?offset=0&limit=20' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/nestedwells/e316f1b0-d4b4-4945-8e71-41b4e6fcc792/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: d4faf0bb7da0b853dedcf9acc7e08841
Content-Type: application/json
{
"content" : [ {
"uuid" : "ad70d51a-2818-4566-ab29-a4d95984597a",
"name" : "Top",
"topset_name" : "Top Set",
"md" : {
"val" : 9.84251968503937
},
"dip" : {
"val" : 114.59155902616465
},
"azimuth" : {
"val" : 57.29577951308232
},
"dip_classification" : "dip classification",
"confidence" : {
"val" : 0.5
},
"source" : "source",
"model_info" : "model info"
}, {
"uuid" : "d7534498-eb15-4bc7-bb24-bf631d6a9ad6",
"name" : "Update Top",
"topset_name" : "Top Set",
"md" : {
"val" : 13.123359580052492
},
"dip" : {
"val" : 171.88733853924697
},
"azimuth" : {
"val" : 114.59155902616465
},
"dip_classification" : "update dip classification",
"confidence" : {
"val" : 0.5
},
"source" : "update source",
"model_info" : "update model info"
} ],
"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 |
content[].dip.val |
Number |
Dip value in project units |
content[].azimuth.val |
Number |
Azimuth value in project units |
content[].dip_classification |
String |
Dip classification |
content[].confidence.val |
Number |
Confidence value |
content[].source |
String |
Source |
content[].model_info |
String |
Model info |
Update top
Update top by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/tops/78912e90-0101-4056-99c2-84bf1794303a' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "New top name",
"md" : {
"val" : 999.5
},
"dip" : {
"val" : 90.0
},
"azimuth" : {
"val" : 359.999
},
"dip_classification" : "thin_bed",
"confidence" : {
"val" : 0.98
},
"source" : "ai",
"model_info" : "model-v1"
}'
PATCH /public/api/v1/tops/78912e90-0101-4056-99c2-84bf1794303a HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 264
{
"name" : "New top name",
"md" : {
"val" : 999.5
},
"dip" : {
"val" : 90.0
},
"azimuth" : {
"val" : 359.999
},
"dip_classification" : "thin_bed",
"confidence" : {
"val" : 0.98
},
"source" : "ai",
"model_info" : "model-v1"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 8b86dadd4c4af1fc706db47549627eb0
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 |
dip |
Object |
Dip. If present val is set, otherwise undefined is true |
dip.val |
Number |
Dip value in degrees (must be in [0;90] range) |
dip.undefined |
Boolean |
Set to true if dip is undefined |
azimuth |
Object |
Azimuth. If present val is set, otherwise undefined is true |
azimuth.val |
Number |
Azimuth value in degrees (must be in [0;360) range) |
azimuth.undefined |
Boolean |
Set to true if azimuth is undefined |
dip_classification |
String |
Dip classification (must be null or one of: bedding, thin_bed, fault, fracture_open, fracture_healed, fracture_induced) |
confidence |
Object |
Confidence. If present val is set, otherwise undefined is true |
confidence.val |
Number |
Confidence value (must be in [0;1] range) |
confidence.undefined |
Boolean |
Set to true if confidence is undefined |
source |
String |
Top source (must be null or one of: manual, ai) |
model_info |
String |
Model info |
Response body
Empty body
Delete top
Delete top by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/tops/78912e90-0101-4056-99c2-84bf1794303a' -i -X DELETE \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
DELETE /public/api/v1/tops/78912e90-0101-4056-99c2-84bf1794303a 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: 69f9f0980be75ee9d29eaf1225397380
DELETE /public/api/v1/tops/{uuid}
| Path parameter | Description |
|---|---|
uuid |
Top UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
Empty body
9. Target lines
Create target line
Create target line by lateral UUID
Request
$ curl 'https://solo.cloud/public/api/v1/wells/19d8b35d-56a7-4de8-b64b-477a052daa61/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/19d8b35d-56a7-4de8-b64b-477a052daa61/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: 2d8e76ff0019952570462680eb65e996
Content-Type: application/json
{
"uuid" : "48e7b638-3966-47c4-8577-89e28417cc71"
}
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/b861103e-37ae-41d7-9341-c3b465845168/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/b861103e-37ae-41d7-9341-c3b465845168/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: 97769f17bdbfc742f49d204d64824439
Content-Type: application/json
{
"uuid" : "809fdd79-60a7-4c62-a03a-8b170a91b832"
}
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/fcfabdc7-8040-432a-a847-567cc9aedea2/targetlines?offset=0&limit=20' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/fcfabdc7-8040-432a-a847-567cc9aedea2/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: 972aa8bb66d5c54098694c14479ff840
Content-Type: application/json
{
"content" : [ {
"uuid" : "6cb80995-e84a-46a1-a03e-a51d2a3da875",
"name" : "Target Line",
"waypoints" : [ {
"name" : "Origin",
"order" : 0,
"x" : {
"val" : 3.280839895013123
},
"y" : {
"val" : 6.561679790026246
},
"z" : {
"val" : 9.84251968503937
},
"top_corridor_tvd" : {
"undefined" : true
},
"base_corridor_tvd" : {
"undefined" : true
},
"left_corridor" : {
"undefined" : true
},
"right_corridor" : {
"undefined" : true
},
"break" : false
}, {
"name" : "Target",
"order" : 1,
"x" : {
"val" : 13.123359580052492
},
"y" : {
"val" : 16.404199475065617
},
"z" : {
"val" : 19.68503937007874
},
"top_corridor_tvd" : {
"val" : 25.0
},
"base_corridor_tvd" : {
"val" : 25.0
},
"left_corridor" : {
"val" : 25.0
},
"right_corridor" : {
"val" : 25.0
},
"break" : false
} ]
}, {
"uuid" : "cf157e80-0a69-4b0c-b3e5-eb26b03a1470",
"name" : "Update Target Line",
"waypoints" : [ {
"name" : "Origin",
"order" : 0,
"x" : {
"val" : 36.41732283464567
},
"y" : {
"val" : 39.69816272965879
},
"z" : {
"val" : 42.979002624671914
},
"top_corridor_tvd" : {
"undefined" : true
},
"base_corridor_tvd" : {
"undefined" : true
},
"left_corridor" : {
"undefined" : true
},
"right_corridor" : {
"undefined" : true
},
"break" : false
}, {
"name" : "Target",
"order" : 1,
"x" : {
"val" : 46.25984251968504
},
"y" : {
"val" : 49.54068241469816
},
"z" : {
"val" : 52.82152230971129
},
"top_corridor_tvd" : {
"val" : 28.608923884514432
},
"base_corridor_tvd" : {
"val" : 28.608923884514432
},
"left_corridor" : {
"val" : 25.0
},
"right_corridor" : {
"val" : 25.0
},
"break" : false
} ]
} ],
"offset" : 0,
"limit" : 20,
"total" : 2,
"last" : true,
"first" : true
}
GET /public/api/v1/wells/{uuid}/targetlines
| Path parameter | Description |
|---|---|
uuid |
Lateral UUID |
| Parameter | Description |
|---|---|
offset |
Index of the first record to return by a request from the list of all records |
limit |
Maximum number of records to return by a request from the list of all records, starting with 'offset' |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Content array |
offset |
Number |
Index of the first record returned by a request from the list of all records |
limit |
Number |
Maximum number of records returned by a request from the list of all records, starting with 'offset' |
total |
Number |
Total number of records |
first |
Boolean |
true if the current records range is the first, otherwise – false |
last |
Boolean |
true if the current records range is the last, otherwise – false |
content[].uuid |
String |
Target line UUID |
content[].name |
String |
Target line name |
content[].waypoints |
Array |
Target line waypoints list |
content[].waypoints[].name |
String |
Waypoint name |
content[].waypoints[].order |
Number |
Order of the waypoint in the list |
content[].waypoints[].x.val |
Number |
Waypoint X coordinate (project units) |
content[].waypoints[].y.val |
Number |
Waypoint Y coordinate (project units) |
content[].waypoints[].z.val |
Number |
Waypoint Z coordinate (project units) |
content[].waypoints[].top_corridor_tvd |
Object |
Waypoint top corridor TVD. If present val is set, otherwise undefined is true |
content[].waypoints[].top_corridor_tvd.val |
Number |
Waypoint top corridor TVD value (project units) |
content[].waypoints[].base_corridor_tvd |
Object |
Waypoint base corridor TVD. If present val is set, otherwise undefined is true |
content[].waypoints[].base_corridor_tvd.val |
Number |
Waypoint base corridor TVD value (project units) |
content[].waypoints[].left_corridor |
Object |
Waypoint left corridor. If present val is set, otherwise undefined is true |
content[].waypoints[].left_corridor.val |
Number |
Waypoint left corridor value (project units) |
content[].waypoints[].right_corridor |
Object |
Waypoint right corridor. If present val is set, otherwise undefined is true |
content[].waypoints[].right_corridor.val |
Number |
Waypoint right corridor value (project units) |
content[].waypoints[].break |
Boolean |
Is the waypoint break point or not |
Get target line data
Get a list of target line data by target line UUID
Request
$ curl 'https://solo.cloud/public/api/v1/targetlines/6c127022-9e1a-475e-ab5e-e32d843a600b/data' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/targetlines/6c127022-9e1a-475e-ab5e-e32d843a600b/data HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: fa50850955239ab42bbd9cfe377d35d2
Content-Type: application/json
{
"content" : [ {
"azimuth" : {
"val" : 45
},
"delta_tvd" : {
"val" : -9.842519685039372
},
"delta_vs" : {
"val" : 9.842519685039374
},
"inclination" : {
"val" : 125.26438968275465
},
"length" : {
"val" : 17.047744168985016
},
"name" : "Target Line",
"origin_base_corridor_tvd" : {
"val" : 38.1233595800525
},
"origin_md" : {
"val" : 1594.0953719875106
},
"origin_top_corridor_tvd" : {
"val" : -11.876640419947508
},
"origin_tvd" : {
"val" : 13.123359580052496
},
"origin_vs" : {
"val" : -26.246719160104988
},
"origin_x" : {
"val" : 3.280839895013124
},
"origin_y" : {
"val" : 6.561679790026248
},
"origin_z" : {
"val" : 9.842519685039372
},
"target_base_corridor_tvd" : {
"val" : 28.280839895013127
},
"target_md" : {
"val" : 1106.7125786029799
},
"target_top_corridor_tvd" : {
"val" : -21.71916010498688
},
"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" : "6c127022-9e1a-475e-ab5e-e32d843a600b"
} ]
}
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/6a6849f8-a651-4e81-9c37-19b7ee2cf0fc/targetlines/data?offset=0&limit=20' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/6a6849f8-a651-4e81-9c37-19b7ee2cf0fc/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: 0bdd667762b260c7424559bb2b52a5ca
Content-Type: application/json
{
"content" : [ {
"azimuth" : {
"val" : 45
},
"delta_tvd" : {
"val" : -9.842519685039372
},
"delta_vs" : {
"val" : 9.842519685039374
},
"inclination" : {
"val" : 125.26438968275465
},
"length" : {
"val" : 17.047744168985016
},
"name" : "Target Line",
"origin_base_corridor_tvd" : {
"val" : 38.1233595800525
},
"origin_md" : {
"val" : 1594.0953719875106
},
"origin_top_corridor_tvd" : {
"val" : -11.876640419947508
},
"origin_tvd" : {
"val" : 13.123359580052496
},
"origin_vs" : {
"val" : -26.246719160104988
},
"origin_x" : {
"val" : 3.280839895013124
},
"origin_y" : {
"val" : 6.561679790026248
},
"origin_z" : {
"val" : 9.842519685039372
},
"target_base_corridor_tvd" : {
"val" : 28.280839895013127
},
"target_md" : {
"val" : 1106.7125786029799
},
"target_top_corridor_tvd" : {
"val" : -21.71916010498688
},
"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" : "433617c2-f6eb-44ee-bee5-242c562bf237"
} ],
"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/bd6b8fd6-75f9-43fd-a842-b452ead158c5/targetlines/starred' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/bd6b8fd6-75f9-43fd-a842-b452ead158c5/targetlines/starred HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 3fd6d0a8fe24e8485b33538cb42bcfb0
Content-Type: application/json
{
"name" : "Target Line",
"uuid" : "926944fe-da87-4322-926f-17b3a9c3f433"
}
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/2ec1508f-cb60-432e-bfdb-ca7dcf53afe7' -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/2ec1508f-cb60-432e-bfdb-ca7dcf53afe7 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: 17bc2b1f093ca0ff7d87981ed1de9c71
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/a3bd9903-d40d-4b6e-9a87-175d85bed7de/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/a3bd9903-d40d-4b6e-9a87-175d85bed7de/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: 9c6ff855430809ba299a933a8a7c59c9
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/5d1a51e3-c469-4786-833c-ff9f1374dc4f' -i -X DELETE \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
DELETE /public/api/v1/targetlines/5d1a51e3-c469-4786-833c-ff9f1374dc4f 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: 42a7a5809ea63e80a9354f7957705373
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/567724e9-b649-4484-8a90-b924f401a81f/logs' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Log name"
}'
POST /public/api/v1/wells/567724e9-b649-4484-8a90-b924f401a81f/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: 4a213b5edc88081af95d39b0f46ed29f
Content-Type: application/json
{
"uuid" : "7474ce3d-2ba7-4d86-9a05-8d5cf87cbf5c"
}
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/9f329951-d2f1-46aa-b686-155fe7d2b141/logs' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Log name"
}'
POST /public/api/v1/typewells/9f329951-d2f1-46aa-b686-155fe7d2b141/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: cbbcef1620b1d31aba751af73bacaac2
Content-Type: application/json
{
"uuid" : "6a53f18d-31b9-4b91-9909-461e60bb1c89"
}
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/cdb7803c-6334-4057-82ad-e9456cc0428a/logs?offset=0&limit=10&filter=mMa' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/cdb7803c-6334-4057-82ad-e9456cc0428a/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: 81da376d224f1bf9a62bc5c4a074b963
Content-Type: application/json
{
"content" : [ {
"uuid" : "b343a55a-813c-408b-826b-2e39a3cb789d",
"name" : "Gamma Ray",
"is_discrete" : false
}, {
"uuid" : "9ff6e3bb-0bf8-407b-9946-b96f051fb644",
"name" : "Gamma Discrete",
"is_discrete" : true,
"discrete_log_palette" : {
"palette_pairs" : [ {
"palette" : {
"name" : "Name 1",
"color" : "#ffffff00"
},
"discrete_value" : 1
}, {
"palette" : {
"name" : "Name 2",
"color" : "#ff008000"
},
"discrete_value" : 2
}, {
"palette" : {
"name" : "Name 3",
"color" : "#ff000000"
},
"discrete_value" : 3
}, {
"palette" : {
"name" : "Name 4",
"color" : "#ff00bfff"
},
"discrete_value" : 4
} ],
"out_of_range_color" : "#ff8f9ac1"
}
} ],
"offset" : 0,
"limit" : 10,
"total" : 2,
"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[].is_discrete |
Boolean |
true for discrete logs, otherwise false |
content[].discrete_log_palette |
Object |
Discrete log palette settings |
content[].discrete_log_palette.palette_pairs |
Array |
Palette mappings for discrete values |
content[].discrete_log_palette.palette_pairs[].palette |
Object |
Palette description |
content[].discrete_log_palette.palette_pairs[].palette.name |
String |
Palette item name |
content[].discrete_log_palette.palette_pairs[].palette.color |
String |
Palette item color |
content[].discrete_log_palette.palette_pairs[].discrete_value |
Number |
Discrete value mapped to the palette item |
content[].discrete_log_palette.out_of_range_color |
String |
Out-of-range color for discrete log palette |
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/cb193f81-96d4-4c7f-8840-956dabcf450e/logs?offset=0&limit=10&filter=mMa' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/typewells/cb193f81-96d4-4c7f-8840-956dabcf450e/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: b964c146036b83c16d41d2f81a77b25b
Content-Type: application/json
{
"content" : [ {
"uuid" : "0e9a198e-9051-440f-8bc4-e82ef3d1bc50",
"name" : "Gamma Ray",
"is_discrete" : false
}, {
"uuid" : "573120c5-efd3-4e8f-9526-db55d6613173",
"name" : "Gamma Discrete",
"is_discrete" : true,
"discrete_log_palette" : {
"palette_pairs" : [ {
"palette" : {
"name" : "Name 1",
"color" : "#ffffff00"
},
"discrete_value" : 1
}, {
"palette" : {
"name" : "Name 2",
"color" : "#ff008000"
},
"discrete_value" : 2
}, {
"palette" : {
"name" : "Name 3",
"color" : "#ff000000"
},
"discrete_value" : 3
}, {
"palette" : {
"name" : "Name 4",
"color" : "#ff00bfff"
},
"discrete_value" : 4
} ],
"out_of_range_color" : "#ff8f9ac1"
}
} ],
"offset" : 0,
"limit" : 10,
"total" : 2,
"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[].is_discrete |
Boolean |
true for discrete logs, otherwise false |
content[].discrete_log_palette |
Object |
Discrete log palette settings |
content[].discrete_log_palette.palette_pairs |
Array |
Palette mappings for discrete values |
content[].discrete_log_palette.palette_pairs[].palette |
Object |
Palette description |
content[].discrete_log_palette.palette_pairs[].palette.name |
String |
Palette item name |
content[].discrete_log_palette.palette_pairs[].palette.color |
String |
Palette item color |
content[].discrete_log_palette.palette_pairs[].discrete_value |
Number |
Discrete value mapped to the palette item |
content[].discrete_log_palette.out_of_range_color |
String |
Out-of-range color for discrete log palette |
content[].uuid |
String |
Log UUID |
Get log data
Get log data by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/logs/d07fc512-8dee-4886-b4e7-6630088ef8a3/data' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/logs/d07fc512-8dee-4886-b4e7-6630088ef8a3/data HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: d5dd49076cdbc9cf930621852865b6a4
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 by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/logs/fa74f7ab-9441-4bcf-9fc2-929263b393ec' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "New log name",
"is_discrete" : true,
"discrete_log_palette" : {
"palette_pairs" : [ {
"palette" : {
"name" : "Name 1",
"color" : "#ffffff00"
},
"discrete_value" : 1
}, {
"palette" : {
"name" : "Name 2",
"color" : "#ff008000"
},
"discrete_value" : 2
}, {
"palette" : {
"name" : "Name 3",
"color" : "#ff000000"
},
"discrete_value" : 3
}, {
"palette" : {
"name" : "Name 4",
"color" : "#ff00bfff"
},
"discrete_value" : 4
} ],
"out_of_range_color" : "#ff8f9ac1"
}
}'
PATCH /public/api/v1/logs/fa74f7ab-9441-4bcf-9fc2-929263b393ec HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 640
{
"name" : "New log name",
"is_discrete" : true,
"discrete_log_palette" : {
"palette_pairs" : [ {
"palette" : {
"name" : "Name 1",
"color" : "#ffffff00"
},
"discrete_value" : 1
}, {
"palette" : {
"name" : "Name 2",
"color" : "#ff008000"
},
"discrete_value" : 2
}, {
"palette" : {
"name" : "Name 3",
"color" : "#ff000000"
},
"discrete_value" : 3
}, {
"palette" : {
"name" : "Name 4",
"color" : "#ff00bfff"
},
"discrete_value" : 4
} ],
"out_of_range_color" : "#ff8f9ac1"
}
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: ac94aa4cb0f5f9375c9a8008f75c3d22
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 |
is_discrete |
Boolean |
true for discrete logs, otherwise false |
discrete_log_palette |
Object |
Discrete log palette settings |
discrete_log_palette.palette_pairs |
Array |
Palette mappings for discrete values |
discrete_log_palette.palette_pairs[].palette |
Object |
Palette description |
discrete_log_palette.palette_pairs[].palette.name |
String |
Palette item name |
discrete_log_palette.palette_pairs[].palette.color |
String |
Palette item color |
discrete_log_palette.palette_pairs[].discrete_value |
Number |
Discrete value mapped to the palette item |
discrete_log_palette.out_of_range_color |
String |
Out-of-range color for discrete log palette |
Response body
Empty body
Extend log data
Extend log data
Request
$ curl 'https://solo.cloud/public/api/v1/logs/6570196d-f45b-4aaf-873c-1d3629aeac16/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/6570196d-f45b-4aaf-873c-1d3629aeac16/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: 26d05c2ebee32759e6ff55666a81110e
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/d07fc512-8dee-4886-b4e7-6630088ef8a3/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/d07fc512-8dee-4886-b4e7-6630088ef8a3/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: 1c5ad0a665a0e9d00a7e07615938f585
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
Move log to lateral folder
Move log to lateral folder
Request
$ curl 'https://solo.cloud/public/api/v1/logs/d07fc512-8dee-4886-b4e7-6630088ef8a3/folder' -i -X PUT \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"folder" : "fa63e72d-2592-4004-99be-7f7b75b47cec"
}'
PUT /public/api/v1/logs/d07fc512-8dee-4886-b4e7-6630088ef8a3/folder HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 55
{
"folder" : "fa63e72d-2592-4004-99be-7f7b75b47cec"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: e5aa865646fa5e1645be18699ac3ec71
PUT /public/api/v1/logs/{uuid}/folder
| Path parameter | Description |
|---|---|
uuid |
Log UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
folder |
String |
Lateral folder UUID. Pass null to move the log to the lateral root |
Response body
Empty body
Delete log
Delete log by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/logs/05e11ffb-f000-4462-81cb-089476b0ba92' -i -X DELETE \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
DELETE /public/api/v1/logs/05e11ffb-f000-4462-81cb-089476b0ba92 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: c36c33c4540306a3097097b2fbaacc23
DELETE /public/api/v1/logs/{uuid}
| Path parameter | Description |
|---|---|
uuid |
Log UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
Empty body
11. Images
Create image
Request
$ curl 'https://solo.cloud/public/api/v1/wells/20b068f0-94b0-43bf-8637-effc257fcfab/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/20b068f0-94b0-43bf-8637-effc257fcfab/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: 720e945d4fe30dfe8df4fba78fbfe545
Content-Type: application/json
{
"uuid" : "28f0d222-3f4a-4553-9cee-24b3bd1ca35b"
}
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/0e8b11b8-9c3c-4db5-882b-40fed9ad6709' -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/0e8b11b8-9c3c-4db5-882b-40fed9ad6709 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: 8186606b0de840a1ecb545781ca14610
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/27d7035d-c024-445b-849b-dab85f89e9c9/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/27d7035d-c024-445b-849b-dab85f89e9c9/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: bef35cd3f6324476a297d63787118321
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/2f9fc791-ac2c-4892-9c4d-e4ed9e239428/data' -i -X PUT \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: multipart/form-data; boundary="0C6d4vsqunhEs5WafLykFo6eh47hPnChdnoT"' \
-F 'image=<binary image data>;type=image/png'
PUT /public/api/v1/images/2f9fc791-ac2c-4892-9c4d-e4ed9e239428/data HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: multipart/form-data; boundary="0C6d4vsqunhEs5WafLykFo6eh47hPnChdnoT"; 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: 0d5e5d8bfa28135ce451d27b3abc4460
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
Create lateral mudlog
Create mudlog by lateral UUID
Request
$ curl 'https://solo.cloud/public/api/v1/wells/b29275fd-69b3-4420-9c99-03a96b143f93/mudlogs' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Mudlog name"
}'
POST /public/api/v1/wells/b29275fd-69b3-4420-9c99-03a96b143f93/mudlogs HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 28
{
"name" : "Mudlog name"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 794874b5dd7519b0fd5efe75d619104a
Content-Type: application/json
{
"uuid" : "b5899950-b5b5-4462-a939-139266b4c608"
}
POST /public/api/v1/wells/{uuid}/mudlogs
| Path parameter | Description |
|---|---|
uuid |
Lateral UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
name |
String |
Mudlog name |
Response body
| Path | Type | Description |
|---|---|---|
uuid |
String |
Created mudlog UUID |
Create typewell mudlog
Create mudlog by typewell UUID
Request
$ curl 'https://solo.cloud/public/api/v1/typewells/d84fd3e5-c76a-47c7-a041-a5e356668e37/mudlogs' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Mudlog name"
}'
POST /public/api/v1/typewells/d84fd3e5-c76a-47c7-a041-a5e356668e37/mudlogs HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 28
{
"name" : "Mudlog name"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 522f992617873fe2c9a5830407d30507
Content-Type: application/json
{
"uuid" : "e873226b-bb84-4ccc-84f4-32bfe119cf37"
}
POST /public/api/v1/typewells/{uuid}/mudlogs
| Path parameter | Description |
|---|---|
uuid |
Typewell UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
name |
String |
Mudlog name |
Response body
| Path | Type | Description |
|---|---|---|
uuid |
String |
Created mudlog UUID |
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/b29275fd-69b3-4420-9c99-03a96b143f93/mudlogs?offset=0&limit=10&filter=mMa' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/b29275fd-69b3-4420-9c99-03a96b143f93/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: ae0e5296de75e2dbc5474328350e2469
Content-Type: application/json
{
"content" : [ {
"name" : "Gamma Ray",
"uuid" : "d9a20e6c-90fd-4955-9f72-cc2fd4dc8d90"
} ],
"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/d84fd3e5-c76a-47c7-a041-a5e356668e37/mudlogs?offset=0&limit=10&filter=mMa' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/typewells/d84fd3e5-c76a-47c7-a041-a5e356668e37/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: 24f2f3bda200a3e27f0060f5a4566424
Content-Type: application/json
{
"content" : [ {
"name" : "Gamma Ray",
"uuid" : "a1967a21-a056-4401-9072-87f9902c31fd"
} ],
"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 mudlog data by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/mudlogs/629ea7be-cc65-48cf-8f70-b93e7af600cb/data' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/mudlogs/629ea7be-cc65-48cf-8f70-b93e7af600cb/data HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: fb736fd40072f029d89b6e410bf0a256
Content-Type: application/json
{
"logs" : [ {
"uuid" : "8d3ea842-e119-4aa9-a1f6-aca90af23be5",
"name" : "Mudlog channel1",
"unit" : "Mudlog channel1 unit",
"log_points" : [ {
"md" : {
"val" : 100.0
},
"data" : {
"undefined" : true
}
}, {
"md" : {
"val" : 200.0
},
"data" : {
"val" : 2.0
}
} ]
}, {
"uuid" : "29a06df9-9062-4dd9-8998-41f46a4e3bfd",
"name" : "Mudlog channel2",
"log_points" : [ {
"md" : {
"val" : 100.0
},
"data" : {
"val" : 178.0
}
}, {
"md" : {
"val" : 200.0
},
"data" : {
"undefined" : true
}
} ]
}, {
"uuid" : "8e8f3f8f-0c51-40cc-9378-87c5dd2806c0",
"name" : "Mudlog channel1",
"unit" : "Mudlog channel1 unit",
"log_points" : [ {
"md" : {
"val" : 100.0
},
"data" : {
"undefined" : true
}
}, {
"md" : {
"val" : 200.0
},
"data" : {
"val" : 2.0
}
} ]
}, {
"uuid" : "de96e561-6bcd-4898-aaa1-db88394fc8ae",
"name" : "Mudlog channel2",
"log_points" : [ {
"md" : {
"val" : 100.0
},
"data" : {
"val" : 178.0
}
}, {
"md" : {
"val" : 200.0
},
"data" : {
"undefined" : true
}
} ]
} ]
}
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[].unit |
String |
Log unit |
logs[].log_points |
Array |
Log points array |
logs[].log_points[].md.val |
Number |
Point MD value (project units) |
logs[].log_points[].data.val |
Number |
Point data value |
logs[].log_points[].data.undefined |
Boolean |
true if point data value is undefined" |
Update mudlog metadata
Update mudlog metadata by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/mudlogs/629ea7be-cc65-48cf-8f70-b93e7af600cb' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Updated mudlog name"
}'
PATCH /public/api/v1/mudlogs/629ea7be-cc65-48cf-8f70-b93e7af600cb HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 36
{
"name" : "Updated mudlog name"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: fd7038894505960599b80f40fa0c3be9
PATCH /public/api/v1/mudlogs/{uuid}
| Path parameter | Description |
|---|---|
uuid |
Mudlog UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
name |
String |
Mudlog name |
Response body
Empty body
Upload\replace mudlog data
Upload\replace mudlog data by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/mudlogs/629ea7be-cc65-48cf-8f70-b93e7af600cb/data?visual_bound_max=100.5' -i -X PUT \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"logs" : [ {
"name" : "Mudlog channel1",
"unit" : "Mudlog channel1 unit",
"lithology_type" : "HALITE",
"solid_color" : "BLUE",
"pattern_color" : "GREEN",
"log_points" : [ {
"md" : {
"val" : 100.0
},
"data" : {
"undefined" : true
}
}, {
"md" : {
"val" : 200.0
},
"data" : {
"val" : 2.0
}
} ]
}, {
"name" : "Mudlog channel2",
"log_points" : [ {
"md" : {
"val" : 100.0
},
"data" : {
"val" : 178.0
}
}, {
"md" : {
"val" : 200.0
},
"data" : {
"undefined" : true
}
} ]
} ]
}'
PUT /public/api/v1/mudlogs/629ea7be-cc65-48cf-8f70-b93e7af600cb/data?visual_bound_max=100.5 HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 684
{
"logs" : [ {
"name" : "Mudlog channel1",
"unit" : "Mudlog channel1 unit",
"lithology_type" : "HALITE",
"solid_color" : "BLUE",
"pattern_color" : "GREEN",
"log_points" : [ {
"md" : {
"val" : 100.0
},
"data" : {
"undefined" : true
}
}, {
"md" : {
"val" : 200.0
},
"data" : {
"val" : 2.0
}
} ]
}, {
"name" : "Mudlog channel2",
"log_points" : [ {
"md" : {
"val" : 100.0
},
"data" : {
"val" : 178.0
}
}, {
"md" : {
"val" : 200.0
},
"data" : {
"undefined" : true
}
} ]
} ]
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 7553c853ec04afefa289982f801d6af3
PUT /public/api/v1/mudlogs/{uuid}/data
| Path parameter | Description |
|---|---|
uuid |
Mudlog UUID |
| Parameter | Description |
|---|---|
visual_bound_max |
Max value of mudlog visual bound (optional) |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
logs |
Array |
Array of mudlog channels. Each channel is an object with the following fields: |
logs[].name |
String |
Log name |
logs[].unit |
String |
Log unit |
logs[].lithology_type |
String |
Log lithology type, allowed values are 'EMPTY', 'CLAY_SHALE', 'SAND_SANDSTONE', 'ARGILLACEOUS_OR_SHALY_SAND', 'LIMESTONE', 'SANDY_LIMESTONE', 'DOLOMITE', 'GYPSUM', 'SALT', 'CHALK', 'HALITE', 'BRECCIA', 'OPEN_UPWARD_TRIANGLES', 'SANDY_OR_SILTY_SHALE', 'SILTY_LIMESTONE', 'ARGILLACEOUS_SHALY_LIMESTONE', 'DOLOMITIC_LIMESTONE_LIMY_DOLOMITE', 'SANDY_DOLOMITE', 'SILTY_DOLOMITE', 'ARGILLACEOUS_SHALY_DOLOMITE', 'SILT_SILTSTONE', 'DOLOMITIC_SILTSTONE', 'ANHYDRITE', 'IGNEOUS', 'METAMORPHIC', 'CALCARENITE', 'CALCARENITE_DOLOMITE', 'CALCARENITIC_LIMESTONE', 'MARL', 'COARSE_CLASTIC_CARBONATE', 'DOLOMITIC_SAND', 'SILTSTONE', 'INGE', 'HAL', 'TILL', 'CEMENT', 'MARLSTONE', 'CLAY', 'SHALE', 'SCHOL', 'SHGY', 'IGNVOLC', 'CHERT', 'CONGLOMERATE', 'CGL', 'META', 'BENT', 'ANHY', 'GYP', 'SANDSTONE', 'CONGLOMERATIC_SANDSTONE', 'BENTONITE', 'BRECCIAS', 'MARLS', 'PACKSTONE', 'WACKESTONE' |
logs[].solid_color |
String |
Log solid color, allowed values are 'CYAN_BLUE', 'BLUE', 'INDIGO', 'GREEN', 'TEAL_GREEN', 'TEAL', 'OLIVE_YELLOW', 'GOLD', 'ORANGE', 'RED_ORANGE', 'RED', 'PINK', 'MAGENTA', 'DARK_BLUE_GRAY', 'GRAY' |
logs[].pattern_color |
String |
Log pattern color, allowed values are 'CYAN_BLUE', 'BLUE', 'INDIGO', 'GREEN', 'TEAL_GREEN', 'TEAL', 'OLIVE_YELLOW', 'GOLD', 'ORANGE', 'RED_ORANGE', 'RED', 'PINK', 'MAGENTA', 'DARK_BLUE_GRAY', 'GRAY' |
logs[].log_points |
Array |
Log points array |
logs[].log_points[].md.val |
Number |
Point MD value (project units) |
logs[].log_points[].data.val |
Number |
Point data value |
logs[].log_points[].data.undefined |
Boolean |
true if point data value is undefined |
Response body
Empty body
Append mudlog data
Append mudlog data by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/mudlogs/629ea7be-cc65-48cf-8f70-b93e7af600cb/data?visual_bound_max=100.5' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"logs" : [ {
"name" : "Mudlog channel1",
"unit" : "Mudlog channel1 unit",
"lithology_type" : "HALITE",
"solid_color" : "BLUE",
"pattern_color" : "GREEN",
"log_points" : [ {
"md" : {
"val" : 100.0
},
"data" : {
"undefined" : true
}
}, {
"md" : {
"val" : 200.0
},
"data" : {
"val" : 2.0
}
} ]
}, {
"name" : "Mudlog channel2",
"log_points" : [ {
"md" : {
"val" : 100.0
},
"data" : {
"val" : 178.0
}
}, {
"md" : {
"val" : 200.0
},
"data" : {
"undefined" : true
}
} ]
} ]
}'
PATCH /public/api/v1/mudlogs/629ea7be-cc65-48cf-8f70-b93e7af600cb/data?visual_bound_max=100.5 HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 684
{
"logs" : [ {
"name" : "Mudlog channel1",
"unit" : "Mudlog channel1 unit",
"lithology_type" : "HALITE",
"solid_color" : "BLUE",
"pattern_color" : "GREEN",
"log_points" : [ {
"md" : {
"val" : 100.0
},
"data" : {
"undefined" : true
}
}, {
"md" : {
"val" : 200.0
},
"data" : {
"val" : 2.0
}
} ]
}, {
"name" : "Mudlog channel2",
"log_points" : [ {
"md" : {
"val" : 100.0
},
"data" : {
"val" : 178.0
}
}, {
"md" : {
"val" : 200.0
},
"data" : {
"undefined" : true
}
} ]
} ]
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 86ea3b4790b9fd9c5897d0dd669abf9c
PATCH /public/api/v1/mudlogs/{uuid}/data
| Path parameter | Description |
|---|---|
uuid |
Mudlog UUID |
| Parameter | Description |
|---|---|
visual_bound_max |
Max value of mudlog visual bound (optional) |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
logs |
Array |
Array of mudlog channels to append. Each channel is an object with the following fields: |
logs[].name |
String |
Log name |
logs[].unit |
String |
Log unit |
logs[].lithology_type |
String |
Log lithology type, allowed values are 'EMPTY', 'CLAY_SHALE', 'SAND_SANDSTONE', 'ARGILLACEOUS_OR_SHALY_SAND', 'LIMESTONE', 'SANDY_LIMESTONE', 'DOLOMITE', 'GYPSUM', 'SALT', 'CHALK', 'HALITE', 'BRECCIA', 'OPEN_UPWARD_TRIANGLES', 'SANDY_OR_SILTY_SHALE', 'SILTY_LIMESTONE', 'ARGILLACEOUS_SHALY_LIMESTONE', 'DOLOMITIC_LIMESTONE_LIMY_DOLOMITE', 'SANDY_DOLOMITE', 'SILTY_DOLOMITE', 'ARGILLACEOUS_SHALY_DOLOMITE', 'SILT_SILTSTONE', 'DOLOMITIC_SILTSTONE', 'ANHYDRITE', 'IGNEOUS', 'METAMORPHIC', 'CALCARENITE', 'CALCARENITE_DOLOMITE', 'CALCARENITIC_LIMESTONE', 'MARL', 'COARSE_CLASTIC_CARBONATE', 'DOLOMITIC_SAND', 'SILTSTONE', 'INGE', 'HAL', 'TILL', 'CEMENT', 'MARLSTONE', 'CLAY', 'SHALE', 'SCHOL', 'SHGY', 'IGNVOLC', 'CHERT', 'CONGLOMERATE', 'CGL', 'META', 'BENT', 'ANHY', 'GYP', 'SANDSTONE', 'CONGLOMERATIC_SANDSTONE', 'BENTONITE', 'BRECCIAS', 'MARLS', 'PACKSTONE', 'WACKESTONE' |
logs[].solid_color |
String |
Log solid color, allowed values are 'CYAN_BLUE', 'BLUE', 'INDIGO', 'GREEN', 'TEAL_GREEN', 'TEAL', 'OLIVE_YELLOW', 'GOLD', 'ORANGE', 'RED_ORANGE', 'RED', 'PINK', 'MAGENTA', 'DARK_BLUE_GRAY', 'GRAY' |
logs[].pattern_color |
String |
Log pattern color, allowed values are 'CYAN_BLUE', 'BLUE', 'INDIGO', 'GREEN', 'TEAL_GREEN', 'TEAL', 'OLIVE_YELLOW', 'GOLD', 'ORANGE', 'RED_ORANGE', 'RED', 'PINK', 'MAGENTA', 'DARK_BLUE_GRAY', 'GRAY' |
logs[].log_points |
Array |
Log points array |
logs[].log_points[].md.val |
Number |
Point MD value (project units) |
logs[].log_points[].data.val |
Number |
Point data value |
logs[].log_points[].data.undefined |
Boolean |
true if point data value is undefined |
Response body
Empty body
Delete mudlog
Delete mudlog by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/mudlogs/629ea7be-cc65-48cf-8f70-b93e7af600cb' -i -X DELETE \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
DELETE /public/api/v1/mudlogs/629ea7be-cc65-48cf-8f70-b93e7af600cb 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: c4f07a0d6bcaf5fb04537d3fc919cc7c
DELETE /public/api/v1/mudlogs/{uuid}
| Path parameter | Description |
|---|---|
uuid |
Mudlog UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
Empty body
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: f4915ce4457e8eb2ed50c91853125187
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" : "a3fcfa5d-8881-499d-91e8-48a7b3dc2215",
"name" : "MWD Continuous Inclination"
}, {
"uuid" : "512cf80d-8872-435f-8e88-bed593b12670",
"name" : "MWD Continuous Azimuth"
}, {
"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" : "e1f88165-de61-4da0-be1a-ce2d9d788cf3",
"name" : "D-exponent"
}, {
"uuid" : "fd5fdd95-2cd8-4879-8403-2509ee3f66ee",
"name" : "Density"
}, {
"uuid" : "544e3dd7-1464-4196-825b-b4da1085e4ff",
"name" : "Depth of Cut"
}, {
"uuid" : "5e3a4999-9c76-4857-8cbf-eccf51539bbf",
"name" : "Differential Pressure"
}, {
"uuid" : "2fd13e54-cfb7-477a-9c56-55c20b2cadb8",
"name" : "Dip Angle"
}, {
"uuid" : "15be30d7-5ade-4595-ba27-e5ce9d1bf83e",
"name" : "Downhole MSE"
}, {
"uuid" : "1e96aa39-75b9-4990-8042-a02a61a08646",
"name" : "Downhole TQ"
}, {
"uuid" : "627bb479-067b-4e60-b4de-7679c48c6d0f",
"name" : "Downhole WOB"
}, {
"uuid" : "78b342b0-ec47-4d9b-ae3a-0df49448c1ec",
"name" : "PWD ECD"
}, {
"uuid" : "992a7d4e-f854-424d-911a-c674ef8e87f4",
"name" : "Flow Out %"
}, {
"uuid" : "bda8a0dd-ced2-46bd-a82a-1db75b62653c",
"name" : "Gamma Ray"
}, {
"uuid" : "cf0042b1-9c10-4eca-8aa6-3954147f4fad",
"name" : "Total Gas"
}, {
"uuid" : "45fbab1e-efb3-420d-9786-6f3d6f2214ed",
"name" : "Gas C1"
}, {
"uuid" : "fb2bceaf-d7c6-4921-b20b-1f6152f57060",
"name" : "Gas C2"
}, {
"uuid" : "643fbb3b-fe7f-4fda-a276-295fc65ceb67",
"name" : "Gas C3"
}, {
"uuid" : "cb23ab73-57c3-4344-af71-4a1c60cc024c",
"name" : "Gas C4"
}, {
"uuid" : "20853910-11ea-46fb-b3a7-582e63625085",
"name" : "Gas C5"
}, {
"uuid" : "5525d952-8db1-4641-b2fa-18fd185b7c9d",
"name" : "Gas CO2"
}, {
"uuid" : "3ed2dacd-93ac-4e38-95ed-0a7b8b82c60e",
"name" : "Gas H2S"
}, {
"uuid" : "27784730-2602-4442-ac2a-9ec9822baa6c",
"name" : "Gas iso-C4"
}, {
"uuid" : "4b2627a3-6a3d-4751-b818-ce1f95cb3d6a",
"name" : "Gas iso-C5"
}, {
"uuid" : "ecec68ec-9a33-44c6-bedb-609b69c7f022",
"name" : "Gas nor-C4"
}, {
"uuid" : "3f85640e-889e-456e-93bc-3a2a567cd5f9",
"name" : "Gas nor-C5"
}, {
"uuid" : "6a5faaf0-a756-4065-99a9-d84d1fe0bfd2",
"name" : "Gravity Total"
}, {
"uuid" : "f86e140e-b5d0-4b5f-98de-951200fd8038",
"name" : "GTF"
}, {
"uuid" : "d635c218-3d17-4f5d-98b4-026085c4f584",
"name" : "Hole Depth"
}, {
"uuid" : "2d9cbed5-4d21-4243-89e6-586f1bb961ff",
"name" : "Hole Depth Vertical"
}, {
"uuid" : "dfdf09da-5be0-495f-b802-15840ce93066",
"name" : "Hookload"
}, {
"uuid" : "3a655e25-ff42-4c56-b083-9d6cc77a7a8c",
"name" : "In Slips"
}, {
"uuid" : "624e443b-6a3b-4247-a648-53db39d19f1b",
"name" : "Inclination"
}, {
"uuid" : "b2a12c8b-dc98-4b9d-96d6-6e020736ca1b",
"name" : "Lateral Vibration"
}, {
"uuid" : "b6c70cd5-aff7-4bd7-bef6-dfb663c12da9",
"name" : "Magnetic Field"
}, {
"uuid" : "03c53157-8443-40d8-8ef4-087f3205da5f",
"name" : "Motor RPM"
}, {
"uuid" : "805070d4-e80a-4d0d-83d6-430ba7ab00bf",
"name" : "MTF"
}, {
"uuid" : "702c9494-7666-435f-ad46-9c6a3f24faa3",
"name" : "Flow In Rate"
}, {
"uuid" : "65c71407-9a65-484d-aeed-b4ef14b91582",
"name" : "Flow Out Rate"
}, {
"uuid" : "4457de71-ae74-4fd6-ad87-c0f19275806e",
"name" : "Mud Weight In"
}, {
"uuid" : "999d98fd-b761-488f-9af8-dca909ec7bd8",
"name" : "Mud Weight Out"
}, {
"uuid" : "101c98d0-2643-4b75-8012-738faa9025f7",
"name" : "MWD Turbine RPM"
}, {
"uuid" : "92e27c5f-3277-4a5c-a478-b9a989944671",
"name" : "On bottom hours"
}, {
"uuid" : "5f527ef9-c86b-4e55-84c0-2b8df74de1c1",
"name" : "Oscillate status"
}, {
"uuid" : "b7f3fdd3-ad94-4aa4-8e94-50f5ad4dee29",
"name" : "Pit 1 Volume"
}, {
"uuid" : "f1b5479f-4488-47fe-9338-12591f2d48f9",
"name" : "Pit 2 Volume"
}, {
"uuid" : "e5568169-182c-466e-99e0-6957159fe08c",
"name" : "Pit 3 Volume"
}, {
"uuid" : "2f03c515-d6ff-41be-b7d4-83a77c13e6c3",
"name" : "Pit 4 Volume"
}, {
"uuid" : "18accea3-a188-4189-bec9-3e78a207591e",
"name" : "Pit 5 Volume"
}, {
"uuid" : "cce31e79-5444-4e8d-bcae-774314ac6958",
"name" : "Pit 6 Volume"
}, {
"uuid" : "278c87fd-7b22-4118-8b12-84d6474cff5d",
"name" : "Pit 7 Volume"
}, {
"uuid" : "45b1afbb-6d6c-4db5-93ff-0ffa94b802da",
"name" : "Pit 8 Volume"
}, {
"uuid" : "ce850617-0391-4346-8834-1449a32722df",
"name" : "Pump 1 Cumulative Strokes"
}, {
"uuid" : "27a591db-8db8-4148-9115-49d5df10ac7e",
"name" : "Pump 1 Mud Flow In"
}, {
"uuid" : "328949d9-a0db-41fa-9c84-4064137315c7",
"name" : "Pump 2 Cumulative Strokes"
}, {
"uuid" : "5286505c-c31c-4bb8-b3c7-f0900cce9fba",
"name" : "Pump 2 Mud Flow In"
}, {
"uuid" : "a3ddb237-cd23-4f5d-999f-2a3e9f6821ee",
"name" : "Pump 3 Cumulative Strokes"
}, {
"uuid" : "1e15c542-3673-4140-8165-1ad534e2b3dc",
"name" : "Pump 3 Mud Flow In"
}, {
"uuid" : "30ad129a-4854-4bb5-8e1d-3c9065605fe2",
"name" : "Pump Stroke Count"
}, {
"uuid" : "8f46e726-06b1-4c71-b638-203868bc4451",
"name" : "PWD Annular Pressure"
}, {
"uuid" : "4265ba32-99d0-490b-a1a1-b8798206a82a",
"name" : "Rate of Penetration Instantaneous"
}, {
"uuid" : "c4d4b89e-5e6c-404f-9d8d-5ca8b2c26885",
"name" : "Resistivity"
}, {
"uuid" : "78334ca1-783e-4dc3-9f86-c86c391d6bac",
"name" : "Rig State"
}, {
"uuid" : "b68b2510-7858-4dcb-b242-57fcd584e0aa",
"name" : "ROP"
}, {
"uuid" : "f4b9e8ea-ada1-4aaf-b638-064916ece1d3",
"name" : "RSS Toolface"
}, {
"uuid" : "f49024eb-cdf9-42a4-beca-974dc8348281",
"name" : "Lateral Shock"
}, {
"uuid" : "98e64813-b867-400a-be7c-a8f31cb56047",
"name" : "SPM1"
}, {
"uuid" : "9f50ec96-0d33-46c2-8b11-c1628fe39658",
"name" : "SPM2"
}, {
"uuid" : "52a79823-4947-4796-b423-545ccd8194b6",
"name" : "SPM3"
}, {
"uuid" : "0f936580-1edd-449c-b760-9142097dfec6",
"name" : "SPM Total"
}, {
"uuid" : "f764306b-302e-4500-8518-4f149f839a85",
"name" : "Standpipe Pressure"
}, {
"uuid" : "3d1105fa-a8de-4e54-981f-105b75142937",
"name" : "StickSlip"
}, {
"uuid" : "30652f8a-15d2-4a10-9e86-2943a7bd5687",
"name" : "Surface RPM"
}, {
"uuid" : "de8ce461-cf26-4e38-ac68-e2e228c331ab",
"name" : "Surface Torque"
}, {
"uuid" : "8b6023ce-d4d7-46be-b9e1-d9ebc92b2711",
"name" : "Surface Torque Max"
}, {
"uuid" : "354dbda4-8dc0-40e8-9723-8b63b794a003",
"name" : "Survey MD"
}, {
"uuid" : "7a76ccd8-e64f-4155-9184-d5f66ac3a58a",
"name" : "Temperature In"
}, {
"uuid" : "9d444b75-4c6b-496c-a945-f75f003e7a0a",
"name" : "Temperature Out"
}, {
"uuid" : "ac3cc40c-6055-4efa-a4fa-6a9f787bcd9d",
"name" : "Tool Temperature"
}, {
"uuid" : "957a4437-2806-43d6-9b2e-2fdb612be1de",
"name" : "Torsional Vibration"
}, {
"uuid" : "f0ad751b-5c66-4961-b6b9-965b282d38d8",
"name" : "Total MSE"
}, {
"uuid" : "5a89a54f-3c8e-40c9-8fae-fdb7437b8adb",
"name" : "Bit RPM"
}, {
"uuid" : "6565f21c-0d1e-4ce6-bbcf-da4b7900f2f4",
"name" : "Total Tank Volume"
}, {
"uuid" : "86e72bb4-8f89-405b-855b-117e6fdf5f24",
"name" : "Total Volume Active"
}, {
"uuid" : "92e712cc-2fe4-4ebe-967c-603828f1bea5",
"name" : "Trip Speed"
}, {
"uuid" : "107b71c0-ebe1-484f-91c3-c5f57a5ee2ba",
"name" : "Trip Tank Volume"
}, {
"uuid" : "7392915c-10e3-4bd0-8717-3efd4eb2943f",
"name" : "Time of Penetration"
}, {
"uuid" : "5ab9a650-9ccc-4709-a76e-10d5d3ede25a",
"name" : "RSS Steering Ratio"
}, {
"uuid" : "44596b6b-f833-4299-aaf7-519c7b27e8e1",
"name" : "WOB"
}, {
"uuid" : "8595db67-37e0-4389-8f29-6753c9a9e2f7",
"name" : "WOB Max"
}, {
"uuid" : "c1ca14ae-6d00-48cb-9c6f-f0d9840c76b1",
"name" : "X Accelerometer"
}, {
"uuid" : "05c50fad-d7e0-4752-be56-9c610c86e246",
"name" : "X Magnetometer"
}, {
"uuid" : "1ceca6eb-2b67-4015-8930-8f4f64578bba",
"name" : "Y Accelerometer"
}, {
"uuid" : "87cbf376-966b-4252-8368-0428bbeccf7a",
"name" : "Y Magnetometer"
}, {
"uuid" : "8d4a8cb5-80cc-46fa-83c6-783c21598014",
"name" : "Z Accelerometer"
}, {
"uuid" : "4fbd96a1-8606-4067-8b7f-c92a4f8d777d",
"name" : "Z Magnetometer"
}, {
"uuid" : "c6e1722b-2a02-4470-b2d7-bf00f5506719",
"name" : "Depth of Cut"
}, {
"uuid" : "89e07b1a-d50e-4b99-ada9-023f784767d8",
"name" : "Downhole MSE"
}, {
"uuid" : "a1a0e98e-9e28-438e-9c7e-254e68d0c636",
"name" : "Total MSE"
}, {
"uuid" : "5d4acff6-85ea-4dd7-aac1-bbe982f7bdfc",
"name" : "Recommended WOB"
}, {
"uuid" : "3ffc495e-0d17-46a5-b688-e3242884bf67",
"name" : "Recommended RPM"
}, {
"uuid" : "0eef088a-ce96-4670-8b21-4b090f76d177",
"name" : "Recommended MFI"
}, {
"uuid" : "68a640b5-f885-4bea-a07e-49536fa2b93d",
"name" : "Predicted WOB"
}, {
"uuid" : "2d348260-372a-4e87-a8b3-82d66d95196e",
"name" : "Predicted RPM"
}, {
"uuid" : "8be6cd16-906a-465c-a04d-f1fd9459458e",
"name" : "Predicted MFI"
}, {
"uuid" : "027be8e3-7fcb-4fd3-b064-1f50f5c4749b",
"name" : "Predicted ROP"
}, {
"uuid" : "5fe2a454-86ad-4fdc-abbf-686e4f67a4fa",
"name" : "Trip Out: Connection"
}, {
"uuid" : "f65f24d3-a306-4a1c-9765-5b8359aed7c3",
"name" : "Trip Out: Running"
}, {
"uuid" : "43b1d9c6-4420-4866-9c1f-c3f9d1d5f543",
"name" : "Weight to Weight"
}, {
"uuid" : "e3c996b6-9cdb-4876-ac99-0aab694b801a",
"name" : "Rig Activity"
}, {
"uuid" : "6906b6ba-5ad3-4df7-8176-dbc844d02d54",
"name" : "Slide Sheet"
}, {
"uuid" : "0cc5b768-8a11-4e11-9ef2-135344f7b1a2",
"name" : "RSS DLink"
}, {
"uuid" : "07700dd6-bdaf-477a-8b79-c48631b653d6",
"name" : "RSS Desired TF"
}, {
"uuid" : "36f79b61-728b-4524-bc87-b2d97f558be2",
"name" : "RSS Target Inclination"
}, {
"uuid" : "89211184-204e-4f3d-a655-bc742743ccf4",
"name" : "RSS Target Azimuth"
}, {
"uuid" : "6ea4cf91-c576-4941-9515-25fec2014f6d",
"name" : "RSS Status Word 1"
}, {
"uuid" : "3677c17f-bad2-44ca-95bb-6265b9898965",
"name" : "RSS Status Word 2"
}, {
"uuid" : "d2271377-87d2-49b3-b40c-c4fb91d55c37",
"name" : "RSS Status Word 3"
}, {
"uuid" : "b673ea0c-eee0-49b4-99ce-8bb8843365f2",
"name" : "Zeroed WOB"
}, {
"uuid" : "d181ddaf-7921-476a-a45c-fc3206a07198",
"name" : "Zeroed Differential Pressure"
}, {
"uuid" : "2adc5cd8-a1de-48ca-916a-3236ed6ece9a",
"name" : "Trip Out: Reaming"
}, {
"uuid" : "2326a7a3-bb68-4924-a9e5-a16b7b87d192",
"name" : "Trip In: Reaming"
}, {
"uuid" : "ab7e5866-a3da-4e6c-b584-523799719b34",
"name" : "Slip to slip"
}, {
"uuid" : "eb85cf68-047e-43b0-bbbb-75548c8e700e",
"name" : "Trip In: Connection"
}, {
"uuid" : "fed6681e-1f21-466c-bf91-55fed528a07d",
"name" : "Trip In: Running"
}, {
"uuid" : "db16f0ac-2c69-4237-933d-7f6ce24fa1dc",
"name" : "Trip In: Washing"
}, {
"uuid" : "08e28406-7ade-4fb2-8dca-1628936f2b36",
"name" : "Trip Out: Washing"
}, {
"uuid" : "4545b4f1-4f71-41aa-86c3-b87961459f5f",
"name" : "Rotary Build Rate"
}, {
"uuid" : "1f0a45f4-1b62-11f0-902e-77c4b3b98667",
"name" : "Rotary Turn Rate"
}, {
"uuid" : "f09337a9-ca89-411d-a2e6-aad17746b4ee",
"name" : "Slack off & Drag"
}, {
"uuid" : "bf7c700d-de08-41c5-b20b-cb32d649d8e8",
"name" : "Erratic Torque"
}, {
"uuid" : "f0519265-7a47-488a-978a-24997705844e",
"name" : "Time from Last Connection"
}, {
"uuid" : "7136da25-7a78-4558-864e-8dd21623fbe9",
"name" : "Time From Last Survey"
}, {
"uuid" : "b9e0a067-ab3a-4e59-8ec6-c14f33346df4",
"name" : "Time On Bottom"
}, {
"uuid" : "69471b8a-c20a-449e-abc9-0147adaf6d14",
"name" : "Static Time"
}, {
"uuid" : "265d885d-567d-4d27-843e-c9fa39800c1d",
"name" : "Time to top"
}, {
"uuid" : "ef5b8413-dcec-4c4c-b607-6b4200142f7d",
"name" : "Forecast Confidence"
}, {
"uuid" : "11b703b5-b0d2-43c5-a370-d509a9d4604b",
"name" : "Drill Zone"
}, {
"uuid" : "44161596-6117-47bc-ae86-05561b38c773",
"name" : "Recommended ROP"
}, {
"uuid" : "261cea68-1b62-11f0-8a2e-cbc9b8e5e876",
"name" : "Motor Yield"
}, {
"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" : "9a81e86b-2e78-4d23-87bb-b76232df40f2",
"name" : "Motor Stall"
}, {
"uuid" : "01851a5a-9071-43df-86fc-673655c8f211",
"name" : "RSS Continuous Azimuth"
}, {
"uuid" : "c7d0f834-b1cf-437f-94a6-ca8f07a1f8c9",
"name" : "RSS Continious Inclination"
}, {
"uuid" : "5b30ffb3-2cbe-46ed-a9ec-87c5582ae1eb",
"name" : "Rig State"
} ]
}
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/02a46d4b-680b-47e6-82bf-ac6e97c4eb36/traces/mapped?type=TIME' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/02a46d4b-680b-47e6-82bf-ac6e97c4eb36/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: 45d8ac1189acc4150917774ddc0f5f61
Content-Type: application/json
{
"content" : [ {
"uuid" : "30652f8a-15d2-4a10-9e86-2943a7bd5687",
"name" : "Surface RPM",
"hash" : "32f1228ee7b941fbee69790cf08dabf1",
"unit" : "1/s",
"null_value" : "-999.25",
"start_date_time_index" : "2020-12-29T08:00:00Z",
"last_date_time_index" : "2020-12-29T08:50:00Z"
}, {
"uuid" : "702c9494-7666-435f-ad46-9c6a3f24faa3",
"name" : "Flow In Rate",
"hash" : "1c7d4cf60649cccdf22c265915c4cdf9",
"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" : "d635c218-3d17-4f5d-98b4-026085c4f584",
"name" : "Hole Depth",
"hash" : "32d3dd3a63a394e40b6fecefd8322592",
"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" : "ccf5d0214505617b7403b28e38a931db",
"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" : "f93bf5a7-9755-4163-9c44-6d107967db4b",
"name" : "Bit depth",
"hash" : "73b18aaf4d154846efb1e70ed7a720d0",
"unit" : "m",
"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/02a46d4b-680b-47e6-82bf-ac6e97c4eb36/traces/mapped?type=DEPTH' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/02a46d4b-680b-47e6-82bf-ac6e97c4eb36/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: 60a728a560cddf481de28dd17f13f66d
Content-Type: application/json
{
"content" : [ {
"uuid" : "d635c218-3d17-4f5d-98b4-026085c4f584",
"name" : "Hole Depth",
"hash" : "55994431d84f44cc36cbd1295aafc0f7",
"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/02a46d4b-680b-47e6-82bf-ac6e97c4eb36/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/02a46d4b-680b-47e6-82bf-ac6e97c4eb36/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: bc86b9c30c08cdd33dd0003fda1126d1
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",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:35.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:36.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:37.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:38.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:39.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:40.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:41.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:42.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:43.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:44.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:45.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:46.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:47.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:48.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:49.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:50.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:51.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:52.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:53.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:54.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:55.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:56.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:57.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:58.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:11:59.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:12:00.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:12:01.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:12:02.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:12:03.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:12:04.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:12:05.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:12:06.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:12:07.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:12:08.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:12:09.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:12:10.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:12:11.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:12:12.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:12:13.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:12:14.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:12:15.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:12:16.000Z",
"value" : "20349.3"
}, {
"index" : "2020-12-29T08:12:17.000Z",
"value" : "20349.4"
}, {
"index" : "2020-12-29T08:12:18.000Z",
"value" : "20349.4"
}, {
"index" : "2020-12-29T08:12:19.000Z",
"value" : "20349.4"
}, {
"index" : "2020-12-29T08:12:20.000Z",
"value" : "20349.5"
}, {
"index" : "2020-12-29T08:12:21.000Z",
"value" : "20349.5"
}, {
"index" : "2020-12-29T08:12:22.000Z",
"value" : "20349.5"
}, {
"index" : "2020-12-29T08:12:23.000Z",
"value" : "20349.6"
}, {
"index" : "2020-12-29T08:12:24.000Z",
"value" : "20349.6"
}, {
"index" : "2020-12-29T08:12:25.000Z",
"value" : "20349.6"
}, {
"index" : "2020-12-29T08:12:26.000Z",
"value" : "20349.6"
}, {
"index" : "2020-12-29T08:12:27.000Z",
"value" : "20349.6"
}, {
"index" : "2020-12-29T08:12:28.000Z",
"value" : "20349.6"
}, {
"index" : "2020-12-29T08:12:29.000Z",
"value" : "20349.6"
}, {
"index" : "2020-12-29T08:12:30.000Z",
"value" : "20349.6"
}, {
"index" : "2020-12-29T08:12:31.000Z",
"value" : "20349.6"
}, {
"index" : "2020-12-29T08:12:32.000Z",
"value" : "20349.6"
}, {
"index" : "2020-12-29T08:12:33.000Z",
"value" : "20349.6"
}, {
"index" : "2020-12-29T08:12:34.000Z",
"value" : "20349.6"
}, {
"index" : "2020-12-29T08:12:35.000Z",
"value" : "20349.6"
}, {
"index" : "2020-12-29T08:12:36.000Z",
"value" : "20349.7"
}, {
"index" : "2020-12-29T08:12:37.000Z",
"value" : "20349.7"
}, {
"index" : "2020-12-29T08:12:38.000Z",
"value" : "20349.7"
}, {
"index" : "2020-12-29T08:12:39.000Z",
"value" : "20349.7"
}, {
"index" : "2020-12-29T08:12:40.000Z",
"value" : "20349.7"
}, {
"index" : "2020-12-29T08:12:41.000Z",
"value" : "20349.7"
}, {
"index" : "2020-12-29T08:12:42.000Z",
"value" : "20349.7"
}, {
"index" : "2020-12-29T08:12:43.000Z",
"value" : "20349.7"
}, {
"index" : "2020-12-29T08:12:44.000Z",
"value" : "20349.7"
}, {
"index" : "2020-12-29T08:12:45.000Z",
"value" : "20349.7"
}, {
"index" : "2020-12-29T08:12:46.000Z",
"value" : "20349.8"
}, {
"index" : "2020-12-29T08:12:47.000Z",
"value" : "20349.8"
}, {
"index" : "2020-12-29T08:12:48.000Z",
"value" : "20349.8"
}, {
"index" : "2020-12-29T08:12:49.000Z",
"value" : "20349.9"
}, {
"index" : "2020-12-29T08:12:50.000Z",
"value" : "20349.9"
}, {
"index" : "2020-12-29T08:12:51.000Z",
"value" : "20349.9"
}, {
"index" : "2020-12-29T08:12:52.000Z",
"value" : "20349.9"
}, {
"index" : "2020-12-29T08:12:53.000Z",
"value" : "20349.9"
}, {
"index" : "2020-12-29T08:12:54.000Z",
"value" : "20349.9"
}, {
"index" : "2020-12-29T08:12:55.000Z",
"value" : "20349.9"
}, {
"index" : "2020-12-29T08:12:56.000Z",
"value" : "20349.9"
}, {
"index" : "2020-12-29T08:12:57.000Z",
"value" : "20350"
}, {
"index" : "2020-12-29T08:12:58.000Z",
"value" : "20350"
}, {
"index" : "2020-12-29T08:12:59.000Z",
"value" : "20350"
}, {
"index" : "2020-12-29T08:13:00.000Z",
"value" : "20350"
}, {
"index" : "2020-12-29T08:13:01.000Z",
"value" : "20350"
}, {
"index" : "2020-12-29T08:13:02.000Z",
"value" : "20350"
}, {
"index" : "2020-12-29T08:13:03.000Z",
"value" : "20350.1"
}, {
"index" : "2020-12-29T08:13:04.000Z",
"value" : "20350.1"
}, {
"index" : "2020-12-29T08:13:05.000Z",
"value" : "20350.1"
}, {
"index" : "2020-12-29T08:13:06.000Z",
"value" : "20350.1"
}, {
"index" : "2020-12-29T08:13:07.000Z",
"value" : "20350.1"
}, {
"index" : "2020-12-29T08:13:08.000Z",
"value" : "20350.1"
}, {
"index" : "2020-12-29T08:13:09.000Z",
"value" : "20350.1"
}, {
"index" : "2020-12-29T08:13:10.000Z",
"value" : "20350.1"
}, {
"index" : "2020-12-29T08:13:11.000Z",
"value" : "20350.1"
}, {
"index" : "2020-12-29T08:13:12.000Z",
"value" : "20350.2"
}, {
"index" : "2020-12-29T08:13:13.000Z",
"value" : "20350.2"
}, {
"index" : "2020-12-29T08:13:14.000Z",
"value" : "20350.2"
}, {
"index" : "2020-12-29T08:13:15.000Z",
"value" : "20350.2"
}, {
"index" : "2020-12-29T08:13:16.000Z",
"value" : "20350.2"
}, {
"index" : "2020-12-29T08:13:17.000Z",
"value" : "20350.2"
}, {
"index" : "2020-12-29T08:13:18.000Z",
"value" : "20350.2"
}, {
"index" : "2020-12-29T08:13:19.000Z",
"value" : "20350.3"
}, {
"index" : "2020-12-29T08:13:20.000Z",
"value" : "20350.3"
}, {
"index" : "2020-12-29T08:13:21.000Z",
"value" : "20350.3"
}, {
"index" : "2020-12-29T08:13:22.000Z",
"value" : "20350.3"
}, {
"index" : "2020-12-29T08:13:23.000Z",
"value" : "20350.3"
}, {
"index" : "2020-12-29T08:13:24.000Z",
"value" : "20350.3"
}, {
"index" : "2020-12-29T08:13:25.000Z",
"value" : "20350.3"
}, {
"index" : "2020-12-29T08:13:26.000Z",
"value" : "20350.3"
}, {
"index" : "2020-12-29T08:13:27.000Z",
"value" : "20350.3"
}, {
"index" : "2020-12-29T08:13:28.000Z",
"value" : "20350.3"
}, {
"index" : "2020-12-29T08:13:29.000Z",
"value" : "20350.3"
}, {
"index" : "2020-12-29T08:13:30.000Z",
"value" : "20350.3"
}, {
"index" : "2020-12-29T08:13:31.000Z",
"value" : "20350.3"
}, {
"index" : "2020-12-29T08:13:32.000Z",
"value" : "20350.3"
}, {
"index" : "2020-12-29T08:13:33.000Z",
"value" : "20350.3"
}, {
"index" : "2020-12-29T08:13:34.000Z",
"value" : "20350.3"
}, {
"index" : "2020-12-29T08:13:35.000Z",
"value" : "20350.3"
}, {
"index" : "2020-12-29T08:13:36.000Z",
"value" : "20350.3"
}, {
"index" : "2020-12-29T08:13:37.000Z",
"value" : "20350.3"
}, {
"index" : "2020-12-29T08:13:38.000Z",
"value" : "20350.4"
}, {
"index" : "2020-12-29T08:13:39.000Z",
"value" : "20350.4"
}, {
"index" : "2020-12-29T08:13:40.000Z",
"value" : "20350.4"
}, {
"index" : "2020-12-29T08:13:41.000Z",
"value" : "20350.4"
}, {
"index" : "2020-12-29T08:13:42.000Z",
"value" : "20350.5"
}, {
"index" : "2020-12-29T08:13:43.000Z",
"value" : "20350.5"
}, {
"index" : "2020-12-29T08:13:44.000Z",
"value" : "20350.5"
}, {
"index" : "2020-12-29T08:13:45.000Z",
"value" : "20350.6"
}, {
"index" : "2020-12-29T08:13:46.000Z",
"value" : "20350.6"
}, {
"index" : "2020-12-29T08:13:47.000Z",
"value" : "20350.6"
}, {
"index" : "2020-12-29T08:13:48.000Z",
"value" : "20350.6"
}, {
"index" : "2020-12-29T08:13:49.000Z",
"value" : "20350.6"
}, {
"index" : "2020-12-29T08:13:50.000Z",
"value" : "20350.6"
}, {
"index" : "2020-12-29T08:13:51.000Z",
"value" : "20350.6"
}, {
"index" : "2020-12-29T08:13:52.000Z",
"value" : "20350.6"
}, {
"index" : "2020-12-29T08:13:53.000Z",
"value" : "20350.6"
}, {
"index" : "2020-12-29T08:13:54.000Z",
"value" : "20350.7"
}, {
"index" : "2020-12-29T08:13:55.000Z",
"value" : "20350.7"
}, {
"index" : "2020-12-29T08:13:56.000Z",
"value" : "20350.7"
}, {
"index" : "2020-12-29T08:13:57.000Z",
"value" : "20350.7"
}, {
"index" : "2020-12-29T08:13:58.000Z",
"value" : "20350.7"
}, {
"index" : "2020-12-29T08:13:59.000Z",
"value" : "20350.7"
}, {
"index" : "2020-12-29T08:14:00.000Z",
"value" : "20350.8"
}, {
"index" : "2020-12-29T08:14:01.000Z",
"value" : "20350.8"
}, {
"index" : "2020-12-29T08:14:02.000Z",
"value" : "20350.8"
}, {
"index" : "2020-12-29T08:14:03.000Z",
"value" : "20350.8"
}, {
"index" : "2020-12-29T08:14:04.000Z",
"value" : "20350.8"
}, {
"index" : "2020-12-29T08:14:05.000Z",
"value" : "20350.8"
}, {
"index" : "2020-12-29T08:14:06.000Z",
"value" : "20350.8"
}, {
"index" : "2020-12-29T08:14:07.000Z",
"value" : "20350.8"
}, {
"index" : "2020-12-29T08:14:08.000Z",
"value" : "20350.8"
}, {
"index" : "2020-12-29T08:14:09.000Z",
"value" : "20350.9"
}, {
"index" : "2020-12-29T08:14:10.000Z",
"value" : "20350.9"
}, {
"index" : "2020-12-29T08:14:11.000Z",
"value" : "20350.9"
}, {
"index" : "2020-12-29T08:14:12.000Z",
"value" : "20350.9"
}, {
"index" : "2020-12-29T08:14:13.000Z",
"value" : "20351"
}, {
"index" : "2020-12-29T08:14:14.000Z",
"value" : "20351"
}, {
"index" : "2020-12-29T08:14:15.000Z",
"value" : "20351"
}, {
"index" : "2020-12-29T08:14:16.000Z",
"value" : "20351"
}, {
"index" : "2020-12-29T08:14:17.000Z",
"value" : "20351"
}, {
"index" : "2020-12-29T08:14:18.000Z",
"value" : "20351"
}, {
"index" : "2020-12-29T08:14:19.000Z",
"value" : "20351"
}, {
"index" : "2020-12-29T08:14:20.000Z",
"value" : "20351"
}, {
"index" : "2020-12-29T08:14:21.000Z",
"value" : "20351"
}, {
"index" : "2020-12-29T08:14:22.000Z",
"value" : "20351"
}, {
"index" : "2020-12-29T08:14:23.000Z",
"value" : "20351"
}, {
"index" : "2020-12-29T08:14:24.000Z",
"value" : "20351"
}, {
"index" : "2020-12-29T08:14:25.000Z",
"value" : "20351"
}, {
"index" : "2020-12-29T08:14:26.000Z",
"value" : "20351"
}, {
"index" : "2020-12-29T08:14:27.000Z",
"value" : "20351"
}, {
"index" : "2020-12-29T08:14:28.000Z",
"value" : "20351"
}, {
"index" : "2020-12-29T08:14:29.000Z",
"value" : "20351"
}, {
"index" : "2020-12-29T08:14:30.000Z",
"value" : "20351"
}, {
"index" : "2020-12-29T08:14:31.000Z",
"value" : "20351"
}, {
"index" : "2020-12-29T08:14:32.000Z",
"value" : "20351"
}, {
"index" : "2020-12-29T08:14:33.000Z",
"value" : "20351"
}, {
"index" : "2020-12-29T08:14:34.000Z",
"value" : "20351.1"
}, {
"index" : "2020-12-29T08:14:35.000Z",
"value" : "20351.1"
}, {
"index" : "2020-12-29T08:14:36.000Z",
"value" : "20351.1"
}, {
"index" : "2020-12-29T08:14:37.000Z",
"value" : "20351.1"
}, {
"index" : "2020-12-29T08:14:38.000Z",
"value" : "20351.1"
}, {
"index" : "2020-12-29T08:14:39.000Z",
"value" : "20351.2"
}, {
"index" : "2020-12-29T08:14:40.000Z",
"value" : "20351.2"
}, {
"index" : "2020-12-29T08:14:41.000Z",
"value" : "20351.2"
}, {
"index" : "2020-12-29T08:14:42.000Z",
"value" : "20351.3"
}, {
"index" : "2020-12-29T08:14:43.000Z",
"value" : "20351.3"
}, {
"index" : "2020-12-29T08:14:44.000Z",
"value" : "20351.3"
}, {
"index" : "2020-12-29T08:14:45.000Z",
"value" : "20351.4"
}, {
"index" : "2020-12-29T08:14:46.000Z",
"value" : "20351.4"
}, {
"index" : "2020-12-29T08:14:47.000Z",
"value" : "20351.4"
}, {
"index" : "2020-12-29T08:14:48.000Z",
"value" : "20351.5"
}, {
"index" : "2020-12-29T08:14:49.000Z",
"value" : "20351.5"
}, {
"index" : "2020-12-29T08:14:50.000Z",
"value" : "20351.5"
}, {
"index" : "2020-12-29T08:14:51.000Z",
"value" : "20351.6"
}, {
"index" : "2020-12-29T08:14:52.000Z",
"value" : "20351.6"
}, {
"index" : "2020-12-29T08:14:53.000Z",
"value" : "20351.7"
}, {
"index" : "2020-12-29T08:14:54.000Z",
"value" : "20351.7"
}, {
"index" : "2020-12-29T08:14:55.000Z",
"value" : "20351.7"
}, {
"index" : "2020-12-29T08:14:56.000Z",
"value" : "20351.7"
}, {
"index" : "2020-12-29T08:14:57.000Z",
"value" : "20351.8"
}, {
"index" : "2020-12-29T08:14:58.000Z",
"value" : "20351.8"
}, {
"index" : "2020-12-29T08:14:59.000Z",
"value" : "20351.9"
}, {
"index" : "2020-12-29T08:15:00.000Z",
"value" : "20351.9"
}, {
"index" : "2020-12-29T08:15:01.000Z",
"value" : "20351.9"
}, {
"index" : "2020-12-29T08:15:02.000Z",
"value" : "20352"
}, {
"index" : "2020-12-29T08:15:03.000Z",
"value" : "20352"
}, {
"index" : "2020-12-29T08:15:04.000Z",
"value" : "20352"
}, {
"index" : "2020-12-29T08:15:05.000Z",
"value" : "20352"
}, {
"index" : "2020-12-29T08:15:06.000Z",
"value" : "20352.1"
}, {
"index" : "2020-12-29T08:15:07.000Z",
"value" : "20352.1"
}, {
"index" : "2020-12-29T08:15:08.000Z",
"value" : "20352.1"
}, {
"index" : "2020-12-29T08:15:09.000Z",
"value" : "20352.2"
}, {
"index" : "2020-12-29T08:15:10.000Z",
"value" : "20352.2"
}, {
"index" : "2020-12-29T08:15:11.000Z",
"value" : "20352.2"
}, {
"index" : "2020-12-29T08:15:12.000Z",
"value" : "20352.2"
}, {
"index" : "2020-12-29T08:15:13.000Z",
"value" : "20352.2"
}, {
"index" : "2020-12-29T08:15:14.000Z",
"value" : "20352.3"
}, {
"index" : "2020-12-29T08:15:15.000Z",
"value" : "20352.3"
}, {
"index" : "2020-12-29T08:15:16.000Z",
"value" : "20352.3"
}, {
"index" : "2020-12-29T08:15:17.000Z",
"value" : "20352.3"
}, {
"index" : "2020-12-29T08:15:18.000Z",
"value" : "20352.4"
}, {
"index" : "2020-12-29T08:15:19.000Z",
"value" : "20352.4"
}, {
"index" : "2020-12-29T08:15:20.000Z",
"value" : "20352.4"
}, {
"index" : "2020-12-29T08:15:21.000Z",
"value" : "20352.4"
}, {
"index" : "2020-12-29T08:15:22.000Z",
"value" : "20352.4"
}, {
"index" : "2020-12-29T08:15:23.000Z",
"value" : "20352.5"
}, {
"index" : "2020-12-29T08:15:24.000Z",
"value" : "20352.5"
}, {
"index" : "2020-12-29T08:15:25.000Z",
"value" : "20352.5"
}, {
"index" : "2020-12-29T08:15:26.000Z",
"value" : "20352.5"
}, {
"index" : "2020-12-29T08:15:27.000Z",
"value" : "20352.5"
}, {
"index" : "2020-12-29T08:15:28.000Z",
"value" : "20352.6"
}, {
"index" : "2020-12-29T08:15:29.000Z",
"value" : "20352.6"
}, {
"index" : "2020-12-29T08:15:30.000Z",
"value" : "20352.6"
}, {
"index" : "2020-12-29T08:15:31.000Z",
"value" : "20352.6"
}, {
"index" : "2020-12-29T08:15:32.000Z",
"value" : "20352.6"
}, {
"index" : "2020-12-29T08:15:33.000Z",
"value" : "20352.6"
}, {
"index" : "2020-12-29T08:15:34.000Z",
"value" : "20352.6"
}, {
"index" : "2020-12-29T08:15:35.000Z",
"value" : "20352.6"
}, {
"index" : "2020-12-29T08:15:36.000Z",
"value" : "20352.6"
}, {
"index" : "2020-12-29T08:15:37.000Z",
"value" : "20352.6"
}, {
"index" : "2020-12-29T08:15:38.000Z",
"value" : "20352.6"
}, {
"index" : "2020-12-29T08:15:39.000Z",
"value" : "20352.6"
}, {
"index" : "2020-12-29T08:15:40.000Z",
"value" : "20352.6"
}, {
"index" : "2020-12-29T08:15:41.000Z",
"value" : "20352.6"
}, {
"index" : "2020-12-29T08:15:42.000Z",
"value" : "20352.6"
}, {
"index" : "2020-12-29T08:15:43.000Z",
"value" : "20352.7"
}, {
"index" : "2020-12-29T08:15:44.000Z",
"value" : "20352.7"
}, {
"index" : "2020-12-29T08:15:45.000Z",
"value" : "20352.7"
}, {
"index" : "2020-12-29T08:15:46.000Z",
"value" : "20352.7"
}, {
"index" : "2020-12-29T08:15:47.000Z",
"value" : "20352.8"
}, {
"index" : "2020-12-29T08:15:48.000Z",
"value" : "20352.8"
}, {
"index" : "2020-12-29T08:15:49.000Z",
"value" : "20352.8"
}, {
"index" : "2020-12-29T08:15:50.000Z",
"value" : "20352.8"
}, {
"index" : "2020-12-29T08:15:51.000Z",
"value" : "20352.8"
}, {
"index" : "2020-12-29T08:15:52.000Z",
"value" : "20352.9"
}, {
"index" : "2020-12-29T08:15:53.000Z",
"value" : "20352.9"
}, {
"index" : "2020-12-29T08:15:54.000Z",
"value" : "20352.9"
}, {
"index" : "2020-12-29T08:15:55.000Z",
"value" : "20353"
}, {
"index" : "2020-12-29T08:15:56.000Z",
"value" : "20353"
}, {
"index" : "2020-12-29T08:15:57.000Z",
"value" : "20353"
}, {
"index" : "2020-12-29T08:15:58.000Z",
"value" : "20353"
}, {
"index" : "2020-12-29T08:15:59.000Z",
"value" : "20353"
}, {
"index" : "2020-12-29T08:16:00.000Z",
"value" : "20353"
}, {
"index" : "2020-12-29T08:16:01.000Z",
"value" : "20353"
}, {
"index" : "2020-12-29T08:16:02.000Z",
"value" : "20353"
}, {
"index" : "2020-12-29T08:16:03.000Z",
"value" : "20353"
}, {
"index" : "2020-12-29T08:16:04.000Z",
"value" : "20353"
}, {
"index" : "2020-12-29T08:16:05.000Z",
"value" : "20353"
}, {
"index" : "2020-12-29T08:16:06.000Z",
"value" : "20353"
}, {
"index" : "2020-12-29T08:16:07.000Z",
"value" : "20353"
}, {
"index" : "2020-12-29T08:16:08.000Z",
"value" : "20353"
}, {
"index" : "2020-12-29T08:16:09.000Z",
"value" : "20353"
}, {
"index" : "2020-12-29T08:16:10.000Z",
"value" : "20353"
}, {
"index" : "2020-12-29T08:16:11.000Z",
"value" : "20353"
}, {
"index" : "2020-12-29T08:16:12.000Z",
"value" : "20353"
}, {
"index" : "2020-12-29T08:16:13.000Z",
"value" : "20353"
}, {
"index" : "2020-12-29T08:16:14.000Z",
"value" : "20353"
}, {
"index" : "2020-12-29T08:16:15.000Z",
"value" : "20353.1"
}, {
"index" : "2020-12-29T08:16:16.000Z",
"value" : "20353.1"
}, {
"index" : "2020-12-29T08:16:17.000Z",
"value" : "20353.1"
}, {
"index" : "2020-12-29T08:16:18.000Z",
"value" : "20353.2"
}, {
"index" : "2020-12-29T08:16:19.000Z",
"value" : "20353.2"
}, {
"index" : "2020-12-29T08:16:20.000Z",
"value" : "20353.2"
}, {
"index" : "2020-12-29T08:16:21.000Z",
"value" : "20353.2"
}, {
"index" : "2020-12-29T08:16:22.000Z",
"value" : "20353.3"
}, {
"index" : "2020-12-29T08:16:23.000Z",
"value" : "20353.3"
}, {
"index" : "2020-12-29T08:16:24.000Z",
"value" : "20353.3"
}, {
"index" : "2020-12-29T08:16:25.000Z",
"value" : "20353.3"
}, {
"index" : "2020-12-29T08:16:26.000Z",
"value" : "20353.3"
}, {
"index" : "2020-12-29T08:16:27.000Z",
"value" : "20353.3"
}, {
"index" : "2020-12-29T08:16:28.000Z",
"value" : "20353.3"
}, {
"index" : "2020-12-29T08:16:29.000Z",
"value" : "20353.3"
}, {
"index" : "2020-12-29T08:16:30.000Z",
"value" : "20353.3"
}, {
"index" : "2020-12-29T08:16:31.000Z",
"value" : "20353.3"
}, {
"index" : "2020-12-29T08:16:32.000Z",
"value" : "20353.3"
}, {
"index" : "2020-12-29T08:16:33.000Z",
"value" : "20353.4"
}, {
"index" : "2020-12-29T08:16:34.000Z",
"value" : "20353.4"
}, {
"index" : "2020-12-29T08:16:35.000Z",
"value" : "20353.4"
}, {
"index" : "2020-12-29T08:16:36.000Z",
"value" : "20353.4"
}, {
"index" : "2020-12-29T08:16:37.000Z",
"value" : "20353.4"
}, {
"index" : "2020-12-29T08:16:38.000Z",
"value" : "20353.4"
}, {
"index" : "2020-12-29T08:16:39.000Z",
"value" : "20353.4"
}, {
"index" : "2020-12-29T08:16:40.000Z",
"value" : "20353.5"
}, {
"index" : "2020-12-29T08:16:41.000Z",
"value" : "20353.5"
}, {
"index" : "2020-12-29T08:16:42.000Z",
"value" : "20353.5"
}, {
"index" : "2020-12-29T08:16:43.000Z",
"value" : "20353.5"
}, {
"index" : "2020-12-29T08:16:44.000Z",
"value" : "20353.5"
}, {
"index" : "2020-12-29T08:16:45.000Z",
"value" : "20353.5"
}, {
"index" : "2020-12-29T08:16:46.000Z",
"value" : "20353.5"
}, {
"index" : "2020-12-29T08:16:47.000Z",
"value" : "20353.5"
}, {
"index" : "2020-12-29T08:16:48.000Z",
"value" : "20353.5"
}, {
"index" : "2020-12-29T08:16:49.000Z",
"value" : "20353.5"
}, {
"index" : "2020-12-29T08:16:50.000Z",
"value" : "20353.5"
}, {
"index" : "2020-12-29T08:16:51.000Z",
"value" : "20353.5"
}, {
"index" : "2020-12-29T08:16:52.000Z",
"value" : "20353.5"
}, {
"index" : "2020-12-29T08:16:53.000Z",
"value" : "20353.5"
}, {
"index" : "2020-12-29T08:16:54.000Z",
"value" : "20353.5"
}, {
"index" : "2020-12-29T08:16:55.000Z",
"value" : "20353.5"
}, {
"index" : "2020-12-29T08:16:56.000Z",
"value" : "20353.5"
}, {
"index" : "2020-12-29T08:16:57.000Z",
"value" : "20353.5"
}, {
"index" : "2020-12-29T08:16:58.000Z",
"value" : "20353.5"
}, {
"index" : "2020-12-29T08:16:59.000Z",
"value" : "20353.6"
} ]
}
GET /public/api/v1/wells/{lateralUuid}/traces/{traceUuid}/data/time
| Path parameter | Description |
|---|---|
lateralUuid |
Lateral UUID |
traceUuid |
Trace UUID |
| Parameter | Description |
|---|---|
from |
(Optional) Start date, for example: 2020-11-01T00:00:00.000Z |
to |
(Optional) End date, for example: 2020-11-01T00:02:00.000Z |
hash |
(Optional) Trace hash |
limit |
(Optional) Limit of returning rows. Default 1000, max 1_000_000 |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Log data array |
content[].index |
String |
an index value |
content[].value |
String |
a value of the requested trace |
Get depth series data by lateral and trace
Get depth series data by lateral UUID and mapped trace UUID
Request
$ curl 'https://solo.cloud/public/api/v1/wells/02a46d4b-680b-47e6-82bf-ac6e97c4eb36/traces/d635c218-3d17-4f5d-98b4-026085c4f584/data/depth?from=1.0&to=4.0' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/02a46d4b-680b-47e6-82bf-ac6e97c4eb36/traces/d635c218-3d17-4f5d-98b4-026085c4f584/data/depth?from=1.0&to=4.0 HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 057f07184b482382e96519c9f7c00aae
Content-Type: application/json
{
"content" : [ {
"index" : "1",
"value" : "10"
}, {
"index" : "2",
"value" : "20"
}, {
"index" : "3",
"value" : "30"
}, {
"index" : "4",
"value" : "40"
} ]
}
GET /public/api/v1/wells/{lateralUuid}/traces/{traceUuid}/data/depth
| Path parameter | Description |
|---|---|
lateralUuid |
Lateral UUID |
traceUuid |
Trace UUID |
| Parameter | Description |
|---|---|
from |
(Optional) Start md, for example: 0.0 |
to |
(Optional) End md, for example: 2300 |
hash |
(Optional) Trace hash |
limit |
(Optional) Limit of returning rows. Default 1000, max 1_000_000 |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Log data array |
content[].index |
String |
an index value |
content[].value |
String |
a value of the requested trace |
Get Rig Activity and KPIs (by time) by lateral and trace
Get Rig Activity and KPIs by lateral (by time) UUID and trace UUID
Request
$ curl 'https://solo.cloud/public/api/v1/wells/02a46d4b-680b-47e6-82bf-ac6e97c4eb36/traces/e3c996b6-9cdb-4876-ac99-0aab694b801a/data/calculated/time' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/02a46d4b-680b-47e6-82bf-ac6e97c4eb36/traces/e3c996b6-9cdb-4876-ac99-0aab694b801a/data/calculated/time HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: cd651385a7dae48cd0f54bcfbcde937b
Content-Type: application/json
{
"content" : [ {
"start" : "2020-11-01T00:00:00Z",
"end" : "2020-11-01T01:00:02Z",
"value" : "21"
}, {
"start" : "2020-12-29T08:00:00Z",
"end" : "2020-12-29T08:50:00Z",
"value" : "21"
} ]
}
GET /public/api/v1/wells/{lateralUuid}/traces/{traceUuid}/data/calculated/time
| Path parameter | Description |
|---|---|
lateralUuid |
Lateral UUID |
traceUuid |
Trace UUID |
| Parameter | Description |
|---|---|
from |
(Optional) Start date, for example: 2020-11-01T00:00:00.000Z |
to |
(Optional) End date, for example: 2020-11-01T00:02:00.000Z |
hash |
(Optional) Trace hash |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Data array |
content[].start |
String |
interval start date |
content[].end |
String |
interval end date |
content[].value |
String |
a value |
Get Rig Activity and KPIs (by depth) by lateral and trace
Get Rig Activity and KPIs (by depth) by lateral UUID and trace UUID
Request
$ curl 'https://solo.cloud/public/api/v1/wells/02a46d4b-680b-47e6-82bf-ac6e97c4eb36/traces/e3c996b6-9cdb-4876-ac99-0aab694b801a/data/calculated/depth?from=1.0&to=10.0' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/02a46d4b-680b-47e6-82bf-ac6e97c4eb36/traces/e3c996b6-9cdb-4876-ac99-0aab694b801a/data/calculated/depth?from=1.0&to=10.0 HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: b8b06bd7e22c157331a68f0eca5b4bda
Content-Type: application/json
{
"content" : [ {
"start" : 1.0,
"end" : 10.0,
"value" : "21"
} ]
}
GET /public/api/v1/wells/{lateralUuid}/traces/{traceUuid}/data/calculated/depth
| Path parameter | Description |
|---|---|
lateralUuid |
Lateral UUID |
traceUuid |
Trace UUID |
| Parameter | Description |
|---|---|
from |
Start depth |
to |
End depth |
hash |
(Optional) Trace hash |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Data array |
content[].start |
Number |
interval start value |
content[].end |
Number |
interval end value |
content[].value |
String |
a value |
14. Directional Drilling
Get slide sheet intervals
Get slide sheet intervals by lateral UUID. Returns all intervals with attribute values converted to project units. Intervals with empty values (value: "0") are filtered out.
Request
$ curl 'https://solo.cloud/public/api/v1/wells/291254d6-c04a-4488-b270-8534a9031061/intervals/slide-sheet?from=200.0&to=500.0' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/291254d6-c04a-4488-b270-8534a9031061/intervals/slide-sheet?from=200.0&to=500.0 HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 54284cd59626cc917c04108b0b4feced
Content-Type: application/json
{
"content" : [ {
"depth_from" : 407.8224,
"depth_to" : 421.15130400000004,
"from" : "2023-04-25T03:00:15Z",
"to" : "2023-04-25T03:12:37Z",
"mode" : "ROTARY",
"distance" : 13.328904000000023,
"rop_avg" : 64.66853692722383,
"mfi_avg" : 37.97616657081958,
"diff_pressure_avg" : 28.50240282152303,
"rpm_avg" : 40.55567116396066
}, {
"depth_from" : 421.15130400000004,
"depth_to" : 426.579792,
"from" : "2023-04-25T03:18:17Z",
"to" : "2023-04-25T03:22:35Z",
"mode" : "ROTARY",
"distance" : 5.428487999999959,
"rop_avg" : 75.74634418604595,
"mfi_avg" : 44.301426562745654,
"diff_pressure_avg" : 27.84057092289668,
"rpm_avg" : 40.826889387984245
}, {
"depth_from" : 426.579792,
"depth_to" : 433.09946400000007,
"from" : "2023-04-25T03:31:29Z",
"to" : "2023-04-25T03:40:34Z",
"mode" : "SLIDE",
"distance" : 6.519672000000071,
"rop_avg" : 43.065723302752765,
"mfi_avg" : 44.29881991412529,
"diff_pressure_avg" : 18.090786997094895,
"rpm_avg" : 0.11454885460497963,
"gtf_avg" : -4188.322087125122,
"mtf_avg" : 12844.874388918157
}, {
"depth_from" : 433.09946400000007,
"depth_to" : 449.61962400000004,
"from" : "2023-04-25T03:41:42Z",
"to" : "2023-04-25T03:53:30Z",
"mode" : "ROTARY",
"distance" : 16.520159999999976,
"rop_avg" : 84.00081355932191,
"mfi_avg" : 44.293015716400745,
"diff_pressure_avg" : 36.554082604907975,
"rpm_avg" : 40.80610147601478
}, {
"depth_from" : 449.61962400000004,
"depth_to" : 454.758552,
"from" : "2023-04-25T03:59:48Z",
"to" : "2023-04-25T04:02:40Z",
"mode" : "ROTARY",
"distance" : 5.138927999999964,
"rop_avg" : 107.55895813953414,
"mfi_avg" : 56.44465664867975,
"diff_pressure_avg" : 34.757457553000386,
"rpm_avg" : 60.42781138790041
}, {
"depth_from" : 454.758552,
"depth_to" : 455.983848,
"from" : "2023-04-25T04:04:08Z",
"to" : "2023-04-25T04:06:15Z",
"mode" : "SLIDE",
"distance" : 1.2252960000000144,
"rop_avg" : 34.73280000000041,
"mfi_avg" : 56.487772904208946,
"diff_pressure_avg" : 13.452906542095633,
"rpm_avg" : 0.1718407960196003,
"gtf_avg" : -4188.322087125122,
"mtf_avg" : 12177.835638050661,
"rotary_build_rate" : -33.10848744832926,
"rotary_turn_rate" : -17.52802276676857,
"motor_yield" : 212205.26330565757
}, {
"depth_from" : 455.99604,
"depth_to" : 460.711296,
"from" : "2023-04-25T04:06:15Z",
"to" : "2023-04-25T04:11:22Z",
"mode" : "OSCILLATION_SLIDE",
"distance" : 4.715256000000011,
"rop_avg" : 55.29290423452781,
"mfi_avg" : 56.677411506534895,
"diff_pressure_avg" : 21.57243815705851,
"rpm_avg" : 6.967925016160347,
"gtf_avg" : -4188.322087125122,
"mtf_avg" : 14358.09873929123,
"tf_control" : 7850.0,
"burned_distance" : 3.4,
"survey_md" : 1274.8155148800001,
"incl" : 5193.290204884008,
"azimuth" : 20604.1382455686
} ]
}
GET /public/api/v1/wells/{lateralUuid}/intervals/slide-sheet
| Path parameter | Description |
|---|---|
lateralUuid |
Lateral UUID |
| Parameter | Description |
|---|---|
from |
(Optional) Start depth in project units |
to |
(Optional) End depth in project units |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Slide sheet intervals array |
content[].depth_from |
Number |
Interval start depth in project units |
content[].depth_to |
Number |
Interval end depth in project units |
content[].from |
String |
Interval start time |
content[].to |
String |
Interval end time |
content[].mode |
String |
Drilling mode: SLIDE, ROTATE, or RSS |
content[].distance |
Number |
Distance drilled in project units |
content[].rop_avg |
Number |
Average rate of penetration |
content[].wob_avg |
Number |
Average weight on bit |
content[].mfi_avg |
Number |
Average mud flow in |
content[].diff_pressure_avg |
Number |
Average differential pressure |
content[].rpm_avg |
Number |
Average rotations per minute |
content[].gtf_avg |
Number |
Average gravity tool face |
content[].mtf_avg |
Number |
Average magnetic tool face |
content[].gtf_effective |
Number |
Effective gravity tool face |
content[].tf_control |
Number |
Tool face control |
content[].burned_distance |
Number |
Burned distance |
content[].survey_md |
Number |
Survey measured depth |
content[].incl |
Number |
Inclination |
content[].azimuth |
Number |
Azimuth |
content[].tvd |
Number |
True vertical depth |
content[].dls |
Number |
Dog leg severity |
content[].rotary_build_rate |
Number |
Rotary build rate |
content[].rotary_turn_rate |
Number |
Rotary turn rate |
content[].motor_yield |
Number |
Motor yield |
content[].rss_dlink |
String |
RSS D-link |
content[].rss_dtf |
Number |
RSS DTF |
content[].rss_sr |
Number |
RSS steering ratio |
content[].rss_tinc |
Number |
RSS target inclination |
content[].rss_taz |
Number |
RSS target azimuth |
15. Well attributes
Create custom well attribute
Create a custom well attribute by project UUID
Request
$ curl 'https://solo.cloud/public/api/v1/projects/7673ee00-54f3-4391-80dc-e79079043be2/wellattributes' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Custom attribute name",
"group_uuid" : "caeb5bb2-18ea-4191-9c36-f2e252259371",
"type" : "VARCHAR",
"unit" : "DISTANCE"
}'
POST /public/api/v1/projects/7673ee00-54f3-4391-80dc-e79079043be2/wellattributes HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 140
{
"name" : "Custom attribute name",
"group_uuid" : "caeb5bb2-18ea-4191-9c36-f2e252259371",
"type" : "VARCHAR",
"unit" : "DISTANCE"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 2857c1eb68fd85580de8a647d6ece540
Content-Type: application/json
{
"id" : 10003,
"name" : "Custom attribute name"
}
POST /public/api/v1/projects/{projectUuid}/wellattributes
| Path parameter | Description |
|---|---|
projectUuid |
Project UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
name |
String |
Well attribute name |
type |
String |
Well attribute type (VARCHAR, INTEGER, FLOAT, ENUM, DATE) |
unit |
String |
Well attribute domain (POSITION, DISTANCE, DEPTH, ANGLE, VOLUME) |
range |
Varies |
Well attribute range (for enums) |
group_uuid |
String |
Well attribute group UUID |
Response body
Empty body
Get well attribute groups
Get a list of well attribute groups
Request
$ curl 'https://solo.cloud/public/api/v1/attributegroups' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/attributegroups HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: eda3faf3176b34ab47be0b870dc6cffd
Content-Type: application/json
[ {
"name" : "General",
"uuid" : "caeb5bb2-18ea-4191-9c36-f2e252259371"
}, {
"name" : "Location",
"uuid" : "b7ef6059-d428-4f35-9d4a-a786ffff1d83"
}, {
"name" : "Well Status",
"uuid" : "47f0b746-16e4-4959-a722-91a03c9d3aaf"
}, {
"name" : "Dates",
"uuid" : "a7bf5d85-6294-403e-8909-1ab9fda006f4"
}, {
"name" : "Production",
"uuid" : "a5b4f651-1212-4bf2-9ec5-f279480ffdad"
}, {
"name" : "Completion",
"uuid" : "d2bde9e4-2042-48b4-a3a2-eb49146c8145"
}, {
"name" : "Development characteristics",
"uuid" : "b995079d-7f89-4054-9276-93c69b70a6f5"
} ]
GET /public/api/v1/attributegroups
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
[].name |
String |
Well attribute group name |
[].uuid |
String |
Well attribute group UUID |
Get predefined well attributes by group
Get a list of predefined well attributes by group UUID
Request
$ curl 'https://solo.cloud/public/api/v1/attributegroups/caeb5bb2-18ea-4191-9c36-f2e252259371/wellattributes' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/attributegroups/caeb5bb2-18ea-4191-9c36-f2e252259371/wellattributes HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: bbe7fd799fa466549c72ed903de67197
Content-Type: application/json
[ {
"name" : "Name",
"id" : 1,
"type" : "VARCHAR",
"name_short" : "Name"
}, {
"name" : "API",
"id" : 2,
"type" : "VARCHAR",
"name_short" : "API"
}, {
"name" : "Well Type",
"id" : 3,
"type" : "ENUM",
"name_short" : "Type",
"range" : [ "Horizontal", "Deviated", "Vertical", "Directional" ]
}, {
"name" : "Operator",
"id" : 4,
"type" : "VARCHAR",
"name_short" : "OP"
}, {
"name" : "Field",
"id" : 5,
"type" : "VARCHAR",
"name_short" : "Field"
}, {
"name" : "Basin",
"id" : 6,
"type" : "VARCHAR",
"name_short" : "Basin"
}, {
"name" : "Azimuth VS",
"id" : 8,
"type" : "FLOAT",
"unit" : "ANGLE",
"name_short" : "Az",
"range" : {
"client" : {
"max" : 360,
"min" : 0
}
}
}, {
"name" : "Convergence",
"id" : 9,
"type" : "FLOAT",
"unit" : "ANGLE",
"name_short" : "Conv",
"range" : {
"client" : {
"max" : 180,
"min" : -180
},
"server" : {
"max" : 360,
"min" : 0
}
}
}, {
"name" : "KB",
"id" : 7,
"type" : "FLOAT",
"unit" : "DEPTH",
"name_short" : "KB"
}, {
"name" : "Well System",
"id" : 58,
"type" : "VARCHAR",
"name_short" : "System"
}, {
"name" : "Pad",
"id" : 59,
"type" : "VARCHAR",
"name_short" : "Pad"
}, {
"name" : "Source",
"id" : 60,
"type" : "ENUM",
"name_short" : "Source",
"range" : [ "PN", "TGS" ]
}, {
"name" : "Rig Type",
"id" : 65,
"type" : "ENUM",
"name_short" : "Rig Type",
"range" : [ "LAND", "OFFSHORE" ]
}, {
"name" : "Air gap",
"id" : 66,
"type" : "FLOAT",
"name_short" : "Air gap"
}, {
"name" : "Ground level",
"id" : 67,
"type" : "FLOAT",
"name_short" : "Ground level"
}, {
"name" : "Water depth",
"id" : 68,
"type" : "FLOAT",
"name_short" : "Water depth"
}, {
"name" : "Magnetic sample date",
"id" : 69,
"type" : "DATE",
"name_short" : "Magnetic sample date"
}, {
"name" : "Magnetic model name",
"id" : 70,
"type" : "VARCHAR",
"name_short" : "Magnetic model name"
}, {
"name" : "Magnetic field strength",
"id" : 71,
"type" : "FLOAT",
"name_short" : "Magnetic field strength"
}, {
"name" : "Magnetic dip angle",
"id" : 72,
"type" : "FLOAT",
"name_short" : "Magnetic dip angle"
}, {
"name" : "Magnetic declination",
"id" : 73,
"type" : "FLOAT",
"name_short" : "Magnetic declination"
}, {
"name" : "Survey program",
"id" : 74,
"type" : "VARCHAR",
"name_short" : "Survey program"
}, {
"name" : "Rig",
"id" : 77,
"type" : "VARCHAR",
"name_short" : "Rig"
} ]
GET /public/api/v1/attributegroups/{uuid}/wellattributes
| Path parameter | Description |
|---|---|
uuid |
Well attribute group UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
[].name |
String |
Well attribute name |
[].name_short |
String |
Well attribute short name |
[].id |
Number |
Well attribute Id |
[].type |
String |
Well attribute type (VARCHAR, INTEGER, FLOAT, ENUM, DATE) |
[].unit |
String |
Well attribute domain (POSITION, DISTANCE, DEPTH, ANGLE, VOLUME) |
[].range |
Varies |
Well attribute range |
[].range.client |
Object |
Well attribute client validation |
[].range.client.min |
Number |
Minimum value |
[].range.client.max |
Number |
Maximum value |
Get custom well attributes by group and project
Get a list of custom well attributes by group UUID and project UUID
Request
$ curl 'https://solo.cloud/public/api/v1/attributegroups/caeb5bb2-18ea-4191-9c36-f2e252259371/projects/7673ee00-54f3-4391-80dc-e79079043be2/wellattributes' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/attributegroups/caeb5bb2-18ea-4191-9c36-f2e252259371/projects/7673ee00-54f3-4391-80dc-e79079043be2/wellattributes HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 71ed07470888b33c50aad57ec35ee3b7
Content-Type: application/json
[ {
"name" : "Well attribute name",
"id" : 10000,
"type" : "ENUM",
"unit" : "POSITION",
"range" : "[\"Top\", \"Middle\", \"Bottom\"]",
"uuid" : "1a743f78-d5d9-49fa-8f75-ac076e276794"
}, {
"name" : "Custom attribute name",
"id" : 10003,
"type" : "VARCHAR",
"unit" : "DISTANCE",
"name_short" : "Custom attribute name",
"uuid" : "3f2c49b0-354f-4755-b0c5-8899edc2bc50"
} ]
GET /public/api/v1/attributegroups/{uuid}/projects/{projectUuid}/wellattributes
| Path parameter | Description |
|---|---|
uuid |
Well attribute group UUID |
projectUuid |
Project UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
[].name |
String |
Well attribute name |
[].name_short |
String |
Well attribute short name |
[].id |
Number |
Well attribute Id |
[].uuid |
String |
Well attribute uuid |
[].type |
String |
Well attribute type (VARCHAR, INTEGER, FLOAT, ENUM, DATE) |
[].unit |
String |
Well attribute domain (POSITION, DISTANCE, DEPTH, ANGLE, VOLUME) |
[].range |
Varies |
Well attribute range |
[].range.client |
Object |
Well attribute client validation |
[].range.client.min |
Number |
Minimum value |
[].range.client.max |
Number |
Maximum value |
Get well attribute values by lateral
Get a list of well attribute values by lateral UUID
Request
$ curl 'https://solo.cloud/public/api/v1/wells/5f071442-db19-4bc3-8b43-62258d804b14/attributevalues/v2' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/5f071442-db19-4bc3-8b43-62258d804b14/attributevalues/v2 HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: aaed62143eb946aa04f451936ba02e82
Content-Type: application/json
{
"Name" : {
"value" : "nameWell",
"attribute_id" : 1
},
"API" : {
"value" : "api",
"attribute_id" : 2
},
"Well Type" : {
"value" : "Deviated",
"attribute_id" : 3
},
"Operator" : {
"value" : "operator",
"attribute_id" : 4
},
"KB" : {
"value" : {
"val" : 3445.211614173228
},
"attribute_id" : 7
},
"Azimuth VS" : {
"value" : {
"val" : 114.59155902616465
},
"attribute_id" : 8
},
"Convergence" : {
"value" : {
"val" : 171.88733853924697
},
"attribute_id" : 9
},
"State (Province)" : {
"value" : "Penguin State ",
"attribute_id" : 10
},
"X-srf" : {
"value" : {
"val" : 13.123359580052492
},
"attribute_id" : 12
},
"Y-srf" : {
"value" : {
"val" : 16.404199475065617
},
"attribute_id" : 13
},
"Spud date" : {
"value" : "2023-12-18T14:16:32.001+00:00",
"attribute_id" : 17
},
"# of Stages" : {
"value" : 20,
"attribute_id" : 43
},
"Frac Fluid" : {
"value" : "X-link",
"attribute_id" : 46
},
"Final TVD" : {
"value" : {
"val" : 1.6076115485564304
},
"attribute_id" : 49
},
"Final TVDSS" : {
"value" : {
"val" : -1.6404199475065615
},
"attribute_id" : 50
},
"Formation" : {
"value" : "test51",
"attribute_id" : 51
},
"Net pay" : {
"value" : {
"val" : 52.0
},
"attribute_id" : 52
}
}
GET /public/api/v1/wells/{uuid}/attributevalues/v2
| Path parameter | Description |
|---|---|
uuid |
Lateral UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
.value |
Object |
Well attribute value for string type |
.value.val |
Number |
Well attribute value for numeric type |
*.attribute_id |
Number |
Well attribute Id |
Get well attribute values by nestedwell
Get a list of well attribute values by nested well UUID
Request
$ curl 'https://solo.cloud/public/api/v1/nestedwells/86271e91-171d-4219-8c2a-cd68d2d18fdb/attributevalues/v2' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/nestedwells/86271e91-171d-4219-8c2a-cd68d2d18fdb/attributevalues/v2 HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 37d00ae993cd769155c8d80b598cbc81
Content-Type: application/json
{
"Name" : {
"value" : "nestedName",
"attribute_id" : 1
},
"API" : {
"value" : "nestedApi",
"attribute_id" : 2
},
"Operator" : {
"value" : "nestedOperator",
"attribute_id" : 4
},
"KB" : {
"value" : {
"val" : 328.4120734908136
},
"attribute_id" : 7
},
"Azimuth VS" : {
"value" : {
"val" : 5.729577951308232
},
"attribute_id" : 8
},
"Convergence" : {
"value" : {
"val" : 11.459155902616464
},
"attribute_id" : 9
},
"X-srf" : {
"value" : {
"val" : 103.1
},
"attribute_id" : 12
},
"Y-srf" : {
"value" : {
"val" : 104.1
},
"attribute_id" : 13
}
}
GET /public/api/v1/nestedwells/{uuid}/attributevalues/v2
| Path parameter | Description |
|---|---|
uuid |
Nested well UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
.value |
Object |
Well attribute value for string type |
.value.val |
Number |
Well attribute value for numeric type |
*.attribute_id |
Number |
Well attribute Id |
Get well attribute values by typewell
Get a list of well attribute values by typewell UUID
Request
$ curl 'https://solo.cloud/public/api/v1/typewells/f85b118e-a577-4648-aa50-5e6a0d459c71/attributevalues/v2' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/typewells/f85b118e-a577-4648-aa50-5e6a0d459c71/attributevalues/v2 HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 262358f75b7c3a21cbb35263f54f95e3
Content-Type: application/json
{
"Name" : {
"value" : "nameWell",
"attribute_id" : 1
},
"API" : {
"value" : "api",
"attribute_id" : 2
},
"Well Type" : {
"value" : "Deviated",
"attribute_id" : 3
},
"Operator" : {
"value" : "operator",
"attribute_id" : 4
},
"KB" : {
"value" : {
"val" : 3.280839895013123
},
"attribute_id" : 7
},
"Azimuth VS" : {
"value" : {
"val" : 114.59155902616465
},
"attribute_id" : 8
},
"Convergence" : {
"value" : {
"val" : 171.88733853924697
},
"attribute_id" : 9
},
"X-srf" : {
"value" : {
"val" : 13.123359580052492
},
"attribute_id" : 12
},
"Y-srf" : {
"value" : {
"val" : 16.404199475065617
},
"attribute_id" : 13
},
"Spud date" : {
"value" : "2022-11-17T13:15:31.000+00:00",
"attribute_id" : 17
},
"# of Stages" : {
"value" : 43,
"attribute_id" : 43
},
"Final TVD" : {
"value" : {
"val" : 1.6076115485564304
},
"attribute_id" : 49
},
"Final TVDSS" : {
"value" : {
"val" : -1.6404199475065615
},
"attribute_id" : 50
},
"Formation" : {
"value" : "test51",
"attribute_id" : 51
},
"Net pay" : {
"value" : {
"val" : 52.0
},
"attribute_id" : 52
}
}
GET /public/api/v1/typewells/{uuid}/attributevalues/v2
| Path parameter | Description |
|---|---|
uuid |
Typewell UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
.value |
Object |
Well attribute value for string type |
.value.val |
Number |
Well attribute value for numeric type |
*.attribute_id |
Number |
Well attribute Id |
Update custom well attribute
Update custom well attribute by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/wellattributes/fbd09a63-fbb3-45ec-b7f8-5e0da32e539f' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Updated well attribute name",
"name_short" : "New short name",
"group_uuid" : "b7ef6059-d428-4f35-9d4a-a786ffff1d83"
}'
PATCH /public/api/v1/wellattributes/fbd09a63-fbb3-45ec-b7f8-5e0da32e539f HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 136
{
"name" : "Updated well attribute name",
"name_short" : "New short name",
"group_uuid" : "b7ef6059-d428-4f35-9d4a-a786ffff1d83"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 736ec21f386ca7f794836c2d14a62b53
PATCH /public/api/v1/wellattributes/{wellAttributeUuid}
| Path parameter | Description |
|---|---|
wellAttributeUuid |
Well attribute UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
name |
String |
New well attribute name |
name_short |
String |
New well attribute short name |
group_uuid |
String |
Well attribute group UUID to place the attribute in |
Response body
Empty body
Update well attribute values by lateral
Update well attribute values by lateral UUID. The values to be changed must be pre-checked for validity using the range fields constraints returned by Get a list of well attributes by group UUID method (if applicable)
Request
$ curl 'https://solo.cloud/public/api/v1/wells/5f071442-db19-4bc3-8b43-62258d804b14/attributevalues' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '[ {
"value" : "Penguin State ",
"attribute_id" : 10
}, {
"value" : {
"val" : 1050.1005
},
"attribute_id" : 7
}, {
"value" : 20,
"attribute_id" : 43
}, {
"value" : "2023-12-18T14:16:32.001+00:00",
"attribute_id" : 17
}, {
"value" : "X-link",
"attribute_id" : 46
} ]'
PATCH /public/api/v1/wells/5f071442-db19-4bc3-8b43-62258d804b14/attributevalues HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 290
[ {
"value" : "Penguin State ",
"attribute_id" : 10
}, {
"value" : {
"val" : 1050.1005
},
"attribute_id" : 7
}, {
"value" : 20,
"attribute_id" : 43
}, {
"value" : "2023-12-18T14:16:32.001+00:00",
"attribute_id" : 17
}, {
"value" : "X-link",
"attribute_id" : 46
} ]
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: f399f48eec3373f4513a251029b3db63
PATCH /public/api/v1/wells/{uuid}/attributevalues
| Path parameter | Description |
|---|---|
uuid |
Lateral UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
Empty body
Update well attribute values by typewell
Update well attribute values by typewell UUID. The values to be changed must be pre-checked for validity using the range fields constraints returned by Get a list of well attributes by group UUID method (if applicable)
Request
$ curl 'https://solo.cloud/public/api/v1/typewells/f85b118e-a577-4648-aa50-5e6a0d459c71/attributevalues' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '[ {
"value" : "Penguin State ",
"attribute_id" : 10
}, {
"value" : {
"val" : 1050.1005
},
"attribute_id" : 7
}, {
"value" : 20,
"attribute_id" : 43
}, {
"value" : "2023-12-18T14:16:32.001+00:00",
"attribute_id" : 17
}, {
"value" : "X-link",
"attribute_id" : 46
} ]'
PATCH /public/api/v1/typewells/f85b118e-a577-4648-aa50-5e6a0d459c71/attributevalues HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 290
[ {
"value" : "Penguin State ",
"attribute_id" : 10
}, {
"value" : {
"val" : 1050.1005
},
"attribute_id" : 7
}, {
"value" : 20,
"attribute_id" : 43
}, {
"value" : "2023-12-18T14:16:32.001+00:00",
"attribute_id" : 17
}, {
"value" : "X-link",
"attribute_id" : 46
} ]
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 3657ef34caecd5eb4f04dfd0d33e23fc
PATCH /public/api/v1/typewells/{uuid}/attributevalues
| Path parameter | Description |
|---|---|
uuid |
Typewell UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
Empty body
Delete custom well attribute
Delete custom well attribute by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/wellattributes/81b35ea4-1c12-44f3-969c-e5c3c216f4f3' -i -X DELETE \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
DELETE /public/api/v1/wellattributes/81b35ea4-1c12-44f3-969c-e5c3c216f4f3 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: dc9b24ceb405ee13980e8f793108d5b6
DELETE /public/api/v1/wellattributes/{wellAttributeUuid}
| Path parameter | Description |
|---|---|
wellAttributeUuid |
Well attribute UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
Empty body
16. Grids
Create grid
Create grid by project UUID
Request
$ curl 'https://solo.cloud/public/api/v1/projects/9713661c-1407-4b0f-bf23-086dfc0d394d/grids' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Grid name"
}'
POST /public/api/v1/projects/9713661c-1407-4b0f-bf23-086dfc0d394d/grids HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 26
{
"name" : "Grid name"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: ea2deda6509797d7d4f4cb605f7c5e7b
Content-Type: application/json
{
"uuid" : "22ed6b18-323d-4f27-bebd-8e9e2cea3831"
}
POST /public/api/v1/projects/{uuid}/grids
| Path parameter | Description |
|---|---|
uuid |
Project UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
name |
String |
Grid name |
Response body
| Path | Type | Description |
|---|---|---|
uuid |
String |
Created grid UUID |
Get grids by project
Get a list of grids by project UUID with pagination. Grids that do not contain data will not be included in the response
Request
$ curl 'https://solo.cloud/public/api/v1/projects/9713661c-1407-4b0f-bf23-086dfc0d394d/grids?offset=0&limit=10&filter=oNe' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/projects/9713661c-1407-4b0f-bf23-086dfc0d394d/grids?offset=0&limit=10&filter=oNe HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 3a4820a9980f19e8f33b68137324f394
Content-Type: application/json
{
"content" : [ {
"name" : "Grid one",
"uuid" : "2fe635a9-dfa8-4f66-b2e0-f860fd2fb016"
}, {
"name" : "One more grid",
"uuid" : "45aebd54-30a1-435f-94be-e2b388665ccb"
} ],
"offset" : 0,
"limit" : 10,
"total" : 2,
"last" : true,
"first" : true
}
GET /public/api/v1/projects/{uuid}/grids
| Path parameter | Description |
|---|---|
uuid |
Project UUID |
| Parameter | Description |
|---|---|
offset |
Index of the first record to return by a request from the list of all records |
limit |
Maximum number of records to return by a request from the list of all records, starting with 'offset' |
filter |
Filter grids by the 'name' field. Case insensitive. |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Content array |
offset |
Number |
Index of the first record returned by a request from the list of all records |
limit |
Number |
Maximum number of records returned by a request from the list of all records, starting with 'offset' |
total |
Number |
Total number of records |
first |
Boolean |
true if the current records range is the first, otherwise – false |
last |
Boolean |
true if the current records range is the last, otherwise – false |
content[].uuid |
String |
Grid UUID |
content[].name |
String |
Grid name |
Get grid metadata
Get grid metadata by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/grids/5d678759-50b1-4747-bca5-bfd911c7a6aa/metadata' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/grids/5d678759-50b1-4747-bca5-bfd911c7a6aa/metadata HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 961d5f8a37cbaf71d59665c3c55d8409
Content-Type: application/json
{
"start_x" : 1761026.4432000222,
"start_y" : 508018.38319997117,
"step_x" : 50.00000000089999,
"step_y" : 50.000899999999994,
"angle" : 3.4377511537473244E-4,
"columns" : 10,
"rows" : 5
}
GET /public/api/v1/grids/{uuid}/metadata
| Path parameter | Description |
|---|---|
uuid |
Grid UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
start_x |
Number |
Grid start X surface coordinate |
start_y |
Number |
Grid start Y surface coordinate |
step_x |
Number |
Grid X-axis step in project units |
step_y |
Number |
Grid Y-axis step in project units |
angle |
Number |
Grid rotation angle (degrees) |
columns |
Number |
Number of grid columns |
rows |
Number |
Number of grid rows |
Get grid data
Get grid data by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/grids/5d678759-50b1-4747-bca5-bfd911c7a6aa/data' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/grids/5d678759-50b1-4747-bca5-bfd911c7a6aa/data HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 7e0250f88027ecd82269b0ab67861e2c
Content-Type: application/json
{
"metadata" : {
"start_x" : 1761026.4432000222,
"start_y" : 508018.38319997117,
"step_x" : 50.00000000089999,
"step_y" : 50.000899999999994,
"angle" : 3.4377511537473244E-4,
"columns" : 10,
"rows" : 5
},
"data" : [ {
"row_number" : 1,
"values" : [ -4004.1541, -4005.4883, -4006.1639, -4004.9126, -4003.3309, -4001.4009, -3998.938, -3996.5938, -3994.3135, -3991.4742 ]
}, {
"row_number" : 2,
"values" : [ -4006.5755, -4007.4856, -4008.077, -4006.9102, -4005.2642, -4002.824, -4000.285, -3998.0855, -3996.1604, -3993.5733 ]
}, {
"row_number" : 3,
"values" : [ -4009.1927, -4010.4065, -4011.1248, -4009.6104, -4007.5018, -4004.8636, -4002.7835, -4000.7776, -3998.6927, -3994.7417 ]
}, {
"row_number" : 4,
"values" : [ -4012.2437, -4013.699, -4014.2129, -4012.1336, -4009.8895, -4007.2583, -4005.5298, -4003.5118, -3999.9412, -3995.8165 ]
}, {
"row_number" : 5,
"values" : [ -4016.2227, -4016.9622, -4016.6907, -4014.7264, -4012.2242, -4009.7496, -4008.4166, -4005.1592, -4001.252, -3996.7496 ]
} ]
}
GET /public/api/v1/grids/{uuid}/data
| Path parameter | Description |
|---|---|
uuid |
Grid UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
metadata.start_x |
Number |
Grid start X surface coordinate |
metadata.start_y |
Number |
Grid start Y surface coordinate |
metadata.step_x |
Number |
Grid X-axis step in project units |
metadata.step_y |
Number |
Grid Y-axis step in project units |
metadata.angle |
Number |
Grid rotation angle (degrees) |
metadata.columns |
Number |
Number of grid columns |
metadata.rows |
Number |
Number of grid rows |
data |
Array |
Data array |
data[].row_number |
Number |
Number of row |
data[].values |
Array |
Values array |
Upload grid data to GP
Upload grid data to global project by grid UUID
Request
$ curl 'https://solo.cloud/public/api/v1/grids/5d678759-50b1-4747-bca5-bfd911c7a6aa/data' -i -X PUT \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"metadata" : {
"start_x" : 111.5,
"start_y" : 555.1,
"step_x" : 10,
"step_y" : 20,
"angle" : 120,
"columns" : 10,
"rows" : 5
},
"data" : [ {
"row_number" : 1,
"values" : [ -4004.1541, -4005.4883, -4006.1639, -4004.9126, -4003.3309, -4001.4009, -3998.938, -3996.5938, -3994.3135, -3991.4742 ]
}, {
"row_number" : 2,
"values" : [ -4006.5755, -4007.4856, -4008.077, -4006.9102, -4005.2642, -4002.824, -4000.285, -3998.0855, -3996.1604, -3993.5733 ]
}, {
"row_number" : 3,
"values" : [ -4009.1927, -4010.4065, -4011.1248, -4009.6104, -4007.5018, -4004.8636, -4002.7835, -4000.7776, -3998.6927, -3994.7417 ]
}, {
"row_number" : 4,
"values" : [ -4012.2437, -4013.699, -4014.2129, -4012.1336, -4009.8895, -4007.2583, -4005.5298, -4003.5118, -3999.9412, -3995.8165 ]
}, {
"row_number" : 5,
"values" : [ -4016.2227, -4016.9622, -4016.6907, -4014.7264, -4012.2242, -4009.7496, -4008.4166, -4005.1592, -4001.252, -3996.7496 ]
} ]
}'
PUT /public/api/v1/grids/5d678759-50b1-4747-bca5-bfd911c7a6aa/data HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 1006
{
"metadata" : {
"start_x" : 111.5,
"start_y" : 555.1,
"step_x" : 10,
"step_y" : 20,
"angle" : 120,
"columns" : 10,
"rows" : 5
},
"data" : [ {
"row_number" : 1,
"values" : [ -4004.1541, -4005.4883, -4006.1639, -4004.9126, -4003.3309, -4001.4009, -3998.938, -3996.5938, -3994.3135, -3991.4742 ]
}, {
"row_number" : 2,
"values" : [ -4006.5755, -4007.4856, -4008.077, -4006.9102, -4005.2642, -4002.824, -4000.285, -3998.0855, -3996.1604, -3993.5733 ]
}, {
"row_number" : 3,
"values" : [ -4009.1927, -4010.4065, -4011.1248, -4009.6104, -4007.5018, -4004.8636, -4002.7835, -4000.7776, -3998.6927, -3994.7417 ]
}, {
"row_number" : 4,
"values" : [ -4012.2437, -4013.699, -4014.2129, -4012.1336, -4009.8895, -4007.2583, -4005.5298, -4003.5118, -3999.9412, -3995.8165 ]
}, {
"row_number" : 5,
"values" : [ -4016.2227, -4016.9622, -4016.6907, -4014.7264, -4012.2242, -4009.7496, -4008.4166, -4005.1592, -4001.252, -3996.7496 ]
} ]
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 2a5a1bdfec6d978c6f5b66b55185a970
PUT /public/api/v1/grids/{uuid}/data
| Path parameter | Description |
|---|---|
uuid |
Grid UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
metadata.start_x |
Number |
Grid start X surface coordinate |
metadata.start_y |
Number |
Grid start Y surface coordinate |
metadata.step_x |
Number |
Grid X-axis step in project units |
metadata.step_y |
Number |
Grid Y-axis step in project units |
metadata.angle |
Number |
Grid rotation angle (range [-180; 180]) |
metadata.columns |
Number |
Number of grid columns |
metadata.rows |
Number |
Number of grid rows |
data |
Array |
Data array |
data[].row_number |
Number |
Number of row |
data[].values |
Array |
Values array |
Response body
Empty body
Upload grid data to VP
Upload grid data to virtual project by grid UUID and virtual project UUID
Request
$ curl 'https://solo.cloud/public/api/v1/projects/eb4ebbe7-2ead-4694-b75d-035017210bcd/grids/45aebd54-30a1-435f-94be-e2b388665ccb/data' -i -X PUT \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"metadata" : {
"start_x" : 111.5,
"start_y" : 555.1,
"step_x" : 10,
"step_y" : 20,
"angle" : 120,
"columns" : 10,
"rows" : 5
},
"data" : [ {
"row_number" : 1,
"values" : [ -4004.1541, -4005.4883, -4006.1639, -4004.9126, -4003.3309, -4001.4009, -3998.938, -3996.5938, -3994.3135, -3991.4742 ]
}, {
"row_number" : 2,
"values" : [ -4006.5755, -4007.4856, -4008.077, -4006.9102, -4005.2642, -4002.824, -4000.285, -3998.0855, -3996.1604, -3993.5733 ]
}, {
"row_number" : 3,
"values" : [ -4009.1927, -4010.4065, -4011.1248, -4009.6104, -4007.5018, -4004.8636, -4002.7835, -4000.7776, -3998.6927, -3994.7417 ]
}, {
"row_number" : 4,
"values" : [ -4012.2437, -4013.699, -4014.2129, -4012.1336, -4009.8895, -4007.2583, -4005.5298, -4003.5118, -3999.9412, -3995.8165 ]
}, {
"row_number" : 5,
"values" : [ -4016.2227, -4016.9622, -4016.6907, -4014.7264, -4012.2242, -4009.7496, -4008.4166, -4005.1592, -4001.252, -3996.7496 ]
} ]
}'
PUT /public/api/v1/projects/eb4ebbe7-2ead-4694-b75d-035017210bcd/grids/45aebd54-30a1-435f-94be-e2b388665ccb/data HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 1006
{
"metadata" : {
"start_x" : 111.5,
"start_y" : 555.1,
"step_x" : 10,
"step_y" : 20,
"angle" : 120,
"columns" : 10,
"rows" : 5
},
"data" : [ {
"row_number" : 1,
"values" : [ -4004.1541, -4005.4883, -4006.1639, -4004.9126, -4003.3309, -4001.4009, -3998.938, -3996.5938, -3994.3135, -3991.4742 ]
}, {
"row_number" : 2,
"values" : [ -4006.5755, -4007.4856, -4008.077, -4006.9102, -4005.2642, -4002.824, -4000.285, -3998.0855, -3996.1604, -3993.5733 ]
}, {
"row_number" : 3,
"values" : [ -4009.1927, -4010.4065, -4011.1248, -4009.6104, -4007.5018, -4004.8636, -4002.7835, -4000.7776, -3998.6927, -3994.7417 ]
}, {
"row_number" : 4,
"values" : [ -4012.2437, -4013.699, -4014.2129, -4012.1336, -4009.8895, -4007.2583, -4005.5298, -4003.5118, -3999.9412, -3995.8165 ]
}, {
"row_number" : 5,
"values" : [ -4016.2227, -4016.9622, -4016.6907, -4014.7264, -4012.2242, -4009.7496, -4008.4166, -4005.1592, -4001.252, -3996.7496 ]
} ]
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: a817870576fef1dde48754d065b5f1e6
PUT /public/api/v1/projects/{projectUuid}/grids/{gridUuid}/data
| Path parameter | Description |
|---|---|
projectUuid |
Virtual project UUID |
gridUuid |
Grid UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
metadata.start_x |
Number |
Grid start X surface coordinate |
metadata.start_y |
Number |
Grid start Y surface coordinate |
metadata.step_x |
Number |
Grid X-axis step in project units |
metadata.step_y |
Number |
Grid Y-axis step in project units |
metadata.angle |
Number |
Grid rotation angle (range [-180; 180]) |
metadata.columns |
Number |
Number of grid columns |
metadata.rows |
Number |
Number of grid rows |
data |
Array |
Data array |
data[].row_number |
Number |
Number of row |
data[].values |
Array |
Values array |
Response body
Empty body
17. Polygons
Create polygon
Create polygon by project UUID
Request
$ curl 'https://solo.cloud/public/api/v1/projects/b3094d0a-7fbe-4fe8-9afd-eab741ebd4e3/polygons' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Polygon name"
}'
POST /public/api/v1/projects/b3094d0a-7fbe-4fe8-9afd-eab741ebd4e3/polygons HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 29
{
"name" : "Polygon name"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 28e9e3b3e1fed4b3ca5b9215cd9cd6fe
Content-Type: application/json
{
"uuid" : "611661f6-76ad-4f45-abb6-5a2d1bd89ea4"
}
POST /public/api/v1/projects/{uuid}/polygons
| Path parameter | Description |
|---|---|
uuid |
Project UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
name |
String |
Polygon name |
Response body
| Path | Type | Description |
|---|---|---|
uuid |
String |
Created polygon UUID |
Get polygons by project
Get a list of polygons by project UUID with pagination. Polygons that do not contain data will not be included in the response
Request
$ curl 'https://solo.cloud/public/api/v1/projects/b3094d0a-7fbe-4fe8-9afd-eab741ebd4e3/polygons?offset=0&limit=10&filter=oNe' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/projects/b3094d0a-7fbe-4fe8-9afd-eab741ebd4e3/polygons?offset=0&limit=10&filter=oNe HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: b422efc7814881d46b6c3a3039bfaef3
Content-Type: application/json
{
"content" : [ {
"name" : "One more polygon",
"uuid" : "ad412203-72d6-469e-8379-0db66c59ecbb"
}, {
"name" : "Polygon one",
"uuid" : "52654bc4-4fb3-4465-a190-703336b482b1"
} ],
"offset" : 0,
"limit" : 10,
"total" : 2,
"last" : true,
"first" : true
}
GET /public/api/v1/projects/{uuid}/polygons
| Path parameter | Description |
|---|---|
uuid |
Project UUID |
| Parameter | Description |
|---|---|
offset |
Index of the first record to return by a request from the list of all records |
limit |
Maximum number of records to return by a request from the list of all records, starting with 'offset' |
filter |
Filter polygons by the 'name' field. Case insensitive. |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Content array |
offset |
Number |
Index of the first record returned by a request from the list of all records |
limit |
Number |
Maximum number of records returned by a request from the list of all records, starting with 'offset' |
total |
Number |
Total number of records |
first |
Boolean |
true if the current records range is the first, otherwise – false |
last |
Boolean |
true if the current records range is the last, otherwise – false |
content[].uuid |
String |
Polygon UUID |
content[].name |
String |
Polygon name |
Get polygon data
Get polygon data by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/polygons/d6fee03c-72b7-44b9-9f8c-7f5def1bb10f/data' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/polygons/d6fee03c-72b7-44b9-9f8c-7f5def1bb10f/data HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 137d70f0777c6d18d97060a9a814275a
Content-Type: application/json
[ {
"label" : "",
"points_count" : 24,
"xyz_points" : [ {
"x" : 1791071.9272422243,
"y" : 2.505124146981627E7,
"z" : 1.6404199507874015E8
}, {
"x" : 1789698.1627296587,
"y" : 2.505965649606299E7,
"z" : -1.6404199507874015E8
}, {
"x" : 1795150.2624671916,
"y" : 2.504813877952756E7,
"z" : -5389.763779527559
}, {
"x" : 1796545.93175853,
"y" : 2.5044033464566927E7,
"z" : -5406.496062992126
}, {
"x" : 1790436.0236220472,
"y" : 2.50544937664042E7,
"z" : -5390.419947506562
}, {
"x" : 1798453.7401574801,
"y" : 2.5044123031496063E7,
"z" : -5395.997375328084
}, {
"x" : 1788395.9973753279,
"y" : 2.505090649606299E7,
"z" : -5406.824146981627
}, {
"x" : 1794440.6167979,
"y" : 2.5046503280839894E7,
"z" : -5392.716535433071
}, {
"x" : 1786367.4540682416,
"y" : 2.5062931430446193E7,
"z" : -5452.755905511811
}, {
"x" : 1788224.7375328084,
"y" : 2.5057265748031493E7,
"z" : -5404.85564304462
}, {
"x" : 1789879.2650918632,
"y" : 2.50643156167979E7,
"z" : -5464.238845144357
}, {
"x" : 1796062.6640419948,
"y" : 2.5055903871391077E7,
"z" : -5512.795275590551
}, {
"x" : 1789700.1312335955,
"y" : 2.5059661089238845E7,
"z" : -5548.884514435695
}, {
"x" : 1796443.2414698163,
"y" : 2.5047924212598424E7,
"z" : -5404.199475065617
}, {
"x" : 1782251.968503937,
"y" : 2.505876902887139E7,
"z" : -5779.85564304462
}, {
"x" : 1793879.2650918635,
"y" : 2.5047021325459316E7,
"z" : -5394.028871391076
}, {
"x" : 1795888.1233595798,
"y" : 2.5046238845144354E7,
"z" : -5369.422572178477
}, {
"x" : 1794775.2624671916,
"y" : 2.5049992782152228E7,
"z" : -5404.527559055117
}, {
"x" : 1793214.2388451442,
"y" : 2.5048931102362204E7,
"z" : -5332.677165354331
}, {
"x" : 1797323.490813648,
"y" : 2.5047011811023623E7,
"z" : -5422.900262467192
}, {
"x" : 1789103.3464566926,
"y" : 2.505270866141732E7,
"z" : -5341.535433070866
}, {
"x" : 1788217.847769029,
"y" : 2.505421062992126E7,
"z" : -5350.0656167979005
}, {
"x" : 1789805.4461942255,
"y" : 2.5062502952755906E7,
"z" : -5399.278215223097
}, {
"x" : 1788417.3228346454,
"y" : 2.5061791994750656E7,
"z" : -5383.202099737532
} ]
} ]
GET /public/api/v1/polygons/{uuid}/data
| Path parameter | Description |
|---|---|
uuid |
Polygon UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
[].label |
String |
Polyline`s label |
[].points_count |
Number |
Number of points in polyline |
[].xyz_points |
Array |
Polyline XYZ points |
[].xyz_points[].x |
Number |
Point X coordinate (project units) |
[].xyz_points[].y |
Number |
Point Y coordinate (project units) |
[].xyz_points[].z |
Number |
Point Z coordinate (project units) |
Upload polygon data to GP
Upload polygon data to global project by polygon UUID
Request
$ curl 'https://solo.cloud/public/api/v1/polygons/d6fee03c-72b7-44b9-9f8c-7f5def1bb10f/data' -i -X PUT \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '[ {
"label" : "polyline1",
"xyz_points" : [ {
"x" : 178821.8,
"y" : 250542.6,
"z" : -5350.0
}, {
"x" : 178980.4,
"y" : 250625.7,
"z" : -5399.2
}, {
"x" : 178841.3,
"y" : 250617.9,
"z" : -5383.5
} ]
}, {
"xyz_points" : [ {
"x" : 17.0,
"y" : 25.0,
"z" : -53.1
}, {
"x" : 11.0,
"y" : 225.7,
"z" : -154.0
} ]
} ]'
PUT /public/api/v1/polygons/d6fee03c-72b7-44b9-9f8c-7f5def1bb10f/data HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 384
[ {
"label" : "polyline1",
"xyz_points" : [ {
"x" : 178821.8,
"y" : 250542.6,
"z" : -5350.0
}, {
"x" : 178980.4,
"y" : 250625.7,
"z" : -5399.2
}, {
"x" : 178841.3,
"y" : 250617.9,
"z" : -5383.5
} ]
}, {
"xyz_points" : [ {
"x" : 17.0,
"y" : 25.0,
"z" : -53.1
}, {
"x" : 11.0,
"y" : 225.7,
"z" : -154.0
} ]
} ]
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 4c646c3d1eeee8d4761629815f015675
PUT /public/api/v1/polygons/{uuid}/data
| Path parameter | Description |
|---|---|
uuid |
Polygon UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
[].label |
String |
Polyline`s label |
[].xyz_points |
Array |
Polyline XYZ points |
[].xyz_points[].x |
Number |
Point X coordinate (project units) |
[].xyz_points[].y |
Number |
Point Y coordinate (project units) |
[].xyz_points[].z |
Number |
Point Z coordinate (project units) |
Response body
Empty body
Upload polygon data to VP
Upload polygon data to virtual project by polygon UUID and virtual project UUID
Request
$ curl 'https://solo.cloud/public/api/v1/projects/42315140-577d-4100-9b3f-bc3939e130e2/polygons/ad412203-72d6-469e-8379-0db66c59ecbb/data' -i -X PUT \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '[ {
"label" : "polyline1",
"xyz_points" : [ {
"x" : 178821.8,
"y" : 250542.6,
"z" : -5350.0
}, {
"x" : 178980.4,
"y" : 250625.7,
"z" : -5399.2
}, {
"x" : 178841.3,
"y" : 250617.9,
"z" : -5383.5
} ]
}, {
"xyz_points" : [ {
"x" : 17.0,
"y" : 25.0,
"z" : -53.1
}, {
"x" : 11.0,
"y" : 225.7,
"z" : -154.0
} ]
} ]'
PUT /public/api/v1/projects/42315140-577d-4100-9b3f-bc3939e130e2/polygons/ad412203-72d6-469e-8379-0db66c59ecbb/data HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 384
[ {
"label" : "polyline1",
"xyz_points" : [ {
"x" : 178821.8,
"y" : 250542.6,
"z" : -5350.0
}, {
"x" : 178980.4,
"y" : 250625.7,
"z" : -5399.2
}, {
"x" : 178841.3,
"y" : 250617.9,
"z" : -5383.5
} ]
}, {
"xyz_points" : [ {
"x" : 17.0,
"y" : 25.0,
"z" : -53.1
}, {
"x" : 11.0,
"y" : 225.7,
"z" : -154.0
} ]
} ]
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: fd7b7ce216090ce006eb260da3a23aef
PUT /public/api/v1/projects/{projectUuid}/polygons/{polygonUuid}/data
| Path parameter | Description |
|---|---|
projectUuid |
Virtual project UUID |
polygonUuid |
Polygon UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
[].label |
String |
Polyline`s label |
[].xyz_points |
Array |
Polyline XYZ points |
[].xyz_points[].x |
Number |
Point X coordinate (project units) |
[].xyz_points[].y |
Number |
Point Y coordinate (project units) |
[].xyz_points[].z |
Number |
Point Z coordinate (project units) |
Response body
Empty body
18. Sticks
Create stick
Create stick by project UUID
Request
$ curl 'https://solo.cloud/public/api/v1/projects/042ea633-165f-426b-9928-5241898824c6/sticks' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Stick name",
"trajectory" : [ {
"tvdss" : {
"undefined" : true
},
"type" : "SHL",
"x" : {
"undefined" : true
},
"y" : {
"undefined" : true
}
}, {
"tvdss" : {
"val" : -3048
},
"type" : "LP",
"x" : {
"val" : 617886.755760369
},
"y" : {
"val" : -305263.133640553
}
}, {
"tvdss" : {
"val" : -3048
},
"type" : "TD",
"x" : {
"val" : 617886.755760369
},
"y" : {
"val" : -300263.133640553
}
} ]
}'
POST /public/api/v1/projects/042ea633-165f-426b-9928-5241898824c6/sticks HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 548
{
"name" : "Stick name",
"trajectory" : [ {
"tvdss" : {
"undefined" : true
},
"type" : "SHL",
"x" : {
"undefined" : true
},
"y" : {
"undefined" : true
}
}, {
"tvdss" : {
"val" : -3048
},
"type" : "LP",
"x" : {
"val" : 617886.755760369
},
"y" : {
"val" : -305263.133640553
}
}, {
"tvdss" : {
"val" : -3048
},
"type" : "TD",
"x" : {
"val" : 617886.755760369
},
"y" : {
"val" : -300263.133640553
}
} ]
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 72b85bc389f524d9f08f492a56166b8d
Content-Type: application/json
{
"uuid" : "c1c8c67c-fc98-49c7-a0c3-1cb3ca1244d2"
}
POST /public/api/v1/projects/{uuid}/sticks
| Path parameter | Description |
|---|---|
uuid |
Project UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
name |
String |
Stick name |
trajectory |
Array |
Trajectory data |
trajectory[].x.val |
Number |
X coordinate (project units) |
trajectory[].y.val |
Number |
Y coordinate (project units) |
trajectory[].tvdss.val |
Number |
True vertical depth below sea level (project units) |
trajectory[].type |
String |
Point type (possible values: SHL for Surface Hole Location, LP for Landing Point, TD for Total Depth, WP) |
Response body
| Path | Type | Description |
|---|---|---|
uuid |
String |
Created Stick UUID |
Get sticks by project
Get sticks by project UUID
Request
$ curl 'https://solo.cloud/public/api/v1/projects/042ea633-165f-426b-9928-5241898824c6/sticks?offset=0&limit=10&filter=oNe' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/projects/042ea633-165f-426b-9928-5241898824c6/sticks?offset=0&limit=10&filter=oNe HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: d048efddfd1ff7b5855a6aeb73d0befb
Content-Type: application/json
{
"content" : [ {
"uuid" : "d335c658-b457-4d66-adba-f8250a8dbb3b",
"name" : "Stick one",
"trajectory" : [ {
"type" : "SHL",
"x" : {
"val" : 0.5442052103583237
},
"y" : {
"val" : 0.39729319145130804
},
"tvdss" : {
"val" : 2.1751161327156923
}
}, {
"type" : "LP",
"x" : {
"val" : 0.25853339992546065
},
"y" : {
"val" : 0.3156622548386657
},
"tvdss" : {
"val" : 2.2848773513520095
}
}, {
"type" : "TD",
"x" : {
"val" : 0.6115490792184469
},
"y" : {
"val" : 0.5671286912750406
},
"tvdss" : {
"val" : 2.6433582041433215
}
} ]
} ],
"offset" : 0,
"limit" : 10,
"total" : 1,
"last" : true,
"first" : true
}
GET /public/api/v1/projects/{uuid}/sticks
| Path parameter | Description |
|---|---|
uuid |
Project UUID |
| Parameter | Description |
|---|---|
offset |
Index of the first record to return by a request from the list of all records |
limit |
Maximum number of records to return by a request from the list of all records, starting with 'offset' |
filter |
Filter sticks by the 'name' field. Case insensitive. |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Content array |
offset |
Number |
Index of the first record returned by a request from the list of all records |
limit |
Number |
Maximum number of records returned by a request from the list of all records, starting with 'offset' |
total |
Number |
Total number of records |
first |
Boolean |
true if the current records range is the first, otherwise – false |
last |
Boolean |
true if the current records range is the last, otherwise – false |
content[].uuid |
String |
Stick UUID |
content[].name |
String |
Stick name |
content[].trajectory |
Array |
Trajectory data |
content[].trajectory[].x.val |
Number |
X coordinate (project units) |
content[].trajectory[].y.val |
Number |
Y coordinate (project units) |
content[].trajectory[].tvdss.val |
Number |
True vertical depth below sea level (project units) |
content[].trajectory[].type |
String |
Point type (possible values: SHL for Surface Hole Location, LP for Landing Point, TD for Total Depth, WP) |
Update stick
Update stick by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/sticks/d335c658-b457-4d66-adba-f8250a8dbb3b' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Updated stick name",
"trajectory" : [ {
"tvdss" : {
"undefined" : true
},
"type" : "SHL",
"x" : {
"undefined" : true
},
"y" : {
"undefined" : true
}
}, {
"tvdss" : {
"val" : -1524
},
"type" : "WP",
"x" : {
"val" : 617886.755760369
},
"y" : {
"val" : -305263.133640553
}
}, {
"tvdss" : {
"val" : -2286
},
"type" : "WP",
"x" : {
"val" : 617886.755760369
},
"y" : {
"val" : -305263.133640553
}
}, {
"tvdss" : {
"val" : -3048
},
"type" : "LP",
"x" : {
"val" : 617886.755760369
},
"y" : {
"val" : -305263.133640553
}
}, {
"tvdss" : {
"val" : -3048
},
"type" : "WP",
"x" : {
"val" : 617886.755760369
},
"y" : {
"val" : -301513.133640553
}
}, {
"tvdss" : {
"val" : -3048
},
"type" : "TD",
"x" : {
"val" : 617886.755760369
},
"y" : {
"val" : -300263.133640553
}
} ]
}'
PATCH /public/api/v1/sticks/d335c658-b457-4d66-adba-f8250a8dbb3b HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 1063
{
"name" : "Updated stick name",
"trajectory" : [ {
"tvdss" : {
"undefined" : true
},
"type" : "SHL",
"x" : {
"undefined" : true
},
"y" : {
"undefined" : true
}
}, {
"tvdss" : {
"val" : -1524
},
"type" : "WP",
"x" : {
"val" : 617886.755760369
},
"y" : {
"val" : -305263.133640553
}
}, {
"tvdss" : {
"val" : -2286
},
"type" : "WP",
"x" : {
"val" : 617886.755760369
},
"y" : {
"val" : -305263.133640553
}
}, {
"tvdss" : {
"val" : -3048
},
"type" : "LP",
"x" : {
"val" : 617886.755760369
},
"y" : {
"val" : -305263.133640553
}
}, {
"tvdss" : {
"val" : -3048
},
"type" : "WP",
"x" : {
"val" : 617886.755760369
},
"y" : {
"val" : -301513.133640553
}
}, {
"tvdss" : {
"val" : -3048
},
"type" : "TD",
"x" : {
"val" : 617886.755760369
},
"y" : {
"val" : -300263.133640553
}
} ]
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: b6c75f17e4613575bc5ee96d56827733
PATCH /public/api/v1/sticks/{uuid}
| Path parameter | Description |
|---|---|
uuid |
Stick UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
name |
String |
Stick name |
trajectory |
Array |
Trajectory data |
trajectory[].x.val |
Number |
X coordinate (project units) |
trajectory[].y.val |
Number |
Y coordinate (project units) |
trajectory[].tvdss.val |
Number |
True vertical depth below sea level (project units) |
trajectory[].type |
String |
Point type (possible values: SHL for Surface Hole Location, LP for Landing Point, TD for Total Depth, WP) |
Response body
Empty body
Delete stick
Delete stick by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/sticks/87fe2d59-7533-4364-83ec-43accc2e703d' -i -X DELETE \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
DELETE /public/api/v1/sticks/87fe2d59-7533-4364-83ec-43accc2e703d 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: ce93f2222bddcf2414d5e346b1fbcfdb
DELETE /public/api/v1/sticks/{uuid}
| Path parameter | Description |
|---|---|
uuid |
Stick UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
Empty body
19. Earth models
Create earth model
Create earth model by interpretation UUID
Request
$ curl 'https://solo.cloud/public/api/v1/interpretations/c806cf3c-5cfe-4968-a2c9-6382e92df5de/earthmodels' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Earth model name"
}'
POST /public/api/v1/interpretations/c806cf3c-5cfe-4968-a2c9-6382e92df5de/earthmodels HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 33
{
"name" : "Earth model name"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 6866aa2d374206b3ab87f9f676f3a5ae
Content-Type: application/json
{
"uuid" : "ec272aee-d22d-4307-a638-de3d494711f5"
}
POST /public/api/v1/interpretations/{uuid}/earthmodels
| Path parameter | Description |
|---|---|
uuid |
Interpretation UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
name |
String |
Earth model name |
Response body
| Path | Type | Description |
|---|---|---|
uuid |
String |
Created earth model UUID |
Get earth models by interpretation
Get a list of earth models by interpretation UUID with pagination. Earth models that do not contain data will not be included in the response
Request
$ curl 'https://solo.cloud/public/api/v1/interpretations/c806cf3c-5cfe-4968-a2c9-6382e92df5de/earthmodels?offset=0&limit=10&filter=EM' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/interpretations/c806cf3c-5cfe-4968-a2c9-6382e92df5de/earthmodels?offset=0&limit=10&filter=EM HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 386ac0f9c8bc10931909c5b9ccbfc2fa
Content-Type: application/json
{
"content" : [ {
"name" : "EM 1",
"uuid" : "204a25e2-9156-46ec-8954-d93f7f74f0ae"
} ],
"offset" : 0,
"limit" : 10,
"total" : 1,
"last" : true,
"first" : true
}
GET /public/api/v1/interpretations/{uuid}/earthmodels
| Path parameter | Description |
|---|---|
uuid |
Interpretation UUID |
| Parameter | Description |
|---|---|
offset |
Index of the first record to return by a request from the list of all records |
limit |
Maximum number of records to return by a request from the list of all records, starting with 'offset' |
filter |
Filter earth models by the 'name' field. Case insensitive. |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Content array |
offset |
Number |
Index of the first record returned by a request from the list of all records |
limit |
Number |
Maximum number of records returned by a request from the list of all records, starting with 'offset' |
total |
Number |
Total number of records |
first |
Boolean |
true if the current records range is the first, otherwise – false |
last |
Boolean |
true if the current records range is the last, otherwise – false |
content[].uuid |
String |
Earth model UUID |
content[].name |
String |
Earth model name |
Get earth model data
Get earth model data by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/earthmodels/204a25e2-9156-46ec-8954-d93f7f74f0ae/data' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/earthmodels/204a25e2-9156-46ec-8954-d93f7f74f0ae/data HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 6ea4298a19cd3924576fbfc414f5961a
Content-Type: application/json
{
"sections" : [ {
"layers" : [ ],
"md" : {
"val" : 328.0839895013124
}
}, {
"layers" : [ ],
"md" : {
"val" : 0.0
}
} ]
}
GET /public/api/v1/earthmodels/{uuid}/data
| Path parameter | Description |
|---|---|
uuid |
Earth model UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
sections |
Array |
Earth model sections |
sections[].md.val |
Number |
Measured Depth value (project units) |
sections[].layers |
Array |
Earth model section layers |
sections[].layers[]resistivity_horizontal.val |
Number |
Horizontal resistivity value |
sections[].layers[]resistivity_vertical.val |
Number |
Vertical resistivity value |
sections[].layers[]tvd.val |
Number |
True vertical depth value (project units) |
Upload earth model data
Upload earth model data by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/earthmodels/204a25e2-9156-46ec-8954-d93f7f74f0ae/data' -i -X PUT \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"sections" : [ {
"layers" : [ {
"resistivity_horizontal" : {
"val" : 10.0
},
"resistivity_vertical" : {
"val" : 10.0
},
"tvd" : {
"val" : -100000
}
}, {
"resistivity_horizontal" : {
"val" : 994.0
},
"resistivity_vertical" : {
"val" : 1988.0
},
"tvd" : {
"val" : 16.4592
}
}, {
"resistivity_horizontal" : {
"val" : 994.0
},
"resistivity_vertical" : {
"val" : 1988.0
},
"tvd" : {
"val" : 30.48
}
} ],
"md" : {
"val" : 10.0
}
}, {
"layers" : [ {
"resistivity_horizontal" : {
"val" : 20.0
},
"resistivity_vertical" : {
"val" : 20.0
},
"tvd" : {
"val" : -100000
}
}, {
"resistivity_horizontal" : {
"val" : 99.0
},
"resistivity_vertical" : {
"val" : 988.0
},
"tvd" : {
"val" : 31
}
} ],
"md" : {
"val" : 30.0
}
} ]
}'
PUT /public/api/v1/earthmodels/204a25e2-9156-46ec-8954-d93f7f74f0ae/data HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 1074
{
"sections" : [ {
"layers" : [ {
"resistivity_horizontal" : {
"val" : 10.0
},
"resistivity_vertical" : {
"val" : 10.0
},
"tvd" : {
"val" : -100000
}
}, {
"resistivity_horizontal" : {
"val" : 994.0
},
"resistivity_vertical" : {
"val" : 1988.0
},
"tvd" : {
"val" : 16.4592
}
}, {
"resistivity_horizontal" : {
"val" : 994.0
},
"resistivity_vertical" : {
"val" : 1988.0
},
"tvd" : {
"val" : 30.48
}
} ],
"md" : {
"val" : 10.0
}
}, {
"layers" : [ {
"resistivity_horizontal" : {
"val" : 20.0
},
"resistivity_vertical" : {
"val" : 20.0
},
"tvd" : {
"val" : -100000
}
}, {
"resistivity_horizontal" : {
"val" : 99.0
},
"resistivity_vertical" : {
"val" : 988.0
},
"tvd" : {
"val" : 31
}
} ],
"md" : {
"val" : 30.0
}
} ]
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 1ff8387c67755337fdda0655c362eeb1
PUT /public/api/v1/earthmodels/{uuid}/data
| Path parameter | Description |
|---|---|
uuid |
Earth model UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
sections |
Array |
Earth model sections |
sections[].md.val |
Number |
Measured Depth value (project units) |
sections[].layers |
Array |
Earth model section layers |
sections[].layers[]resistivity_horizontal.val |
Number |
Horizontal resistivity value |
sections[].layers[]resistivity_vertical.val |
Number |
Vertical resistivity value |
sections[].layers[]tvd.val |
Number |
True vertical depth value (project units) |
Response body
Empty body
20. Reference lists
Get reference list categories
Get a list of reference list categories
Request
$ curl 'https://solo.cloud/public/api/v1/referencelistcategories' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/referencelistcategories HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 2051a0a66479f8092a86d6f1680332e2
Content-Type: application/json
[ {
"name" : "welllist",
"uuid" : "f6665da9-e922-42a7-ae92-a45a5b367eaf",
"applicable_to" : [ "laterals", "typewells" ]
} ]
GET /public/api/v1/referencelistcategories
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
[].name |
String |
Reference list category name |
[].uuid |
String |
Reference list category UUID |
[].applicable_to |
Array |
Reference list category objects type array |
Get reference lists with items
Get a list of reference lists by project UUID and category UUID
Request
$ curl 'https://solo.cloud/public/api/v1/projects/1d590f78-dd3e-44b5-af5c-e269bb35c6ce/listcategories/f6665da9-e922-42a7-ae92-a45a5b367eaf/referencelists?offset=0&limit=10' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/projects/1d590f78-dd3e-44b5-af5c-e269bb35c6ce/listcategories/f6665da9-e922-42a7-ae92-a45a5b367eaf/referencelists?offset=0&limit=10 HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 65c63882e94ee8d6eb85cf58dadc2f82
Content-Type: application/json
{
"content" : [ {
"uuid" : "7050943d-f445-4f0b-aa12-37b85c18845c",
"name" : "name",
"object_ids" : [ ]
}, {
"uuid" : "9b2e14c5-a74f-494e-b338-fc5ea4677f42",
"name" : "Reference List Name",
"object_ids" : [ "354ab7be-5868-4071-8ec1-ca254f15fb68" ]
} ],
"offset" : 0,
"limit" : 10,
"total" : 2,
"last" : true,
"first" : true
}
GET /public/api/v1/projects/{projectUuid}/listcategories/{categoryUuid}/referencelists
| Path parameter | Description |
|---|---|
projectUuid |
Project UUID |
categoryUuid |
Category UUID |
| Parameter | Description |
|---|---|
offset |
Index of the first record to return by a request from the list of all records |
limit |
Maximum number of records to return by a request from the list of all records, starting with 'offset' |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Content array |
offset |
Number |
Index of the first record returned by a request from the list of all records |
limit |
Number |
Maximum number of records returned by a request from the list of all records, starting with 'offset' |
total |
Number |
Total number of records |
first |
Boolean |
true if the current records range is the first, otherwise – false |
last |
Boolean |
true if the current records range is the last, otherwise – false |
content[].uuid |
String |
Reference list UUID |
content[].name |
String |
Reference list name |
content[].object_ids |
Array |
Reference list objects array |
Get well lists with items
Get a list of well lists by project UUID
Request
$ curl 'https://solo.cloud/public/api/v1/projects/1d590f78-dd3e-44b5-af5c-e269bb35c6ce/welllists?offset=0&limit=10' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/projects/1d590f78-dd3e-44b5-af5c-e269bb35c6ce/welllists?offset=0&limit=10 HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 51cdd1b1914f01d1f151891a9a71bcfa
Content-Type: application/json
{
"content" : [ {
"uuid" : "7050943d-f445-4f0b-aa12-37b85c18845c",
"name" : "name",
"object_ids" : [ ]
}, {
"uuid" : "9b2e14c5-a74f-494e-b338-fc5ea4677f42",
"name" : "Reference List Name",
"object_ids" : [ "354ab7be-5868-4071-8ec1-ca254f15fb68" ]
} ],
"offset" : 0,
"limit" : 10,
"total" : 2,
"last" : true,
"first" : true
}
GET /public/api/v1/projects/{projectUuid}/welllists
| Path parameter | Description |
|---|---|
projectUuid |
Project UUID |
| Parameter | Description |
|---|---|
offset |
Index of the first record to return by a request from the list of all records |
limit |
Maximum number of records to return by a request from the list of all records, starting with 'offset' |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Content array |
offset |
Number |
Index of the first record returned by a request from the list of all records |
limit |
Number |
Maximum number of records returned by a request from the list of all records, starting with 'offset' |
total |
Number |
Total number of records |
first |
Boolean |
true if the current records range is the first, otherwise – false |
last |
Boolean |
true if the current records range is the last, otherwise – false |
content[].uuid |
String |
Reference list UUID |
content[].name |
String |
Reference list name |
content[].object_ids |
Array |
Reference list objects array |
21. Comments
Create comment
Create comment by lateral UUID
Request
$ curl 'https://solo.cloud/public/api/v1/wells/b18cf031-5811-4338-990e-0ae2662a35bb/comments' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Comment name"
}'
POST /public/api/v1/wells/b18cf031-5811-4338-990e-0ae2662a35bb/comments HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 29
{
"name" : "Comment name"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: a97f07ab3ec5db0ca20b617617f67793
Content-Type: application/json
{
"uuid" : "b5870006-cd75-4cd1-bd6c-724397727c5e"
}
POST /public/api/v1/wells/{uuid}/comments
| Path parameter | Description |
|---|---|
uuid |
Lateral UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
name |
String |
Comment name |
Response body
| Path | Type | Description |
|---|---|---|
uuid |
String |
Created comment UUID |
Create comment box
Create comment box by comment UUID
Request
$ curl 'https://solo.cloud/public/api/v1/comments/de93392e-e4c5-4fb6-883c-48b55cf15119/commentboxes' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"text" : "Comment box text",
"anchor_md" : {
"val" : 1205.8
}
}'
POST /public/api/v1/comments/de93392e-e4c5-4fb6-883c-48b55cf15119/commentboxes HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 75
{
"text" : "Comment box text",
"anchor_md" : {
"val" : 1205.8
}
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: c35df34ba194fc5044325a45da29ebd6
Content-Type: application/json
{
"uuid" : "2a3bfc6e-e7f1-479b-b7f5-dcaf48fcbca2"
}
POST /public/api/v1/comments/{uuid}/commentboxes
| Path parameter | Description |
|---|---|
uuid |
Comment UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
text |
String |
Comment box text |
anchor_md.val |
Number |
Comment box placement measured depth value in project units |
Response body
| Path | Type | Description |
|---|---|---|
uuid |
String |
Created comment box UUID |
Get comments
Get comments with comment boxes by lateral UUID
Request
$ curl 'https://solo.cloud/public/api/v1/wells/b18cf031-5811-4338-990e-0ae2662a35bb/comments?offset=0&limit=10' -i -X GET \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
GET /public/api/v1/wells/b18cf031-5811-4338-990e-0ae2662a35bb/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: c8c6eeac96aad58ea01ed0e7fc3ce809
Content-Type: application/json
{
"content" : [ {
"comment_id" : "de93392e-e4c5-4fb6-883c-48b55cf15119",
"name" : "Updated comment name",
"comment_boxes" : [ {
"commentbox_id" : "a3706758-0e39-4146-9246-1f7481685247",
"text" : "New Comment Text",
"anchor_md" : {
"val" : 2375.2755905511813
}
}, {
"commentbox_id" : "2a3bfc6e-e7f1-479b-b7f5-dcaf48fcbca2",
"text" : "Comment box text",
"anchor_md" : {
"val" : 1205.8
}
} ]
}, {
"comment_id" : "e25d601f-2aee-40a1-8e30-0decac803924",
"name" : "Comment",
"comment_boxes" : [ {
"commentbox_id" : "90b7e24c-e02b-48f2-a5d8-0fc2247ee4da",
"text" : "New Comment Text",
"anchor_md" : {
"val" : 2375.2755905511813
}
}, {
"commentbox_id" : "a93967b6-76bc-48d8-9dde-ced46e6d6cea",
"text" : "New Comment Text",
"anchor_md" : {
"val" : 2375.2755905511813
}
} ]
} ],
"offset" : 0,
"limit" : 10,
"total" : 2,
"last" : true,
"first" : true
}
GET /public/api/v1/wells/{uuid}/comments
| Path parameter | Description |
|---|---|
uuid |
Lateral UUID |
| Parameter | Description |
|---|---|
offset |
Index of the first record to return by a request from the list of all records |
limit |
Maximum number of records to return by a request from the list of all records, starting with 'offset' |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Content array |
offset |
Number |
Index of the first record returned by a request from the list of all records |
limit |
Number |
Maximum number of records returned by a request from the list of all records, starting with 'offset' |
total |
Number |
Total number of records |
first |
Boolean |
true if the current records range is the first, otherwise – false |
last |
Boolean |
true if the current records range is the last, otherwise – false |
content[].comment_id |
String |
Comment UUID |
content[].name |
String |
Comment name |
content[].comment_boxes[].commentbox_id |
String |
Comment box UUID |
content[].comment_boxes[].text |
String |
Comment box text |
content[].comment_boxes[].anchor_md.val |
Number |
Comment box placement measured depth value in project units |
Update comment
Update comment by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/comments/de93392e-e4c5-4fb6-883c-48b55cf15119' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Updated comment name"
}'
PATCH /public/api/v1/comments/de93392e-e4c5-4fb6-883c-48b55cf15119 HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 37
{
"name" : "Updated comment name"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: ea46e5922f885d4abdc8263b029437c1
PATCH /public/api/v1/comments/{uuid}
| Path parameter | Description |
|---|---|
uuid |
Comment UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
name |
String |
New comment name |
Response body
Empty body
Update comment box
Update comment box by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/commentboxes/a3706758-0e39-4146-9246-1f7481685247' -i -X PATCH \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"text" : "Updated comment box text",
"anchor_md" : {
"val" : 333.8
}
}'
PATCH /public/api/v1/commentboxes/a3706758-0e39-4146-9246-1f7481685247 HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 82
{
"text" : "Updated comment box text",
"anchor_md" : {
"val" : 333.8
}
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: a2c748b5ffc430d2d0c905ccbcbde8ee
PATCH /public/api/v1/commentboxes/{uuid}
| Path parameter | Description |
|---|---|
uuid |
Comment box UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
text |
String |
New comment box text |
anchor_md.val |
Number |
New comment box placement measured depth value in project units |
Response body
Empty body
Delete comment
Delete comment by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/comments/de93392e-e4c5-4fb6-883c-48b55cf15119' -i -X DELETE \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
DELETE /public/api/v1/comments/de93392e-e4c5-4fb6-883c-48b55cf15119 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: 8325a9b6adde8487142cf573960bbbf6
DELETE /public/api/v1/comments/{uuid}
| Path parameter | Description |
|---|---|
uuid |
Comment UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
Empty body
Delete comment box
Delete comment box by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/commentboxes/a3706758-0e39-4146-9246-1f7481685247' -i -X DELETE \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json'
DELETE /public/api/v1/commentboxes/a3706758-0e39-4146-9246-1f7481685247 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: 925afb3add2a9dbb6d5b92dc89fc0843
DELETE /public/api/v1/commentboxes/{uuid}
| Path parameter | Description |
|---|---|
uuid |
Comment box UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
Empty body
22. Log families
Get laterals log families list
Get laterals log families list by project UUID
Request
$ curl 'https://solo.cloud/public/api/v1/projects/14d284bd-0889-4e6c-afc6-6b4e2d108f88/wells/logs/logfamilies?offset=0&limit=10' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/projects/14d284bd-0889-4e6c-afc6-6b4e2d108f88/wells/logs/logfamilies?offset=0&limit=10 HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: cfcf8c64d82f20f12630f300e06abef6
Content-Type: application/json
{
"content" : [ {
"uuid" : "81513a54-bc1d-4e51-9306-2e09baa0d2e6",
"name" : "Log Family",
"group_mnemonics" : [ "mnemonic1", "mnemonic2", "mnemonic3" ]
} ],
"offset" : 0,
"limit" : 10,
"total" : 1,
"last" : true,
"first" : true
}
GET /public/api/v1/projects/{uuid}/wells/logs/logfamilies
| Path parameter | Description |
|---|---|
uuid |
Project UUID |
| Parameter | Description |
|---|---|
offset |
Index of the first record to return by a request from the list of all records |
limit |
Maximum number of records to return by a request from the list of all records, starting with 'offset' |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Content array |
offset |
Number |
Index of the first record returned by a request from the list of all records |
limit |
Number |
Maximum number of records returned by a request from the list of all records, starting with 'offset' |
total |
Number |
Total number of records |
first |
Boolean |
true if the current records range is the first, otherwise – false |
last |
Boolean |
true if the current records range is the last, otherwise – false |
content[].uuid |
String |
Log family UUID |
content[].name |
String |
Log family name |
content[].group_mnemonics[]. |
Array |
Mnemonics list |
Get typewells log families list
Get typewells log families list by project UUID
Request
$ curl 'https://solo.cloud/public/api/v1/projects/14d284bd-0889-4e6c-afc6-6b4e2d108f88/typewells/logs/logfamilies?offset=0&limit=10' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/projects/14d284bd-0889-4e6c-afc6-6b4e2d108f88/typewells/logs/logfamilies?offset=0&limit=10 HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 4980d95f4d8885771e6da4cf0b4cc449
Content-Type: application/json
{
"content" : [ {
"uuid" : "81513a54-bc1d-4e51-9306-2e09baa0d2e6",
"name" : "Log Family",
"group_mnemonics" : [ "mnemonic1", "mnemonic2", "mnemonic3" ]
} ],
"offset" : 0,
"limit" : 10,
"total" : 1,
"last" : true,
"first" : true
}
GET /public/api/v1/projects/{uuid}/typewells/logs/logfamilies
| Path parameter | Description |
|---|---|
uuid |
Project UUID |
| Parameter | Description |
|---|---|
offset |
Index of the first record to return by a request from the list of all records |
limit |
Maximum number of records to return by a request from the list of all records, starting with 'offset' |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Content array |
offset |
Number |
Index of the first record returned by a request from the list of all records |
limit |
Number |
Maximum number of records returned by a request from the list of all records, starting with 'offset' |
total |
Number |
Total number of records |
first |
Boolean |
true if the current records range is the first, otherwise – false |
last |
Boolean |
true if the current records range is the last, otherwise – false |
content[].uuid |
String |
Log family UUID |
content[].name |
String |
Log family name |
content[].group_mnemonics[]. |
Array |
Mnemonics list |
Get laterals log list by log family in specific project
Get laterals log list by log family and project UUIDs
Request
$ curl 'https://solo.cloud/public/api/v1/projects/14d284bd-0889-4e6c-afc6-6b4e2d108f88/logfamilies/81513a54-bc1d-4e51-9306-2e09baa0d2e6/wells/logs?offset=0&limit=10' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/projects/14d284bd-0889-4e6c-afc6-6b4e2d108f88/logfamilies/81513a54-bc1d-4e51-9306-2e09baa0d2e6/wells/logs?offset=0&limit=10 HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: f3c6a6a84ddc12bcd2e7b942eb700875
Content-Type: application/json
{
"content" : [ {
"uuid" : "462e9e7f-dfe1-4e4f-a45c-60ff52581f28",
"name" : "mnemonic1"
}, {
"uuid" : "14a6478c-eec9-456d-950e-b2156924fcbb",
"name" : "mnemonic3"
} ],
"offset" : 0,
"limit" : 10,
"total" : 2,
"last" : true,
"first" : true
}
GET /public/api/v1/projects/{project_id}/logfamilies/{log_family_id}/wells/logs
| Path parameter | Description |
|---|---|
project_id |
Project UUID |
log_family_id |
Log family UUID |
| Parameter | Description |
|---|---|
offset |
Index of the first record to return by a request from the list of all records |
limit |
Maximum number of records to return by a request from the list of all records, starting with 'offset' |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Content array |
offset |
Number |
Index of the first record returned by a request from the list of all records |
limit |
Number |
Maximum number of records returned by a request from the list of all records, starting with 'offset' |
total |
Number |
Total number of records |
first |
Boolean |
true if the current records range is the first, otherwise – false |
last |
Boolean |
true if the current records range is the last, otherwise – false |
content[].uuid |
String |
Log UUID |
content[].name |
String |
Log name |
Get typewells log list by log family in specific project
Get typewells log list by log family and project UUIDs
Request
$ curl 'https://solo.cloud/public/api/v1/projects/14d284bd-0889-4e6c-afc6-6b4e2d108f88/logfamilies/81513a54-bc1d-4e51-9306-2e09baa0d2e6/typewells/logs?offset=0&limit=10' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/projects/14d284bd-0889-4e6c-afc6-6b4e2d108f88/logfamilies/81513a54-bc1d-4e51-9306-2e09baa0d2e6/typewells/logs?offset=0&limit=10 HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: b14eb330e9c48041334d1b004f144262
Content-Type: application/json
{
"content" : [ {
"uuid" : "1611cd31-9058-4163-acb6-b2a3cafa4934",
"name" : "mnemonic1"
}, {
"uuid" : "95d50d0f-29ee-41d0-adf8-a23169bc1529",
"name" : "mnemonic3"
} ],
"offset" : 0,
"limit" : 10,
"total" : 2,
"last" : true,
"first" : true
}
GET /public/api/v1/projects/{project_id}/logfamilies/{log_family_id}/typewells/logs
| Path parameter | Description |
|---|---|
project_id |
Project UUID |
log_family_id |
Log family UUID |
| Parameter | Description |
|---|---|
offset |
Index of the first record to return by a request from the list of all records |
limit |
Maximum number of records to return by a request from the list of all records, starting with 'offset' |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Content array |
offset |
Number |
Index of the first record returned by a request from the list of all records |
limit |
Number |
Maximum number of records returned by a request from the list of all records, starting with 'offset' |
total |
Number |
Total number of records |
first |
Boolean |
true if the current records range is the first, otherwise – false |
last |
Boolean |
true if the current records range is the last, otherwise – false |
content[].uuid |
String |
Log UUID |
content[].name |
String |
Log name |
23. Objects update info
Get update info by lateral
Get update info about child objects by lateral UUID. If some child object is missing in the response, it means that at the moment it no longer exists (was deleted)
Request
$ curl 'https://solo.cloud/public/api/v1/wells/f8765676-042e-4731-a85c-e6602311e714/updateinfo' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/f8765676-042e-4731-a85c-e6602311e714/updateinfo HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: ab956bcbb37b3d038e05814c62270f76
Content-Type: application/json
{
"content" : [ {
"type" : "TOPSET",
"updated_at" : "2026-07-17T09:06:15.110705Z",
"modified_at" : "2026-07-17T09:06:15.533834Z",
"uuid" : "21a55261-b6ec-40d3-988a-1bfc89611502",
"parent_uuid" : "f8765676-042e-4731-a85c-e6602311e714"
}, {
"type" : "TOPSET",
"updated_at" : "2026-07-17T09:06:15.080724Z",
"modified_at" : "2026-07-17T09:06:15.080724Z",
"uuid" : "6af83051-19b3-4a11-8405-1d154bfebe66",
"parent_uuid" : "60c517e7-c573-42b4-955b-a5edab3b4841"
}, {
"type" : "NESTEDWELL",
"updated_at" : "2026-07-17T09:06:15.029678Z",
"modified_at" : "2026-07-17T09:06:15.080724Z",
"uuid" : "60c517e7-c573-42b4-955b-a5edab3b4841",
"parent_uuid" : "f8765676-042e-4731-a85c-e6602311e714"
}, {
"type" : "LOG",
"updated_at" : "2026-07-17T09:06:14.568114Z",
"modified_at" : "2026-07-17T09:06:14.568114Z",
"uuid" : "2d322465-cc8c-41ff-aee3-68f8b70944c0",
"parent_uuid" : "f8765676-042e-4731-a85c-e6602311e714"
}, {
"type" : "WELL",
"updated_at" : "2026-07-17T09:06:14.480201Z",
"modified_at" : "2026-07-17T09:06:15.533834Z",
"uuid" : "f8765676-042e-4731-a85c-e6602311e714"
}, {
"type" : "IMAGELOG",
"updated_at" : "2026-07-17T09:06:14.642876Z",
"modified_at" : "2026-07-17T09:06:14.642876Z",
"uuid" : "e9647ebd-c945-45d6-bb50-46a834c0e9b3",
"parent_uuid" : "f8765676-042e-4731-a85c-e6602311e714"
}, {
"type" : "IMAGE",
"updated_at" : "2026-07-17T09:06:14.738293Z",
"modified_at" : "2026-07-17T09:06:14.738293Z",
"uuid" : "9def2be1-9f45-4b2e-9651-23c9877d9122",
"parent_uuid" : "f8765676-042e-4731-a85c-e6602311e714"
}, {
"type" : "TOP",
"updated_at" : "2026-07-17T09:06:15.139123Z",
"modified_at" : "2026-07-17T09:06:15.139123Z",
"uuid" : "8be59386-1bee-440d-b5f8-b02525170698",
"parent_uuid" : "21a55261-b6ec-40d3-988a-1bfc89611502"
}, {
"type" : "EARTHMODEL",
"updated_at" : "2026-07-17T09:06:15.288955Z",
"modified_at" : "2026-07-17T09:06:15.326600Z",
"uuid" : "2bb79974-708d-4153-9a32-eb5654f60e7a",
"parent_uuid" : "885cf32f-426a-44bb-8aa6-c98595f975ff"
}, {
"type" : "IMAGE",
"updated_at" : "2026-07-17T09:06:14.878139Z",
"modified_at" : "2026-07-17T09:06:14.878139Z",
"uuid" : "c30e1e1b-6866-4b49-a924-ac8035310d33",
"parent_uuid" : "f8765676-042e-4731-a85c-e6602311e714"
}, {
"type" : "INTERPRETATION",
"updated_at" : "2026-07-17T09:06:14.772156Z",
"modified_at" : "2026-07-17T09:06:15.326600Z",
"uuid" : "885cf32f-426a-44bb-8aa6-c98595f975ff",
"parent_uuid" : "f8765676-042e-4731-a85c-e6602311e714"
}, {
"type" : "MUDLOG",
"updated_at" : "2026-07-17T09:06:14.934699Z",
"modified_at" : "2026-07-17T09:06:14.934699Z",
"uuid" : "b94ce4b2-8186-4854-ac8a-df1fc74261b0",
"parent_uuid" : "f8765676-042e-4731-a85c-e6602311e714"
}, {
"type" : "COMMENT",
"updated_at" : "2026-07-17T09:06:15.187615Z",
"modified_at" : "2026-07-17T09:06:15.187615Z",
"uuid" : "baeda93b-14c6-4f63-92ed-a1e2ef91e2b6",
"parent_uuid" : "f8765676-042e-4731-a85c-e6602311e714"
}, {
"type" : "TARGETLINE",
"updated_at" : "2026-07-17T09:06:15.243956Z",
"modified_at" : "2026-07-17T09:06:15.243956Z",
"uuid" : "177e17e6-9aa5-49b4-9304-2df16991c3ed",
"parent_uuid" : "f8765676-042e-4731-a85c-e6602311e714"
} ]
}
GET /public/api/v1/wells/{uuid}/updateinfo
| Path parameter | Description |
|---|---|
uuid |
Lateral UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Content array |
content[].uuid |
String |
The object UUID |
content[].type |
String |
Type of the object |
content[].parent_uuid |
String |
Parent object UUID (optional) |
content[].updated_at |
String |
Timestamp showing when the object itself was updated (UTC time) |
content[].modified_at |
String |
Timestamp showing when either one of the child objects or object itself was updated (UTC time) |
Get update info by typewell
Get update info about child objects by typewell UUID. If some child object is missing in the response, it means that at the moment it no longer exists (was deleted)
Request
$ curl 'https://solo.cloud/public/api/v1/typewells/d047c35a-ce3b-4c16-bd77-27bc796b67b1/updateinfo' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/typewells/d047c35a-ce3b-4c16-bd77-27bc796b67b1/updateinfo HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: dfcd5c064de9e23a6ba46fc34b138986
Content-Type: application/json
{
"content" : [ {
"type" : "LOG",
"updated_at" : "2026-07-17T09:06:14.232692Z",
"modified_at" : "2026-07-17T09:06:14.232692Z",
"uuid" : "7afea78c-ab8a-4c5c-881a-1d831f94288d",
"parent_uuid" : "d047c35a-ce3b-4c16-bd77-27bc796b67b1"
}, {
"type" : "MUDLOG",
"updated_at" : "2026-07-17T09:06:14.335618Z",
"modified_at" : "2026-07-17T09:06:14.335618Z",
"uuid" : "fdb1c53f-fd98-4e69-9cc7-954d9c20c0b6",
"parent_uuid" : "d047c35a-ce3b-4c16-bd77-27bc796b67b1"
}, {
"type" : "TOP",
"updated_at" : "2026-07-17T09:06:14.405325Z",
"modified_at" : "2026-07-17T09:06:14.405325Z",
"uuid" : "15793356-b004-4f44-8848-0e49e3702678",
"parent_uuid" : "66cdd31c-23c5-45e7-9f7f-80fc7293476c"
}, {
"type" : "TOPSET",
"updated_at" : "2026-07-17T09:06:14.271252Z",
"modified_at" : "2026-07-17T09:06:14.405325Z",
"uuid" : "66cdd31c-23c5-45e7-9f7f-80fc7293476c",
"parent_uuid" : "d047c35a-ce3b-4c16-bd77-27bc796b67b1"
}, {
"type" : "TYPEWELL",
"updated_at" : "2026-07-17T09:06:14.143807Z",
"modified_at" : "2026-07-17T09:06:14.405325Z",
"uuid" : "d047c35a-ce3b-4c16-bd77-27bc796b67b1"
} ]
}
GET /public/api/v1/typewells/{uuid}/updateinfo
| Path parameter | Description |
|---|---|
uuid |
Typewell UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Content array |
content[].uuid |
String |
The object UUID |
content[].type |
String |
Type of the object |
content[].parent_uuid |
String |
Parent object UUID (optional) |
content[].updated_at |
String |
Timestamp showing when the object itself was updated (UTC time) |
content[].modified_at |
String |
Timestamp showing when either one of the child objects or object itself was updated (UTC time) |
Get grid update info
Get grid update info by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/grids/221fba2d-4e3d-4870-99b4-3a0c9fe0d499/updateinfo' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/grids/221fba2d-4e3d-4870-99b4-3a0c9fe0d499/updateinfo HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: ec06043c91a301656ba503c1af7c62bd
Content-Type: application/json
{
"content" : [ {
"type" : "GRID",
"updated_at" : "2026-07-17T09:06:15.796215Z",
"modified_at" : "2026-07-17T09:06:15.796215Z",
"uuid" : "221fba2d-4e3d-4870-99b4-3a0c9fe0d499"
} ]
}
GET /public/api/v1/grids/{uuid}/updateinfo
| Path parameter | Description |
|---|---|
uuid |
Grid UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Content array |
content[].uuid |
String |
The object UUID |
content[].type |
String |
Type of the object |
content[].parent_uuid |
String |
Parent object UUID (optional) |
content[].updated_at |
String |
Timestamp showing when the object itself was updated (UTC time) |
content[].modified_at |
String |
Timestamp showing when either one of the child objects or object itself was updated (UTC time) |
Get polygon update info
Get polygon update info by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/polygons/7c8324e9-8115-4a9f-ba70-b2ef232d5763/updateinfo' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/polygons/7c8324e9-8115-4a9f-ba70-b2ef232d5763/updateinfo HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 414ebbbd60e2238efa3eeaec873bc0b9
Content-Type: application/json
{
"content" : [ {
"type" : "POLYGON",
"updated_at" : "2026-07-17T09:06:15.645184Z",
"modified_at" : "2026-07-17T09:06:15.645184Z",
"uuid" : "7c8324e9-8115-4a9f-ba70-b2ef232d5763"
} ]
}
GET /public/api/v1/polygons/{uuid}/updateinfo
| Path parameter | Description |
|---|---|
uuid |
Polygon UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Content array |
content[].uuid |
String |
The object UUID |
content[].type |
String |
Type of the object |
content[].parent_uuid |
String |
Parent object UUID (optional) |
content[].updated_at |
String |
Timestamp showing when the object itself was updated (UTC time) |
content[].modified_at |
String |
Timestamp showing when either one of the child objects or object itself was updated (UTC time) |
Get stick update info
Get stick update info by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/sticks/cc5c37b8-1c45-4f22-aacc-f09f37a9f9b2/updateinfo' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/sticks/cc5c37b8-1c45-4f22-aacc-f09f37a9f9b2/updateinfo HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: b5733d067b4379554ff7d3da63366733
Content-Type: application/json
{
"content" : [ {
"type" : "STICK",
"updated_at" : "2026-07-17T09:06:15.849845Z",
"modified_at" : "2026-07-17T09:06:15.849845Z",
"uuid" : "cc5c37b8-1c45-4f22-aacc-f09f37a9f9b2"
} ]
}
GET /public/api/v1/sticks/{uuid}/updateinfo
| Path parameter | Description |
|---|---|
uuid |
Stick UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Content array |
content[].uuid |
String |
The object UUID |
content[].type |
String |
Type of the object |
content[].parent_uuid |
String |
Parent object UUID (optional) |
content[].updated_at |
String |
Timestamp showing when the object itself was updated (UTC time) |
content[].modified_at |
String |
Timestamp showing when either one of the child objects or object itself was updated (UTC time) |
Get last change user info
Get information about users who made the last changes to specified objects
Request
$ curl 'https://solo.cloud/public/api/v1/lastchange/userinfo' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"object_uuids" : [ "f8765676-042e-4731-a85c-e6602311e714", "d047c35a-ce3b-4c16-bd77-27bc796b67b1", "221fba2d-4e3d-4870-99b4-3a0c9fe0d499" ]
}'
POST /public/api/v1/lastchange/userinfo HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 145
{
"object_uuids" : [ "f8765676-042e-4731-a85c-e6602311e714", "d047c35a-ce3b-4c16-bd77-27bc796b67b1", "221fba2d-4e3d-4870-99b4-3a0c9fe0d499" ]
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 27a9666156d55c2a02bc84835c816c08
Content-Type: application/json
{
"content" : [ {
"uuid" : "d047c35a-ce3b-4c16-bd77-27bc796b67b1",
"type" : "TYPEWELL",
"updated_at" : "2026-07-17T09:06:14.143807Z",
"modified_at" : "2026-07-17T09:06:14.405325Z",
"updated_by" : {
"description" : "Bot manager",
"email" : "a.bortnikov+manager@rogii.com",
"first_name" : "Bot",
"last_name" : "Manager"
},
"modified_by" : {
"description" : "Bot manager",
"email" : "a.bortnikov+manager@rogii.com",
"first_name" : "Bot",
"last_name" : "Manager"
}
}, {
"uuid" : "f8765676-042e-4731-a85c-e6602311e714",
"type" : "WELL",
"updated_at" : "2026-07-17T09:06:14.480201Z",
"modified_at" : "2026-07-17T09:06:15.533834Z",
"updated_by" : {
"description" : "Bot manager",
"email" : "a.bortnikov+manager@rogii.com",
"first_name" : "Bot",
"last_name" : "Manager"
},
"modified_by" : {
"description" : "Bot manager",
"email" : "a.bortnikov+manager@rogii.com",
"first_name" : "Bot",
"last_name" : "Manager"
}
}, {
"uuid" : "221fba2d-4e3d-4870-99b4-3a0c9fe0d499",
"type" : "GRID",
"updated_at" : "2026-07-17T09:06:15.796215Z",
"modified_at" : "2026-07-17T09:06:15.796215Z",
"updated_by" : {
"description" : "Bot manager",
"email" : "a.bortnikov+manager@rogii.com",
"first_name" : "Bot",
"last_name" : "Manager"
},
"modified_by" : {
"description" : "Bot manager",
"email" : "a.bortnikov+manager@rogii.com",
"first_name" : "Bot",
"last_name" : "Manager"
}
} ]
}
POST /public/api/v1/lastchange/userinfo
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
object_uuids |
Array |
List of object UUIDs |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
Content array |
content[].uuid |
String |
The object UUID |
content[].type |
String |
Type of the object |
content[].updated_at |
String |
Timestamp showing when the object itself was updated (UTC time) |
content[].modified_at |
String |
Timestamp showing when either one of the child objects or object itself was updated (UTC time) |
content[].updated_by |
Object |
User info of who last updated the object |
content[].updated_by.description |
String |
User description |
content[].updated_by.email |
String |
User email |
content[].updated_by.first_name |
String |
User first name |
content[].updated_by.last_name |
String |
User last name |
content[].modified_by |
Object |
User info of who last modified the object or its children |
content[].modified_by.description |
String |
User description |
content[].modified_by.email |
String |
User email |
content[].modified_by.first_name |
String |
User first name |
content[].modified_by.last_name |
String |
User last name |
24. Toolcodes
Get toolcodes
Get toolcodes list.
Request
$ curl 'https://solo.cloud/public/api/v1/toolcodes' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/toolcodes HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 0627d0180d803bb700060f4942b781e9
Content-Type: application/json
[ {
"short_name" : "MWD+SRGM",
"description" : "MWD using 1-Year Standard Resolution Geomagnetic Mode (e.g. BGGM up to 2018, MVSD) with no additional corrections",
"prefix" : "A001Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Fixed",
"geomagnetic_reference" : "SRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+SRGM_Fl",
"description" : "MWD using 1-Year Standard Resolution Geomagnetic Mode (e.g. BGGM up to 2018, MVSD) with no additional corrections on a Floating Rig",
"prefix" : "A001Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Floating",
"geomagnetic_reference" : "SRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+SRGM+SAG",
"description" : "MWD using 1-Year Standard Resolution Geomagnetic Mode (e.g. BGGM up to 2018, MVSD) and Sag Correction",
"prefix" : "A002Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Fixed",
"sag_correction" : "SAG",
"geomagnetic_reference" : "SRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+SRGM+SAG_Fl",
"description" : "MWD using 1-Year Standard Resolution Geomagnetic Mode (e.g. BGGM up to 2018, MVSD) and Sag Correction on a Floating Rig",
"prefix" : "A002Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Floating",
"sag_correction" : "SAG",
"geomagnetic_reference" : "SRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "TEST_TOOLCODE",
"description" : "A002Mb/ISC4: BGGM dec + sag corrections",
"prefix" : "A002Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Fixed",
"sag_correction" : "SAG",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "SRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : true
}, {
"short_name" : "MWD+SRGM+AX",
"description" : "MWD using 1-Year Standard Resolution Geomagnetic Mode (e.g. BGGM up to 2018, MVSD) with Axial Correction",
"prefix" : "A003Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Fixed",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "SRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+SRGM+AX_Fl",
"description" : "MWD using 1-Year Standard Resolution Geomagnetic Mode (e.g. BGGM up to 2018, MVSD) with Axial Correction on a Floating Rig",
"prefix" : "A003Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Floating",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "SRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+SRGM+AX+SAG",
"description" : "MWD using 1-Year Standard Resolution Geomagnetic Mode (e.g. BGGM up to 2018, MVSD) with Axial Correction and Sag Correction",
"prefix" : "A004Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Fixed",
"sag_correction" : "SAG",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "SRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+SRGM+AX+SAG_Fl",
"description" : "MWD using 1-Year Standard Resolution Geomagnetic Mode (e.g. BGGM up to 2018, MVSD) with Axial Correction and Sag Correction on a Floating Rig",
"prefix" : "A004Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Floating",
"sag_correction" : "SAG",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "SRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+IFR1",
"description" : "MWD with IFR1 (IFR or Crustal Anomaly Correction)",
"prefix" : "A005Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Fixed",
"geomagnetic_reference" : "IFR1",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+IFR1_Fl",
"description" : "MWD with IFR1 (IFR or Crustal Anomaly Correction) on a Floating Rig",
"prefix" : "A005Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Floating",
"geomagnetic_reference" : "IFR1",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+IFR1+AX",
"description" : "MWD with IFR1 (IFR or Crustal Anomaly Correction) and Axial Correction",
"prefix" : "A006Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Fixed",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "IFR1",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+IFR1+AX_Fl",
"description" : "MWD with IFR1 (IFR or Crustal Anomaly Correction) and Axial Correction on a Floating Rig",
"prefix" : "A006Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Floating",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "IFR1",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+IFR1+AX+SAG",
"description" : "MWD with IFR1 (IFR or Crustal Anomaly Correction) and Axial Correction and Sag Correction",
"prefix" : "A007Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Fixed",
"sag_correction" : "SAG",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "IFR1",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+IFR1+AX+SAG_Fl",
"description" : "MWD with IFR1 (IFR or Crustal Anomaly Correction) and Axial Correction and Sag Correction on a Floating Rig",
"prefix" : "A007Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Floating",
"sag_correction" : "SAG",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "IFR1",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+IFR1+MS",
"description" : "MWD with IFR1 (IFR or Crustal Anomaly Correction) and Multi-Station Correction. CARE TO BE TAKEN WHILE PLANNING A WELL – Refer to Survey Management Specialist to ensure MS is valid.",
"prefix" : "A008Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Fixed",
"magnetic_correction" : "MS",
"geomagnetic_reference" : "IFR1",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+IFR1+MS_Fl",
"description" : "MWD with IFR1 (IFR or Crustal Anomaly Correction) and Multi-Station Correction on a Floating Rig. CARE TO BE TAKEN WHILE PLANNING A WELL – Refer to Survey Management Specialist to ensure MS is valid.",
"prefix" : "A008Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Floating",
"magnetic_correction" : "MS",
"geomagnetic_reference" : "IFR1",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+IFR1+SAG",
"description" : "MWD with IFR1 (IFR or Crustal Anomaly Correction) and Sag Correction",
"prefix" : "A009Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Fixed",
"sag_correction" : "SAG",
"geomagnetic_reference" : "IFR1",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+IFR1+SAG_Fl",
"description" : "MWD with IFR1 (IFR or Crustal Anomaly Correction) and Sag Correction on a Floating Rig",
"prefix" : "A009Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Floating",
"sag_correction" : "SAG",
"geomagnetic_reference" : "IFR1",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+IFR1+SAG+MS",
"description" : "MWD with IFR1 (IFR or Crustal Anomaly Correction) with Sag and Multi-Station Correction. CARE TO BE TAKEN WHILE PLANNING A WELL – Refer to Survey Management Specialist to ensure MS is valid.",
"prefix" : "A010Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Fixed",
"sag_correction" : "SAG",
"magnetic_correction" : "MS",
"geomagnetic_reference" : "IFR1",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+IFR1+SAG+MS_Fl",
"description" : "MWD with IFR1 (IFR or Crustal Anomaly Correction) with Sag and Multi-Station Correction on a Floating Rig. CARE TO BE TAKEN WHILE PLANNING A WELL – Refer to Survey Management Specialist to ensure MS is valid.",
"prefix" : "A010Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Floating",
"sag_correction" : "SAG",
"magnetic_correction" : "MS",
"geomagnetic_reference" : "IFR1",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+IFR2+AX+SAG",
"description" : "MWD with IFR2 (IIFR or Crustal Anomaly with Time Varying Corrections) and Axial Correction and Sag Correction",
"prefix" : "A011Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Fixed",
"sag_correction" : "SAG",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "IFR2",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+IFR2+AX+SAG_Fl",
"description" : "MWD with IFR2 (IIFR or Crustal Anomaly with Time Varying Corrections) and Axial Correction and Sag Correction on a Floating Rig",
"prefix" : "A011Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Floating",
"sag_correction" : "SAG",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "IFR2",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+IFR2+SAG",
"description" : "MWD with IFR2 (IIFR or Crustal Anomaly with Time Varying Corrections) and Sag Correction",
"prefix" : "A012Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Fixed",
"sag_correction" : "SAG",
"geomagnetic_reference" : "IFR2",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+IFR2+SAG_Fl",
"description" : "MWD with IFR2 (IIFR or Crustal Anomaly with Time Varying Corrections) and Sag Correction on a Floating Rig",
"prefix" : "A012Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Floating",
"sag_correction" : "SAG",
"geomagnetic_reference" : "IFR2",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+IFR2+SAG+MS",
"description" : "MWD with IFR2 (IIFR or Crustal Anomaly with Time Varying Corrections) with Sag and Multi-Station Correction. CARE TO BE TAKEN WHILE PLANNING A WELL – Refer to Survey Management Specialist to ensure MS is valid.",
"prefix" : "A013Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Fixed",
"sag_correction" : "SAG",
"magnetic_correction" : "MS",
"geomagnetic_reference" : "IFR2",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+IFR2+SAG+MS_Fl",
"description" : "MWD with IFR2 (IIFR or Crustal Anomaly with Time Varying Corrections) with Sag and Multi-Station Correction on a Floating Rig. CARE TO BE TAKEN WHILE PLANNING A WELL – Refer to Survey Management Specialist to ensure MS is valid.",
"prefix" : "A013Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Floating",
"sag_correction" : "SAG",
"magnetic_correction" : "MS",
"geomagnetic_reference" : "IFR2",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EMS+SRGM",
"description" : "EMS using 1-Year Standard Resolution Geomagnetic Mode (e.g. BGGM up to 2018, MVSD) with no additional corrections",
"prefix" : "A014Mc",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Fixed",
"geomagnetic_reference" : "SRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EMS+SRGM_Fl",
"description" : "EMS using 1-Year Standard Resolution Geomagnetic Mode (e.g. BGGM up to 2018, MVSD) with no additional corrections on a Floating Rig",
"prefix" : "A014Mc",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Floating",
"geomagnetic_reference" : "SRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EMS+SRGM+AX",
"description" : "EMS using 1-Year Standard Resolution Geomagnetic Mode (e.g. BGGM up to 2018, MVSD) with Axial Correction",
"prefix" : "A015Mc",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Fixed",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "SRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EMS+SRGM+AX_Fl",
"description" : "EMS using 1-Year Standard Resolution Geomagnetic Mode (e.g. BGGM up to 2018, MVSD) with Axial Correction on a Floating Rig",
"prefix" : "A015Mc",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Floating",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "SRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EMS+SRGM+AX+SAG",
"description" : "EMS using 1-Year Standard Resolution Geomagnetic Mode (e.g. BGGM up to 2018, MVSD) with Axial Correction and Sag Correction",
"prefix" : "A016Mc",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Fixed",
"sag_correction" : "SAG",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "SRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EMS+SRGM+AX+SAG_Fl",
"description" : "EMS using 1-Year Standard Resolution Geomagnetic Mode (e.g. BGGM up to 2018, MVSD) with Axial Correction and Sag Correction on a Floating Rig",
"prefix" : "A016Mc",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Floating",
"sag_correction" : "SAG",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "SRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EMS+SRGM+SAG",
"description" : "EMS using 1-Year Standard Resolution Geomagnetic Mode (e.g. BGGM up to 2018, MVSD) and Sag Correction",
"prefix" : "A017Mc",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Fixed",
"sag_correction" : "SAG",
"geomagnetic_reference" : "SRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EMS+SRGM+SAG_Fl",
"description" : "EMS using 1-Year Standard Resolution Geomagnetic Mode (e.g. BGGM up to 2018, MVSD) and Sag Correction on a Floating Rig",
"prefix" : "A017Mc",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Floating",
"sag_correction" : "SAG",
"geomagnetic_reference" : "SRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "DIPMETER",
"description" : "Wireline logging tool survey data e.g. Schlumberger GPIT OBDT BGT or Atlas ORIT",
"prefix" : "A018Mb",
"tool_category" : "Magnetic",
"tool_type" : "Dipmeter",
"rig_type" : "Fixed",
"geomagnetic_reference" : "SRGM",
"revision" : "ISCWSA Rev5",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "DIPMETER_Fl",
"description" : "Wireline logging tool survey data e.g. Schlumberger GPIT OBDT BGT or Atlas ORIT on a Floating Rig",
"prefix" : "A018Mb",
"tool_category" : "Magnetic",
"tool_type" : "Dipmeter",
"rig_type" : "Floating",
"geomagnetic_reference" : "SRGM",
"revision" : "ISCWSA Rev5",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "GYRO-MWD",
"description" : "Generic Gyro MWD. CARE TO BE TAKEN - Tool model fails at 90 deg inclination.",
"prefix" : "A019Gb",
"tool_category" : "Gyro",
"tool_type" : "Gyro MWD",
"rig_type" : "Fixed",
"revision" : "ISCWSA Rev5",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "GYRO-MWD_Fl",
"description" : "Generic Gyro MWD on a Floating Rig. CARE TO BE TAKEN - Tool model fails at 90 deg inclination.",
"prefix" : "A019Gb",
"tool_category" : "Gyro",
"tool_type" : "Gyro MWD",
"rig_type" : "Fixed",
"revision" : "ISCWSA Rev5",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "GYRO-NS",
"description" : "Generic North Seeking Gyrocompass Gyro. CARE TO BE TAKEN - Tool model fails at 90 deg inclination.",
"prefix" : "A020Gb",
"tool_category" : "Gyro",
"tool_type" : "Gyro Compass",
"rig_type" : "Fixed",
"revision" : "ISCWSA Rev5",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "GYRO-NS_Fl",
"description" : "Generic North Seeking Gyrocompass Gyro on a Floating Rig. CARE TO BE TAKEN - Tool model fails at 90 deg inclination.",
"prefix" : "A020Gb",
"custom" : false
}, {
"short_name" : "GYRO-NS-CT",
"description" : "Generic Hybrid Static Gyrocompass and Continuous Survey",
"prefix" : "A021Gc",
"tool_category" : "Gyro",
"tool_type" : "Continuous",
"rig_type" : "Fixed",
"revision" : "ISCWSA Rev5",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "GYRO-NS-CT_Fl",
"description" : "Generic Hybrid Static Gyrocompass and Continuous Survey on a Floating Rig",
"prefix" : "A021Gc",
"tool_category" : "Gyro",
"tool_type" : "Continuous",
"rig_type" : "Floating",
"revision" : "ISCWSA Rev5",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "CB_Film_GMS",
"description" : "Conventional free gyro e.g. Level Rotor Gyro (LRG). CARE TO BE TAKEN – Tool model fails at 90 deg inclination.",
"prefix" : "A022Gb",
"tool_category" : "Gyro",
"tool_type" : "Camera Based",
"rig_type" : "Fixed",
"revision" : "ISCWSA Rev5",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "CB_Film_GMS_Fl",
"description" : "Conventional free gyro e.g. Level Rotor Gyro (LRG) on a Floating Rig. CARE TO BE TAKEN – Tool model fails at 90 deg inclination.",
"prefix" : "A022Gb",
"tool_category" : "Gyro",
"tool_type" : "Camera Based",
"rig_type" : "Floating",
"revision" : "ISCWSA Rev5",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "CB_Film_GSS",
"description" : "Conventional free gyro e.g. Level Rotor Gyro (LRG). CARE TO BE TAKEN – Tool model fails at 90 deg inclination.",
"prefix" : "A023Gb",
"tool_category" : "Gyro",
"tool_type" : "Camera Based",
"rig_type" : "Fixed",
"revision" : "ISCWSA Rev5",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "CB_Film_GSS_Fl",
"description" : "Conventional free gyro e.g. Level Rotor Gyro (LRG) on a Floating Rig. CARE TO BE TAKEN – Tool model fails at 90 deg inclination.",
"prefix" : "A023Gb",
"tool_category" : "Gyro",
"tool_type" : "Camera Based",
"rig_type" : "Floating",
"revision" : "ISCWSA Rev5",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "CB_Film_MMS",
"description" : "Camera Based Film Magnetic Multi-Shot with adequate length and spacing in NMDC",
"prefix" : "A024Mb",
"tool_category" : "Magnetic",
"tool_type" : "Camera Based",
"rig_type" : "Fixed",
"geomagnetic_reference" : "SRGM",
"revision" : "ISCWSA Rev5",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "CB_Film_MMS_Fl",
"description" : "Camera Based Film Magnetic Multi-Shot with adequate length and spacing in NMDC on a Floating Rig",
"prefix" : "A024Mb",
"tool_category" : "Magnetic",
"tool_type" : "Camera Based",
"rig_type" : "Floating",
"geomagnetic_reference" : "SRGM",
"revision" : "ISCWSA Rev5",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "CB_Film_MSS",
"description" : "Camera Based Film Magnetic Single Shot with adequate length and spacing in NMDC",
"prefix" : "A025Mb",
"tool_category" : "Magnetic",
"tool_type" : "Camera Based",
"rig_type" : "Fixed",
"geomagnetic_reference" : "SRGM",
"revision" : "ISCWSA Rev5",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "CB_Film_MSS_Fl",
"description" : "Camera Based Film Magnetic Single Shot with adequate length and spacing in NMDC on a Floating Rig",
"prefix" : "A025Mb",
"tool_category" : "Magnetic",
"tool_type" : "Camera Based",
"rig_type" : "Floating",
"geomagnetic_reference" : "SRGM",
"revision" : "ISCWSA Rev5",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "BLIND",
"description" : "Where no survey information was recorded or where the information no longer exists and there is no other supporting information to justify the use of another error model.",
"prefix" : "A026Ua",
"tool_category" : "Utility",
"rig_type" : "Fixed",
"revision" : "ISCWSA Rev1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "BLIND_Fl",
"description" : "Where no survey information was recorded or where the information no longer exists and there is no other supporting information to justify the use of another error model. On a Floating Rig",
"prefix" : "A026Ua",
"tool_category" : "Utility",
"rig_type" : "Floating",
"revision" : "ISCWSA Rev1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "INC-ONLY",
"description" : "Inclination only surveys for vertical wells with inclinations less than 5 deg (e.g. Totco Teledrift and Anderdrift)",
"prefix" : "A027Ub",
"tool_category" : "Utility",
"rig_type" : "Fixed",
"revision" : "ISCWSA Rev5",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "INC-ONLY_Fl",
"description" : "Inclination only surveys for vertical wells with inclinations less than 5 deg (e.g. Totco Teledrift and Anderdrift) on a Floating Rig",
"prefix" : "A027Ub",
"tool_category" : "Utility",
"rig_type" : "Floating",
"revision" : "ISCWSA Rev5",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "INC-ONLY_PLANNED",
"description" : "Inclination only surveys for planned vertical wells with inclinations less than 5 deg (e.g. Totco Teledrift and Anderdrift)",
"prefix" : "A028Ub",
"tool_category" : "Utility",
"rig_type" : "Fixed",
"revision" : "ISCWSA Rev5",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "INC-ONLY_PLANNED_Fl",
"description" : "Inclination only surveys for planned vertical wells with inclinations less than 5 deg (e.g. Totco Teledrift and Anderdrift) on a Floating Rig",
"prefix" : "A028Ub",
"tool_category" : "Utility",
"rig_type" : "Floating",
"revision" : "ISCWSA Rev5",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "UNKNOWN",
"description" : "For use when survey data exists at any interval not exceeding 200ft but the origin or legacy quality of the data is unknown",
"prefix" : "A029Ub",
"tool_category" : "Utility",
"rig_type" : "Fixed",
"revision" : "ISCWSA Rev5",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "UNKNOWN_Fl",
"description" : "For use when survey data exists at any interval not exceeding 200ft but the origin or legacy quality of the data is unknown. On a Floating Rig",
"prefix" : "A029Ub",
"tool_category" : "Utility",
"rig_type" : "Floating",
"revision" : "ISCWSA Rev5",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "ZERO-ERROR",
"description" : "To give zero position uncertainty down to a particular depth.",
"prefix" : "A030Ua",
"tool_category" : "Utility",
"rig_type" : "Fixed",
"revision" : "ISCWSA Rev1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+HRGM",
"description" : "MWD using 1-year High Resolution Geomagnetic Model with spherical harmonic degree of 720 or higher (e.g. BGGM2019+, HDGM, MVHD)",
"prefix" : "B001Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Fixed",
"geomagnetic_reference" : "HRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+HRGM_Fl",
"description" : "MWD using 1-year High Resolution Geomagnetic Model with spherical harmonic degree of 720 or higher (e.g. BGGM2019+, HDGM, MVHD) on a Floating Rig",
"prefix" : "B001Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Floating",
"geomagnetic_reference" : "HRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+HRGM+AX",
"description" : "MWD using 1-year High Resolution Geomagnetic Model with spherical harmonic degree of 720 or higher (e.g. BGGM2019+, HDGM, MVHD) with Axial Correction",
"prefix" : "B002Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Fixed",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "HRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+HRGM+AX_Fl",
"description" : "MWD using 1-year High Resolution Geomagnetic Model with spherical harmonic degree of 720 or higher (e.g. BGGM2019+, HDGM, MVHD) with Axial Correction on a Floating Rig",
"prefix" : "B002Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Floating",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "HRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+HRGM+AX+SAG",
"description" : "MWD using 1-year High Resolution Geomagnetic Model with spherical harmonic degree of 720 or higher (e.g. BGGM2019+, HDGM, MVHD) with Axial Correction and Sag Correction",
"prefix" : "B003Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Fixed",
"sag_correction" : "SAG",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "HRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+HRGM+AX+SAG_Fl",
"description" : "MWD using 1-year High Resolution Geomagnetic Model with spherical harmonic degree of 720 or higher (e.g. BGGM2019+, HDGM, MVHD) with Axial Correction and Sag Correction on a Floating Rig",
"prefix" : "B003Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Floating",
"sag_correction" : "SAG",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "HRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+HRGM+SAG",
"description" : "MWD using 1-year High Resolution Geomagnetic Model with spherical harmonic degree of 720 or higher (e.g. BGGM2019+, HDGM, MVHD) and Sag Correction",
"prefix" : "B004Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Fixed",
"sag_correction" : "SAG",
"geomagnetic_reference" : "HRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+HRGM+SAG_Fl",
"description" : "MWD using 1-year High Resolution Geomagnetic Model with spherical harmonic degree of 720 or higher (e.g. BGGM2019+, HDGM, MVHD) and Sag Correction on a Floating Rig",
"prefix" : "B004Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Floating",
"sag_correction" : "SAG",
"geomagnetic_reference" : "HRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+HRGM+SAG+MS",
"description" : "MWD Using a High Resolution Geomagnetic Model (HRGM) with spherical harmonic degree of 720 or higher (e.g. HDGM or MVHD) with Sag Correction and Multi-Station Correction. CARE TO BE TAKEN WHILE PLANNING A WELL – Refer to Survey Management Specialist to ensure MS is valid.",
"prefix" : "B005Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Fixed",
"sag_correction" : "SAG",
"magnetic_correction" : "MS",
"geomagnetic_reference" : "HRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+HRGM+SAG+MS_Fl",
"description" : "MWD Using a High Resolution Geomagnetic Model (HRGM) with spherical harmonic degree of 720 or higher (e.g. HDGM or MVHD) with Sag Correction and Multi-Station Correction on a Floating Rig. CARE TO BE TAKEN WHILE PLANNING A WELL – Refer to Survey Management Specialist to ensure MS is valid.",
"prefix" : "B005Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Floating",
"sag_correction" : "SAG",
"magnetic_correction" : "MS",
"geomagnetic_reference" : "HRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+LRGM",
"description" : "MWD using Low Resolution Geomagnetic Model (e.g. Updated less frequently than yearly, EMM, CGRF, IGRF, WMM)",
"prefix" : "B006Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Fixed",
"geomagnetic_reference" : "LRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+LRGM_Fl",
"description" : "MWD using Low Resolution Geomagnetic Model (e.g. Updated less frequently than yearly, EMM, CGRF, IGRF, WMM) on a Floating Rig",
"prefix" : "B006Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Floating",
"geomagnetic_reference" : "LRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+LRGM+AX",
"description" : "MWD using Low Resolution Geomagnetic Model (e.g. Updated less frequently than yearly, EMM, CGRF, IGRF, WMM) with Axial Correction",
"prefix" : "B007Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Fixed",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "LRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+LRGM+AX_Fl",
"description" : "MWD using Low Resolution Geomagnetic Model (e.g. Updated less frequently than yearly, EMM, CGRF, IGRF, WMM) with Axial Correction on a Floating Rig",
"prefix" : "B007Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Floating",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "LRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+LRGM+AX+SAG",
"description" : "MWD using Low Resolution Geomagnetic Model (e.g. Updated less frequently than yearly, EMM, CGRF, IGRF, WMM) with Axial Correction and Sag Correction",
"prefix" : "B008Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Fixed",
"sag_correction" : "SAG",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "LRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+LRGM+AX+SAG_Fl",
"description" : "MWD using Low Resolution Geomagnetic Model (e.g. Updated less frequently than yearly, EMM, CGRF, IGRF, WMM) with Axial Correction and Sag Correction on a Floating Rig",
"prefix" : "B008Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Floating",
"sag_correction" : "SAG",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "LRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+LRGM+SAG",
"description" : "MWD using Low Resolution Geomagnetic Model (e.g. Updated less frequently than yearly, EMM, CGRF, IGRF, WMM) with Sag Correction",
"prefix" : "B009Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Fixed",
"sag_correction" : "SAG",
"geomagnetic_reference" : "LRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "MWD+LRGM+SAG_Fl",
"description" : "MWD using Low Resolution Geomagnetic Model (e.g. Updated less frequently than yearly, EMM, CGRF, IGRF, WMM) with Sag Correction on a Floating Rig",
"prefix" : "B009Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Floating",
"sag_correction" : "SAG",
"geomagnetic_reference" : "LRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EMS+IFR1+AX+SAG",
"description" : "EMS with IFR1 (IFR or Crustal Anomaly Correction) and Axial Correction and Sag Correction",
"prefix" : "B010Mc",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Fixed",
"sag_correction" : "SAG",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "IFR1",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EMS+IFR1+AX+SAG_Fl",
"description" : "EMS with IFR1 (IFR or Crustal Anomaly Correction) and Axial Correction and Sag Correction on a Floating Rig",
"prefix" : "B010Mc",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Floating",
"sag_correction" : "SAG",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "IFR1",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EMS+IFR1+SAG",
"description" : "EMS with IFR1 (IFR or Crustal Anomaly Correction) and Sag Correction",
"prefix" : "B011Mc",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Fixed",
"sag_correction" : "SAG",
"geomagnetic_reference" : "IFR1",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EMS+IFR1+SAG_Fl",
"description" : "EMS with IFR1 (IFR or Crustal Anomaly Correction) and Sag Correction on a Floating Rig",
"prefix" : "B011Mc",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Floating",
"sag_correction" : "SAG",
"geomagnetic_reference" : "IFR1",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EMS+IFR1+SAG+MS",
"description" : "EMS with IFR1 (IFR or Crustal Anomaly Correction) with Sag and Multi-Station Correction. CARE TO BE TAKEN WHILE PLANNING A WELL – Refer to Survey Management Specialist to ensure MS is valid.",
"prefix" : "B012Mc",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Fixed",
"sag_correction" : "SAG",
"magnetic_correction" : "MS",
"geomagnetic_reference" : "IFR1",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EMS+IFR1+SAG+MS_Fl",
"description" : "EMS with IFR1 (IFR or Crustal Anomaly Correction) with Sag and Multi-Station Correction on a Floating Rig. CARE TO BE TAKEN WHILE PLANNING A WELL – Refer to Survey Management Specialist to ensure MS is valid.",
"prefix" : "B012Mc",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Floating",
"sag_correction" : "SAG",
"magnetic_correction" : "MS",
"geomagnetic_reference" : "IFR1",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EMS+HRGM",
"description" : "EMS using 1-year High Resolution Geomagnetic Model with spherical harmonic degree of 720 or higher (e.g. BGGM2019+, HDGM, MVHD)",
"prefix" : "B013Mc",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Fixed",
"geomagnetic_reference" : "HRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EMS+HRGM_Fl",
"description" : "EMS using 1-year High Resolution Geomagnetic Model with spherical harmonic degree of 720 or higher (e.g. BGGM2019+, HDGM, MVHD) on a Floating Rig",
"prefix" : "B013Mc",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Floating",
"geomagnetic_reference" : "HRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EMS+HRGM+AX",
"description" : "EMS using 1-Year Standard Resolution Geomagnetic Mode (e.g. BGGM up to 2018, MVSD) with Axial Correction",
"prefix" : "B014Mc",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Fixed",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "HRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EMS+HRGM+AX_Fl",
"description" : "EMS using 1-Year Standard Resolution Geomagnetic Mode (e.g. BGGM up to 2018, MVSD) with Axial Correction on a Floating Rig",
"prefix" : "B014Mc",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Floating",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "HRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EMS+HRGM+AX+SAG",
"description" : "EMS using 1-Year Standard Resolution Geomagnetic Mode (e.g. BGGM up to 2018, MVSD) with Axial Correction and Sag Correction",
"prefix" : "B015Mc",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Fixed",
"sag_correction" : "SAG",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "HRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EMS+HRGM+AX+SAG_Fl",
"description" : "EMS using 1-Year Standard Resolution Geomagnetic Mode (e.g. BGGM up to 2018, MVSD) with Axial Correction and Sag Correction on a Floating Rig",
"prefix" : "B015Mc",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Floating",
"sag_correction" : "SAG",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "HRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EMS+HRGM+SAG",
"description" : "EMS using 1-year High Resolution Geomagnetic Model with spherical harmonic degree of 720 or higher (e.g. BGGM2019+, HDGM, MVHD) with Sag Correction",
"prefix" : "B016Mc",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Fixed",
"sag_correction" : "SAG",
"geomagnetic_reference" : "HRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EMS+HRGM+SAG_Fl",
"description" : "EMS using 1-year High Resolution Geomagnetic Model with spherical harmonic degree of 720 or higher (e.g. BGGM2019+, HDGM, MVHD) with Sag Correction on a Floating Rig",
"prefix" : "B016Mc",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Floating",
"sag_correction" : "SAG",
"geomagnetic_reference" : "HRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EMS+LRGM",
"description" : "EMS using Low Resolution Geomagnetic Model (e.g. Updated less frequently than yearly, EMM, CGRF, IGRF, WMM)",
"prefix" : "B017Mc",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Fixed",
"geomagnetic_reference" : "LRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EMS+LRGM_Fl",
"description" : "EMS using Low Resolution Geomagnetic Model (e.g. Updated less frequently than yearly, EMM, CGRF, IGRF, WMM) on a Floating Rig",
"prefix" : "B017Mc",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Floating",
"geomagnetic_reference" : "LRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EMS+LRGM+AX",
"description" : "EMS using Low Resolution Geomagnetic Model (e.g. Updated less frequently than yearly, EMM, CGRF, IGRF, WMM) with Axial Correction",
"prefix" : "B018Md",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Fixed",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "LRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EMS+LRGM+AX_Fl",
"description" : "EMS using Low Resolution Geomagnetic Model (e.g. Updated less frequently than yearly, EMM, CGRF, IGRF, WMM) with Axial Correction on a Floating Rig",
"prefix" : "B018Md",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Floating",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "LRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EEMS+LRGM+AX+SAG_Fl",
"description" : "EMS using Low Resolution Geomagnetic Model (e.g. Updated less frequently than yearly, EMM, CGRF, IGRF, WMM) with Axial Correction and Sag Correction on a Floating Rig",
"prefix" : "B019Md",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Floating",
"sag_correction" : "SAG",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "LRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EMS+LRGM+AX+SAG",
"description" : "EMS using Low Resolution Geomagnetic Model (e.g. Updated less frequently than yearly, EMM, CGRF, IGRF, WMM) with Axial Correction and Sag Correction on a Floating Rig",
"prefix" : "B019Md",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Fixed",
"sag_correction" : "SAG",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "LRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EMS+LRGM+SAG",
"description" : "EMS using Low Resolution Geomagnetic Model (e.g. Updated less frequently than yearly, EMM, CGRF, IGRF, WMM) with Sag Correction",
"prefix" : "B020Mc",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Fixed",
"sag_correction" : "SAG",
"geomagnetic_reference" : "LRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "EMS+LRGM+SAG_Fl",
"description" : "EMS using Low Resolution Geomagnetic Model (e.g. Updated less frequently than yearly, EMM, CGRF, IGRF, WMM) with Sag Correction on a Floating Rig",
"prefix" : "B020Mc",
"tool_category" : "Magnetic",
"tool_type" : "EMS",
"rig_type" : "Floating",
"sag_correction" : "SAG",
"geomagnetic_reference" : "LRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "FINDS",
"description" : "Ferranti FINDS Inertial Surveys",
"prefix" : "B021Ga",
"tool_category" : "Utility",
"tool_type" : "Utility",
"rig_type" : "Fixed",
"revision" : "ISCWSA Rev1",
"revision_date" : "2022-09-23",
"custom" : false
}, {
"short_name" : "BLIND+TREND",
"description" : "Where no survey information was recorded but where some other information exists such as the BHA records or Bit-run summaries or some other relevant formation or drilling knowledge exists concerning the expected trends of the wellpath. May only be assigned for specific cases with a Dispensation.",
"prefix" : "B022Ua",
"tool_category" : "Utility",
"tool_type" : "Utility",
"rig_type" : "Fixed",
"revision" : "ISCWSA Rev1",
"revision_date" : "2022-09-23",
"custom" : false
} ]
GET /public/api/v1/toolcodes
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
[].short_name |
String |
Toolcode name |
[].description |
String |
Description |
[].prefix |
String |
Prefix |
[].tool_category |
String |
Tool category |
[].tool_type |
String |
Tool type |
[].rig_type |
String |
Rig type |
[].sag_correction |
String |
Sag correction |
[].magnetic_correction |
String |
Magnetic correction |
[].geomagnetic_reference |
String |
Geomagnetic correction |
[].revision |
String |
Revision |
[].revision_date |
String |
Revision date |
[].custom |
Boolean |
Custom toolcode flag |
Get toolcode terms
Get toolcode terms by short name.
Request
$ curl 'https://solo.cloud/public/api/v1/toolcodes/terms?short_name=MWD%252BSRGM' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/toolcodes/terms?short_name=MWD%252BSRGM HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 9cd636d8cbc834571180ce2ba5686262
Content-Type: text/plain;charset=UTF-8
drfr e r m 0.35 1.0
dsfs e s - 0.00056 tmd
dstg e g im 2.5e-007 tmd*tvd
xym1 i s d 0.1 abs(sin(inc))
xym2 a s d 0.1 -1.0
xym3e i r d 0.3 cos(inc)*cos(azi)*max(1,sqrt(10/smd))
xym3e a r d 0.3 -(cos(inc)*sin(azi)/sin(inc))*max(1,sqrt(10/smd))
xym4e i r d 0.3 cos(inc)*sin(azi)*max(1,sqrt(10/smd))
xym4e a r d 0.3 (cos(inc)*cos(azi)/sin(inc))*max(1,sqrt(10/smd))
sage i s d 0.2 (sin(inc))^0.25
decu a w d 0.16 1.0
decos a g d 0.24 1.0
decoh a g d 0.21 1.0
decoi a g d 0.05 1.0
decr a r d 0.1 1.0
dbhu a w dnt 2350 1.0/(mtot*cos(dip))
dbhos a g dnt 3359 1.0/(mtot*cos(dip))
dbhoh a g dnt 2840 1.0/(mtot*cos(dip))
dbhoi a g dnt 356 1.0/(mtot*cos(dip))
dbhr a r dnt 3000 1.0/(mtot*cos(dip))
amil a s nt 220 sin(inc)*sin(azm)/(mtot*cos(dip))
abxy_ti1 i s - 0.004 (-cos(inc))/gtot
abxy_ti1 a s - 0.004 (tan(dip)*cos(inc)*sin(azm))/gtot
abxy_ti2 a s - 0.004 ((tan((pi()/2)-inc))-tan(dip)*cos(azm))/gtot
abz i s - 0.004 (-sin(inc))/gtot
abz a s - 0.004 (tan(dip)*sin(inc)*sin(azm))/gtot
asxy_ti1 i s - 0.0005 (sin(inc)*cos(inc))/(2^0.5)
asxy_ti1 a s - 0.0005 (-(tan(dip)*sin(inc)*cos(inc)*sin(azm)))/(2^0.5)
asxy_ti2 i s - 0.0005 (sin(inc)*cos(inc))/2
asxy_ti2 a s - 0.0005 (-(tan(dip)*sin(inc)*cos(inc)*sin(azm)))/2
asxy_ti3 a s - 0.0005 (tan(dip)*sin(inc)*cos(azm)-cos(inc))/2
asz i s - 0.0005 (-sin(inc)*cos(inc))
asz a s - 0.0005 (tan(dip)*sin(inc)*cos(inc)*sin(azm))
mbxy_ti1 a s nt 70 (-(cos(inc)*sin(azm)))/(mtot*cos(dip))
mbxy_ti2 a s nt 70 (cos(azm))/(mtot*cos(dip))
mbz a s nt 70 (-sin(inc)*sin(azm))/(mtot*cos(dip))
msxy_ti1 a s - 0.0016 (sin(inc)*sin(azm)*(tan(dip)*cos(inc)+sin(inc)*cos(azm)))/(2^0.5)
msxy_ti2 a s - 0.0016 (sin(azm)*(tan(dip)*sin(inc)*cos(inc)-(cos(inc))^2*cos(azm)-cos(azm)))/2
msxy_ti3 a s - 0.0016 (cos(inc)*(cos(azm))^2-cos(inc)*(sin(azm))^2-tan(dip)*sin(inc)*cos(azm))/2
msz a s - 0.0016 (-(sin(inc)*cos(azm)+tan(dip)*cos(inc))*sin(inc)*sin(azm))
xcla a r - 0.167 max(sin(abs(daz)),0.00018*smd/sin(inc))
xclh i r - 0.167 max(abs(dic),0.00018*smd)
GET /public/api/v1/toolcodes/terms
| Parameter | Description |
|---|---|
short_name |
Toolcode short name |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
Empty body
Create or update toolcode
Create or update toolcode
Request
$ curl 'https://solo.cloud/public/api/v1/toolcodes' -i -X PUT \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: multipart/form-data; boundary="MWt9eKlkVbtfxf-1h1OKKoJ5yuBJ6k35KniPpJkM"' \
-F 'data=@toolcode_with_all_fields.txt;type=application/octet-stream'
PUT /public/api/v1/toolcodes HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: multipart/form-data; boundary="MWt9eKlkVbtfxf-1h1OKKoJ5yuBJ6k35KniPpJkM"; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Host: solo.cloud
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=data; filename=toolcode_with_all_fields.txt
Content-Type: application/octet-stream
#ShortName:TEST_TOOLCODE
#Prefix:A002Mc
#Description:A002Mb/ISC4: BGGM dec + sag corrections
#ToolCategory:Magnetic
#ToolType:MWD
#RigType:Fixed
#SagCorrection:SAG
#MagneticCorrection:AX
#GeomagneticReference:SRGM
#Revision:ISCWSA Rev5.1
#RevisionDate:23/09/2022
#Name Vector Tie-On Unit Value Formula
drfr e r m 0.35 1.0
dsfs e s - 0.00056 tmd
dstg e g im 2.5e-007 tmd*tvd
xym1 i s d 0.1 abs(sin(inc))
xym2 a s d 0.1 -1.0
xym3e i r d 0.3 cos(inc)*cos(azi)*max(1,sqrt(10/smd))
xym3e a r d 0.3 -(cos(inc)*sin(azi)/sin(inc))*max(1,sqrt(10/smd))
xym4e i r d 0.3 cos(inc)*sin(azi)*max(1,sqrt(10/smd))
xym4e a r d 0.3 (cos(inc)*cos(azi)/sin(inc))*max(1,sqrt(10/smd))
sage i s d 0.08 (sin(inc))^0.25
decu a w d 0.16 1.0
decos a g d 0.24 1.0
decoh a g d 0.21 1.0
decoi a g d 0.05 1.0
decr a r d 0.1 1.0
dbhu a w dnt 2350 1.0/(mtot*cos(dip))
dbhos a g dnt 3359 1.0/(mtot*cos(dip))
dbhoh a g dnt 2840 1.0/(mtot*cos(dip))
dbhoi a g dnt 356 1.0/(mtot*cos(dip))
dbhr a r dnt 3000 1.0/(mtot*cos(dip))
amil a s nt 220 sin(inc)*sin(azm)/(mtot*cos(dip))
abxy_ti1 i s - 0.004 (-cos(inc))/gtot
abxy_ti1 a s - 0.004 (tan(dip)*cos(inc)*sin(azm))/gtot
abxy_ti2 a s - 0.004 ((tan((pi()/2)-inc))-tan(dip)*cos(azm))/gtot
abz i s - 0.004 (-sin(inc))/gtot
abz a s - 0.004 (tan(dip)*sin(inc)*sin(azm))/gtot
asxy_ti1 i s - 0.0005 (sin(inc)*cos(inc))/(2^0.5)
asxy_ti1 a s - 0.0005 (-(tan(dip)*sin(inc)*cos(inc)*sin(azm)))/(2^0.5)
asxy_ti2 i s - 0.0005 (sin(inc)*cos(inc))/2
asxy_ti2 a s - 0.0005 (-(tan(dip)*sin(inc)*cos(inc)*sin(azm)))/2
asxy_ti3 a s - 0.0005 (tan(dip)*sin(inc)*cos(azm)-cos(inc))/2
asz i s - 0.0005 (-sin(inc)*cos(inc))
asz a s - 0.0005 (tan(dip)*sin(inc)*cos(inc)*sin(azm))
mbxy_ti1 a s nt 70 (-(cos(inc)*sin(azm)))/(mtot*cos(dip))
mbxy_ti2 a s nt 70 (cos(azm))/(mtot*cos(dip))
mbz a s nt 70 (-sin(inc)*sin(azm))/(mtot*cos(dip))
msxy_ti1 a s - 0.0016 (sin(inc)*sin(azm)*(tan(dip)*cos(inc)+sin(inc)*cos(azm)))/(2^0.5)
msxy_ti2 a s - 0.0016 (sin(azm)*(tan(dip)*sin(inc)*cos(inc)-(cos(inc))^2*cos(azm)-cos(azm)))/2
msxy_ti3 a s - 0.0016 (cos(inc)*(cos(azm))^2-cos(inc)*(sin(azm))^2-tan(dip)*sin(inc)*cos(azm))/2
msz a s - 0.0016 (-(sin(inc)*cos(azm)+tan(dip)*cos(inc))*sin(inc)*sin(azm))
xcla a r - 0.167 max(sin(abs(daz)),0.00018*smd/sin(inc))
xclh i r - 0.167 max(abs(dic),0.00018*smd)
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 9da9e3efeb25ac5ccde5717990e2c45b
Content-Type: application/json
{
"short_name" : "TEST_TOOLCODE",
"description" : "A002Mb/ISC4: BGGM dec + sag corrections",
"prefix" : "A002Mc",
"tool_category" : "Magnetic",
"tool_type" : "MWD",
"rig_type" : "Fixed",
"sag_correction" : "SAG",
"magnetic_correction" : "AX",
"geomagnetic_reference" : "SRGM",
"revision" : "ISCWSA Rev5.1",
"revision_date" : "2022-09-23",
"custom" : true
}
PUT /public/api/v1/toolcodes
| Part | Description |
|---|---|
data |
Terms data file |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
short_name |
String |
Toolcode name |
description |
String |
Description |
prefix |
String |
Prefix |
tool_category |
String |
Tool category |
tool_type |
String |
Tool type |
rig_type |
String |
Rig type |
sag_correction |
String |
Sag correction |
magnetic_correction |
String |
Magnetic correction |
geomagnetic_reference |
String |
Geomagnetic correction |
revision |
String |
Revision |
revision_date |
String |
Revision date |
custom |
Boolean |
Custom toolcode flag |
Delete toolcode
Delete toolcode by short name.
Request
$ curl 'https://solo.cloud/public/api/v1/toolcodes?short_name=MWD%25TEST_TOOLCODE' -i -X DELETE \
-H 'Authorization: Bearer <your_access_token>'
DELETE /public/api/v1/toolcodes?short_name=MWD%25TEST_TOOLCODE HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 204 No Content
X-Solo-Trace-Id: f9c6b3e70e648cce7b788dade353ae22
DELETE /public/api/v1/toolcodes
| Parameter | Description |
|---|---|
short_name |
Toolcode short name |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
Empty body
25. Trajectories
Get lateral trajectory
Get lateral trajectory data by lateral UUID
Request
$ curl 'https://solo.cloud/public/api/v1/wells/0aee2211-86b3-4c5e-b2e0-38cd7ba8bc54/trajectory' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/0aee2211-86b3-4c5e-b2e0-38cd7ba8bc54/trajectory HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: e78a11f1a6e8becbcb6c6958b7b45aec
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) |
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/2115384c-be9c-4c01-b6b7-5b13a6c0ed7c/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/2115384c-be9c-4c01-b6b7-5b13a6c0ed7c/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: fa650f88d58231c2a6c7d0f327a4ede5
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/2115384c-be9c-4c01-b6b7-5b13a6c0ed7c/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/2115384c-be9c-4c01-b6b7-5b13a6c0ed7c/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: dc2fab90f83f6a25220249c7842084eb
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
Get typewell trajectory
Get typewell trajectory data by typewell UUID
Request
$ curl 'https://solo.cloud/public/api/v1/typewells/1ba02d7e-d405-482c-b1ba-8d2bcceead30/trajectory' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/typewells/1ba02d7e-d405-482c-b1ba-8d2bcceead30/trajectory HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 8f6487e5897926b52c4778bbc1bb296d
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) |
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/9185740c-4ee0-4697-bb24-5be9db8b2e01/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/9185740c-4ee0-4697-bb24-5be9db8b2e01/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: 331e85b9d94091383ab67ad1c0b955b0
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/9185740c-4ee0-4697-bb24-5be9db8b2e01/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/9185740c-4ee0-4697-bb24-5be9db8b2e01/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: 619454a17dabb1a0409d06fdfee8101b
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
Get nested well trajectory
Get nested well trajectory data by nested well UUID
Request
$ curl 'https://solo.cloud/public/api/v1/nestedwells/109cba82-a0c4-40cb-9805-beb2377bfd2f/trajectory' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/nestedwells/109cba82-a0c4-40cb-9805-beb2377bfd2f/trajectory HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 9eec0c4210a1c37076c4d2592d6250c3
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) |
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/ca42fc66-af3b-4a97-a6a2-d3140fdb8f6a/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/ca42fc66-af3b-4a97-a6a2-d3140fdb8f6a/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: dabebfe17ceb8ed2c9804165365b6f7b
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/27b31e7f-736a-47c0-bd84-79000f4059cb/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/27b31e7f-736a-47c0-bd84-79000f4059cb/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: a84fca944bc269e1fc55e00c68fbacdc
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
Get multiple trajectories
Get multiple trajectories by their UUIDs
Request
$ curl 'https://solo.cloud/public/api/v1/trajectories' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"wells" : [ "0aee2211-86b3-4c5e-b2e0-38cd7ba8bc54", "f40f022d-3e14-4b25-8cc7-60520140399e" ],
"typewells" : [ "1ba02d7e-d405-482c-b1ba-8d2bcceead30" ],
"nestedwells" : [ "109cba82-a0c4-40cb-9805-beb2377bfd2f" ]
}'
POST /public/api/v1/trajectories HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 220
{
"wells" : [ "0aee2211-86b3-4c5e-b2e0-38cd7ba8bc54", "f40f022d-3e14-4b25-8cc7-60520140399e" ],
"typewells" : [ "1ba02d7e-d405-482c-b1ba-8d2bcceead30" ],
"nestedwells" : [ "109cba82-a0c4-40cb-9805-beb2377bfd2f" ]
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 935f9ed9e6edc41e42bf233a35f1667f
Content-Type: application/json
{
"content" : [ {
"uuid" : "109cba82-a0c4-40cb-9805-beb2377bfd2f",
"trajectory" : [ {
"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
}
} ]
}, {
"uuid" : "0aee2211-86b3-4c5e-b2e0-38cd7ba8bc54",
"trajectory" : [ {
"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
}
} ]
}, {
"uuid" : "f40f022d-3e14-4b25-8cc7-60520140399e",
"trajectory" : [ {
"md" : {
"val" : 0.0
},
"incl" : {
"val" : 0.0
},
"azim" : {
"val" : 71.54300000000002
}
}, {
"md" : {
"val" : 61.19866000000002
},
"incl" : {
"val" : 0.35
},
"azim" : {
"val" : 176.083
}
}, {
"md" : {
"val" : 100.42002000000001
},
"incl" : {
"val" : 0.25
},
"azim" : {
"val" : 259.043
}
}, {
"md" : {
"val" : 124.93996000000003
},
"incl" : {
"val" : 0.28
},
"azim" : {
"val" : 227.59299999999993
}
}, {
"md" : {
"val" : 174.66991
},
"incl" : {
"val" : 1.13
},
"azim" : {
"val" : 154.423
}
}, {
"md" : {
"val" : 201.38989
},
"incl" : {
"val" : 1.26
},
"azim" : {
"val" : 140.38299999999998
}
}, {
"md" : {
"val" : 225.35998000000004
},
"incl" : {
"val" : 1.2999999999999998
},
"azim" : {
"val" : 153.71299999999997
}
}, {
"md" : {
"val" : 3280.839895013124
},
"incl" : {
"val" : 1.33
},
"azim" : {
"val" : 149.25300000000001
}
} ]
}, {
"uuid" : "1ba02d7e-d405-482c-b1ba-8d2bcceead30",
"trajectory" : [ {
"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
}
} ]
} ]
}
POST /public/api/v1/trajectories
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
wells |
Array |
Wells UUIDs to download trajectories for |
typewells |
Array |
Typewells UUIDs to download trajectories for |
nestedwells |
Array |
Nestedwells UUIDs to download trajectories for |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
List of trajectories |
content[].uuid |
String |
Well\typewell\nestedwell UUID |
content[].trajectory |
Array |
Trajectory points for the well\typewell\nestedwell |
content[].trajectory[].md.val |
Number |
Measured depth value in project units |
content[].trajectory[].incl.val |
Number |
Inclination value (degrees) |
content[].trajectory[].azim.val |
Number |
Azimuth value (degrees) |
26. Public data
Get nearby wells
Get nearby wells
Request
$ curl 'https://solo.cloud/public/api/v1/publicdata/nearbywells' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"epsg_crs_code" : 2869,
"latitude" : 29.7604,
"longitude" : -95.3698,
"radius_miles" : 5.0
}'
POST /public/api/v1/publicdata/nearbywells HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 102
{
"epsg_crs_code" : 2869,
"latitude" : 29.7604,
"longitude" : -95.3698,
"radius_miles" : 5.0
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 78b744f26e6370e2f5d54335c45a0445
Content-Type: application/json
{
"content" : [ {
"uuid" : "e7c169ef-98d7-4bf8-8f0f-863a1a42aa48",
"name" : "Lateral",
"api" : "string",
"operator" : "string",
"latitude" : 6.0000145107,
"longitude" : 9.9999919005,
"latitude_wgs84" : 30.9807176184,
"longitude_wgs84" : -115.9834603823,
"project_uuid" : "848ed9bb-ba6f-4159-8d9c-40df4e81ea20",
"measure_unit" : "FOOT",
"elevation" : {
"val" : 22.96587926509186
},
"convergence" : {
"val" : 0.0
},
"is_true_north_azimuth" : false,
"state" : "Baja California",
"county" : "Mexico",
"type" : "WELL"
} ]
}
POST /public/api/v1/publicdata/nearbywells
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
epsg_mnemonic |
String |
EPSG mnemonic (NAD27 or NAD83). Must use 'epsg_mnemonic' or 'epsg_crs_code' (not both together) |
epsg_crs_code |
Number |
EPSG CRS code |
latitude |
Number |
Latitude of the center of the search circle (degrees) |
longitude |
Number |
Longitude of the center of the search circle (degrees) |
radius_miles |
Number |
Search radius in miles |
Response body
| Path | Type | Description |
|---|---|---|
content |
Array |
List of wells |
content[].uuid |
String |
Well UUID |
content[].name |
String |
Well name |
content[].api |
String |
Well API |
content[].operator |
String |
Well operator |
content[].latitude |
Number |
Well latitude (degrees) |
content[].longitude |
Number |
Well longitude (degrees) |
content[].latitude_wgs84 |
Number |
Well latitude in WGS84 (degrees) |
content[].longitude_wgs84 |
Number |
Well longitude in WGS84 (degrees) |
content[].project_uuid |
String |
Project UUID |
content[].measure_unit |
String |
Project measure unit |
content[].elevation.val |
Number |
Well elevation value (project units) |
content[].convergence.val |
Number |
Convergence value |
content[].is_true_north_azimuth |
Boolean |
Is azimuth true north flag |
content[].state |
String |
Well location state |
content[].county |
String |
Well location county |
content[].type |
String |
Well type (WELL\TYPEWELL\NESTEDWELL) |
27. Image logs
Create image log by lateral
Create image log by lateral UUID
Request
$ curl 'https://solo.cloud/public/api/v1/wells/8d347abc-5cda-4fe2-b780-f26c541bf310/imagelogs' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Image log name"
}'
POST /public/api/v1/wells/8d347abc-5cda-4fe2-b780-f26c541bf310/imagelogs HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 31
{
"name" : "Image log name"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: f692979d7df00ff9f8499e9c04b86761
Content-Type: application/json
{
"uuid" : "cc4ae27d-72c8-4f1e-8db8-1bd5717ef3f8"
}
POST /public/api/v1/wells/{uuid}/imagelogs
| Path parameter | Description |
|---|---|
uuid |
Lateral UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
name |
String |
Image log name |
Response body
| Path | Type | Description |
|---|---|---|
uuid |
String |
Created image log UUID |
Get image logs by lateral
Get a list of image logs by lateral UUID with pagination. Image logs that do not contain data will not be included in the response
Request
$ curl 'https://solo.cloud/public/api/v1/wells/4d8521e5-74e2-4adf-a30b-6dbc36bf0c5d/imagelogs?offset=0&limit=10' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/4d8521e5-74e2-4adf-a30b-6dbc36bf0c5d/imagelogs?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: e31d0c197f9a13320eb16a060f070b49
Content-Type: application/json
{
"content" : [ {
"uuid" : "d732f7e0-8f99-4f81-9ca3-ae9aba50742d",
"name" : "Acoustic Image"
}, {
"uuid" : "3ad68182-9192-40b2-8188-fa2d6cf9dfe7",
"name" : "Resistivity Image",
"is_data_content_outdated" : false,
"data_content" : [ {
"order_index" : 0,
"log_uid" : "RES_UID0",
"log_name" : "RES_NAME0",
"sector" : "Up",
"unit" : "OHMM"
}, {
"order_index" : 1,
"log_uid" : "RES_UID1",
"log_name" : "RES_NAME1",
"sector" : "Down",
"unit" : "OHMM"
} ]
} ],
"offset" : 0,
"limit" : 10,
"total" : 2,
"last" : true,
"first" : true
}
GET /public/api/v1/wells/{uuid}/imagelogs
| 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 |
Image log UUID |
content[].name |
String |
Image log name |
content[].is_data_content_outdated |
Boolean |
Flag indicating whether image log data content may be outdated |
content[].data_content |
Array |
List of logs that compose image log data content |
content[].data_content[].order_index |
Number |
Order index of the log inside image log data content |
content[].data_content[].log_uid |
String |
UID of the log used as a source for image log data content |
content[].data_content[].log_name |
String |
Name of the log used as a source for image log data content |
content[].data_content[].sector |
String |
Sector of the log used as a source for image log data content |
content[].data_content[].unit |
String |
Unit of the log used as a source for image log data content |
Get image log data
Get image log data by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/imagelogs/1461b6f5-5e50-4f8d-905f-506de1618394/data' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/imagelogs/1461b6f5-5e50-4f8d-905f-506de1618394/data HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 6a394d66ac44d19898ed520fd974c7a2
Content-Type: application/json
{
"log_points" : [ {
"channels" : [ {
"data" : [ {
"val" : -83.6675
}, {
"val" : 61.808
}, {
"val" : 61.808
}, {
"val" : 61.808
}, {
"val" : 68.125
}, {
"val" : 68.125
}, {
"val" : 75.144
}, {
"val" : 75.144
}, {
"val" : 73.038
}, {
"val" : 65.318
} ],
"description" : "",
"mnemonic" : ""
}, {
"data" : [ {
"val" : -83.6675
}, {
"val" : 61.808
}, {
"val" : 61.808
}, {
"val" : 61.808
}, {
"val" : 68.125
}, {
"val" : 68.125
}, {
"val" : 75.144
}, {
"val" : 75.144
}, {
"val" : 73.038
}, {
"val" : 65.318
} ],
"description" : "",
"mnemonic" : ""
}, {
"data" : [ {
"val" : -83.6675
}, {
"val" : 61.808
}, {
"val" : 61.808
}, {
"val" : 61.808
}, {
"val" : 68.125
}, {
"val" : 68.125
}, {
"val" : 75.144
}, {
"val" : 75.144
}, {
"val" : 73.038
}, {
"val" : 65.318
} ],
"description" : "",
"mnemonic" : ""
}, {
"data" : [ {
"val" : -83.6675
}, {
"val" : 61.808
}, {
"val" : 61.808
}, {
"val" : 61.808
}, {
"val" : 68.125
}, {
"val" : 68.125
}, {
"val" : 75.144
}, {
"val" : 75.144
}, {
"val" : 73.038
}, {
"val" : 65.318
} ],
"description" : "",
"mnemonic" : ""
} ],
"md" : [ {
"val" : 2478.4999999999995
}, {
"val" : 2480.4999999999995
}, {
"val" : 2480.9999999999995
}, {
"val" : 2481.4999999999995
}, {
"val" : 2481.9999999999995
}, {
"val" : 2482.4999999999995
}, {
"val" : 2482.9999999999995
}, {
"val" : 2483.4999999999995
}, {
"val" : 2483.9999999999995
}, {
"val" : 2484.4999999999995
} ]
} ]
}
GET /public/api/v1/imagelogs/{uuid}/data
| Path parameter | Description |
|---|---|
uuid |
Image log UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
| Path | Type | Description |
|---|---|---|
log_points |
Array |
Image log points array |
log_points[].md |
Array |
Measured depth values array |
log_points[].md[].val |
Number |
Measured depth value in project units |
log_points[].channels |
Array |
Image log point data channels array |
log_points[].channels[].mnemonic |
String |
Data channel mnemonic |
log_points[].channels[].description |
String |
Data channel description |
log_points[].channels[].data |
Array |
Data channel values array |
log_points[].channels[].data[].val |
Number |
Data value |
Upload\replace image log data
Upload\replace image log data by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/imagelogs/0a4005cc-c038-4af5-b178-c896e4b5ca84/data' -i -X PUT \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"log_points" : [ {
"md" : [ {
"val" : 100.0
}, {
"val" : 101.0
} ],
"channels" : [ {
"mnemonic" : "GR",
"description" : "Gamma Ray",
"data" : [ {
"val" : 45.0
}, {
"val" : 46.0
} ]
}, {
"mnemonic" : "RES",
"description" : "Resistivity",
"data" : [ {
"val" : 12.0
}, {
"val" : 13.0
} ]
} ]
} ]
}'
PUT /public/api/v1/imagelogs/0a4005cc-c038-4af5-b178-c896e4b5ca84/data HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 428
{
"log_points" : [ {
"md" : [ {
"val" : 100.0
}, {
"val" : 101.0
} ],
"channels" : [ {
"mnemonic" : "GR",
"description" : "Gamma Ray",
"data" : [ {
"val" : 45.0
}, {
"val" : 46.0
} ]
}, {
"mnemonic" : "RES",
"description" : "Resistivity",
"data" : [ {
"val" : 12.0
}, {
"val" : 13.0
} ]
} ]
} ]
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: ab5d1ef125ccae9c38f56282ebe8e392
PUT /public/api/v1/imagelogs/{uuid}/data
| Path parameter | Description |
|---|---|
uuid |
Image log UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
log_points |
Array |
Image log points array |
log_points[].md |
Array |
Measured depth values array |
log_points[].md[].val |
Number |
Measured depth value in project units |
log_points[].channels |
Array |
Image log point data channels array |
log_points[].channels[].mnemonic |
String |
Data channel mnemonic |
log_points[].channels[].description |
String |
Data channel description |
log_points[].channels[].data |
Array |
Data channel values array |
log_points[].channels[].data[].val |
Number |
Data value |
Response body
Empty body
Delete image log
Delete image log by UUID
Request
$ curl 'https://solo.cloud/public/api/v1/imagelogs/7ca6315c-370c-4d6b-9222-d7a73afb3129' -i -X DELETE \
-H 'Authorization: Bearer <your_access_token>'
DELETE /public/api/v1/imagelogs/7ca6315c-370c-4d6b-9222-d7a73afb3129 HTTP/1.1
Authorization: Bearer <your_access_token>
Host: solo.cloud
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: d1782660178ede3bcc245932931cfd4d
DELETE /public/api/v1/imagelogs/{uuid}
| Path parameter | Description |
|---|---|
uuid |
Image log UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
Response body
Empty body
28. Folders
Create lateral folder
Create lateral folder
Request
$ curl 'https://solo.cloud/public/api/v1/wells/36e46c7b-0dc5-454c-9a37-f656d8d453bb/folders' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "New lateral nested folder",
"parent_folder" : "267e400c-94ba-4b1d-8d21-c83c33642f7e"
}'
POST /public/api/v1/wells/36e46c7b-0dc5-454c-9a37-f656d8d453bb/folders HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 102
{
"name" : "New lateral nested folder",
"parent_folder" : "267e400c-94ba-4b1d-8d21-c83c33642f7e"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: ed5fb1ec8bbc289aaf95863e8919edd5
Content-Type: application/json
{
"uuid" : "3a62c441-d279-40be-bf60-2b3f65f57024"
}
POST /public/api/v1/wells/{uuid}/folders
| Path parameter | Description |
|---|---|
uuid |
Lateral UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
name |
String |
Folder name |
parent_folder |
String |
Parent folder UUID (null for root) |
Response body
| Path | Type | Description |
|---|---|---|
uuid |
String |
Created folder UUID |
Create typewell folder
Create typewell folder
Request
$ curl 'https://solo.cloud/public/api/v1/typewells/22edee12-acfa-42be-8ba6-ffd9ae31cf2f/folders' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "New typewell root folder"
}'
POST /public/api/v1/typewells/22edee12-acfa-42be-8ba6-ffd9ae31cf2f/folders HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 41
{
"name" : "New typewell root folder"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 4257d10b69ad0e5d06ed4444ae2cd1ce
Content-Type: application/json
{
"uuid" : "aedbe594-3ecf-4969-8927-3b79c51e5af0"
}
POST /public/api/v1/typewells/{uuid}/folders
| Path parameter | Description |
|---|---|
uuid |
Typewell UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
name |
String |
Folder name |
parent_folder |
String |
Parent folder UUID (null for root) |
Response body
| Path | Type | Description |
|---|---|---|
uuid |
String |
Created folder UUID |
Get folders by lateral
Get a list of folders by lateral UUID with pagination
Request
$ curl 'https://solo.cloud/public/api/v1/wells/36e46c7b-0dc5-454c-9a37-f656d8d453bb/folders?offset=0&limit=10' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/36e46c7b-0dc5-454c-9a37-f656d8d453bb/folders?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: 8c7b7ce8f011427ca3a31c2e6514b818
Content-Type: application/json
{
"content" : [ {
"uuid" : "02eca081-83c0-4cd6-ba43-92b7df425f91",
"name" : "Lateral folder"
}, {
"uuid" : "26e610f8-c1b0-45dc-827e-b21f9e42bced",
"name" : "Nested folder",
"relative_path" : [ "02eca081-83c0-4cd6-ba43-92b7df425f91" ]
}, {
"uuid" : "267e400c-94ba-4b1d-8d21-c83c33642f7e",
"name" : "Deeply nested folder",
"relative_path" : [ "02eca081-83c0-4cd6-ba43-92b7df425f91", "26e610f8-c1b0-45dc-827e-b21f9e42bced" ]
} ],
"offset" : 0,
"limit" : 10,
"total" : 3,
"last" : true,
"first" : true
}
GET /public/api/v1/wells/{uuid}/folders
| 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 |
Folder UUID |
content[].name |
String |
Folder name |
content[].relative_path |
Array |
Relative path to the folder |
Get folders by typewell
Get a list of folders by typewell UUID with pagination
Request
$ curl 'https://solo.cloud/public/api/v1/typewells/22edee12-acfa-42be-8ba6-ffd9ae31cf2f/folders?offset=0&limit=10' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/typewells/22edee12-acfa-42be-8ba6-ffd9ae31cf2f/folders?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: 6bec7ddbcec20c16d02f098172f2151e
Content-Type: application/json
{
"content" : [ {
"uuid" : "82002ca0-f99f-46d3-ad6e-6b375c0593db",
"name" : "Typewell folder"
}, {
"uuid" : "35b248c1-f66b-4140-836e-1a6540fe416c",
"name" : "Typewell nested folder",
"relative_path" : [ "82002ca0-f99f-46d3-ad6e-6b375c0593db" ]
}, {
"uuid" : "d4b84b03-5e1f-47d3-83cf-f2f9d9fa1bb8",
"name" : "Typewell deeply nested folder",
"relative_path" : [ "82002ca0-f99f-46d3-ad6e-6b375c0593db", "35b248c1-f66b-4140-836e-1a6540fe416c" ]
}, {
"uuid" : "aedbe594-3ecf-4969-8927-3b79c51e5af0",
"name" : "New typewell root folder"
} ],
"offset" : 0,
"limit" : 10,
"total" : 4,
"last" : true,
"first" : true
}
GET /public/api/v1/typewells/{uuid}/folders
| 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 |
Folder UUID |
content[].name |
String |
Folder name |
content[].relative_path |
Array |
Relative path to the folder |
29. Completions
Create completion by lateral
Create completion by lateral UUID
Request
$ curl 'https://solo.cloud/public/api/v1/wells/3b03f129-cd66-4ec7-afee-df2dbeaba6aa/completions' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Public lateral completion",
"stages" : [ {
"name" : "Public lateral stage",
"top_md" : {
"val" : 200.0
},
"base_md" : {
"val" : 225.5
}
} ]
}'
POST /public/api/v1/wells/3b03f129-cd66-4ec7-afee-df2dbeaba6aa/completions HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 191
{
"name" : "Public lateral completion",
"stages" : [ {
"name" : "Public lateral stage",
"top_md" : {
"val" : 200.0
},
"base_md" : {
"val" : 225.5
}
} ]
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 9204e6cb27607293928e359d32e73ed5
Content-Type: application/json
{
"uuid" : "a48b0e2e-0207-47d7-b225-388787478826"
}
POST /public/api/v1/wells/{uuid}/completions
| Path parameter | Description |
|---|---|
uuid |
Lateral UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
name |
String |
Completion name |
stages |
Array |
Completion stages |
stages[].name |
String |
Stage name |
stages[].top_md.val |
Number |
Stage top MD value in project units |
stages[].base_md.val |
Number |
Stage base MD value in project units |
stages[].properties |
String |
Stage properties JSON string |
Response body
| Path | Type | Description |
|---|---|---|
uuid |
String |
Created completion UUID |
Create completion by typewell
Create completion by typewell UUID
Request
$ curl 'https://solo.cloud/public/api/v1/typewells/0e30d08d-a932-429c-bec0-293c9e2a8977/completions' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Public typewell completion",
"stages" : [ {
"name" : "Public typewell stage",
"top_md" : {
"val" : 300.0
},
"base_md" : {
"val" : 330.0
}
} ]
}'
POST /public/api/v1/typewells/0e30d08d-a932-429c-bec0-293c9e2a8977/completions HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 193
{
"name" : "Public typewell completion",
"stages" : [ {
"name" : "Public typewell stage",
"top_md" : {
"val" : 300.0
},
"base_md" : {
"val" : 330.0
}
} ]
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: f121700472f082b4597f18a5f603c4df
Content-Type: application/json
{
"uuid" : "bd2baeab-ad77-4e25-a5f3-34d27db2b70c"
}
POST /public/api/v1/typewells/{uuid}/completions
| Path parameter | Description |
|---|---|
uuid |
Typewell UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
name |
String |
Completion name |
stages |
Array |
Completion stages |
stages[].name |
String |
Stage name |
stages[].top_md.val |
Number |
Stage top MD value in project units |
stages[].base_md.val |
Number |
Stage base MD value in project units |
stages[].properties |
String |
Stage properties JSON string |
Response body
| Path | Type | Description |
|---|---|---|
uuid |
String |
Created completion UUID |
Create completion attribute
Create completion stage attribute by completion UUID
Request
$ curl 'https://solo.cloud/public/api/v1/completions/b408fe05-c0ae-475b-aef5-02c426fd49ac/attributes' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"name" : "Treating pressure"
}'
POST /public/api/v1/completions/b408fe05-c0ae-475b-aef5-02c426fd49ac/attributes HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 34
{
"name" : "Treating pressure"
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: 046e3b4ad54159fce3ca4b3b66bca53c
Content-Type: application/json
{
"uuid" : "8992343a-a335-4bc4-95c7-6316c3c1fa46"
}
POST /public/api/v1/completions/{uuid}/attributes
| Path parameter | Description |
|---|---|
uuid |
Completion UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
name |
String |
Attribute name |
properties |
String |
Attribute properties JSON string |
Response body
| Path | Type | Description |
|---|---|---|
uuid |
String |
Created attribute UUID |
Create completion stages
Create completion stages by completion UUID
Request
$ curl 'https://solo.cloud/public/api/v1/completions/b408fe05-c0ae-475b-aef5-02c426fd49ac/stages' -i -X POST \
-H 'Authorization: Bearer <your_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"stages" : [ {
"name" : "Public created stage",
"top_md" : {
"val" : 400.0
},
"base_md" : {
"val" : 425.25
},
"attribute_values" : [ {
"attribute_uuid" : "ea96acc9-1f5e-4455-be94-b3a9c1cf692c",
"value" : {
"val" : 12.25
}
} ]
} ]
}'
POST /public/api/v1/completions/b408fe05-c0ae-475b-aef5-02c426fd49ac/stages HTTP/1.1
Authorization: Bearer <your_access_token>
Content-Type: application/json
Host: solo.cloud
Content-Length: 303
{
"stages" : [ {
"name" : "Public created stage",
"top_md" : {
"val" : 400.0
},
"base_md" : {
"val" : 425.25
},
"attribute_values" : [ {
"attribute_uuid" : "ea96acc9-1f5e-4455-be94-b3a9c1cf692c",
"value" : {
"val" : 12.25
}
} ]
} ]
}
Response
HTTP/1.1 200 OK
X-Solo-Trace-Id: a8b0fefbc3dbf1dce32d910f6f536c6a
Content-Type: application/json
{
"uuids" : [ "24d58304-c958-4d85-806c-e1db646cf39e" ]
}
POST /public/api/v1/completions/{uuid}/stages
| Path parameter | Description |
|---|---|
uuid |
Completion UUID |
| Header | Description |
|---|---|
Authorization |
OAuth2 authorization header |
| Body field | Type | Description |
|---|---|---|
stages |
Array |
Completion stages |
stages[].name |
String |
Stage name |
stages[].top_md.val |
Number |
Stage top MD value in project units |
stages[].base_md.val |
Number |
Stage base MD value in project units |
stages[].properties |
String |
Stage properties JSON string |
stages[].attribute_values |
Array |
Stage attribute values |
stages[].attribute_values[].attribute_uuid |
String |
Attribute UUID |
stages[].attribute_values[].value.val |
Number |
Attribute value |
Response body
| Path | Type | Description |
|---|---|---|
uuids |
Array |
Created stage UUIDs |
Get completions by project and name
Get a list of completions by project UUID with pagination
Request
$ curl 'https://solo.cloud/public/api/v1/projects/3571c98a-d02f-477f-98be-49a9de2b3625/completions?name=Lateral%20completion&offset=0&limit=10' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/projects/3571c98a-d02f-477f-98be-49a9de2b3625/completions?name=Lateral%20completion&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: 1ce883348494b6b8e5198fb53cd78803
Content-Type: application/json
{
"content" : [ {
"uuid" : "b408fe05-c0ae-475b-aef5-02c426fd49ac",
"name" : "Lateral completion",
"parent_well" : {
"uuid" : "e54f8b9c-c54d-4422-9514-08b4ec317ecd",
"name" : "Completion lateral",
"type" : "WELL"
},
"attributes" : [ {
"uuid" : "8992343a-a335-4bc4-95c7-6316c3c1fa46",
"name" : "Treating pressure",
"type" : "FLOAT"
}, {
"uuid" : "ea96acc9-1f5e-4455-be94-b3a9c1cf692c",
"name" : "Proppant concentration",
"type" : "FLOAT"
} ],
"stages" : [ {
"uuid" : "24d58304-c958-4d85-806c-e1db646cf39e",
"name" : "Public created stage",
"stage" : 1,
"top_md" : {
"val" : 400.0
},
"base_md" : {
"val" : 425.25
},
"length" : {
"val" : 25.25
},
"attribute_values" : [ {
"attribute_uuid" : "ea96acc9-1f5e-4455-be94-b3a9c1cf692c",
"value" : {
"val" : 12.25
}
} ]
}, {
"uuid" : "ed32caba-4db7-4aec-90df-cb3524256cdf",
"name" : "Second stage",
"stage" : 2,
"top_md" : {
"val" : 130.0
},
"base_md" : {
"val" : 155.25
},
"length" : {
"val" : 25.25
},
"attribute_values" : [ {
"attribute_uuid" : "ea96acc9-1f5e-4455-be94-b3a9c1cf692c",
"value" : {
"val" : 9.75
}
} ]
}, {
"uuid" : "fc4f5ee9-7ac3-492f-9bfe-66e21f4b8fb3",
"name" : "First stage",
"stage" : 3,
"top_md" : {
"val" : 100.0
},
"base_md" : {
"val" : 125.5
},
"length" : {
"val" : 25.5
},
"attribute_values" : [ {
"attribute_uuid" : "ea96acc9-1f5e-4455-be94-b3a9c1cf692c",
"value" : {
"val" : 8.5
}
} ]
} ]
} ],
"offset" : 0,
"limit" : 10,
"total" : 1,
"last" : true,
"first" : true
}
GET /public/api/v1/projects/{uuid}/completions
| Path parameter | Description |
|---|---|
uuid |
Project UUID |
| Parameter | Description |
|---|---|
name |
Filter completions by the 'name' field |
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 |
Completion UUID |
content[].name |
String |
Completion name |
content[].attributes |
Array |
Completion stage attributes |
content[].attributes[].uuid |
String |
Attribute UUID |
content[].attributes[].name |
String |
Attribute name |
content[].attributes[].type |
String |
Attribute type |
content[].stages |
Array |
Completion stages |
content[].stages[].uuid |
String |
Stage UUID |
content[].stages[].name |
String |
Stage name |
content[].stages[].stage |
Number |
Stage number |
content[].stages[].top_md.val |
Number |
Stage top MD value in project units |
content[].stages[].base_md.val |
Number |
Stage base MD value in project units |
content[].stages[].length.val |
Number |
Stage length in project units |
content[].stages[].attribute_values |
Array |
Stage attribute values |
content[].stages[].attribute_values[].attribute_uuid |
String |
Attribute UUID |
content[].stages[].attribute_values[].value.val |
Number |
Attribute value |
content[].parent_well |
Object |
Parent well metadata |
content[].parent_well.uuid |
String |
Parent well UUID |
content[].parent_well.name |
String |
Parent well name |
content[].parent_well.type |
String |
Parent well public type |
Get completions by lateral
Get a list of completions by lateral UUID with pagination
Request
$ curl 'https://solo.cloud/public/api/v1/wells/e54f8b9c-c54d-4422-9514-08b4ec317ecd/completions?offset=0&limit=10' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/wells/e54f8b9c-c54d-4422-9514-08b4ec317ecd/completions?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: 214241a68495cdc4620a9224af1d7525
Content-Type: application/json
{
"content" : [ {
"uuid" : "b408fe05-c0ae-475b-aef5-02c426fd49ac",
"name" : "Lateral completion",
"attributes" : [ {
"uuid" : "ea96acc9-1f5e-4455-be94-b3a9c1cf692c",
"name" : "Proppant concentration",
"type" : "FLOAT"
} ],
"stages" : [ {
"uuid" : "ed32caba-4db7-4aec-90df-cb3524256cdf",
"name" : "Second stage",
"stage" : 1,
"top_md" : {
"val" : 130.0
},
"base_md" : {
"val" : 155.25
},
"length" : {
"val" : 25.25
},
"attribute_values" : [ {
"attribute_uuid" : "ea96acc9-1f5e-4455-be94-b3a9c1cf692c",
"value" : {
"val" : 9.75
}
} ]
}, {
"uuid" : "fc4f5ee9-7ac3-492f-9bfe-66e21f4b8fb3",
"name" : "First stage",
"stage" : 2,
"top_md" : {
"val" : 100.0
},
"base_md" : {
"val" : 125.5
},
"length" : {
"val" : 25.5
},
"attribute_values" : [ {
"attribute_uuid" : "ea96acc9-1f5e-4455-be94-b3a9c1cf692c",
"value" : {
"val" : 8.5
}
} ]
} ]
} ],
"offset" : 0,
"limit" : 10,
"total" : 1,
"last" : true,
"first" : true
}
GET /public/api/v1/wells/{uuid}/completions
| 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 |
Completion UUID |
content[].name |
String |
Completion name |
content[].attributes |
Array |
Completion stage attributes |
content[].attributes[].uuid |
String |
Attribute UUID |
content[].attributes[].name |
String |
Attribute name |
content[].attributes[].type |
String |
Attribute type |
content[].stages |
Array |
Completion stages |
content[].stages[].uuid |
String |
Stage UUID |
content[].stages[].name |
String |
Stage name |
content[].stages[].stage |
Number |
Stage number |
content[].stages[].top_md.val |
Number |
Stage top MD value in project units |
content[].stages[].base_md.val |
Number |
Stage base MD value in project units |
content[].stages[].length.val |
Number |
Stage length in project units |
content[].stages[].attribute_values |
Array |
Stage attribute values |
content[].stages[].attribute_values[].attribute_uuid |
String |
Attribute UUID |
content[].stages[].attribute_values[].value.val |
Number |
Attribute value |
Get completions by typewell
Get a list of completions by typewell UUID with pagination
Request
$ curl 'https://solo.cloud/public/api/v1/typewells/c1b547af-ec5b-4872-8dfd-c67837680dc7/completions?offset=0&limit=10' -i -X GET \
-H 'Authorization: Bearer <your_access_token>'
GET /public/api/v1/typewells/c1b547af-ec5b-4872-8dfd-c67837680dc7/completions?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: 2f1fe94821765500e261f497dd136821
Content-Type: application/json
{
"content" : [ {
"uuid" : "263402f7-518d-4dd0-89c0-2672b4691997",
"name" : "Typewell completion",
"attributes" : [ {
"uuid" : "48621e83-7002-4c53-a34b-ca9e76b0e584",
"name" : "Proppant concentration",
"type" : "FLOAT"
} ],
"stages" : [ {
"uuid" : "3d12be4c-da77-4907-9367-fa5b358f57e9",
"name" : "Second stage",
"stage" : 1,
"top_md" : {
"val" : 130.0
},
"base_md" : {
"val" : 155.25
},
"length" : {
"val" : 25.25
},
"attribute_values" : [ {
"attribute_uuid" : "48621e83-7002-4c53-a34b-ca9e76b0e584",
"value" : {
"val" : 9.75
}
} ]
}, {
"uuid" : "5a4cda25-c76c-45d5-8955-428d6d376137",
"name" : "First stage",
"stage" : 2,
"top_md" : {
"val" : 100.0
},
"base_md" : {
"val" : 125.5
},
"length" : {
"val" : 25.5
},
"attribute_values" : [ {
"attribute_uuid" : "48621e83-7002-4c53-a34b-ca9e76b0e584",
"value" : {
"val" : 8.5
}
} ]
} ]
} ],
"offset" : 0,
"limit" : 10,
"total" : 1,
"last" : true,
"first" : true
}
GET /public/api/v1/typewells/{uuid}/completions
| 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 |
Completion UUID |
content[].name |
String |
Completion name |
content[].attributes |
Array |
Completion stage attributes |
content[].attributes[].uuid |
String |
Attribute UUID |
content[].attributes[].name |
String |
Attribute name |
content[].attributes[].type |
String |
Attribute type |
content[].stages |
Array |
Completion stages |
content[].stages[].uuid |
String |
Stage UUID |
content[].stages[].name |
String |
Stage name |
content[].stages[].stage |
Number |
Stage number |
content[].stages[].top_md.val |
Number |
Stage top MD value in project units |
content[].stages[].base_md.val |
Number |
Stage base MD value in project units |
content[].stages[].length.val |
Number |
Stage length in project units |
content[].stages[].attribute_values |
Array |
Stage attribute values |
content[].stages[].attribute_values[].attribute_uuid |
String |
Attribute UUID |
content[].stages[].attribute_values[].value.val |
Number |
Attribute value |
Errors
Error response body
All the errors have the following structure:
| Path | Type | Description |
|---|---|---|
message |
String |
The error details |
type |
String |
Type of the error |
trace_id |
String |
Trace ID of the request |
400 Bad Request
The request cannot be fulfilled due to bad syntax, validation errors, missing data, etc.
Response
HTTP/1.1 400 Bad Request
{
"message": "Missing required request parameters: offset",
"trace_id": "d369294dba75b176",
"type": "INVALID_PARAMETER"
}
401 Unauthorized
The request cannot be fulfilled due to incorrect access credentials, missing or invalid authentication token.
Response
HTTP/1.1 401 Unauthorized
{
"message": "Unauthorized access",
"trace_id": "d369294dba75b177",
"type": "UNAUTHORIZED"
}
403 Forbidden
The request cannot be fulfilled due to lack of access to perform an operation.
Response
HTTP/1.1 403 Forbidden
{
"message": "Access is denied",
"trace_id": "d369294dba75b178",
"type": "FORBIDDEN"
}
404 Not Found
The requested object not found.
Response
HTTP/1.1 404 Not Found
{
"message": "No well found with uuid=df34fj4398f34098fj344",
"trace_id": "d369294dba75b180",
"type": "NOT_FOUND"
}
406 Not Acceptable
The parameters provided are incorrect.
Response
HTTP/1.1 406 Not Acceptable
{
"message": "This interpretation's type is not supported",
"trace_id": "d4e9313ff6267dd5",
"type": "INVALID_PARAMETER"
}
409 Conflict
Request could not be processed because of conflict in the current state of the resource (such as an edit conflict between multiple simultaneous updates).
Response
HTTP/1.1 409 Conflict
{
"message": "Requested change cannot be applied",
"trace_id": "4844645175526a44",
"type": "NOT_ACCEPTED"
}
500 Internal Server Error
The request cannot be fulfilled due to internal server error.
Response
HTTP/1.1 500 Internal server error
{
"message": "Internal error",
"trace_id": "d369294dba75b181",
"type": "INTERNAL_ERROR"
}
503 Service Unavailable
The request cannot be fulfilled due to temporary server unavailability. Please retry the request later. You can find the detailed information in the error response body.
Response
HTTP/1.1 503 Service Unavailable
{
"message": "Service is temporarily unavailable",
"trace_id": "d369294dba75b182",
"type": "SERVICE_UNAVAILABLE"
}
License agreement
Copyright 2022 Rogii Inc. These API Terms form a binding "Agreement" between You and Rogii Inc. (“Rogii”) "You," and "your," refers to the individual, company or legal entity that you represent. The Agreement does not grant You any right to access or use: (a) Solo Cloud platform and associated tools and applications (the "Services"); (b) any of Rogii’s non-public application programming interfaces; or (c) the confidential geoscience and drilling data owned by third parties stored in Solo Cloud. If You wish to access the Services, You will be required to enter into separate license agreements with Rogii for the Services.
DEFINITIONS
“Software Application” means software authored by You that accesses or otherwise interoperates with Solo Cloud via the Solo Cloud Public API.
“Solo Cloud” means Rogii’s proprietary multi-tenant cloud system and database which contains confidential geoscience and drilling data owned by third parties.
“Solo Cloud Public API” means a collection of routines, classes, function parameters, protocols, related libraries, tools and other instructions provided in source code or object code form that allow access to or interoperability with Solo Cloud by a Software Application.
“Python SDK” means the software development kit of tools developed by Rogii that enables access to the capabilities and features of Solo Cloud through the utilization of Solo Cloud Public API.
Rogii grants You a world-wide, non-exclusive, revocable limited license, under applicable copyrights, to Use the Solo Cloud Public API or Python SDK, as applicable, only as necessary to develop, test, enable and support interoperability between the Software Application and Solo Cloud.
You will not: (A) access Solo Cloud Public API or Python SDK or their documentation in violation of any law or regulation; (B) access Solo Cloud Public API or Python SDK in any manner that (i) compromises, breaks or circumvents any of Rogii’s technical processes or security measures associated with Solo Cloud, (ii) poses a security vulnerability to customers or users of Solo Cloud, or (iii) tests the vulnerability of Rogii’s systems or networks; (C) access Solo Cloud Public API or Python SDK or their documentation in order to replicate or compete with Solo Cloud; (D) attempt to reverse engineer or otherwise derive source code, trade secrets, or know-how of Solos Cloud API, Python SDK or Solo Cloud; or (E) attempt to use Solo Cloud Public API or Python SDK in a manner that exceeds rate limits, or constitutes excessive or abusive usage.
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOLO CLOUD PUBLIC API, PYTHON SDK AND THEIR DOCUMENTATION AND ALL RELATED COMPONENTS AND INFORMATION ARE PROVIDED BY US ON AN "AS IS" AND "AS AVAILABLE" BASIS WITHOUT ANY WARRANTIES OF ANY KIND, AND WE EXPRESSLY DISCLAIM ANY AND ALL WARRANTIES, WHETHER EXPRESS OR IMPLIED, INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY, TITLE, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. YOU ACKNOWLEDGE THAT ROGII DOES NOT WARRANT THAT THE SOLO CLOUD PUBLIC API OR PYTHON SDK WILL BE UNINTERRUPTED, TIMELY, SECURE, ERROR-FREE, OR BACKWARDS COMPATIBLE.
You shall defend, indemnify and hold harmless Rogii, its affiliates and their respective officers, directors, employees, agents and representatives from any and all claims, damages, liabilities, costs and fees (including reasonable attorneys’ fees) arising from the Software Application. The Parties agree to comply with the following process when Rogii seeks indemnification under this section and specifically that Rogii is to: (i) promptly give You written notice of the claim; (ii) give You sole control of the defense and settlement of the claim (provided that You may not settle any claim unless it unconditionally releases Rogii of all liability); and (iii) provide You, at Your cost, all reasonable assistance.
TO THE EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL ROGII BE RESPONSIBLE OR LIABLE WITH RESPECT TO ANY SUBJECT MATTER OF THIS AGREEMENT UNDER ANY CONTRACT, NEGLIGENCE, STRICT LIABILITY OR OTHER THEORY FOR: (I) LOSS OR INACCURACY OF DATA OR COST OF PROCUREMENT OF SUBSTITUTE GOODS, SERVICES, OR TECHNOLOGY; OR (II) ANY INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES INCLUDING, BUT NOT LIMITED TO LOSS OF REVENUES OR PROFITS; (III) ANY MATTER BEYOND ITS REASONABLE CONTROL; OR (IV) ANY AMOUNT IN THE AGGREGATE OVER $100
Rogii may terminate this Agreement immediately upon written notice if You breach this Agreement. Rogii may, at its sole discretion, reinstate Your ability to use the Solo Cloud Public API if You demonstrate that You have remedied any such breach.
Notwithstanding the foregoing, Sections 4-6 of this Agreement will survive any termination of this Agreement.