DIGITAL WELL INTERVENTION API
Welcome to Digital Well Intervention API
Digital Well Intervention
The Digital Well Intervention (DWI) is a platform enabling smart planning and efficient execution and reporting of intervention operations. The plan for intervention operations are created using smart collaboration for method selection, and integrations with simulation tools and client’s API’s for automatic data retrieval. The system is connected wireless offshore in execution with real time data flow in the dashboard from integrated downhole tools and surface equipment, accessible from any connected locations. Operational success is achieved by building on operation models and machine learnings predictions. Reporting is live and the operational experience is efficiently used for the next plan to limit operational failure. The DWI platform forms an end-to-end intervention with increased efficiency, capability, certainty, and reduced operational risks and costs.

Architecture
The principals of clean architecture will be applied when developing the DWI platform. This results in architecture and design that is:
Independent of frameworks it does not require the existence of some tool or framework
Testable easy to test – Core has no dependencies on anything external, so writing automated tests is easier
Independent of UI logic is kept out of the UI so it is easy to change to another technology
Independent of the database data-access concerns are separated so moving from SQL Server to Cosmos DB or otherwise is trivial
Independent of anything external in fact, Core is completely isolated from the outside world


Authentication and authorization
Authentication for API is handled by Azure AD using OAuth 2.0 client credentials flow to authenticate users. Authorization is handled internally in DWI based on which organization a user belongs to. Adding/removing users is done in Azure.
Consumers will need a client Id and a client secret for accessing endpoints.

API versioning
Digital Well Intervention API uses path versioning. Version is part of the path like “/api/v1/projects”.
The response will return a custom header, “api-supported-versions", with a comma separated list of supported versions.