Well Delivery API (Open Data for Industries)

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

Overview

Open Data for Industries assists participants in the upstream drilling value chain by providing digital controls for access, storage, interaction, and exchanging of artifacts.

Well Delivery API helps you replace the proprietary data solutions that are currently used by the geoscientific and drilling communities with only one solution. That way, you receive better integration and insights over the Well Activity Program design, reporting, operations monitoring, and learning optimization and analytics.

Through Well Delivery API you can:
  • Define, run, and coordinate actions on domain entities.
  • Query various entity states.
  • Summarize and collect entity states as a report.

The Well Delivery API supports the following drilling domain entities hierarchy:

To use the API, see the Well Delivery DDMS API reference.
Learn more

Using Well Delivery DDMS API

To use the Well Delivery DDMS API, follow these steps:
  1. Choose a partition or tenant.

    The Open Data for Industries publishes schema definitions for different tenants, depending on the different accounts available on the system. A user might belong to many accounts. For example, a user might belong to both their own account and a customer's account. When you log in to the industry applications, you choose which account is active. To use the Well Delivery DDMS API, specify the active account by using the data-partition-id parameter as part of the request header.

  2. Create data groups.

    Create data groups and assign users to these groups. For data access authorization purposes, the groups in the following example must exist already. Create groups by using the Entitlements API and assign users to these groups or role. For more information, see Entitlements API.

    • service.storage.viewer
    • service.storage.creator
    • service.storage.admin
  3. Use the Well Delivery DDMS API methods to plan and run drilling operations.

    To use the Well Delivery API, see the Well Delivery API reference.

Well Delivery DDMS API for planning and execution

Well Delivery DDMS API provides functions to define various planning and actionable entities.

Table 1. Endpoint sets for domain entities
Domain Entities API endpoint Description API reference
Any entity for planning and running drilling operations​ PUT /storage/v1/{type} Manage planning and executable entities in the drilling program. These entities include the Well Activity Program and various reports. Create or update any type of entities.
GET /storage/v1/{type}/versions/{id} Get an entity version.
GET /storage/v1/{type}/{id} Get the latest entity version.
DELETE /storage/v1/{type}/{id} Delete entity.
GET /storage/v1/{type}/{id}/{version} Get a specific entity version.
DELETE /storage/v1/{type}/{id}/{version} Delete entity version.
DELETE /storage/v1/{type}/{id}/{version}:purge Purge entity version.
DELETE /storage/v1/{type}/{id}:purge Purge entity.
Well Activity Program GET /wellActivityPrograms/v1/by_well/{well_id} Retrieve details of the Well Activity Program. Get the latest Well Activity Program version.
GET /wellActivityPrograms/v1/by_well/{well_id}/{wap_version} Get a specific Well Activity Program version.
GET /wellActivityPrograms/v1/full_content/by_well/{well_id} Get the latest Well Activity Program children list.
GET /wellActivityPrograms/v1/reference_tree/by_well/{well_id} Get the latest Well Activity Program reference tree.
GET /wellActivityPrograms/v1/reference_tree/by_well/{well_id}/{wap_version} Get a specific Well Activity Program reference tree.
GET /wellActivityPrograms/v1/versions/by_well/{well_id} Get the Well Activity Program version.
Well Activity Plan GET /activityPlans/v1/by_well/{well_id} Retrieve the Well Activity Plan. Get the latest Activity Plan by well.
BHA runs GET /bhaRuns/v1/by_holeSection/{hole_section_id} Retrieve details of the Bottom Hole Assembly. Get BHA runs by Segment.
GET /bhaRuns/v1/by_wellbore/{wellbore_id}:actual Get BHA runs by wellbore actual.
Get the BHA runs by Wells Planned.
GET /bhaRuns/v1/by_wells/{well_ids}:planned
Wellbore execution plan GET /wellbores/v1/by_well/{well_id}/{wellbore_version}:actual Retrieve details of the wellbore execution plan. Get a specific wellbore version actual.
GET /wellbores/v1/by_well/{well_id}/{wellbore_version}:planned Get a specific Wellbore Planned version.
GET /wellbores/v1/by_well/{well_id}:actual Get the latest wellbore version actual.
GET /wellbores/v1/by_well/{well_id}:planned Get the latest Wellbore Planned version.
GET /wellbores/v1/versions/by_well/{well_id}:actual Get the wellbore version actual.
GET /wellbores/v1/versions/by_well/{well_id}:planned Get the Wellbore Planned version.
Wellbore trajectory GET /wellboreTrajectories/v1/by_wells/{well_ids}:planned Retrieve the wellbore trajectory. Get the trajectories by Wells Planned.
Well GET /wells/v1/by_name/{name}/{version}:actual Retrieve the well details. Get a specific wellbore version actual.
GET /wells/v1/by_name/{name}/{version}:planned Get a specific Well Planned version.
GET /wells/v1/by_name/{name}:actual Get the latest well version actual.
GET /wells/v1/by_name/{name}:planned Get the latest Well Planned version.
GET /wells/v1/versions/by_name/{name}:actual Get the well version actual.
GET /wells/v1/versions/by_name/{name}:planned Get the Well Planned version.
Hole section details GET /holeSections/v1/by_wellbore/{wellbore_id} Retrieve the wellbore hole section details. Get hole sections by Wellbore Planned.
Query API POST /query/v1/by_well/{type}:batch Retrieve domain details based on type.
Note: Currently wellboretrajectory and bhaRun are valid types.
Get type entities by Well.
Fluid report GET /fluidsReports/v1/by_wellbore/{wellbore_id} Retrieve a fluid report for a particular wellbore. Get fluid reports by Wellbore.
Drilling report GET /drillingReports/v1/by_timeRange/{start_time}/{end_time} Retrieve a drilling report. Get drilling reports by time range.
GET /drillingReports/v1/by_wellbore/{wellbore_id} Get drilling reports by Wellbore.
GET /drillingReports/v1/latest/by_wellbore/{wellbore_id} Get the latest drilling report by Wellbore.
GET /drillingReports/v1/reference_tree/by_drillingReport/{drilling_report_id} Get the latest drilling report reference tree.

