IBM Cloud API Docs

Introduction

IBM Open Data for Industries provides a toolset that supports an industry-standard methodology for collecting and describing Oil & Gas data and serving that data to various applications and services that consume it.

The Open Data for Industries API enables you to enrich, index, search, and manage your data.

The following IBM Open Data for Industries methods can be leveraged to build data agnostic applications:

  • Entitlements methods

    Entitlements methods enable authorization.

  • File methods

    File methods provide a mechanism to fetch records and file locations.

  • Indexer methods

    Indexer methods provide a mechanism to re-index records for efficient search.

  • Legal methods

    Legal methods govern the data compliance through the Records in the storage API.

  • Schema methods

    Schema methods provide a mechanism for publishing and managing data structure definitions.

  • Search methods

    Search methods provide a mechanism for indexing documents that contain structured data.

  • Storage methods

    Storage methods provide a set of APIs to manage the entire metadata lifecycle.

  • Workflow methods

    Workflow methods provide a mechanism to manage process executions.

  • Wellbore methods

    Manage Well data lifecycle to support Well domain management.

  • Seismic methods

    Manage Seismic data lifecycle to support Seismic domain management.

  • Well Delivery methods

    Support upstream well drilling operations by combining the Well Planning and Well Execution processes.

For more information, see the Open Data for Industries documentation.

Authentication

To authenticate to the API, you use the /preauth/signin method to specify your Open Data for Industries service credentials.

JWT authentication

You can configure Open Data for Industries to accept JSON Web Tokens (JWT) as an authentication mechanism for the service.

A JWT is a set of JSON claims that are signed, encrypted, or both, and are encoded into a web safe form.

The Open Data for Industries REST API uses the authorization: Bearer ${JWT_ACCESS_TOKEN} as a header parameter for authentication. This parameter is provided automatically by the service proxy. You must not specify any value.

JWT access token

You can fetch the JWT access token (JWT_ACCESS_TOKEN) by running the following curl command:

curl --silent --insecure --request POST --url {$tokenEndPointBase}/auth/realms/OSDU/protocol/openid-connect/token --header 'content-type: application/x-www-form-urlencoded' --data grant_type=password --data client_id={$clientID} --data client_secret={$clientSecret} --data username={$uName} --data password={$pass} --data scope=openid | jq -r '.access_token'

Replace the following values:

Name Replace with
{tokenEndPointBase} Keycloak route from the Red Hat OpenShift cluster.
{clientID} The default value is osdu-login
{clientSecret} Value that you can find on the OpenShift cluster secrets Admin page. Otherwise, ask your cluster administrator.
{uName} Value that you can find on the OpenShift cluster secrets Admin page. Otherwise, ask your cluster administrator.
{pass} Value that you can find on the OpenShift cluster secrets Admin page. Otherwise, ask your cluster administrator.

Endpoint URL

The Open Data for Industries API endpoint URL is based on your IBM Cloud Pak deployment URL.

https://{cpd_cluster_host}{:port}/{proxy-prefix}/api/{method-name}/{version}/

Additionally, replace the following values based on the method that you want to use:

Name Valid values
{proxy-prefix} osdu-delivery, osdu-entitlements-v2, osdu-legal, osdu-storage, osdu-schema, osdu-search, osdu-file, osdu-indexer, osdu-workflow, osdu-wellbore, osdu-seismic, osdu-well-delivery
{method-name} delivery, entitlements, legal, storage, schema, search, file, indexer, worflow, os-wellbore-ddms
{version} v1 or v2 or v3

When you call the API, add the path for each method to form the complete API endpoint for your request. For example, if your instance is deployed at https://www.example.com:31843, you can access the APIs at https://www.example.com:31843/{proxy-prefix}/api/{method-name}/{version}/.

Example

curl -H "cache-control: no-cache" -X {request_method} "https://{cpd_cluster_host}{:port}/{proxy-prefix}/api/{method-name}/{version}/"

Error handling

Open Data for Industries uses standard HTTP response codes to indicate whether a method completed successfully. HTTP response codes in the 2xx range indicate success. A response in the 4xx range is some sort of failure, and a response in the 5xx range usually indicates an internal system error that cannot be resolved by the user. Response codes are listed with the method.

ErrorResponse

Name Description
code{: .parameter-name .required}
string
An identifier of the response.
message{: .parameter-name .required}
string
An explanation of the problem.

Methods

Initiate the process to bootstrap entitlements

POST /tenant-provisioning

Request

Custom Headers

  • Tenant identifier

Response

Status Code

  • OK

  • Created

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

List groups

GET /groups

Request

Custom Headers

  • Tenant identifier

  • curl -k -X GET -H "data-partition-id: {partition_id}"  "https://{cpd_cluster_host}{:port}/osdu-entitlements/api/entitlements/v2/groups"

Response

Status Code

  • OK

  • Unauthorized Access

  • Forbidden Access

  • Not Found

Example responses
  • {
      "desId": "abc@x.ibm.com",
      "groups": [
        {
          "description": "This is the groupinfo description",
          "email": "abc@x.ibm.com",
          "name": "Admin"
        }
      ],
      "memberEmail": "abc@x.ibm.com"
    }

Create group

POST /groups

Request

Custom Headers

  • Tenant identifier

  • Allowable values: [*/*,application/json]

groupInfoDto

  • curl -k -X POST -H "data-partition-id: {partition_id}"  -d '{
    "description": "string",
    "name": "string"
    }'
     "https://{cpd_cluster_host}{:port}/osdu-entitlements/api/entitlements/v2/groups"

Response

Status Code

  • OK

  • Created

  • Unauthorized Access

  • Forbidden Access

  • Not Found

Example responses
  • {
      "description": "This is the groupinfo description",
      "email": "abc@x.ibm.com",
      "group_email": "group-name@x.ibm.com",
      "name": "Admin"
    }
  • {
      "_messageCode_": "201",
      "message": "Created"
    }

Delete a group

DELETE /groups/{group_email}

Request

Custom Headers

  • tenant

Path Parameters

Response

Status Code

  • OK

  • No Content

  • Unauthorized

  • Forbidden

No Sample Response

This method does not specify any sample responses.

Update a group

PATCH /groups/{group_email}

Request

Custom Headers

  • tenant

Path Parameters

  • group_email

updateGroupRequest

Response

Status Code

  • OK

  • No Content

  • Unauthorized

  • Forbidden

No Sample Response

This method does not specify any sample responses.

List members of a group

GET /groups/{group_email}/members

Request

Custom Headers

  • Tenant identifier

Path Parameters

  • Group email mnemonic

Query Parameters

  • role

    Allowable values: [MEMBER,OWNER]

  • includeType

  • curl -k -X GET -H "data-partition-id: {partition_id}"  "https://{cpd_cluster_host}{:port}/osdu-entitlements/api/entitlements/v2/groups/{group_email}/members"

Response

Status Code

  • OK

  • Unauthorized Access

  • Forbidden Access

  • Not Found

Example responses
  • {
      "value": {
        "cursor": "abc",
        "members": [
          {
            "email": "abc@x.ibm.com"
          }
        ]
      }
    }

Add members to a group

POST /groups/{group_email}/members

Request

Custom Headers

  • Tenant identifier

  • Allowable values: [*/*,application/json]

Path Parameters

AddMemberDto

  • curl -k -X POST -H "data-partition-id: {partition_id}"  -d '{
    "email": "string"
    }'
    "https://{cpd_cluster_host}{:port}/osdu-entitlements/api/entitlements/v2/groups/{group_email}/members"

Response

Status Code

  • OK

  • Created

  • Unauthorized Access

  • Forbidden Access

  • Not Found

Example responses
  • {
      "email": "abc@x.ibm.com"
    }
  • {
      "_messageCode_": "201",
      "message": "Created"
    }

Delete members from a group

DELETE /groups/{group_email}/members/{member_email}

Request

Custom Headers

  • Tenant identifier

Path Parameters

  • Group email mnemonic

  • Member email mnemonic

  • curl -k -X DELETE -H "data-partition-id: {partition_id}"  "https://{cpd_cluster_host}{:port}/osdu-entitlements/api/entitlements/v2/groups/{group_email}/members/{member_email}"

Response

Status Code

  • OK

  • No Content Found

  • Unauthorized Access

  • Forbidden Access

Example responses
  • {
      "_messageCode_": "200",
      "message": "OK"
    }
  • {
      "_messageCode_": "204",
      "message": "No Content Found"
    }

Delete a member

DELETE /members/{member_email}

Request

Custom Headers

  • tenant

Path Parameters

  • Member email mnemonic

Response

Status Code

  • OK

  • No Content

  • Unauthorized

  • Forbidden

No Sample Response

This method does not specify any sample responses.

List groups for a member

GET /members/{member_email}/groups

Request

Custom Headers

  • tenant

Path Parameters

  • Member email mnemonic

Query Parameters

  • type

  • appid

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get a signed URL for a file

POST /delivery/GetFileSignedUrl

Request

Custom Headers

  • Tenant identifier

  • Frame for unit measurement

Request to get signed URL

  • curl -k -X POST -H "data-partition-id: {partition_id}" -d "{\"srns\":\"string\"}" "https://{cpd_cluster_host}{:port}/osdu-file/api/file/v2/delivery/GetFileSignedUrl"

Response

Status Code

  • OK

  • Created

  • Unauthorized

  • Forbidden

  • Not Found

Example responses
  • {
      "processed": {
        "additionalProp1": {
          "connectionString": "srn:file/segy:mysegy1",
          "kind": "common:welldb:wellbore:1.0.0",
          "signedUrl": "signed-url",
          "unsignedUrl": "unsigned-url"
        }
      },
      "unprocessed": [
        "[srn:file/segy:mysegy2,srn:file/segy:mysegy3]"
      ]
    }

Create metadata for a file

POST /files/metadata

Request

Custom Headers

  • Tenant identifier

  • Frame for unit measurement

Metadata of file

  • curl -k -X POST https://{HOSTNAME}:{PORT_NUMBER}/osdu-file/api/file/v2/files/metadata -H 'content-type: application/json' -H "data-partition-id: {partition_id}" -d '{
    "data": {
    "Endian": "BIG",
    "Description": "As originally delivered by ACME.com.",
    "DatasetProperties": {
    "FileSourceInfo": {
    "FileSource": "",
    "Name": "1234",
    "PreLoadFilePath": "gs://osdu-cicd-epam-persistent-area/c3af38c1-654d-47a0-a3e6-9e94c32add84/b62b104f843142f49ee6d747e6bdd49d",
    "PreloadFileCreateUser": "user1",
    "PreloadFileModifyDate": "mar 11",
    "PreloadFileModifyUser": "mar 11"
    }
    },
    "TotalSize": "13245217273",
    "Source": "Example Data Source",
    "Name": "Dataset X221/15"
    },
    "kind": "osdu:wks:dataset--File.Generic:1.0.0",
    "acl": {
    "viewers": [
    "data.default.viewers@opendes.osdu-gcp.go3-nrg.projects.epam.com"
    ],
    "owners": [
    "data.default.owners@opendes.osdu-gcp.go3-nrg.projects.epam.com"
    ]
    },
    "legal": {
    "legaltags": [
    "opendes-demo-legaltag"
    ],
    "otherRelevantDataCountries": [
    "US"
    ],
    "status": "compliant"
    },
    "createUser": "osdu-community-sa-airflow@nice-etching-277309.iam.gserviceaccount.com",
    "createTime": "2021-02-22T18:50:47.498Z",
    "modifyUser": "osdu-community-sa-airflow@nice-etching-277309.iam.gserviceaccount.com",
    "modifyTime": "2021-02-22T21:13:10.587Z"
    }'
    

Response

Status Code

  • OK

  • Created

  • Unauthorized

  • Forbidden

  • Not Found

Example responses
  • {
      "_messageCode_": "201",
      "message": "Created"
    }

Get location information for a file

GET /files/uploadURL

Request

Custom Headers

  • Tenant identifier

  • Frame for unit measurement

  • curl -k -X GET https://{HOSTNAME}:{PORT_NUMBER}/osdu-file/api/file/v2/files/uploadURL -H "data-partition-id: {partition_id}"
    

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get a signed URL for a specific file

GET /files/{id}/downloadURL

Request

Custom Headers

  • Tenant identifier

  • Frame for unit measurement

Path Parameters

  • Identifier for file to download

  • curl -k -X GET https://{HOSTNAME}:{PORT_NUMBER}/osdu-file/api/file/v2/files/{{record_id}}/downloadURL' -H "data-partition-id: {partition_id}"
    

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get metadata for a specific file

GET /files/{id}/metadata

Request

Custom Headers

  • Tenant identifier

  • Frame for unit measurement

Path Parameters

  • Identifier for file to get metadata from

  • curl -k -X GET https://{HOSTNAME}:{PORT_NUMBER}/osdu-file/api/file/v2/files/{{record_id}}/metadata -H "data-partition-id: {partition_id}"
    

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get Storage instructions

POST /v2/files/storageInstructions

Request

Custom Headers

  • tenant

  • reference

Response

Status Code

  • OK

  • Created

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get retrieval instructions

POST /v2/files/retrievalInstructions

Request

Custom Headers

  • tenant

  • reference

retrievalInstructionsRequest

Response

Status Code

  • OK

  • Created

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

File copy

POST /v2/files/copy

Request

Custom Headers

  • tenant

  • reference

copyDmsRequest

Response

Status Code

  • OK

  • Created

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Reindex searchable objects

POST /reindex

Request

Custom Headers

  • Tenant identifier

    Default: common

  • Authentication key for API access

    Default: this_123_is_456_dev_789_key

  • Allowable values: [*/*,application/json]

Query Parameters

  • Flag to control indexing of partial or full records for particular kind.[ True : All records reindexed , False : Only delta records indexed]

    Default: false

recordReindexRequest

  • curl -k -X POST https://{HOSTNAME}:{PORT_NUMBER}/osdu-workflow/api/indexer/v2/reindex?force_clean=true -H 'content-type: application/json' -H "data-partition-id: {partition_id}" -d '{
        "kind": "opendes:osdu:well-master:0.2.1"
        }'
    

Response

Status Code

  • OK

  • Created

  • Unauthorized

  • Forbidden

  • Not Found

Example responses
  • {
      "_messageCode_": "201",
      "message": "Created"
    }

Get legal tag status

GET /jobs/updateLegalTagStatus

Request

Custom Headers

  • Tenant identifier

  • curl -k -X GET -H "data-partition-id: {partition_id}"  "https://{cpd_cluster_host}{:port}/osdu-legal/api/legal/v1/jobs/updateLegalTagStatus"

Response

Status Code

  • OK

  • Unauthorized Access

  • Forbidden Access

  • Endpoint Not Found

Example responses
  • {
      "100": "CONTINUE",
      "_messageCode_": "200",
      "message": "OK"
    }

Get legal tags

GET /legaltags

Request

Custom Headers

  • Tenant identifier

Query Parameters

  • valid

    Default: true

  • curl -k -X GET -H "data-partition-id: {partition_id}"  "https://{cpd_cluster_host}{:port}/osdu-legal/api/legal/v1/legaltags"

Response

Status Code

  • OK

  • Unauthorized Access

  • Forbidden Access

  • Endpoint Not Found

Example responses
  • {
      "100": "CONTINUE",
      "_messageCode_": "200",
      "message": "OK"
    }

Update a legal tag

PUT /legaltags

Request

Custom Headers

  • Tenant identifier

  • Allowable values: [*/*,application/json]

legalTag

  • curl -k -X PUT -H "data-partition-id: {partition_id}"  -d '{
    "contractId": "string",
    "description": "string",
    "expirationDate": "2020-10-13",
    "name": "string"
    }'
    "https://{cpd_cluster_host}{:port}/osdu-legal/api/legal/v1/legaltags"

Response

Status Code

  • OK

  • Created

  • Unauthorized Access

  • Forbidden Access

  • Endpoint Not Found

Example responses
  • {
      "contractId": "AE12345",
      "description": "Legal tag description",
      "expirationDate": "2022-12-22",
      "name": "common-demo-legaltag"
    }
  • {
      "_messageCode_": "201",
      "message": "Created"
    }

Create a legal tag

POST /legaltags

Request

