# Opportunity Assessor Tutorial

1. [Prerequisites](#1.-prerequisites)
2. [Setting up team, app and client](#2.-setting-up-team-app-and-client)
3. [Adding users to the database](#3.-adding-users-to-the-database)
4. [Making requests](#4.-making-requests)


## 1. Prerequisites

- GeoX and Opportunity Assessor database deployed in a cloud environment
- Delfi contract including one of the following subscriptions:
  - Exploration Portfolio
  - Geologist Plus
  - Geophysicist Plus
  - Reservoir Engineer Plus
  - Project Data Manager


## 2. Setting up team, app and client

Follow the
[SLB Developer Portal Overview](/guides/cloud-apis/developer-portal/overview)
documentation pages (and links therein) to create a Developer Portal Team, App and Client.

If created client is of service account type, a valid subscription needs to be assigned to it by a Delfi admin. Please, contact your Delfi admin and refer to [this page](/guides/cloud-apis/developer-portal/service-accounts) on how this can be achieved.

## 3. Adding users to the database

To authorize data access, the user on whose behalf the request is made must be registered in the GeoX and Opportunity Assessor database.

For user authentication clients, see [this page](https://help.digital.slb.com/content/1041/help/GUID_1b0cebe0-99ad-47f2-ac6d-248e126c686f) on how to add users.

For service account clients, the process is the same. **Real name** and **Database username** fields don't matter and can hold any values. **Cloud ID** field should contain the Client ID value of the corresponding service account client.

## 4. Making requests

Please find available Opportunity Assessor APIs in one of the following groups:

- [Data Search](/solutions/opportunity-assessor/apis/data-search)
- [Reporting by unit and analysis](/solutions/opportunity-assessor/apis/reporting-by-unit-and-analysis)
- [Reporting by portfolio](/solutions/opportunity-assessor/apis/reporting-by-portfolio)


When making requests, include required HTTP request headers:

- slb-contract-id: *<Your Delfi contract ID>*
- AppKey: *<The app key of your Dev Portal team application, as described in the SLB Developer
[Team and App Management](/guides/cloud-apis/developer-portal/get-started-as-developer)
documentation>*
- Authorization: Bearer *<your authorization token>*


Instructions on how to obtain authorization token can be found [here](/solutions/sauth/tutorial/authenticator-service).
Authorization token can be obtained either:

- Programmatically using programming language of choice. [This page](/guides/cloud-apis/create-first-app/python-webapp-ccg-sample) contains an example in python.
- Manually using [oauth playground](/guides/cloud-apis/developer-portal/oauth-playground).


It is possible to create custom applications for both obtaining a token and for calling the web APIs. Also it is possible to use various existing applications that support getting data via http.

details
summary
PowerBI Example
![Setting up data source in PowerBI](/assets/power-bi-web-data-source-set-up.c345eaa93fe3921a944b9608f2328ee7f42b99613de7d2350bc2712de92d2a54.9fb33cb4.png)