Well Delivery DDMS API endpoint permissions

The Well Delivery DDMS API consists mostly of retrieval endpoints and most of them need the same minimum permissions role.

API Category API endpoint Minimum permissions
Any entity for planning and running drilling operations​ PUT /storage/v1/{type} service.storage.creator
GET /storage/v1/{type}/versions/{id} service.storage.viewer
GET /storage/v1/{type}/{id} service.storage.viewer
DELETE /storage/v1/{type}/{id} service.storage.creator
GET /storage/v1/{type}/{id}/{version} service.storage.viewer
DELETE /storage/v1/{type}/{id}/{version} service.storage.creator
DELETE /storage/v1/{type}/{id}/{version}:purge service.storage.admin
DELETE /storage/v1/{type}/{id}:purge service.storage.admin
Well Activity Program GET /wellActivityPrograms/v1/by_well/{well_id} service.storage.viewer
GET /wellActivityPrograms/v1/by_well/{well_id}/{wap_version} service.storage.viewer
GET /wellActivityPrograms/v1/full_content/by_well/{well_id} service.storage.viewer
GET /wellActivityPrograms/v1/reference_tree/by_well/{well_id} service.storage.viewer
GET /wellActivityPrograms/v1/reference_tree/by_well/{well_id}/{wap_version} service.storage.viewer
GET /wellActivityPrograms/v1/versions/by_well/{well_id} service.storage.viewer
Well Activity Plan GET /activityPlans/v1/by_well/{well_id} service.storage.viewer
BHA run GET /bhaRuns/v1/by_holeSection/{hole_section_id} service.storage.viewer
GET /bhaRuns/v1/by_wellbore/{wellbore_id}:actual service.storage.viewer
GET /bhaRuns/v1/by_wells/{well_ids}:planned service.storage.viewer
Wellbore Plan GET /wellbores/v1/by_well/{well_id}/{wellbore_version}:actual service.storage.viewer
GET /wellbores/v1/by_well/{well_id}/{wellbore_version}:planned service.storage.viewer
GET /wellbores/v1/by_well/{well_id}:actual service.storage.viewer
GET /wellbores/v1/by_well/{well_id}:planned service.storage.viewer
GET /wellbores/v1/versions/by_well/{well_id}:actual service.storage.viewer
GET /wellbores/v1/versions/by_well/{well_id}:planned service.storage.viewer
Wellbore Trajectory GET /wellboreTrajectories/v1/by_wells/{well_ids}:planned service.storage.viewer
Well GET /wells/v1/by_name/{name}/{version}:actual service.storage.viewer
GET /wells/v1/by_name/{name}/{version}:planned service.storage.viewer
GET /wells/v1/by_name/{name}:actual service.storage.viewer
GET /wells/v1/by_name/{name}:planned service.storage.viewer
GET /wells/v1/versions/by_name/{name}:actual service.storage.viewer
GET /wells/v1/versions/by_name/{name}:planned service.storage.viewer
Hole section details GET /holeSections/v1/by_wellbore/{wellbore_id} service.storage.viewer
Query API POST /query/v1/by_well/{type}:batch service.storage.viewer
Fluid report GET /fluidsReports/v1/by_wellbore/{wellbore_id} service.storage.viewer
Drilling report GET /drillingReports/v1/by_timeRange/{start_time}/{end_time} service.storage.viewer
GET /drillingReports/v1/by_wellbore/{wellbore_id} service.storage.viewer
GET /drillingReports/v1/latest/by_wellbore/{wellbore_id} service.storage.viewer
GET /drillingReports/v1/reference_tree/by_drillingReport/{drilling_report_id} service.storage.viewer