Custom Headers

  • Tenant identifier

  • Allowable values: [*/*,application/json]

legalTag

  • curl -k -X POST -H "data-partition-id: {partition_id}"  -d '{
    "description": "string",
    "name": "string",
    "properties": {
    "contractId": "string",
    "countryOfOrigin": [
    "string"
    ],
    "dataType": "string",
    "expirationDate": "yyyy-MM-dd",
    "exportClassification": "string",
    "originator": "string",
    "personalData": "string",
    "securityClassification": "string"
    }
    }'
    "https://{cpd_cluster_host}{:port}/osdu-legal/api/legal/v1/legaltags"

Response

Status Code

  • OK

  • Created

  • Unauthorized Access

  • Forbidden Access

  • Endpoint Not Found

Example responses
  • {
      "description": "This is the description of legal tag",
      "name": "legal-tag-name",
      "properties": {
        "contractId": "legal-contract-id",
        "countryOfOrigin": [
          "[USA,CANADA,UK]"
        ],
        "dataType": "Public Domain Data",
        "expirationDate": "yyyy-MM-dd",
        "exportClassification": "EAR99",
        "originator": "ODI",
        "personalData": "Personal Data",
        "securityClassification": "Public"
      }
    }
  • {
      "_messageCode_": "201",
      "message": "Created"
    }

Get a legal tag by name

GET /legaltags/{name}

Request

Custom Headers

  • Tenant identifier

Path Parameters

  • Legal tag name

  • curl -k -X GET -H "data-partition-id: {partition_id}"  "https://{cpd_cluster_host}{:port}/osdu-legal/api/legal/v1/legaltags/{name}"

Response

Status Code

  • OK

  • Unauthorized Access

  • Forbidden Access

  • Endpoint Not Found

Example responses
  • {
      "body": {
        "name": "common-demo-legaltag",
        "contractId": "AE12345",
        "expirationDate": "2022-12-21"
      },
      "statusCode": "{'100':'CONTINUE'}",
      "statusCodeValue": 504
    }

Delete a legal tag by name

DELETE /legaltags/{name}

Request

Custom Headers

  • Tenant identifier

  • Allowable values: [*/*,application/json]

Path Parameters

  • Legal tag name

  • curl -k -X DELETE -H "data-partition-id: {partition_id}"  "https://{cpd_cluster_host}{:port}/osdu-legal/api/legal/v1/legaltags/{name}"

Response

Status Code

  • OK

  • No Content

  • Unauthorized Access

  • Forbidden Access

Example responses
  • 100 CONTINUE
  • {
      "_messageCode_": "204",
      "message": "No content"
    }

Batch retrieval of legal tags

POST /legaltags:batchRetrieve

Request

Custom Headers

  • Tenant identifier

  • Allowable values: [*/*,application/json]

Requested tags

  • curl -k -X POST -H "data-partition-id: {partition_id}"  -d '{
    "names": [
    "string"
    ]
    }'
    "https://{cpd_cluster_host}{:port}/osdu-legal/api/legal/v1/legaltags:batchRetrieve"

Response

Status Code

  • OK

  • Created

  • Unauthorized Access

  • Forbidden Access

  • Endpoint Not Found

Example responses
  • {
      "legalTags": [
        {
          "description": "This is the description of legal tag",
          "name": "legal-tag-name",
          "properties": {
            "contractId": "legal-contract-id",
            "countryOfOrigin": [
              "[USA,CANADA,UK]"
            ],
            "dataType": "Public Domain Data",
            "expirationDate": "yyyy-MM-dd",
            "exportClassification": "EAR99",
            "originator": "ODI",
            "personalData": "Personal Data",
            "securityClassification": "Public"
          }
        }
      ]
    }
  • {
      "_messageCode_": "201",
      "message": "Created"
    }

Get a legal tag properties

GET /legaltags:properties

Request

Custom Headers

  • Tenant identifier

  • curl -k -X GET -H "data-partition-id: {partition_id}"  "https://{cpd_cluster_host}{:port}/osdu-legal/api/legal/v1/legaltags:properties"

Response

Status Code

  • OK

  • Unauthorized Access

  • Forbidden Access

  • Endpoint Not Found

Example responses
  • {
      "countriesOfOrigin": {
        "additionalProp1": "{'PT':'Portugal','PW':'Palau','QA':'Qatar'}",
        "additionalProp2": "other-properties",
        "additionalProp3": "other-properties"
      },
      "dataTypes": [
        "[Personally identifiable,Public data]"
      ],
      "exportClassificationControlNumbers": [
        "[No License Required,Not - Technical Data,EAR99]"
      ],
      "otherRelevantDataCountries": {
        "additionalProp1": "{'PT':'Portugal','PW':'Palau','QA':'Qatar'}"
      },
      "personalDataTypes": [
        "[Personally identifiable,Public data]"
      ],
      "securityClassifications": [
        "[Private,Public,Confedential]"
      ]
    }

Validate legal tags

POST /legaltags:validate

Request

Custom Headers

  • Tenant identifier

  • Allowable values: [*/*,application/json]

Requested tags

  • curl -k -X POST -H "data-partition-id: {partition_id}"  -d '{
    "names": [
    "string"
    ]
    }'
    "https://{cpd_cluster_host}{:port}/osdu-legal/api/legal/v1/legaltags:validate"

Response

Status Code

  • OK

  • Created

  • Unauthorized Access

  • Forbidden Access

  • Endpoint Not Found

Example responses
  • {
      "invalidLegalTags": [
        {
          "name": "legal-tag-invalid",
          "reason": "Invalid tag reason"
        }
      ]
    }
  • {
      "_messageCode_": "201",
      "message": "Created"
    }

Legal tag changed

POST /push-handlers/legaltag-changed

Request

Custom Headers

  • Tenant identifier

  • reference

  • Allowable values: [*/*,application/json]

  • curl -k -X POST -H "data-partition-id: {partition_id}"  -H "frame-of-reference: {reference_id}" "https://{cpd_cluster_host}{:port}/osdu-legal/api/legal/v1/push-handlers/legaltag-changed"

Response

Status Code

  • OK

  • Created

  • Unauthorized

  • Forbidden

  • Not Found

Example responses
  • {
      "body": {
        "name": "common-demo-legaltag",
        "contractId": "AE12345",
        "expirationDate": "2022-12-21"
      },
      "statusCode": "{'100':'CONTINUE'}",
      "statusCodeValue": 504
    }
  • {
      "_messageCode_": "201",
      "message": "Created"
    }

Create a schema

Adds a schema to the schema repository.

POST /schema

Request

Custom Headers

  • Tenant identifier

    Example: osdu

Schema description and schema to add

Examples:
View
  • curl -k -X POST https://{HOSTNAME}:{PORT_NUMBER}/osdu-schema/api/schema/v1/schema
    -H 'content-type: application/json'
    -H 'data-partition-id: {partition_id}'
    -d '{
    "schema-Info": {
    "schemaIdentity": {
    "authority": "osdu",
    "source": "wks",
    "entityType": "wellbore",
    "schemaVersionMajor": 1,
    "schemaVersionMinor": 0,
    "schemaVersionPatch": 0
    },
    "status": "PUBLISHED"
    },
    "schema": {}
    }'
    

Response

Schema info, including status, creation, and Schema-Identity

Status Code

  • Schema created

  • Input error. Mandatory fields missing or invalid value passed to API

  • Unknown or invalid user

  • User not authorised to access the API

Example responses
  • {
      "createdBy": "user@opendes.com",
      "dateCreated": {},
      "schemaIdentity": {
        "authority": "osdu",
        "entityType": "wellbore",
        "id": "osdu:wks:wellbore:1.0.0",
        "schemaVersionMajor": 1,
        "schemaVersionMinor": 1,
        "schemaVersionPatch": 0,
        "source": "wks"
      },
      "scope": "INTERNAL",
      "status": "PUBLISHED",
      "supersededBy": {
        "authority": "osdu",
        "entityType": "wellbore",
        "id": "osdu:wks:wellbore:1.0.0",
        "schemaVersionMajor": 1,
        "schemaVersionMinor": 1,
        "schemaVersionPatch": 0,
        "source": "wks"
      }
    }

Update a schema

Update or create a schema in development status.

PUT /schema

Request

Custom Headers

  • Tenant identifier

    Example: osdu

Schema description and schema to update or add

Examples:
View
  • curl -k -X PUT https://{HOSTNAME}:{PORT_NUMBER}/osdu-schema/api/schema-service/v1/api/schema-service/v1/schema -H 'Content-Type: application/json' -H 'data-partition-id: opendes' -d '{
    "schemaInfo": {
    "schemaIdentity": {
    "authority": "SchemaSanityTest",
    "source": "testSource",
    "entityType": "testEntity_279688",
    "schemaVersionMajor": 2,
    "schemaVersionMinor": 2,
    "schemaVersionPatch": 0,
    "id": "SchemaSanityTest:testSource:testEntity_279688:1.1.0"
    },
    "status": "DEVELOPMENT"
    },
    "schema": {
    "$schema":"http://json-schema.org/draft-07/schema#",
    "x-slb-lifecycle-state":"published",
    "description":"Theentitywell.",
    "title":"Well",
    "type":"object",
    "definitions":{
    
    },
    "properties":{
    "locationOriginalCRS":{
    "description":"Thewell'\''soriginallocationasAnyCrsFeatureCollection -astructuresimilartobutdistinctfromGeoJSON.",
    "title":"OriginalCRSLocation",
    "$ref":"#/definition/anyCrsFeatureCollection.1.0"
    },
    "allOf":{
     "$ref":"#/definition/slb..wks..well.1.0"
    },
    "locationWGS84":{
     "description":"Thewell'\''slocationasGeoJSONFeatureCollection.",
     "title":"WGS84Location",
     "$ref":"https://geojson.org/schema/FeatureCollection.json",
     "example":{
      "features":[
         {
            "geometry":{
               "coordinates":[
                  -92.11569999999999,
                  29.8823,
                  153.4779442519685
               ],
               "type":"Point"
            },
            "type":"Feature",
            "properties":{
               "name":"Newton2-31"
            }
         }
      ],
      "type":"FeatureCollection"
          }
        }
      }
    }
    }'
    

Response

Schema info, including status, creation, and Schema-Identity

Status Code

  • Schema updated

  • Schema created

  • Input error. Mandatory fields missing or invalid value passed to API

  • Unknown or invalid user

  • User not authorised to access the API

Example responses
  • {
      "createdBy": "user@opendes.com",
      "dateCreated": {},
      "schemaIdentity": {
        "authority": "osdu",
        "entityType": "wellbore",
        "id": "osdu:wks:wellbore:1.0.0",
        "schemaVersionMajor": 1,
        "schemaVersionMinor": 1,
        "schemaVersionPatch": 0,
        "source": "wks"
      },
      "scope": "INTERNAL",
      "status": "PUBLISHED",
      "supersededBy": {
        "authority": "osdu",
        "entityType": "wellbore",
        "id": "osdu:wks:wellbore:1.0.0",
        "schemaVersionMajor": 1,
        "schemaVersionMinor": 1,
        "schemaVersionPatch": 0,
        "source": "wks"
      }
    }
  • {
      "createdBy": "user@opendes.com",
      "dateCreated": {},
      "schemaIdentity": {
        "authority": "osdu",
        "entityType": "wellbore",
        "id": "osdu:wks:wellbore:1.0.0",
        "schemaVersionMajor": 1,
        "schemaVersionMinor": 1,
        "schemaVersionPatch": 0,
        "source": "wks"
      },
      "scope": "INTERNAL",
      "status": "PUBLISHED",
      "supersededBy": {
        "authority": "osdu",
        "entityType": "wellbore",
        "id": "osdu:wks:wellbore:1.0.0",
        "schemaVersionMajor": 1,
        "schemaVersionMinor": 1,
        "schemaVersionPatch": 0,
        "source": "wks"
      }
    }

Get all schemas

Get all schemas from the repository.

GET /schema

Request

Custom Headers

  • Tenant identifier

    Example: osdu

Query Parameters

  • Pass an optional string to search for a specific authority

    Default: *

    Example: osdu

  • Pass an optional string to search for a specific source

    Default: *

    Example: wks

  • Pass an optional string to search for a specific entityType

    Default: *

    Example: wellbore

  • Pass an optional string to search for a specific schemaVersionMajor

    Default: *

    Example: 1

  • Pass an optional string to search for a specific schemaVersionMinor

    Default: *

    Example: 1

  • The schema status specification

    Allowable values: [PUBLISHED,DEVELOPMENT,OBSOLETE]

    Default: PUBLISHED

    Example: PUBLISHED

  • The scope or schema visibility specification

    Allowable values: [SHARED,INTERNAL]

    Default: INTERNAL

    Example: INTERNAL

  • If true, only return the latest version

    Default: false

    Example: true

  • Maximum number of schema records to return

    Possible values: 0 ≤ value ≤ 100

    Example: 10

  • Number of records to skip for pagination

    Possible values: value ≥ 0

Response

The response for a GET schema request

Status Code

  • Successful response

  • Input error. Mandatory fields missing or invalid value passed to API

  • Unknown or invalid user

  • User not authorised to access the API

Example responses
  • {
      "schemaInfos": [
        {
          "createdBy": "user@opendes.com",
          "dateCreated": {},
          "schemaIdentity": {
            "authority": "osdu",
            "entityType": "wellbore",
            "id": "osdu:wks:wellbore:1.0.0",
            "schemaVersionMajor": 1,
            "schemaVersionMinor": 1,
            "schemaVersionPatch": 0,
            "source": "wks"
          },
          "scope": "INTERNAL",
          "status": "PUBLISHED",
          "supersededBy": {
            "authority": "osdu",
            "entityType": "wellbore",
            "id": "osdu:wks:wellbore:1.0.0",
            "schemaVersionMajor": 1,
            "schemaVersionMinor": 1,
            "schemaVersionPatch": 0,
            "source": "wks"
          }
        }
      ],
      "offset": 0,
      "count": 0,
      "totalCount": 0
    }

Get a specific schema

Get a schema from the schema repository by providing an identifier.

GET /schema/{id}

Request

Custom Headers

  • Tenant identifier

    Example: osdu

Path Parameters

  • The system ID of the schema

    Example: osdu:wks:wellbore:1.0.0

  • curl -k -X GET 'https://{HOSTNAME}:{PORT_NUMBER}/osdu-schema/api/schema-service/v1/api/schema-service/v1/schema/SchemaSanityTest:testSource:testEntity_279688:1.1.0' -H 'Content-Type: application/json' -H 'data-partition-id: opendes'
    

Response

Status Code

  • search results matching criteria

  • Input error. Mandatory fields missing or invalid value passed to API

  • Unknown or invalid user

  • User not authorised to access the API

  • Requested Schema not found in repository

Example responses
  • {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "description": "The entity shapefile.",
      "title": "ShapeFile",
      "type": "object",
      "definitions": {},
      "properties": {}
    }

Queries which are using the criteria for cross cluster search

The API supports cross cluster searches when given the list of partitions.

POST /ccs/query

Request

Custom Headers

  • Tenant identifier. This should be same value as first field in kind field

  • Allowable values: [*/*,application/json]

Query request

  • curl -k -X POST -H "data-partition-id: {partition_id}"  -d '{
    "kind": "common:ihs:well:1.0.0",
    "limit": 30,
    "offset": 0,
    "query": "string",
    "queryAsOwner": false
    }'
    "https://{cpd_cluster_host}{:port}/osdu-search/api/search/v2/ccs/query"

Response

Status Code

  • Success

  • Created

  • Invalid parameters were given on request

  • Unauthorized

  • User not authorized to perform the action

  • Endpoint Not Found

  • Search service scale-up is taking longer than expected. Wait 10 seconds and retry.

Example responses
  • {
      "results": [
        {
          "additionalProp1": {},
          "additionalProp2": {},
          "additionalProp3": {}
        }
      ],
      "totalCount": 0
    }
  • {
      "_messageCode_": "201",
      "message": "Created"
    }

Queries which are using the input criteria

The API supports full text search on string fields, range queries on date, numeric or string fields, along with geo-spatial search. Required roles: ''users.datalake.viewers'' or ''users.datalake.editors'' or ''users.datalake.admins'' or ''users.datalake.ops''. In addition, users must be a member of data groups to access the data.

POST /query

Request

Custom Headers

  • Tenant identifier. This should be same value as first field in kind field

  • Allowable values: [*/*,application/json]

Query request

  • curl -k -X POST -H "data-partition-id: {partition_id}"  -d '{
    "kind": "common:ihs:well:1.0.0",
    "limit": 30,
    "offset": 0,
    "query": "string",
    "queryAsOwner": false,
    "returnedFields": [
    "string"
    ],
    "sort": {
    "field": [
    "string"
    ],
    "order": [
    "ASC"
    ]
    },
    "spatialFilter": {
    "byBoundingBox": {
    "bottomRight": {
    "latitude": 37.450727,
    "longitude": -122.174762
    },
    "topLeft": {
    "latitude": 37.450727,
    "longitude": -122.174762
    }
    },
    "byDistance": {
    "distance": 1500,
    "point": {
    "latitude": 37.450727,
    "longitude": -122.174762
    }
    },
    "byGeoPolygon": {
    "points": [
    {
    "latitude": 37.450727,
    "longitude": -122.174762
    }
    ]
    },
    "field": "string"
    }
    }'
    "https://{cpd_cluster_host}{:port}/osdu-search/api/search/v2/query"

Response

Status Code

  • Success

  • Created

  • Invalid parameters were given on request

  • Unauthorized Access

  • User not authorized to perform the action

  • Endpoint Not Found

  • Search service scale-up is taking longer than expected. Wait 10 seconds and retry.

Example responses
  • {
      "aggregations": [
        {
          "count": 12,
          "key": "key-id"
        }
      ],
      "results": [
        {
          "additionalProp1": {},
          "additionalProp2": {},
          "additionalProp3": {}
        }
      ],
      "totalCount": 10
    }
  • {
      "_messageCode_": "201",
      "message": "Created"
    }

Queries which are using the input criteria with cursor

The API supports full text search on string fields, range queries on date, numeric or string fields, along with geo-spatial search. Required roles: ''users.datalake.viewers'' or ''users.datalake.editors'' or ''users.datalake.admins'' or ''users.datalake.ops''. In addition, users must be a member of data groups to access the data. It can be used to retrieve large numbers of results (or even all results) from a single search request, in much the same way as you would use a cursor on a traditional database.

POST /query_with_cursor

Request

Custom Headers

  • Tenant identifier. This should be same value as first field in kind field

  • Allowable values: [*/*,application/json]

Query request

  • curl -k -X POST -H "data-partition-id: {partition_id}"  -d '{
    "kind": "common:ihs:well:1.0.0",
    "limit": 30,
    "query": "string",
    "queryAsOwner": false,
    "returnedFields": [
    "string"
    ],
    "sort": {
    "field": [
    "string"
    ],
    "order": [
    "ASC"
    ]
    },
    "spatialFilter": {
    "byBoundingBox": {
    "bottomRight": {
    "latitude": 37.450727,
    "longitude": -122.174762
    },
    "topLeft": {
    "latitude": 37.450727,
    "longitude": -122.174762
    }
    },
    "byDistance": {
    "distance": 1500,
    "point": {
    "latitude": 37.450727,
    "longitude": -122.174762
    }
    },
    "byGeoPolygon": {
    "points": [
    {
    "latitude": 37.450727,
    "longitude": -122.174762
    }
    ]
    },
    "field": "string"
    }
    }'
    "https://{cpd_cluster_host}{:port}/osdu-search/api/search/v2/query_with_cursor"

Response

Status Code

  • Success

  • Created

  • Invalid parameters were given on request

  • Unauthorized Access

  • User not authorized to perform the action

  • Endpoint Not Found

  • Search service scale-up is taking longer than expected. Wait 10 seconds and retry.

Example responses
  • {
      "cursor": "string",
      "results": [
        {
          "additionalProp1": {},
          "additionalProp2": {},
          "additionalProp3": {}
        }
      ],
      "totalCount": 10
    }
  • {
      "_messageCode_": "201",
      "message": "Created"
    }

Get kinds of storage

GET /query/kinds

Request

Custom Headers

  • Tenant identifier

  • reference

Query Parameters

  • cursor

  • limit

  • curl -k -X GET -H "data-partition-id: {partition_id}"  -H "frame-of-reference: {reference_id}" "https://{cpd_cluster_host}{:port}/osdu-storage/api/storage/v2/query/kinds?cursor={string}&limit={integer}"

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

Example responses
  • {
      "cursor": "des",
      "results": [
        [
          ""
        ]
      ]
    }

Get all records

GET /query/records

Request

Custom Headers

  • Tenant identifier

  • reference

Query Parameters

  • kind

  • cursor

  • limit

  • curl -k -X GET -H "data-partition-id: {partition_id}"  -H "frame-of-reference: {reference_id}" "https://{cpd_cluster_host}{:port}/osdu-storage/api/storage/v2/query/records?kind={string}&cursor={string}&limit={integer}"

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

Example responses
  • {
      "cursor": "des",
      "results": [
        [
          ""
        ]
      ]
    }

Get records

POST /query/records

Request

Custom Headers

  • Tenant identifier

  • reference

  • Allowable values: [*/*,application/json]

ids

  • curl -k -X POST -H "data-partition-id: {partition_id}"  -H "frame-of-reference: {reference_id}" -d '{
    "attributes": [
    "string"
    ],
    "records": [
    "string"
    ]
    }'
    "https://{cpd_cluster_host}{:port}/osdu-storage/api/storage/v2/query/records"

Response

Status Code

  • OK

  • Created

  • Unauthorized

  • Forbidden

  • Not Found

Example responses
  • {
      "invalidRecords": [
        "[opendes:doc:6d29c781d5484e1dbc34d392f58cd055,opendes:doc:6d29c781d5484e1dbc34d392f58cd034,opendes:doc:6d29c781d5484e1dbc34d392f58cd067,opendes:doc:6d29c781d5484e1dbc34d392f58cd078]"
      ],
      "records": [
        {
          "data": {
            "ResourceID": "srn:master-data/Well:2492:",
            "ResourceTypeID": "srn:type:master-data/Well:",
            "ResourceSecurityClassification": "srn:reference-data/ResourceSecurityClassification:PUBLIC:",
            "Data": {
              "IndividualTypeProperties": {
                "FacilityOperator": [
                  {
                    "FacilityOperatorOrganisationID": "srn:master-data/Organisation:nam:"
                  }
                ],
                "DataSourceOrganisationID": "srn:master-data/Organisation:tno:",
                "SpatialLocation": [
                  {
                    "Coordinates": [
                      {
                        "x": 6.91700948,
                        "y": 52.65622264
                      }
                    ],
                    "SpatialGeometryTypeID": "srn:reference-data/SpatialGeometryType:point:",
                    "VerticalCRSID": "srn:reference-data/VerticalCRS:nap:",
                    "HorizontalCRSID": "srn:reference-data/HorizontalCRS:WGS84:",
                    "HeightAboveGroundLevelUOMID": "srn:reference-data/UnitOfMeasure:m:"
                  }
                ],
                "FacilityName": "SCH-586",
                "FacilityNameAlias": [
                  {
                    "AliasName": "SCH-586",
                    "AliasNameTypeID": "srn:reference-data/AliasNameType:name:"
                  },
                  {
                    "AliasName": "2492",
                    "AliasNameTypeID": "srn:reference-data/AliasNameType:UWI:"
                  }
                ],
                "FacilityState": [
                  {
                    "FacilityStateTypeID": "srn:reference-data/FacilityStateType:Abandoned:"
                  }
                ],
                "FacilityEvent": [
                  {
                    "FacilityEventTypeID": "srn:reference-data/FacilityEventType:spud:",
                    "EffectiveDateTime": "1984-09-16T00:00:00"
                  },
                  {
                    "FacilityEventTypeID": "srn:reference-data/FacilityEventType:DRILLING FINISH:",
                    "EffectiveDateTime": "1984-10-03T00:00:00"
                  }
                ],
                "DefaultVerticalMeasurementID": "Rotary Table",
                "VerticalMeasurements": [
                  {
                    "VerticalMeasurementID": "Rotary Table",
                    "VerticalMeasurementTypeID": "srn:reference-data/VerticalMeasurementType:Rotary Table:",
                    "VerticalMeasurement": 20,
                    "VerticalMeasurementPathID": "srn:reference-data/VerticalMeasurementPath:Elevation:",
                    "VerticalMeasurementUnitOfMeasureID": "srn:reference-data/UnitOfMeasure:m:",
                    "VerticalCRSID": "srn:reference-data/VerticalCRS:nap:"
                  }
                ],
                "OperatingEnvironmentID": "srn:reference-data/WellOperatingEnvironment:on:",
                "CountryID": "srn:master-data/GeopoliticalEntity:Netherlands:",
                "StateProvinceID": "srn:master-data/GeopoliticalEntity:Drenthe:",
                "QuadrantID": "srn:master-data/GeopoliticalEntity:d:"
              }
            },
            "meta": null,
            "id": "opendes:doc:0f23276e96274461872adcb222f1ef1d",
            "version": 1599141178852896,
            "kind": "opendes:osdu-r2-core:test:1.0.0",
            "acl": {
              "viewers": [
                "data.default.viewers@opendes.ibm.com"
              ],
              "owners": [
                "data.default.owners@opendes.ibm.com"
              ]
            },
            "legal": {
              "legaltags": [
                "opendes-public-usa-dataset-1"
              ],
              "otherRelevantDataCountries": [
                "US"
              ],
              "status": "compliant"
            },
            "createUser": "osdu-dev@odi.ibm.com",
            "createTime": "2020-09-03T13:53:00.719Z"
          }
        }
      ],
      "retryRecords": [
        "[opendes:doc:6d29c781d5484e1dbc34d392f58cd055,opendes:doc:6d29c781d5484e1dbc34d392f58cd034,opendes:doc:6d29c781d5484e1dbc34d392f58cd067,opendes:doc:6d29c781d5484e1dbc34d392f58cd078]"
      ]
    }
  • {
      "_messageCode_": "201",
      "message": "Created"
    }

Fetch records

POST /query/records:batch

Request

Custom Headers

  • Tenant identifier

  • reference

  • Allowable values: [*/*,application/json]

ids

  • curl -k -X POST -H "data-partition-id: {partition_id}"  -H "frame-of-reference: {reference_id}" -d '{
    "records": [
    "string"
    ]
    }'
    "https://{cpd_cluster_host}{:port}/osdu-storage/api/storage/v2/query/records:batch"

Response

Status Code

  • OK

  • Created

  • Unauthorized

  • Forbidden

  • Not Found

Example responses
  • {
      "conversionStatuses": [
        {
          "errors": [
            "[value invalid,value not present]"
          ],
          "id": "AE12345",
          "status": "Invalid"
        }
      ],
      "notFound": [
        "[opendes:doc:6d29c781d5484e1dbc34d392f58cd055,opendes:doc:6d29c781d5484e1dbc34d392f58cd034,opendes:doc:6d29c781d5484e1dbc34d392f58cd067,opendes:doc:6d29c781d5484e1dbc34d392f58cd078]"
      ],
      "records": [
        {
          "data": {
            "ResourceID": "srn:master-data/Well:2492:",
            "ResourceTypeID": "srn:type:master-data/Well:",
            "ResourceSecurityClassification": "srn:reference-data/ResourceSecurityClassification:PUBLIC:",
            "Data": {
              "IndividualTypeProperties": {
                "FacilityOperator": [
                  {
                    "FacilityOperatorOrganisationID": "srn:master-data/Organisation:nam:"
                  }
                ],
                "DataSourceOrganisationID": "srn:master-data/Organisation:tno:",
                "SpatialLocation": [
                  {
                    "Coordinates": [
                      {
                        "x": 6.91700948,
                        "y": 52.65622264
                      }
                    ],
                    "SpatialGeometryTypeID": "srn:reference-data/SpatialGeometryType:point:",
                    "VerticalCRSID": "srn:reference-data/VerticalCRS:nap:",
                    "HorizontalCRSID": "srn:reference-data/HorizontalCRS:WGS84:",
                    "HeightAboveGroundLevelUOMID": "srn:reference-data/UnitOfMeasure:m:"
                  }
                ],
                "FacilityName": "SCH-586",
                "FacilityNameAlias": [
                  {
                    "AliasName": "SCH-586",
                    "AliasNameTypeID": "srn:reference-data/AliasNameType:name:"
                  },
                  {
                    "AliasName": "2492",
                    "AliasNameTypeID": "srn:reference-data/AliasNameType:UWI:"
                  }
                ],
                "FacilityState": [
                  {
                    "FacilityStateTypeID": "srn:reference-data/FacilityStateType:Abandoned:"
                  }
                ],
                "FacilityEvent": [
                  {
                    "FacilityEventTypeID": "srn:reference-data/FacilityEventType:spud:",
                    "EffectiveDateTime": "1984-09-16T00:00:00"
                  },
                  {
                    "FacilityEventTypeID": "srn:reference-data/FacilityEventType:DRILLING FINISH:",
                    "EffectiveDateTime": "1984-10-03T00:00:00"
                  }
                ],
                "DefaultVerticalMeasurementID": "Rotary Table",
                "VerticalMeasurements": [
                  {
                    "VerticalMeasurementID": "Rotary Table",
                    "VerticalMeasurementTypeID": "srn:reference-data/VerticalMeasurementType:Rotary Table:",
                    "VerticalMeasurement": 20,
                    "VerticalMeasurementPathID": "srn:reference-data/VerticalMeasurementPath:Elevation:",
                    "VerticalMeasurementUnitOfMeasureID": "srn:reference-data/UnitOfMeasure:m:",
                    "VerticalCRSID": "srn:reference-data/VerticalCRS:nap:"
                  }
                ],
                "OperatingEnvironmentID": "srn:reference-data/WellOperatingEnvironment:on:",
                "CountryID": "srn:master-data/GeopoliticalEntity:Netherlands:",
                "StateProvinceID": "srn:master-data/GeopoliticalEntity:Drenthe:",
                "QuadrantID": "srn:master-data/GeopoliticalEntity:d:"
              }
            },
            "meta": null,
            "id": "opendes:doc:0f23276e96274461872adcb222f1ef1d",
            "version": 1599141178852896,
            "kind": "opendes:osdu-r2-core:test:1.0.0",
            "acl": {
              "viewers": [
                "data.default.viewers@opendes.ibm.com"
              ],
              "owners": [
                "data.default.owners@opendes.ibm.com"
              ]
            },
            "legal": {
              "legaltags": [
                "opendes-public-usa-dataset-1"
              ],
              "otherRelevantDataCountries": [
                "US"
              ],
              "status": "compliant"
            },
            "createUser": "osdu-dev@odi.ibm.com",
            "createTime": "2020-09-03T13:53:00.719Z"
          }
        }
      ],
      "retryRecords": [
        "[opendes:doc:6d29c781d5484e1dbc34d392f58cd056,opendes:doc:6d29c781d5484e1dbc34d392f58cd014,opendes:doc:6d29c781d5484e1dbc34d392f58cd097,opendes:doc:6d29c781d5484e1dbc34d392f58cd058]"
      ]
    }
  • {
      "_messageCode_": "201",
      "message": "Created"
    }

Create or update records

PUT /records

Request

Custom Headers

  • Tenant identifier

  • reference

  • Allowable values: [*/*,application/json]

Query Parameters

  • skipdupes

records

  • curl -k -X PUT -H "data-partition-id: {partition_id}"  -H "frame-of-reference: {reference_id} -d '[
    {
    "acl": {
    "owners": [
    "string"
    ],
    "viewers": [
     "string"
    ]
    },
    "ancestry": {
    "parents": [
    "string"
    ]
    },
    "data": {},
    "id": "common:welldb:123456",
    "kind": "common:welldb:wellbore:1.0.0",
    "legal": {
    "legaltags": [
    "string"
    ],
    "otherRelevantDataCountries": [
    "string"
    ],
    "status": "compliant"
    },
    "meta": [
    {
    "additionalProp1": {},
    "additionalProp2": {},
    "additionalProp3": {}
    }
    ],
    "version": 0
    }
    ]'
    "https://{cpd_cluster_host}{:port}/osdu-storage/api/storage/v2/records"

Response

Status Code

  • OK

  • Created

  • Unauthorized

  • Forbidden

  • Not Found

Example responses
  • {
      "recordCount": 12,
      "recordIds": [
        "[opendes:doc:6d29c781d5484e1dbc34d392f58cd055,opendes:doc:6d29c781d5484e1dbc34d392f58cd034,opendes:doc:6d29c781d5484e1dbc34d392f58cd067,opendes:doc:6d29c781d5484e1dbc34d392f58cd078]"
      ],
      "skippedRecordIds": [
        "[opendes:doc:6d29c781d5484e1dbc34d392f58cd058,opendes:doc:6d29c781d5484e1dbc34d392f58cd036,opendes:doc:6d29c781d5484e1dbc34d392f58cd017]"
      ]
    }
  • {
      "_messageCode_": "201",
      "message": "Created"
    }

Update records metadata

PATCH /records

Request

Custom Headers

  • Tenant identifier

  • reference

  • Allowable values: [*/*,application/json]

Record bulk update param

  • curl -k -X PATCH -H "data-partition-id: {partition_id}" -H "frame-of-reference: {reference_id} -d '{
    "ops": [
    {
    "op": "replace",
    "path": "/acl/owners",
    "value": [
    "string"
    ]
    }
    ],
    "query": {
    "ids": "common:welldb:123456"
    }
    }'
    "https://{cpd_cluster_host}{:port}/osdu-storage/api/storage/v2/query/records"

Response

Status Code

  • OK

  • No Content

  • Unauthorized

  • Forbidden

Example responses
  • {
      "lockedRecordIds": [
        "[A12345,X45678,Y45678]"
      ],
      "notFoundRecordIds": [
        "[A12349,X45671,Y45673]"
      ],
      "recordCount": 121,
      "recordIds": [
        "[A12345,X45678,Y45678]"
      ],
      "unAuthorizedRecordIds": [
        "[A12346,X45688,Y45768]"
      ]
    }
  • {
      "_messageCode_": "204",
      "message": "No Content"
    }

Get record versions

GET /records/versions/{id}

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • id

  • curl -k -X GET -H "data-partition-id: {partition_id}"  -H "frame-of-reference: {reference_id}" "https://{cpd_cluster_host}{:port}/osdu-storage/api/storage/v2/records/versions/{id}"

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

Example responses
  • {
      "recordId": "opendes:doc:6d29c781d5484e1dbc34d392f58cd067",
      "versions": [
        1
      ]
    }

Get latest record version

GET /records/{id}

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • identifier

Query Parameters

  • attribute

  • curl -k -X GET -H "data-partition-id: {partition_id}"  -H "frame-of-reference: {reference_id}" "https://{cpd_cluster_host}{:port}/osdu-storage/api/storage/v2/records/{id}"

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

Example responses
  • {
      "_messageCode_": "200",
      "message": "OK"
    }

Purge record

DELETE /records/{id}

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • identifier

  • curl -k -X DELETE -H "data-partition-id: {partition_id}"  -H "frame-of-reference: {reference_id}" "https://{cpd_cluster_host}{:port}/osdu-storage/api/storage/v2/records/{id}"

Response

Status Code

  • OK

  • No Content

  • Unauthorized

  • Forbidden

Example responses
  • {
      "_messageCode_": "200",
      "message": "OK"
    }
  • {
      "_messageCode_": "204",
      "message": "No Content"
    }

Get specific record version

GET /records/{id}/{version}

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • identifier

  • version

Query Parameters

  • attribute

  • curl -k -X GET -H "data-partition-id: {partition_id}"  -H "frame-of-reference: {reference_id}" "https://{cpd_cluster_host}{:port}/osdu-storage/api/storage/v2/records/{id}/{version}"

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

Example responses
  • {
      "_messageCode_": "200",
      "message": "Success",
      "*/*": "string"
    }

Delete record

POST /records/{id}:delete

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • identifier

  • curl -k -X POST -H "data-partition-id: {partition_id}" -H "frame-of-reference: {reference_id} "https://{cpd_cluster_host}{:port}/osdu-storage/api/storage/v2/records/{id}:delete"

Response

Status Code

  • OK

  • Created

  • Unauthorized

  • Forbidden

  • Not Found

Example responses
  • {
      "_messageCode_": "200",
      "message": "OK"
    }
  • {
      "_messageCode_": "201",
      "message": "Created"
    }

Bulk delete of records

POST /records/delete

Request

Custom Headers

  • tenant

  • reference

recordIs

  • curl -k -X POST -H "data-partition-id: {partition_id}" -d '{
    "records": ["record_ids"]
    }'
    "https://{cpd_cluster_host}{:port}/osdu-storage/api/storage/v2/records/delete"

Response

Status Code

  • OK

  • Created

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get all workflows for a tenant

GET /workflow

Request

Custom Headers

  • The file type or format of the request body

  • Tenant identifier

Query Parameters

  • Text to search workflow by name

  • curl -k -X GET https://{HOSTNAME}:{PORT_NUMBER}/osdu-workflow/api/workflow/v1/workflow -H 'content-type: application/json' -H "data-partition-id: {partition_id}"
    

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Create a workflow

POST /workflow

Request

Custom Headers

  • The file type or format of the request body

  • Tenant identifier

  • Allowable values: [*/*,application/json]

request

  • curl -k -X POST https://{HOSTNAME}:{PORT_NUMBER}/osdu-workflow/api/workflow/v1/workflow -H 'content-type: application/json' -H "data-partition-id: {partition_id}" -d '{
        "description": "This is csv parser workflow",
        "registrationInstructions": {},
        "workflowName": "{{workflow_name}}"
        }'
    

Response

Status Code

  • OK

  • Created

  • Unauthorized

  • Forbidden

  • Not Found

Example responses
  • {
      "_messageCode_": "201",
      "message": "Created"
    }

Get a specific workflow based on its name

GET /workflow/{workflow_name}

Request

Custom Headers

  • The file type or format of the request body

  • Tenant identifier

Path Parameters

  • Workflow name

  • curl -k -X GET https://{HOSTNAME}:{PORT_NUMBER}/osdu-workflow/api/workflow/v1/workflow/{{workflow_name}} -H 'content-type: application/json' -H "data-partition-id: {partition_id}"
    

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Delete a specific workflow based on its name

DELETE /workflow/{workflow_name}

Request

Custom Headers

  • The file type or format of the request body

  • Tenant identifier

Path Parameters

  • Workflow name

  • curl -k -X DELETE https://{HOSTNAME}:{PORT_NUMBER}/osdu-workflow/api/workflow/v1/workflow/{{workflow_name}} -H 'content-type: application/json' -H "data-partition-id: {partition_id}"
    

Response

Status Code

  • No Content

  • Unauthorized

  • Forbidden

No Sample Response

This method does not specify any sample responses.

Get all instances that were run for a given workflow

GET /workflow/{workflow_name}/workflowRun

Request

Custom Headers

  • The file type or format of the request body

  • Tenant identifier

Path Parameters

  • Workflow name

Query Parameters

  • Set of parameters that filter instances

  • curl -k -X GET https://{HOSTNAME}:{PORT_NUMBER}/osdu-workflow/api/workflow/v1/workflow/{{workflow_name}}/workflowRun -H 'content-type: application/json' -H "data-partition-id: {partition_id}"
    

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Trigger a workflow based on its name

POST /workflow/{workflow_name}/workflowRun

Request

Custom Headers

  • The file type or format of the request body

  • Tenant identifier

  • Allowable values: [*/*,application/json]

Path Parameters

  • Workflow name

Request body structure

  • curl -k -X POST https://{HOSTNAME}:{PORT_NUMBER}/osdu-workflow/api/workflow/v1/workflow/{{workflow_name}}/workflowRun -H 'content-type: application/json' -H "data-partition-id: {partition_id}" -d '{
    "executionContext": {"data-partition-id": "opendes"},
    "runId": "{{runid}}"
    }'
    

Response

Status Code

  • OK

  • Created

  • Unauthorized

  • Forbidden

  • Not Found

Example responses
  • {
      "_messageCode_": "201",
      "message": "Created"
    }

Get a workflow that was run based on the run ID

GET /workflow/{workflow_name}/workflowRun/{runId}

Request

Custom Headers

  • The file type or format of the request body

  • Tenant identifier

Path Parameters

  • Run ID

  • Workflow name

  • curl -k -X GET https://{HOSTNAME}:{PORT_NUMBER}/osdu-workflow/api/workflow/v1/workflow/{{workflow_name}}/workflowRun/{{runid}} -H 'content-type: application/json' -H "data-partition-id: {partition_id}"
    

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Update the workflow for a specific run

PUT /workflow/{workflow_name}/workflowRun/{runId}

Request

Custom Headers

  • The file type or format of the request body

  • Tenant identifier

  • Allowable values: [*/*,application/json]

Path Parameters

  • Run ID

  • Workflow name

Request body structure

  • curl -k -X PUT https://{HOSTNAME}:{PORT_NUMBER}/osdu-workflow/api/workflow/v1/workflow/{{workflow_name}}/workflowRun/{{runid}} -H 'content-type: application/json' -H "data-partition-id: {partition_id}" -d '{
        "status": "submitted"
        }'
    

Response

Status Code

  • OK

  • Created

  • Unauthorized

  • Forbidden

  • Not Found

Example responses
  • {
      "_messageCode_": "201",
      "message": "Created"
    }

Know about the Wellbore DDMS service

GET /ddms/v2/about

Request

No Request Parameters

This method does not accept any request parameters.

  • curl -k -X GET 'https://{HOSTNAME}:{PORT_NUMBER}/osdu-wellbore/api/os-wellbore-ddms/ddms/v2/about'
    

Response

Status Code

  • Successful Response

No Sample Response

This method does not specify any sample responses.

Get Wellbore DDMS service version

GET /ddms/v2/version

Request

No Request Parameters

This method does not accept any request parameters.

  • curl -k -X GET 'https://{HOSTNAME}:{PORT_NUMBER}/osdu-wellbore/api/os-wellbore-ddms/ddms/v2/version' -H 'Authorization: Bearer {{token}}'
    

Response

Status Code

  • Successful Response

No Sample Response

This method does not specify any sample responses.

Get the status of the Wellbore DDMS service

GET /ddms/v2/status

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

  • curl -k -X GET 'https://{HOSTNAME}:{PORT_NUMBER}/osdu-wellbore/api/os-wellbore-ddms/ddms/v2/status' -H 'Authorization: Bearer {{token}}'
    

Response

The base model forbids fields which are not declared initially in the pydantic model

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get the Well object by using wks:well:1.0.2 schema

Get the Well object using its id.

If the well kind is wks:well:1.0.2 returns the record directly

If the well kind is different wks:well:1.0.2 it will get the raw record and convert the results to match the wks:well:1.0.2. If convertion is not possible returns an error 500.

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v2/wells/{wellid}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

The base model forbids fields which are not declared initially in the pydantic model

Status Code

  • Successful Response

  • Well not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Delete the well. The API performs a logical deletion of the given record

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

DELETE /ddms/v2/wells/{wellid}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Query Parameters

  • Whether or not to delete records children

    Default: false

Response

Status Code

  • Record deleted successfully

  • Well not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get all versions of the Well

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v2/wells/{wellid}/versions

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • Well not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get the given version of the Well object by using wks:well:1.0.2 schema

"Get the Well object using its id.

If the well kind is wks:well:1.0.2 returns the record directly

If the well kind is different wks:well:1.0.2 it will get the raw record and convert the results to match the wks:well:1.0.2. If convertion is not possible returns an error 500.

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v2/wells/{wellid}/versions/{version}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

The base model forbids fields which are not declared initially in the pydantic model

Status Code

  • Successful Response

  • Well not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Create or update the Wells by using wks:well:1.0.2 schema

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

POST /ddms/v2/wells

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

The base model forbids fields which are not declared initially in the pydantic model

Examples:
View

Response

Status Code

  • Successful Response

  • Missing mandatory parameter or unknown parameter

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get the Wellbore by using wks:wellbore:1.0.6 schema

Get the Wellbore object using its id.

If the wellbore kind is wks:wellbore:1.0.6 returns the record directly

If the wellbore kind is different wks:wellbore:1.0.6 it will get the raw record and convert the results to match the wks:wellbore:1.0.6. If convertion is not possible returns an error 500.

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v2/wellbores/{wellboreid}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

The base model forbids fields which are not declared initially in the pydantic model

Status Code

  • Successful Response

  • Wellbore not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Delete the wellbore. The API performs a logical deletion of the given record

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

DELETE /ddms/v2/wellbores/{wellboreid}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Query Parameters

  • Whether or not to delete records children

    Default: false

Response

Status Code

  • Record deleted successfully

  • Wellbore not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get all versions of the Wellbore

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v2/wellbores/{wellboreid}/versions'

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • Wellbore not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get the given version of the Wellbore by using wks:wellbore:1.0.6 schema

"Get the Wellbore object by using its id.

If the wellbore kind is wks:wellbore:1.0.6 returns the record directly

If the wellbore kind is different wks:wellbore:1.0.6 it will get the raw record and convert the results to match the wks:wellbore:1.0.6. If convertion is not possible returns an error 500.

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v2/wellbores/{wellboreid}/versions/{version}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

The base model forbids fields which are not declared initially in the pydantic model

Status Code

  • Successful Response

  • Wellbore not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Create or update the Wellbores by using wks:wellbore:1.0.6 schema

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

POST /ddms/v2/wellbores

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

The base model forbids fields which are not declared initially in the pydantic model

Examples:
View

Response

Status Code

  • Successful Response

  • Missing mandatory parameter or unknown parameter

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get the LogSet by using wks:logSet:1.0.5 schema

Get the LogSet object using its id.

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v2/logsets/{logsetid}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

The base model forbids fields which are not declared initially in the pydantic model

Status Code

  • Successful Response

  • LogSet not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Delete the LogSet. The API performs a logical deletion of the given record

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

DELETE /ddms/v2/logsets/{logsetid}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Query Parameters

  • Whether or not to delete records children

    Default: false

Response

Status Code

  • Record deleted successfully

  • LogSet not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get all versions of the logset.

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v2/logsets/{logsetid}/versions

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • LogSet not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get the given version of LogSet by using wks:logSet:1.0.5 schema

"Get the LogSet object using its id.

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v2/logsets/{logsetid}/versions/{version}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

The base model forbids fields which are not declared initially in the pydantic model

Status Code

  • Successful Response

  • LogSet not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Create or update the LogSets by using wks:logSet:1.0.5 schema

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

POST /ddms/v2/logsets

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

The base model forbids fields which are not declared initially in the pydantic model

Examples:
View

Response

Status Code

  • Successful Response

  • Missing mandatory parameter or unknown parameter

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get the trajectory by using wks:trajectory:1.0.5 schema

Get the Trajectory object using its id.

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v2/trajectories/{trajectoryid}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

The base model forbids fields which are not declared initially in the pydantic model

Status Code

  • Successful Response

  • Trajectory not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Delete the Trajectory. The API performs a logical deletion of the given record

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

DELETE /ddms/v2/trajectories/{trajectoryid}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Record deleted successfully

  • Trajectory not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get all versions of the trajectory

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v2/trajectories/{trajectoryid}/versions

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • Trajectory not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get the given version of trajectory by using wks:Trajectory:1.0.5 schema

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v2/trajectories/{trajectoryid}/versions/{version}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

The base model forbids fields which are not declared initially in the pydantic model

Status Code

  • Successful Response

  • Trajectory not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Create or update the trajectories by using wks:Trajectory:1.0.5 schema

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

POST /ddms/v2/trajectories

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

The base model forbids fields which are not declared initially in the pydantic model

Examples:
View

Response

Status Code

  • Successful Response

  • Missing mandatory parameter or unknown parameter

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Returns all data within the specified filters. Strongly consistent.

return full bulk data.

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v2/trajectories/{trajectoryid}/data

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Query Parameters

  • List of channels to get. If not provided, return all channels.

  • define format when using JSON data is used. Value can be split, index, columns, records

    Possible values: Value must match regular expression split|index|columns|records

    Default: split

Response

Status Code

  • Get trajectory data of the given channels. It uses Pandas.Dataframe json format. Here're examples for data with 5 rows for channels MD, TVD, X, Y with different orient:

    • split:
      {"columns":["MD","TVD","X","Y"],"index":[0,1,2,3,4],"data":[[0.0,0.0,1001,2001],[0.5,0.5,1002,2002],[1.0,0.75,1003,2003],[1.5,1.0,1004,2004],[2.0,1.5,1005,2005]]}
       
    • index:
      {"0":{"MD":0.0,"TVD":0.0,"X":1001,"Y":2001},"1":{"MD":0.5,"TVD":0.5,"X":1002,"Y":2002},"2":{"MD":1.0,"TVD":0.75,"X":1003,"Y":2003},"3":{"MD":1.5,"TVD":1.0,"X":1004,"Y":2004},"4":{"MD":2.0,"TVD":1.5,"X":1005,"Y":2005}}
       
    • columns:
      {"MD":{"0":0.0,"1":0.5,"2":1.0,"3":1.5,"4":2.0},"TVD":{"0":0.0,"1":0.5,"2":0.75,"3":1.0,"4":1.5},"X":{"0":1001,"1":1002,"2":1003,"3":1004,"4":1005},"Y":{"0":2001,"1":2002,"2":2003,"3":2004,"4":2005}}
       
    • records:
      [{"MD":0.0,"TVD":0.0,"X":1001,"Y":2001},{"MD":0.5,"TVD":0.5,"X":1002,"Y":2002},{"MD":1.0,"TVD":0.75,"X":1003,"Y":2003},{"MD":1.5,"TVD":1.0,"X":1004,"Y":2004},{"MD":2.0,"TVD":1.5,"X":1005,"Y":2005}]
       
    • values:
      [[0.0,0.0,1001,2001],[0.5,0.5,1002,2002],[1.0,0.75,1003,2003],[1.5,1.0,1004,2004],[2.0,1.5,1005,2005]]
       
  • No bulkURI

  • unknown channels

  • trajectory not found

  • Validation Error

  • Record has an invalid bulkURI

Example responses
  • {"columns":["MD","TVD","X","Y"],"index":[0,1,2,3,4],"data":[[0.0,0.0,1001,2001],[0.5,0.5,1002,2002],[1.0,0.75,1003,2003],[1.5,1.0,1004,2004],[2.0,1.5,1005,2005]]}

Writes the specified data to the trajectory (atomic).

Overwrite if exists.

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

POST /ddms/v2/trajectories/{trajectoryid}/data

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Query Parameters

  • define format when using JSON data is used. Value can be split, index, columns, records

    Possible values: Value must match regular expression split|index|columns|records

    Default: split

Write trajectory bulk data. Each column corresponds to a channel. It uses Pandas.Dataframe json format. Here're examples for data with 5 rows and 4 channels (MD, TVD, X, Y) with different orient:

  • split:
    {"columns":["MD","TVD","X","Y"],"index":[0,1,2,3,4],"data":[[0.0,0.0,1001,2001],[0.5,0.5,1002,2002],[1.0,0.75,1003,2003],[1.5,1.0,1004,2004],[2.0,1.5,1005,2005]]}
     
  • index:
    {"0":{"MD":0.0,"TVD":0.0,"X":1001,"Y":2001},"1":{"MD":0.5,"TVD":0.5,"X":1002,"Y":2002},"2":{"MD":1.0,"TVD":0.75,"X":1003,"Y":2003},"3":{"MD":1.5,"TVD":1.0,"X":1004,"Y":2004},"4":{"MD":2.0,"TVD":1.5,"X":1005,"Y":2005}}
     
  • columns:
    {"MD":{"0":0.0,"1":0.5,"2":1.0,"3":1.5,"4":2.0},"TVD":{"0":0.0,"1":0.5,"2":0.75,"3":1.0,"4":1.5},"X":{"0":1001,"1":1002,"2":1003,"3":1004,"4":1005},"Y":{"0":2001,"1":2002,"2":2003,"3":2004,"4":2005}}
     
  • records:
    [{"MD":0.0,"TVD":0.0,"X":1001,"Y":2001},{"MD":0.5,"TVD":0.5,"X":1002,"Y":2002},{"MD":1.0,"TVD":0.75,"X":1003,"Y":2003},{"MD":1.5,"TVD":1.0,"X":1004,"Y":2004},{"MD":2.0,"TVD":1.5,"X":1005,"Y":2005}]
     

Example: {"columns":["MD","TVD","X","Y"],"index":[0,1,2,3,4],"data":[[0.0,0.0,1001,2001],[0.5,0.5,1002,2002],[1.0,0.75,1003,2003],[1.5,1.0,1004,2004],[2.0,1.5,1005,2005]]}

Response

Status Code

  • Successful Response

  • trajectory not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get the marker by using wks:marker:1.0.4 schema

Get the Marker object using its id.

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v2/markers/{markerid}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

The base model forbids fields which are not declared initially in the pydantic model

Status Code

  • Successful Response

  • marker not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Delete the marker. The API performs a logical deletion of the given record

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

DELETE /ddms/v2/markers/{markerid}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Record deleted successfully

  • Marker not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get all versions of the marker

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v2/markers/{markerid}/versions

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • marker not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get the given version of marker by using wks:marker:1.0.4 schema

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v2/markers/{markerid}/versions/{version}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

The base model forbids fields which are not declared initially in the pydantic model

Status Code

  • Successful Response

  • marker not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Create or update the markers by using wks:marker:1.0.4 schema

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

POST /ddms/v2/markers

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

The base model forbids fields which are not declared initially in the pydantic model

Examples:
View

Response

Status Code

  • Successful Response

  • Missing mandatory parameter or unknown parameter

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get the Log using wks:log:1.0.5 schema

Get the log object using its data ecosystem id.

If the log kind is wks:log:1.0.5 returns the record directly

If the wellbore kind is different wks:log:1.0.5 it will get the raw record and convert the results to match the wks:log:1.0.5. If conversion is not possible returns an error 500.

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v2/logs/{logid}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

The base model forbids fields which are not declared initially in the pydantic model

Status Code

  • Successful Response

  • log not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Delete the log. The API performs a logical deletion of the given record

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

DELETE /ddms/v2/logs/{logid}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Record deleted successfully

  • log not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Create or update the logs by using wks:log:1.0.5 schema

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

POST /ddms/v2/logs

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

The base model forbids fields which are not declared initially in the pydantic model

Examples:
View

Response

Status Code

  • Successful Response

  • Missing mandatory parameter or unknown parameter

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get all versions of the log

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v2/logs/{logid}/versions

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • log not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get the given version of log by using wks:log:1.0.5 schema

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v2/logs/{logid}/versions/{version}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

The base model forbids fields which are not declared initially in the pydantic model

Status Code

  • Successful Response

  • log not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Returns all data within the specified filters. Strongly consistent.

return full bulk data.

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v2/logs/{logid}/data

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Query Parameters

  • define format when using JSON data is used. Value can be split, index, columns, records, values

    Possible values: Value must match regular expression split|index|columns|records|values

    Default: split

  • The json path to the bulk reference (see https://goessner.net/articles/JsonPath/). Required for non wks:log.

Response

Status Code

  • Get log bulk data in format in the given orient value. It uses Pandas.Dataframe json format. Here're examples for data with 5 rows and 3 columns with different orient:

    • split:
      {"columns":["Ref","col_100X","col_200X"],"index":[0,1,2,3,4],"data":[[0.0,1001,2001],[0.5,1002,2002],[1.0,1003,2003],[1.5,1004,2004],[2.0,1005,2005]]}
       
    • index:
      {"0":{"Ref":0.0,"col_100X":1001,"col_200X":2001},"1":{"Ref":0.5,"col_100X":1002,"col_200X":2002},"2":{"Ref":1.0,"col_100X":1003,"col_200X":2003},"3":{"Ref":1.5,"col_100X":1004,"col_200X":2004},"4":{"Ref":2.0,"col_100X":1005,"col_200X":2005}}
       
    • columns:
      {"Ref":{"0":0.0,"1":0.5,"2":1.0,"3":1.5,"4":2.0},"col_100X":{"0":1001,"1":1002,"2":1003,"3":1004,"4":1005},"col_200X":{"0":2001,"1":2002,"2":2003,"3":2004,"4":2005}}
       
    • records:
      [{"Ref":0.0,"col_100X":1001,"col_200X":2001},{"Ref":0.5,"col_100X":1002,"col_200X":2002},{"Ref":1.0,"col_100X":1003,"col_200X":2003},{"Ref":1.5,"col_100X":1004,"col_200X":2004},{"Ref":2.0,"col_100X":1005,"col_200X":2005}]
       
    • values:
      [[0.0,1001,2001],[0.5,1002,2002],[1.0,1003,2003],[1.5,1004,2004],[2.0,1005,2005]]
       
  • log not found

  • Validation Error

Example responses
  • {"columns":["Ref","col_100X","col_200X"],"index":[0,1,2,3,4],"data":[[0.0,1001,2001],[0.5,1002,2002],[1.0,1003,2003],[1.5,1004,2004],[2.0,1005,2005]]}

Writes the specified data to the log (atomic).

Overwrite if exists.

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

POST /ddms/v2/logs/{logid}/data

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Query Parameters

  • define format when using JSON data is used. Value can be split, index, columns, records, values

    Possible values: Value must match regular expression split|index|columns|records|values

    Default: split

  • The json path to the bulk reference (see https://goessner.net/articles/JsonPath/). Required for non wks:log.

Write log bulk data. It uses Pandas.Dataframe json format. Here're examples for data with 5 rows and 3 columns with different orient:

  • split:
    {"columns":["Ref","col_100X","col_200X"],"index":[0,1,2,3,4],"data":[[0.0,1001,2001],[0.5,1002,2002],[1.0,1003,2003],[1.5,1004,2004],[2.0,1005,2005]]}
     
  • index:
    {"0":{"Ref":0.0,"col_100X":1001,"col_200X":2001},"1":{"Ref":0.5,"col_100X":1002,"col_200X":2002},"2":{"Ref":1.0,"col_100X":1003,"col_200X":2003},"3":{"Ref":1.5,"col_100X":1004,"col_200X":2004},"4":{"Ref":2.0,"col_100X":1005,"col_200X":2005}}
     
  • columns:
    {"Ref":{"0":0.0,"1":0.5,"2":1.0,"3":1.5,"4":2.0},"col_100X":{"0":1001,"1":1002,"2":1003,"3":1004,"4":1005},"col_200X":{"0":2001,"1":2002,"2":2003,"3":2004,"4":2005}}
     
  • records:
    [{"Ref":0.0,"col_100X":1001,"col_200X":2001},{"Ref":0.5,"col_100X":1002,"col_200X":2002},{"Ref":1.0,"col_100X":1003,"col_200X":2003},{"Ref":1.5,"col_100X":1004,"col_200X":2004},{"Ref":2.0,"col_100X":1005,"col_200X":2005}]
     
  • values:
    [[0.0,1001,2001],[0.5,1002,2002],[1.0,1003,2003],[1.5,1004,2004],[2.0,1005,2005]]
     

Response

Status Code

  • Successful Response

  • log not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Writes the data to the log. Support json file (then orient must be provided) and parquet

Overwrite if exists.

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

POST /ddms/v2/logs/{logid}/upload_data

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Query Parameters

  • define format when using JSON data is used. Value can be split, index, columns, records, values

    Possible values: Value must match regular expression split|index|columns|records|values

    Default: split

  • The json path to the bulk reference (see https://goessner.net/articles/JsonPath/). Required for non wks:log.

Form Parameters

Response

Status Code

  • Successful Response

  • invalid request

  • log not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Data statistics

This API will return count, mean, std, min, max and percentiles of each column.

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v2/logs/{logid}/statistics

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Query Parameters

  • The json path to the bulk reference (see https://goessner.net/articles/JsonPath/). Required for non wks:log.

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Returns all data within the specified filters. Strongly consistent.

return full bulk data.

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v2/logs/{logid}/versions/{version}/data

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Query Parameters

  • define format when using JSON data is used. Value can be split, index, columns, records, values

    Possible values: Value must match regular expression split|index|columns|records|values

    Default: split

  • The json path to the bulk reference (see https://goessner.net/articles/JsonPath/). Required for non wks:log.

Response

Status Code

  • Get log bulk data in format in the given orient value. It uses Pandas.Dataframe json format. Here're examples for data with 5 rows and 3 columns with different orient:

    • split:
      {"columns":["Ref","col_100X","col_200X"],"index":[0,1,2,3,4],"data":[[0.0,1001,2001],[0.5,1002,2002],[1.0,1003,2003],[1.5,1004,2004],[2.0,1005,2005]]}
       
    • index:
      {"0":{"Ref":0.0,"col_100X":1001,"col_200X":2001},"1":{"Ref":0.5,"col_100X":1002,"col_200X":2002},"2":{"Ref":1.0,"col_100X":1003,"col_200X":2003},"3":{"Ref":1.5,"col_100X":1004,"col_200X":2004},"4":{"Ref":2.0,"col_100X":1005,"col_200X":2005}}
       
    • columns:
      {"Ref":{"0":0.0,"1":0.5,"2":1.0,"3":1.5,"4":2.0},"col_100X":{"0":1001,"1":1002,"2":1003,"3":1004,"4":1005},"col_200X":{"0":2001,"1":2002,"2":2003,"3":2004,"4":2005}}
       
    • records:
      [{"Ref":0.0,"col_100X":1001,"col_200X":2001},{"Ref":0.5,"col_100X":1002,"col_200X":2002},{"Ref":1.0,"col_100X":1003,"col_200X":2003},{"Ref":1.5,"col_100X":1004,"col_200X":2004},{"Ref":2.0,"col_100X":1005,"col_200X":2005}]
       
    • values:
      [[0.0,1001,2001],[0.5,1002,2002],[1.0,1003,2003],[1.5,1004,2004],[2.0,1005,2005]]
       
  • log not found

  • Validation Error

Example responses
  • {"columns":["Ref","col_100X","col_200X"],"index":[0,1,2,3,4],"data":[[0.0,1001,2001],[0.5,1002,2002],[1.0,1003,2003],[1.5,1004,2004],[2.0,1005,2005]]}

Returns a decimated version of all data within the specified filters. Eventually consistent.

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v2/logs/{logid}/decimated

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Query Parameters

  • Number of division desired

  • The start value for the log decimation

  • The stop value for the log decimation

  • define format when using JSON data is used. Value can be split, index, columns, records, values

    Possible values: Value must match regular expression split|index|columns|records|values

    Default: split

  • The json path to the bulk reference (see https://goessner.net/articles/JsonPath/). Required for non wks:log.

Response

Status Code

  • Successful Response

  • log not found

  • log is not compatible with decimation

No Sample Response

This method does not specify any sample responses.

Create or update the DipSets using wks:dipSet:1.0.0 schema

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

POST /ddms/v2/dipsets

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

The base model forbids fields which are not declared initially in the pydantic model

Examples:
View

Response

Status Code

  • Successful Response

  • Missing mandatory parameter or unknown parameter

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get the given version of DipSet by using wks:dipset:1.0.0 schema

"Get the DipSet object by using its id.

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v2/dipsets/{dipsetid}/versions/{version}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

The base model forbids fields which are not declared initially in the pydantic model

Status Code

  • Successful Response

  • DipSet not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get all versions of the dipset

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v2/dipsets/{dipsetid}/versions

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • DipSet not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get the DipSet by using wks:dipSet:1.0.0 schema

Get the DipSet object using its id.

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v2/dipsets/{dipsetid}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

The base model forbids fields which are not declared initially in the pydantic model

Status Code

  • Successful Response

  • DipSet not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Delete the DipSet. The API performs a logical deletion of the given record.

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

DELETE /ddms/v2/dipsets/{dipsetid}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Query Parameters

  • Whether or not to delete records children

    Default: false

Response

Status Code

  • Record deleted successfully

  • DipSet not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get dips

Return dips from a dipset from the given index until the given number of dips specifed in query parameters. If not specified returns all dips from a dipset.

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v2/dipsets/{dipsetid}/dips

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Query Parameters

  • Possible values: value ≥ 0

  • Possible values: value ≥ 0

Response

Status Code

  • Successful Response

  • DipSet not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Define the dips of the dipset

Replace previous dips by provided dips. Sort dips by reference and azimuth.

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

POST /ddms/v2/dipsets/{dipsetid}/dips

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

  • The ID of the dipset

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Insert dip in a dipset

Insert dips in dipset. Existing dips are not replaced. Several dip can have same reference. Operation will sort by reference all dips in dipset (may modify dip indexes).

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

POST /ddms/v2/dipsets/{dipsetid}/dips/insert

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Query dip from a dipset

Search dip within reference interval and specific classification.

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v2/dipsets/{dipsetid}/dips/query

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Query Parameters

  • Min reference for the dips to search in the dipset

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get a dip at at the given index

"Return dip from dipset at the given index.

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v2/dipsets/{dipsetid}/dips/{index}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • DipSet or index not found

  • Validation Error

Example responses
  • {
      "reference": {
        "unitKey": "meter",
        "value": 1000.5
      },
      "azimuth": {
        "unitKey": "dega",
        "value": 42
      },
      "inclination": {
        "unitKey": "dega",
        "value": 9
      },
      "quality": {
        "unitKey": "unitless",
        "value": 0.5
      },
      "xCoordinate": {
        "unitKey": "meter",
        "value": 2
      },
      "yCoordinate": {
        "unitKey": "meter",
        "value": 45
      },
      "zCoordinate": {
        "unitKey": "meter",
        "value": 7
      },
      "classification": "fracture"
    }

Delete a dip

Removes the dip at index.

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

DELETE /ddms/v2/dipsets/{dipsetid}/dips/{index}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • DipSet or index not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Update a dip

"Update a dip at index. Operation will sort by reference all dips in a dipset (may modify dip indexes).

PATCH /ddms/v2/dipsets/{dipsetid}/dips/{index}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Examples:
View

Response

Status Code

  • Successful Response

  • DipSet not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get the Wellbore using identifier

Get the Wellbore object using its id.

If the id is a Delfi Wellbore Id, tries to convert it on the fly to return the Wellbore as an osdu Wellbore.

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v3/wellbores/{wellboreid}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

A hole in the ground extending from a point at the earth's surface to the maximum point of penetration.

Status Code

  • Successful Response

  • Wellbore not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Delete the wellbore. The API performs a logical deletion of the given record. There is no recursive deletion for the OSDU kinds.

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

DELETE /ddms/v3/wellbores/{wellboreid}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Record deleted successfully

  • Wellbore not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get all versions of the Wellbore

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v3/wellbores/{wellboreid}/versions

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • Wellbore not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get the given version of the Wellbore using OSDU wellbore schema

"Get the Wellbore object using its id.

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v3/wellbores/{wellboreid}/versions/{version}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

A hole in the ground extending from a point at the earth's surface to the maximum point of penetration.

Status Code

  • Successful Response

  • Wellbore not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Create or update the Wellbores

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

POST /ddms/v3/wellbores

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

A hole in the ground extending from a point at the earth's surface to the maximum point of penetration.

Examples:
View

Response

Status Code

  • Successful Response

  • Missing mandatory parameter or unknown parameter

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get the Well using identifier

Get the Well object using its id.

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v3/wells/{wellid}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

The origin of a set of wellbores.

Status Code

  • Successful Response

  • Well not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Delete the well. The API performs a logical deletion of the given record. No recursive delete for OSDU kinds

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

DELETE /ddms/v3/wells/{wellid}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Record deleted successfully

  • Well not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get all versions of the Well

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v3/wells/{wellid}/versions

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • Well not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get the given version of the Well using OSDU well schema

"Get the Well object using its id.

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v3/wells/{wellid}/versions/{version}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

The origin of a set of wellbores.

Status Code

  • Successful Response

  • Well not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Create or update the Wells

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

POST /ddms/v3/wells

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

The origin of a set of wellbores.

Examples:
View

Response

Status Code

  • Successful Response

  • Missing mandatory parameter or unknown parameter

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get the WellLog using identifier

Get the WellLog object using its id.

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v3/welllogs/{welllogid}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • WellLog not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Delete the welllog. The API performs a logical deletion of the given record. No recursive delete for OSDU kinds

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

DELETE /ddms/v3/welllogs/{welllogid}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Record deleted successfully

  • WellLog not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get all versions of the WellLog

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v3/welllogs/{welllogid}/versions

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • WellLog not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get the given version of the WellLog using OSDU welllog schema

"Get the WellLog object using its id.

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

GET /ddms/v3/welllogs/{welllogid}/versions/{version}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • WellLog not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Create or update the WellLogs

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

POST /ddms/v3/welllogs

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Examples:
View

Response

Status Code

  • Successful Response

  • Missing mandatory parameter or unknown parameter

  • Validation Error

No Sample Response

This method does not specify any sample responses.

List sessions for a specific record.

GET /ddms/v3/welllogs/{record_id}/sessions

Request

Custom Headers

  • Tenant identifier

    Possible values: length ≥ 1

Path Parameters

Response

model of session exposed

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Create a new session on the given record for writing bulk data.

Initiate a session based on record version provided. The session is isolated from any other modifications. Inside a session, individual chunk doesn't generate new individual version. A new single version is created only at session completion 'aggregating' all updates. A typical workflow is:

  1. create a session
  2. send X chunks (can be parallelized)
  3. commit the session

Session has an expiry time. If the session is not completed before, it's automatically dropped. The session duration is specified in the request but cannot exceeds 24 hours.

POST /ddms/v3/welllogs/{record_id}/sessions

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Note: if fromVersion is provided, should we: force mode to 'update' raise an error if mode is overwrite

Response

model of session exposed

Status Code

  • Successful Response

  • Validation Error

Example responses
  • {
      "id": "xx1234",
      "recordId": "opendes:log:991234",
      "fromVersion": 25686567113,
      "mode": "update",
      "createdTime": "2021-03-07T15:49:01+00:00",
      "updatedTime": "2021-03-07T15:58:01+00:00",
      "expiry": "2021-03-08T15:49:01+00:00",
      "state": "open",
      "meta": {
        "creatorCustom": "someValue"
      }
    }

Get a specific session for a specific record.

GET /ddms/v3/welllogs/{record_id}/sessions/{session_id}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

model of session exposed

Status Code

  • Successful Response

  • Validation Error

Example responses
  • {
      "id": "xx1234",
      "recordId": "opendes:log:991234",
      "fromVersion": 25686567113,
      "mode": "update",
      "createdTime": "2021-03-07T15:49:01+00:00",
      "updatedTime": "2021-03-07T15:58:01+00:00",
      "expiry": "2021-03-08T15:49:01+00:00",
      "state": "open",
      "meta": {
        "creatorCustom": "someValue"
      }
    }

Update a session, either commit or abandon.

PATCH /ddms/v3/welllogs/{record_id}/sessions/{session_id}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

model of session exposed

Status Code

  • Successful Response

  • Validation Error

Example responses
  • {
      "id": "xx1234",
      "recordId": "opendes:log:991234",
      "fromVersion": 25686567113,
      "mode": "update",
      "createdTime": "2021-03-07T15:49:01+00:00",
      "updatedTime": "2021-03-07T15:58:01+00:00",
      "expiry": "2021-03-08T15:49:01+00:00",
      "state": "open",
      "meta": {
        "creatorCustom": "someValue"
      }
    }

Send a data chunk. Session must be complete/commit once all chunks are sent.

Send a data chunk. Session must be complete/commit once all chunks are sent. This will create a new and single version aggregating all and previous bulk.Support JSON and Parquet format ('Content_Type' must be set accordingly). In case of JSON the orient must be set accordingly. Support http chunked encoding.

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

POST /ddms/v3/welllogs/{record_id}/sessions/{session_id}/data

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

  • Allowable values: [application/json,application/x-parquet]

Path Parameters

Query Parameters

  • format for JSON only.

    Allowable values: [split,columns]

    Default: split

Contains the data corresponding to the dataframe. The header "Content-Type" must be set accordingly to the format sent:
 Parquet format(application/x-parquet): see Apache parquet website.
 JSON format (application/json): see Pandas.Dataframe JSON format. In that case 'orient' parameter must be provided . Examples in JSON for data with 5 rows and 3 columns with different orient:

  • split:
    {"columns":["Ref","col_1","col_2"],"index":[0,1,2,3,4],"data":[[0.0,1111.1,2222.1],[0.5,1111.2,2222.2],[1.0,1111.3,2222.3],[1.5,1111.4,2222.4],[2.0,1111.5,2222.5]]}
     
  • columns:
    {"Ref":{"0":0.0,"1":0.5,"2":1.0,"3":1.5,"4":2.0},"col_1":{"0":1111.1,"1":1111.2,"2":1111.3,"3":1111.4,"4":1111.5},"col_2":{"0":2222.1,"1":2222.2,"2":2222.3,"3":2222.4,"4":2222.5}}
     
Examples:
View

Response

Status Code

  • Successful Response

  • Record not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get the WellboreTrajectory by using identifier

Get the WellboreTrajectory object using its id.

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. "In addition, users must be a member of data groups to access the data.

GET /ddms/v3/wellboretrajectories/{wellboretrajectoryid}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Work Product Component describing an individual instance of a wellbore trajectory data object. Also called a deviation survey, wellbore trajectory is data that is used to calculate the position and spatial uncertainty of a planned or actual wellbore in 2-dimensional and 3-dimensional space.

Status Code

  • Successful Response

  • Wellbore Trajectory not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Delete the wellboreTrajectory. The API performs a logical deletion of the given record. No recursive delete for OSDU kinds

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

DELETE /ddms/v3/wellboretrajectories/{wellboretrajectoryid}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Record deleted successfully

  • WellboreTrajectory not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get all versions of the WellboreTrajectory

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. "In addition, users must be a member of data groups to access the data.

GET /ddms/v3/wellboretrajectories/{wellboretrajectoryid}/versions

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • WellboreTrajectory not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get the given version of the WellboreTrajectory using OSDU wellboreTrajectory schema

"Get the WellboreTrajectory object using its id.

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. "In addition, users must be a member of data groups to access the data.

GET /ddms/v3/wellboretrajectories/{wellboretrajectoryid}/versions/{version}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Work Product Component describing an individual instance of a wellbore trajectory data object. Also called a deviation survey, wellbore trajectory is data that is used to calculate the position and spatial uncertainty of a planned or actual wellbore in 2-dimensional and 3-dimensional space.

Status Code

  • Successful Response

  • WellboreTrajectory not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Create or update the WellboreTrajectories

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

POST /ddms/v3/wellboretrajectories

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Work Product Component describing an individual instance of a wellbore trajectory data object. Also called a deviation survey, wellbore trajectory is data that is used to calculate the position and spatial uncertainty of a planned or actual wellbore in 2-dimensional and 3-dimensional space.

Response

Status Code

  • Successful Response

  • Missing mandatory parameter or unknown parameter

  • Validation Error

No Sample Response

This method does not specify any sample responses.

List sessions of the given record.

GET /ddms/v3/wellboretrajectories/{record_id}/sessions

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

model of session exposed

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Create a new session for the record for writing bulk data.

Initiate a session based on record version provided. The session is isolated from any other modifications. Inside a session, individual chunk doesn't generate new individual version. A new single version is created only at session completion 'aggregating' all updates. A typical workflow is:

  1. create a session
  2. send X chunks (can be parallelized)
  3. commit the session

Session has an expiry time. If the session is not completed before, it's automatically dropped. The session duration is specified in the request but cannot exceeds 24 hours.

POST /ddms/v3/wellboretrajectories/{record_id}/sessions

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Note: if fromVersion is provided, should we: force mode to 'update' raise an error if mode is overwrite

Response

model of session exposed

Status Code

  • Successful Response

  • Validation Error

Example responses
  • {
      "id": "xx1234",
      "recordId": "opendes:log:991234",
      "fromVersion": 25686567113,
      "mode": "update",
      "createdTime": "2021-03-07T15:49:01+00:00",
      "updatedTime": "2021-03-07T15:58:01+00:00",
      "expiry": "2021-03-08T15:49:01+00:00",
      "state": "open",
      "meta": {
        "creatorCustom": "someValue"
      }
    }

Get a specific session for a specific record.

GET /ddms/v3/wellboretrajectories/{record_id}/sessions/{session_id}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

model of session exposed

Status Code

  • Successful Response

  • Validation Error

Example responses
  • {
      "id": "xx1234",
      "recordId": "opendes:log:991234",
      "fromVersion": 25686567113,
      "mode": "update",
      "createdTime": "2021-03-07T15:49:01+00:00",
      "updatedTime": "2021-03-07T15:58:01+00:00",
      "expiry": "2021-03-08T15:49:01+00:00",
      "state": "open",
      "meta": {
        "creatorCustom": "someValue"
      }
    }

Update a session, either commit or abandon.

PATCH /ddms/v3/wellboretrajectories/{record_id}/sessions/{session_id}

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

model of session exposed

Status Code

  • Successful Response

  • Validation Error

Example responses
  • {
      "id": "xx1234",
      "recordId": "opendes:log:991234",
      "fromVersion": 25686567113,
      "mode": "update",
      "createdTime": "2021-03-07T15:49:01+00:00",
      "updatedTime": "2021-03-07T15:58:01+00:00",
      "expiry": "2021-03-08T15:49:01+00:00",
      "state": "open",
      "meta": {
        "creatorCustom": "someValue"
      }
    }

Returns the data according to the specified query parameters.

Returns the data according to the specified query parameters. Multiple media types response are available ("application/json", text/csv", "application/x-parquet"). The desired format can be specify in "Accept" header. The default is Parquet. When bulk statistics are requested using "describe" parameter, the response is always provided in JSON.

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. "In addition, users must be a member of data groups to access the data.

GET /ddms/v3/wellboretrajectories/{record_id}/data

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

  • Allowable values: [application/json,application/x-parquet,text/csv]

Path Parameters

Query Parameters

  • The number of rows that are to be skipped and not included in the result.

    Possible values: value ≥ 0

    Example: 5

  • The maximum number of rows to be returned.

    Possible values: value ≥ 1

    Example: 100

  • Filters curves. List of curves to be returned. The curves are returned in the same order as it is given.

    Example: MD,GR

  • The "describe" query option allows clients to request a description of the matching result. (number of rows, columns name)

    Default: false

    Example: false

  • format for JSON only.

    Allowable values: [split,columns]

    Default: split

Response

Status Code

  • Successful Response

  • Not Found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Writes data as a whole bulk, creates a new version.

Writes data to the associated record. It creates a new version. Payload is expected to contain the entire bulk which will replace as latest version any previous bulk. Previous bulk versions are accessible via the get bulk data version API. Support JSON and Parquet format ('Content_Type' must be set accordingly). In case of JSON the orient must be set accordingly. Support http chunked encoding transfer.

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

POST /ddms/v3/wellboretrajectories/{record_id}/data

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

  • Allowable values: [application/json,application/x-parquet]

Path Parameters

Query Parameters

  • format for JSON only.

    Allowable values: [split,columns]

    Default: split

Contains the data corresponding to the dataframe. The header "Content-Type" must be set accordingly to the format sent:
 Parquet format(application/x-parquet): see Apache parquet website.
 JSON format (application/json): see Pandas.Dataframe JSON format. In that case 'orient' parameter must be provided . Examples in JSON for data with 5 rows and 3 columns with different orient:

  • split:
    {"columns":["Ref","col_1","col_2"],"index":[0,1,2,3,4],"data":[[0.0,1111.1,2222.1],[0.5,1111.2,2222.2],[1.0,1111.3,2222.3],[1.5,1111.4,2222.4],[2.0,1111.5,2222.5]]}
     
  • columns:
    {"Ref":{"0":0.0,"1":0.5,"2":1.0,"3":1.5,"4":2.0},"col_1":{"0":1111.1,"1":1111.2,"2":1111.3,"3":1111.4,"4":1111.5},"col_2":{"0":2222.1,"1":2222.2,"2":2222.3,"3":2222.4,"4":2222.5}}
     
Examples:
View

Response

Status Code

  • Successful Response

  • Not Found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Send a data chunk. Session must be complete or committed once all chunks are sent.

Send a data chunk. Session must be complete/commit once all chunks are sent. This will create a new and single version aggregating all and previous bulk.Support JSON and Parquet format ('Content_Type' must be set accordingly). In case of JSON the orient must be set accordingly. Support http chunked encoding.

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

POST /ddms/v3/wellboretrajectories/{record_id}/sessions/{session_id}/data

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

  • Allowable values: [application/json,application/x-parquet]

Path Parameters

Query Parameters

  • format for JSON only.

    Allowable values: [split,columns]

    Default: split

Contains the data corresponding to the dataframe. The header "Content-Type" must be set accordingly to the format sent:
 Parquet format(application/x-parquet): see Apache parquet website.
 JSON format (application/json): see Pandas.Dataframe JSON format. In that case 'orient' parameter must be provided . Examples in JSON for data with 5 rows and 3 columns with different orient:

  • split:
    {"columns":["Ref","col_1","col_2"],"index":[0,1,2,3,4],"data":[[0.0,1111.1,2222.1],[0.5,1111.2,2222.2],[1.0,1111.3,2222.3],[1.5,1111.4,2222.4],[2.0,1111.5,2222.5]]}
     
  • columns:
    {"Ref":{"0":0.0,"1":0.5,"2":1.0,"3":1.5,"4":2.0},"col_1":{"0":1111.1,"1":1111.2,"2":1111.3,"3":1111.4,"4":1111.5},"col_2":{"0":2222.1,"1":2222.2,"2":2222.3,"3":2222.4,"4":2222.5}}
     
Examples:
View

Response

Status Code

  • Successful Response

  • Record not found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Returns data of the specified version.

Returns the data of a specific version according to the specified query parameters. Multiple media types response are available ("application/json", text/csv", "application/x-parquet") The desired format can be specify in "Accept" header. The default is Parquet. When bulk statistics are requested using "describe" parameter, the response is always provided in JSON

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. "In addition, users must be a member of data groups to access the data.

GET /ddms/v3/wellboretrajectories/{record_id}/versions/{version}/data

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

  • Allowable values: [application/json,application/x-parquet,text/csv]

Path Parameters

Query Parameters

  • The number of rows that are to be skipped and not included in the result.

    Possible values: value ≥ 0

    Example: 5

  • The maximum number of rows to be returned.

    Possible values: value ≥ 1

    Example: 100

  • Filters curves. List of curves to be returned. The curves are returned in the same order as it is given.

    Example: MD,GR

  • The "describe" query option allows clients to request a description of the matching result. (number of rows, columns name)

    Default: false

    Example: false

  • format for JSON only.

    Allowable values: [split,columns]

    Default: split

Response

Status Code

  • Successful Response

  • Not Found

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Query

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

POST /ddms/query

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Query with cursor

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

POST /ddms/query_with_cursor

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Query with cursor

Get all Wellbores object. The wellbore kind is :wks:wellbore:. It returns all records directly based on existing schemas. Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

POST /ddms/query/wellbores

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Query with cursor in CRS format: data.wellHeadWgs84

Get all Wellbores object in a specific area. The specific area will be define by a circle based on its center coordinates (lat, lon) and radius (meters) The wellbore kind is ":wks:wellbore:" and it returns all records directly based on existing schemas. Required roles are "users.datalake.viewers" or "users.datalake.editors" or "users.datala.admins". In addition, users must be a member of data groups to access the data.

POST /ddms/query/wellbores/bydistance

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Query Parameters

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Query with cursor in CRS format: data.wellHeadWgs84

Get all Wellbores object in a specific area.

The specific area will be define by a square based on its top left coordinates (lat, lon) and its bottom right coordinates (log, lat)

The wellbore kind is :wks:wellbore: returns all records directly based on existing schemas

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

POST /ddms/query/wellbores/byboundingbox

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Query Parameters

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Query with cursor in CRS format: data.wellHeadWgs84

Get all Wellbores object in a specific area.

The specific area will be define by a polygon based on each of its coordinates (lat, lon) with a minimum of three

The wellbore kind is :wks:wellbore: returns all records directly based on existing schemas

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

POST /ddms/query/wellbores/bygeopolygon

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Query with cursor, search logSets by wellbore ID

Get all LogSets object using its relationship Wellbore ID.

All LogSets linked to this specific ID will be returned

The LogSet kind is :wks:logSet: returns all records directly based on existing schemas

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

POST /ddms/query/wellbore/{wellboreId}/logsets

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Query with cursor, search logSets by wellbore attribute

Get all LogSets object using a specific attribute of Wellbores.

All LogSets linked to Wellbores with this specific attribute will be returned

The LogSet kind is :wks:logSet: returns all records directly based on existing schemas

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

POST /ddms/query/wellbores/{wellboreAttribute}/logsets

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Query with cursor, gets logs

Get all Logs object.

The Logs kind is :wks:log: returns all records directly based on existing schemas

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

POST /ddms/query/logs

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Query with cursor, search logs by wellbore ID

Get all Logs object using its relationship Wellbore ID.

All Logs linked to this specific ID will be returned

The Log kind is :wks:log: returns all records directly based on existing schemas

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

POST /ddms/query/wellbore/{wellboreId}/logs

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Query with cursor, search logs by wellbore attribute

Get all Logs object using a specific attribute of Wellbores.

All Logs linked to Wellbores with this specific attribute will be returned

The Log kind is :wks:log: returns all records directly based on existing schemas

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

POST /ddms/query/wellbores/{wellboreAttribute}/logs

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Query with cursor, search logs by logSet ID

Get all Logs object using its relationship Logset ID.

All Logs linked to this specific ID will be returned

The Log kind is :wks:log: returns all records directly based on existing schemas

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

POST /ddms/query/logset/{logsetId}/logs

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Query with cursor, search logs by logSet attribute

Get all Logs object using a specific attribute of LogSets.

All Logs linked to LogSets with this specific attribute will be returned

The Log kind is :wks:log: returns all records directly based on existing schemas

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

POST /ddms/query/logsets/{logsetAttribute}/logs

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Query with cursor, search markers by wellbore ID

Get all Markers object using its relationship Wellbore ID.

All Markers linked to this specific ID will be returned

The Marker kind is :wks:marker: returns all records directly based on existing schemas

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

POST /ddms/query/wellbore/{wellboreId}/markers

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Query with a cursor

Get all Wellbores IDs object.

The wellbore kind is :wks:wellbore: returns all records IDs IDs directly based on existing schemas

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

POST /ddms/fastquery/wellbores

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Query with a cursor in CRS format: data.wellHeadWgs84

Get all Wellbores IDs IDs objects in a specific area.

The specific area will be define by a circle based on its center coordinates (lat, lon) and radius (meters)

The wellbore kind is :wks:wellbore: returns all records IDs IDs directly based on existing schemas

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

POST /ddms/fastquery/wellbores/bydistance

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Query Parameters

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Query with a cursor in CRS format: data.wellHeadWgs84

Get all Wellbores IDs objects in a specific area.

The specific area will be define by a square based on its top left coordinates (lat, lon) and its bottom right coordinates (log, lat)

The wellbore kind is :wks:wellbore: returns all records IDs directly based on existing schemas

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

POST /ddms/fastquery/wellbores/byboundingbox

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Query Parameters

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Query with a cursor in CRS format: data.wellHeadWgs84

Get all Wellbores IDs objects in a specific area.

The specific area will be define by a polygon based on each of its coordinates (lat, lon) with a minimum of three

The wellbore kind is :wks:wellbore: returns all records IDs directly based on existing schemas

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

POST /ddms/fastquery/wellbores/bygeopolygon

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Query with a cursor. Search logSets IDs by wellbore ID

Get all LogSets IDs objects using its relationship Wellbore ID.

All LogSets linked to this specific ID will be returned

The LogSet kind is :wks:logSet: returns all records IDs directly based on existing schemas

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

POST /ddms/fastquery/wellbore/{wellbore_id}/logsets

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Query with a cursor. Search logSets IDs by wellbore attribute.

Get all LogSets IDs objects using a specific attribute of Wellbores.

All LogSets linked to Wellbores with this specific attribute will be returned

The LogSet kind is :wks:logSet: returns all records IDs directly based on existing schemas

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

POST /ddms/fastquery/wellbores/{wellbore_attribute}/logsets

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Query with cursor. Gets logs

Get all Logs object.

The Logs kind is :wks:log: returns all records IDs directly based on existing schemas

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

POST /ddms/fastquery/logs

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Query with a cursor. Search logs IDs by wellbore ID

Get all Logs IDs objects using its relationship Wellbore ID.

All Logs linked to this specific ID will be returned

The Log kind is :wks:log: returns all records IDs directly based on existing schemas

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

POST /ddms/fastquery/wellbore/{wellbore_id}/logs

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Query with a cursor. Search logs IDs by wellbore attribute

Get all Logs IDs objects using a specific attribute of Wellbores.

All Logs linked to Wellbores with this specific attribute will be returned

The Log kind is :wks:log: returns all records IDs directly based on existing schemas

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

POST /ddms/fastquery/wellbores/{wellbore_attribute}/logs

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Query with a cursor. Search logs IDs by logSet ID.

Get all Logs IDs objects using its relationship Logset ID.

All Logs linked to this specific ID will be returned

The Log kind is :wks:log: returns all records IDs directly based on existing schemas

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

POST /ddms/fastquery/logset/{logset_id}/logs

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Query with a cursor. Search logs IDs by logSet attribute

Get all Logs IDs objects using a specific attribute of LogSets.

All Logs linked to LogSets with this specific attribute will be returned

The Log kind is :wks:log: returns all records IDs directly based on existing schemas

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

POST /ddms/fastquery/logsets/{logset_attribute}/logs

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Query with a cursor. Search markers IDs by wellbore ID

Get all Markers IDs objects using its relationship Wellbore ID.

All Markers linked to this specific ID will be returned

The Marker kind is :wks:marker: returns all records IDs directly based on existing schemas

Required roles: 'users.datalake.viewers' or 'users.datalake.editors' or 'users.datalake.admins'. In addition, users must be a member of data groups to access the data.

POST /ddms/fastquery/wellbore/{wellbore_id}/markers

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Path Parameters

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Recognize family and unit

Find the most probable family and unit using family assignment rule based catalogs. User defined catalog will have the priority.

POST /log-recognition/family

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Examples:
View

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Upload user-defined catalog with family assignment rules

Upload user-defined catalog with family assignment rules for specific partition ID. If there is an existing catalog, it will be replaced. It takes maximum of 5 mins to replace the existing catalog. Hence, any call to retrieve the family should be made after 5 mins of uploading the catalog.

Required roles: 'users.datalake.editors' or 'users.datalake.admins'.

PUT /log-recognition/upload-catalog

Request

Custom Headers

  • identifier of the data partition to query

    Possible values: length ≥ 1

Examples:
View

Response

Status Code

  • Successful Response

  • Validation Error

No Sample Response

This method does not specify any sample responses.

Get the status of the Seismic DDMS service

  • Return the seismic store service status.
  • Required roles: No Role Required
GET /svcstatus

Request

No Request Parameters

This method does not accept any request parameters.

Response

Status Code

  • service status

Example responses
  • service OK

Retrieve the tenant metadata

  • Return the tenant metadata.
  • Required roles: seistore.system.admin
GET /tenant/{tenantid}

Request

Path Parameters

  • Name of the tenant

Response

Status Code

  • Retrieved subproject metadata successfully

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

Example responses
  • {
      "name": "tnx01",
      "esd": "slb.p4d.cloud.slb-ds.com",
      "gcpid": "google_project_id"
    }

Register a seismic-dms tenant

  • Register a seismic-dms tenant in a data partition.
  • Required roles: seistore.system.admin
POST /tenant/{tenantid}

Request

Path Parameters

  • Name of the tenant

Request body

Examples:
View

Response

Status Code

  • Creation of the tenant was successful.

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

  • Conflict

Example responses
  • {
      "name": "tnx01",
      "esd": "slb.p4d.cloud.slb-ds.com",
      "gcpid": "google_project_id"
    }

Retrieve the tenant seismic store path

  • Return the seistore path to a tenant associated with the data partition.
  • Required roles: No Role Required
GET /tenant/sdpath

Request

Query Parameters

  • Tenant identifier

Response

Status Code

  • Seismic store path to the tenant retrieved successfully

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

Example responses
  • sd://tenant01

Retrieve the list of registered applications

  • Retrieve the list of the registered application in seismic store.
  • Required roles: users.datalake.admin
GET /app

Request

Query Parameters

  • Seismic store tenant path, sd://tenant

Response

Status Code

  • Retrieved list of all the registered applications successfully.

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

Example responses
  • [
      "app01@email",
      "app02@email"
    ]

Register a new application

  • Register a new application in seismic store.
  • Required roles: users.datalake.admin
POST /app

Request

Query Parameters

  • Service account email of the application

  • Seismic store tenant path, sd://tenant

Response

Status Code

  • Registration of the application was successful.

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

No Sample Response

This method does not specify any sample responses.

List the trusted applications in a seismic store tenant

  • Return the list of the trusted application in seismic store tenant.
  • Required roles: users.datalake.admin
GET /app/trusted

Request

Query Parameters

  • Seismic store tenant path in the format sd://tenant

Response

Status Code

  • Retrieved the list of all the trusted applications in the tenant

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

Example responses
  • [
      "app01@email",
      "app02@email"
    ]

Set a registered application as a trusted application

  • Set a registered application as a trusted application in seismic store.
  • Required roles: users.datalake.admin
POST /app/trusted

Request

Query Parameters

  • Service account email of the application

  • Seismic store tenant path, sd://tenant

Response

Status Code

  • Marking the application as a trusted application was successful.

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

No Sample Response

This method does not specify any sample responses.

Retrieve the subproject metadata

  • Return the metadata for a requested sub-project.
  • Required roles: subproject.admin
GET /subproject/tenant/{tenantid}/subproject/{subprojectid}

Request

Path Parameters

  • Name of the subproject

  • Name of the tenant

Response

Status Code

  • Retrieved subproject metadata successfully

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

Example responses
  • {
      "name": "spx01",
      "tenant": "tnx01",
      "storage_class": "MULTI_REGIONAL",
      "storage_location": "US",
      "admin": "test@email",
      "ltag": "Slb-Private-USA-EHC",
      "gcs_bucket": "subproject-bucket",
      "acls": {
        "admins": [
          "service.seistore.p4d.tenant01.subproject01.admin@slb.p4d.cloud.slb-ds.com",
          "service.seistore.p4d.tenant01.subproject01.editor@slb.p4d.cloud.slb-ds.com"
        ],
        "viewers": [
          "service.seistore.p4d.tenant01.subproject01.viewer@slb.p4d.cloud.slb-ds.com"
        ]
      }
    }

Create a new subproject

  • Creates a new sub-project resource in seismic store.
  • Required roles: users.datalake.admin
POST /subproject/tenant/{tenantid}/subproject/{subprojectid}

Request

Custom Headers

  • Legal tag of the datapartition/tenant

Path Parameters

  • Name of the subproject

  • Name of the tenant

Request body

Examples:
View

Response

Status Code

  • Creation of the subproject is successful.

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

  • Conflict

Example responses
  • {
      "name": "spx01",
      "tenant": "tnx01",
      "storage_class": "MULTI_REGIONAL",
      "storage_location": "US",
      "admin": "test@email",
      "ltag": "Slb-Private-USA-EHC",
      "gcs_bucket": "subproject-bucket",
      "acls": {
        "admins": [
          "service.seistore.p4d.tenant01.subproject01.admin@slb.p4d.cloud.slb-ds.com",
          "service.seistore.p4d.tenant01.subproject01.editor@slb.p4d.cloud.slb-ds.com"
        ],
        "viewers": [
          "service.seistore.p4d.tenant01.subproject01.viewer@slb.p4d.cloud.slb-ds.com"
        ]
      }
    }

Delete a subproject

  • Delete a subproject in seismic store.
  • Required roles: subproject.admin
DELETE /subproject/tenant/{tenantid}/subproject/{subprojectid}

Request

Path Parameters

  • Name of the subproject

  • Name of the tenant

Response

Status Code

  • Deletion of the subproject completed

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

No Sample Response

This method does not specify any sample responses.

Patch a subproject metadata

  • Patch a subproject metadata in seismic store.
  • Required roles: subproject.admin
PATCH /subproject/tenant/{tenantid}/subproject/{subprojectid}

Request

Custom Headers

  • Legal tag of the subproject

Path Parameters

  • Name of the tenant

  • Name of the subproject

Query Parameters

  • True if the legal tags of all datasets in a subproject needs to be updated

Response

Status Code

  • Updated subproject metadata successfully

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

Example responses
  • {
      "name": "spx01",
      "tenant": "tnx01",
      "storage_class": "MULTI_REGIONAL",
      "storage_location": "US",
      "admin": "test@email",
      "ltag": "Slb-Private-USA-EHC",
      "gcs_bucket": "subproject-bucket",
      "acls": {
        "admins": [
          "service.seistore.p4d.tenant01.subproject01.admin@slb.p4d.cloud.slb-ds.com",
          "service.seistore.p4d.tenant01.subproject01.editor@slb.p4d.cloud.slb-ds.com"
        ],
        "viewers": [
          "service.seistore.p4d.tenant01.subproject01.viewer@slb.p4d.cloud.slb-ds.com"
        ]
      }
    }

List subprojects in a tenant

  • Return the list of sub-project in a tenant.
  • Required roles: users.datalake.admin
GET /subproject/tenant/{tenantid}

Request

Path Parameters

  • Name of the tenant

Response

Status Code

  • Retrieved the list of subprojects in the tenant successfully.

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

No Sample Response

This method does not specify any sample responses.

Retrieve a dataset

  • Return the dataset metadata from seismic store.
  • Required roles: subproject.admin, subproject.editor, subproject.viewer
GET /dataset/tenant/{tenantid}/subproject/{subprojectid}/dataset/{datasetid}

Request

Path Parameters

  • Name of the tenant

  • Name of the subproject

  • Name of the dataset

Query Parameters

  • Hierarchical path of the dataset

  • Include the seismic storage metadata record if it exists

Response

The SRN which identifies this OSDU File resource.

Status Code

  • Metadata of the dataset

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

No Sample Response

This method does not specify any sample responses.

Register a new dataset

  • Register a new dataset in seismic store.
  • Required roles: subproject.admin, subproject.editor
POST /dataset/tenant/{tenantid}/subproject/{subprojectid}/dataset/{datasetid}

Request

Custom Headers

  • Legal tag of the dataset

Path Parameters

  • Name of the tenant

  • Name of the subproject

  • Name of the dataset

Query Parameters

  • Hierarchical path of the dataset

Request body

Examples:
View

Response

The SRN which identifies this OSDU File resource.

Status Code

  • Registered dataset metadata

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

  • Conflict

  • Locked. The error message contains the Reason in the form [RCODE:REASON(2-char-code)TTL(sec-number)]. Possible Reasons code are:

    • WL(Write Locked)
    • RL(Read Locked)
    • CL(Cannot be Locked)
    • UL(Cannot be Unlocked)
    For example the reason code [RCODE:RL3600] indicates the dataset is Read Locked with a TTL of 3600sec

No Sample Response

This method does not specify any sample responses.

Delete a dataset

  • Delete a dataset in seismic store.
  • Required roles: subproject.admin, subproject.editor
DELETE /dataset/tenant/{tenantid}/subproject/{subprojectid}/dataset/{datasetid}

Request

Path Parameters

  • Name of the tenant

  • Name of the subproject

  • Name of the dataset

Query Parameters

  • Hierarchical path of the dataset

Response

Status Code

  • The resource was deleted successfully.

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

No Sample Response

This method does not specify any sample responses.

Patch the dataset metadata

  • Update the dataset meta information in seismic store or close(unlock) the dataset. If the endpoint is used without the close parameter, at least one body field is required or the endpoint will return an error.
  • Required roles: subproject.admin, subproject.editor
  • Patchable fields:
    • dataset_new_name: new name to use for the dataset (rename)
    • filemetadata: this is a seistore specific field and describe how the physical data are stored in the cloud storage system (GCS/AzureContainer etc etc). This metadata is mainly used by client libraries to correctly reconstruct the dataset. For example you can store a dataset as truncated in multiple objects of 64MB each, name them from 0 to N and save the filemetadata = “{nOboject: N, totalSize: 1024, objsize: 64, sizeUnit: MB }”.
    • last_modified_date: mark this field as true to update the dataset last modified date
    • gtags: upsert tags to an existing dataset metadata. If the dataset metadata already has gtags, then new gtags are appended to this list.
    • ltag: update the existing legalTag value
    • readonly: update the dataset mode to readonly(true) or to read/write(false)
    • seismicmeta: update the DataEcosystem storage metadata (refer to the DataEcosystem storage service tutorial for more help)
PATCH /dataset/tenant/{tenantid}/subproject/{subprojectid}/dataset/{datasetid}

Request

Path Parameters

  • Name of the tenant

  • Name of the subproject

  • Name of the dataset

Query Parameters

  • Hierarchical path of the dataset

  • Non null sbit value of the dataset. Using this value here will close the dataset

Request body

Examples:
View

Response

The SRN which identifies this OSDU File resource.

Status Code

  • Metadata of the patched dataset

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

  • Conflict

  • Locked. The error message contains the Reason in the form [RCODE:REASON(2-char-code)TTL(sec-number)]. Possible Reasons code are:

    • WL(Write Locked)
    • RL(Read Locked)
    • CL(Cannot be Locked)
    • UL(Cannot be Unlocked)
    For example the reason code [RCODE:RL3600] indicates the dataset is Read Locked with a TTL of 3600sec

No Sample Response

This method does not specify any sample responses.

Acquire a lock for a dataset id

  • Open a dataset for read or write and lock its state.
  • Required roles open lock for write: subproject.admin, subproject.editor
  • Required roles open lock for read: subproject.admin, subproject.editor, subproject.viewer
PUT /dataset/tenant/{tenantid}/subproject/{subprojectid}/dataset/{datasetid}/lock

Request

Path Parameters

  • Name of the tenant

  • Name of the subproject

  • Name of the dataset

Query Parameters

  • Hierarchical path of the dataset

  • Type of the lock which can be set to 'read' (default) or 'write'

  • Session identifier issued for a previous write lock acquisition operation

Response

The SRN which identifies this OSDU File resource.

Status Code

  • Acquired a lock and the return value is the dataset metadata with session identifier stored in 'sbit' attribute

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

  • Locked. The error message contains the Reason in the form [RCODE:REASON(2-char-code)TTL(sec-number)]. Possible Reasons code are:

    • WL(Write Locked)
    • RL(Read Locked)
    • CL(Cannot be Locked)
    • UL(Cannot be Unlocked)
    For example the reason code [RCODE:RL3600] indicates the dataset is Read Locked with a TTL of 3600sec

No Sample Response

This method does not specify any sample responses.

Remove the lock associated with a dataset id.

  • Removes the lock for a dataset id.
  • Required roles: subproject.admin
PUT /dataset/tenant/{tenantid}/subproject/{subprojectid}/dataset/{datasetid}/unlock

Request

Path Parameters

  • Name of the tenant

  • Name of the subproject

  • Name of the dataset

Query Parameters

  • Hierarchical path for the dataset

Response

Status Code

  • Removed the lock value associated with dataset id

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

  • Locked. The error message contains the Reason in the form [RCODE:REASON(2-char-code)TTL(sec-number)]. Possible Reasons code are:

    • WL(Write Locked)
    • RL(Read Locked)
    • CL(Cannot be Locked)
    • UL(Cannot be Unlocked)
    For example the reason code [RCODE:RL3600] indicates the dataset is Read Locked with a TTL of 3600sec

No Sample Response

This method does not specify any sample responses.

Retrieve the access permissions of a user on a dataset id

  • Retrieve the access permission of a user on a dataset.
  • Required roles: subproject.admin, subproject.editor, subproject.viewer
GET /dataset/tenant/{tenantid}/subproject/{subprojectid}/dataset/{datasetid}/permission

Request

Path Parameters

  • Name of the tenant

  • Name of the subproject

  • Name of the dataset

Query Parameters

  • Hierarchical path for the dataset

Response

Status Code

  • User access permission on the dataset.

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

Example responses
  • {
      "read": true,
      "write": false,
      "delete": false
    }

Validate if a dataset cTag matches the pre-existing cTag in metadata catalog

  • Check if the provided dataset cTag match the one stored in the metadata catalog.
  • Required roles: subproject.admin, subproject.editor, subproject.viewer
GET /dataset/tenant/{tenantid}/subproject/{subprojectid}/dataset/{datasetid}/ctagcheck

Request

Path Parameters

  • Name of the tenant

  • Name of the subproject

  • Name of the dataset

Query Parameters

  • Hierarchical path of the dataset

  • Ctag to be validated

Response

Status Code

  • Return true if the ctag is valid or false if it is invalid

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

Example responses
  • true

Upsert tags to a dataset

  • Upsert tags to an existing dataset metadata. If the dataset metadata already has gtags, then new gtags are appended to this list.
  • Required roles: subproject.admin, subproject.editor
PUT /dataset/tenant/{tenantid}/subproject/{subprojectid}/dataset/{datasetid}/gtags

Request

Path Parameters

  • Name of the tenant

  • Name of the subproject

  • Name of the dataset

Query Parameters

  • Hierarchical path of the dataset

  • Gtags array list

Response

Status Code

  • Gtags were upserted to the dataset metadata.

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

No Sample Response

This method does not specify any sample responses.

content list

  • List datasets and sub-directories for a directory path.
  • Required roles: subproject.admin, subproject.editor, subproject.viewer
GET /dataset/tenant/{tenantid}/subproject/{subprojectid}/readdsdirfulllist

Request

Path Parameters

  • The tenant project name

  • The sub-project name

Query Parameters

  • The hierarchy path

Response

Status Code

  • The list of datasets and directories in the requested directory path.

Example responses
  • {
      "datasets": [
        "/a/b/c/dsx01",
        "/a/b/c/dsx02"
      ],
      "directories": [
        "/a/b/c/d",
        "/a/b/c/e"
      ]
    }

Get the list of datasets in a subproject

  • Return the list of datasets in a sub-project.If gtags are in the request parameters, then get only those datasets that have the exact list of gtags.
  • Required roles: subproject.admin, subproject.editor, subproject.viewer
GET /dataset/tenant/{tenantid}/subproject/{subprojectid}

Request

Path Parameters

  • Name of the tenant

  • Name of the subproject

Query Parameters

  • Gtags associated with dataset metadata

Response

The SRN which identifies this OSDU File resource.

Status Code

  • The list of all datasets in the subproject if no gtags are in the request parameters. If gtags exist in the request parameters, then datasets that have the same list of gtags.

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

No Sample Response

This method does not specify any sample responses.

Check if a list of datasets exists in the subproject

  • Check if the dataset exists.
  • Required roles: subproject.admin, subproject.editor, subproject.viewer
POST /dataset/tenant/{tenantid}/subproject/{subprojectid}/exist

Request

Path Parameters

  • Name of the tenant

  • Name of the subproject

Request body

Examples:
View

Response

Status Code

  • A list of boolean values for all the input datasets in the request body. If a value is true, then corresponding dataset exists and if it is false, then the dataset does not exist

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

Example responses
  • [
      true,
      false
    ]

Retrieve the size of datasets

  • Return a list with the sizes of the requested datasets.
  • Required roles: subproject.admin, subproject.editor, subproject.viewer
POST /dataset/tenant/{tenantid}/subproject/{subprojectid}/sizes

Request

Path Parameters

  • Name of the tenant

  • Name of the subproject

Request body

Examples:
View

Response

Status Code

  • The sizes list of all the datasets. If the dataset does not exist, the size would be -1

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

Example responses
  • [
      1024,
      -1
    ]

Retrieve list of datasets and sub-directories inside a seismic store path

  • Return the list of datasets and sub-directories of a seismic store path.
  • Required roles: subproject.admin, subproject.editor, subproject.viewer
GET /utility/ls

Request

Query Parameters

  • Seismic store path, sd://tenant/sub-project/path

  • Working mode, dirs or datasets or undefined for both

  • Limits total number of datasets to be returned

  • Pagination token - this query parameter can be omitted on first call

Response

Array of directories and datasets inside a subproject

Status Code

  • Seismic store path content

  • Paginated seismic store path content - For documentation purpose if limit or cursor is given status code here is 200

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

Example responses
  • [
      "subdirA/",
      "subdirB/",
      "dataset01",
      "dataset02",
      "dataset03"
    ]
  • {
      "datasets": [
        "subdirA/",
        "subdirB/",
        "dataset01"
      ],
      "nextPageCursor": "abc1234"
    }

Copy dataset

  • Copy a seismic store dataset. The source and destination dataset must be in the same sub-project.
  • Required roles: subproject.admin, subproject.editor
POST /utility/cp

Request

Query Parameters

  • Seismic store source dataset path

  • Seismic store destination dataset path

  • Lock source and destination while copying

Response

Status Code

  • Copy operation succeeded

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

  • Conflict

  • Locked. The error message contains the Reason in the form [RCODE:REASON(2-char-code)TTL(sec-number)]. Possible Reasons code are:

    • WL(Write Locked)
    • RL(Read Locked)
    • CL(Cannot be Locked)
    • UL(Cannot be Unlocked)
    For example the reason code [RCODE:RL3600] indicates the dataset is Read Locked with a TTL of 3600sec

No Sample Response

This method does not specify any sample responses.

Generate a GCS access token

  • Generate a GCS access token for a specified seismic store resource. The source and destination dataset must be in the same sub-project.
  • Required roles: subproject.admin, subproject.editor, subproject.viewer
GET /utility/gcs-access-token

Request

Query Parameters

  • Seismic store path in the format sd://tenant/sub-project

  • Readonly access, true(default) or false

Response

Status Code

  • The GCS access token

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

Example responses
  • {
      "access_token": "ya29.fgdgsdngevrjbinb0ednberoibnerbnerber-fdsfwefwe_cece",
      "token_type": "Bearer",
      "expires_in": 3600
    }

List users in subproject's role based authorization groups

  • List users in subproject's role based authorization groups.
  • Required roles: subproject.admin
GET /user

Request

Query Parameters

  • Seismic store path, sd://tenant/sub-project

Response

Status Code

  • Retrieved sub-project users in admin, viewer, editor groups successfully

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

Example responses
  • [
      [
        "userA@email",
        "admin"
      ],
      [
        "userB@email",
        "editor"
      ]
    ]

Add an user to a seismic store subproject authorization group

  • Add an user to a subproject authorization group.
  • Required roles: subproject.admin
PUT /user

Request

Request body

Examples:
View

Response

Status Code

  • User was successfully added to a sub-project authorization group.

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

No Sample Response

This method does not specify any sample responses.

Remove user from subproject's role based authorization groups

  • Remove user from subproject's role based authorization groups.
  • Required roles: subproject.admin
DELETE /user

Request

Query Parameters

  • Seismic store path, sd://tenant/sub-project

  • Seismic store path, sd://tenant/sub-project

Response

Status Code

  • Deletion of user email in subproject's role based authorization groups completed."

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

No Sample Response

This method does not specify any sample responses.

Retrieve user role in all subprojects of the tenant

  • Retrieve user role in all subprojects of the tenant.
  • Required roles: No Role Required
GET /user/roles

Request

Query Parameters

  • Seismic store tenant path, sd://tenant

Response

Status Code

  • Retrieved user roles in all subprojects of the tenant.

  • Bad request

  • Unauthorized

  • Forbidden

  • Not found

No Sample Response

This method does not specify any sample responses.

Create or update any type of entity

PUT /storage/v1/{type}

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • type

entity

Response

Status Code

  • OK

  • Created

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get an entity version

GET /storage/v1/{type}/versions/{id}

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • type

  • id

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get the latest entity version

GET /storage/v1/{type}/{id}

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • type

  • id

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Delete entity

DELETE /storage/v1/{type}/{id}

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • type

  • id

Response

Status Code

  • OK

  • No Content

  • Unauthorized

  • Forbidden

No Sample Response

This method does not specify any sample responses.

Get a specific entity version

GET /storage/v1/{type}/{id}/{version}

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • type

  • id

  • version

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Delete entity version

DELETE /storage/v1/{type}/{id}/{version}

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • type

  • id

  • version

Response

Status Code

  • OK

  • No Content

  • Unauthorized

  • Forbidden

No Sample Response

This method does not specify any sample responses.

Purge entity version

DELETE /storage/v1/{type}/{id}/{version}:purge

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • type

  • id

  • version

Response

Status Code

  • OK

  • No Content

  • Unauthorized

  • Forbidden

No Sample Response

This method does not specify any sample responses.

Purge entity

DELETE /storage/v1/{type}/{id}:purge

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • type

  • id

Response

Status Code

  • OK

  • No Content

  • Unauthorized

  • Forbidden

No Sample Response

This method does not specify any sample responses.

Get the latest Well activity program version

GET /wellActivityPrograms/v1/by_well/{well_id}

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • well_id

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get a specific Well activity program version

GET /wellActivityPrograms/v1/by_well/{well_id}/{wap_version}

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • well_id

  • wap_version

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get the latest Well activity program children list

GET /wellActivityPrograms/v1/full_content/by_well/{well_id}

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • well_id

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get the latest Well activity program reference tree

GET /wellActivityPrograms/v1/reference_tree/by_well/{well_id}

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • well_id

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get a specific Well activity program reference tree

GET /wellActivityPrograms/v1/reference_tree/by_well/{well_id}/{wap_version}

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • well_id

  • wap_version

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get the Well activity program version

GET /wellActivityPrograms/v1/versions/by_well/{well_id}

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • well_id

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get the latest activity plan by Well

GET /activityPlans/v1/by_well/{well_id}

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • well_id

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get BHA runs by hole section segment

GET /bhaRuns/v1/by_holeSection/{hole_section_id}

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • hole_section_id

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get BHA runs by actual Wellbore

GET /bhaRuns/v1/by_wellbore/{wellbore_id}:actual

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • wellbore_id

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get the BHA runs by planned Wells

GET /bhaRuns/v1/by_wells/{well_ids}:planned

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • well_ids

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get a specific Wellbore version actual

GET /wellbores/v1/by_well/{well_id}/{wellbore_version}:actual

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • well_id

  • wellbore_version

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get a specific planned Wellbore version

GET /wellbores/v1/by_well/{well_id}/{wellbore_version}:planned

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • well_id

  • wellbore_version

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get the latest Wellbore version actual

GET /wellbores/v1/by_well/{well_id}:actual

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • well_id

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get the latest planned Wellbore version

GET /wellbores/v1/by_well/{well_id}:planned

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • well_id

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get the Wellbore version actual

GET /wellbores/v1/versions/by_well/{well_id}:actual

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • well_id

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get the planned Wellbore version

GET /wellbores/v1/versions/by_well/{well_id}:planned

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • well_id

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get the trajectories of planned Wells

GET /wellboreTrajectories/v1/by_wells/{well_ids}:planned

Request

Custom Headers

  • tenant

  • reference

Path Parameters

  • well_ids

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get a specific Well version actual

GET /wells/v1/by_name/{name}/{version}:actual

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • name

  • version

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get a specific planned Well version

GET /wells/v1/by_name/{name}/{version}:planned

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • name

  • version

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get the latest Well version actual

GET /wells/v1/by_name/{name}:actual

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • name

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get the latest planned Well version

GET /wells/v1/by_name/{name}:planned

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • name

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get the Well version actual

GET /wells/v1/versions/by_name/{name}:actual

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • name

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get the planned Well version

GET /wells/v1/versions/by_name/{name}:planned

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • name

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get sections by Wellbore

GET /holeSections/v1/by_wellbore/{wellbore_id}

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • wellbore_id

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get type entities by Well

POST /query/v1/by_well/{type}:batch

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • type

well_ids

Response

Status Code

  • OK

  • Created

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get fluid reports by Wellbore

GET /fluidsReports/v1/by_wellbore/{wellbore_id}

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • wellbore_id

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get drilling reports by time range

GET /drillingReports/v1/by_timeRange/{start_time}/{end_time}

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • start_time

  • end_time

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get drilling reports by Wellbore

GET /drillingReports/v1/by_wellbore/{wellbore_id}

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • wellbore_id

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get the latest drilling report by Wellbore

GET /drillingReports/v1/latest/by_wellbore/{wellbore_id}

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • wellbore_id

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.

Get the latest drilling report reference tree

GET /drillingReports/v1/reference_tree/by_drillingReport/{drilling_report_id}

Request

Custom Headers

  • Tenant identifier

  • reference

Path Parameters

  • drilling_report_id

Response

Status Code

  • OK

  • Unauthorized

  • Forbidden

  • Not Found

No Sample Response

This method does not specify any sample responses.