Skip to main content

Evo Discovery

Seequent Evo API requests rely on the following parameters to uniquely identify your data:

  • The ID of the Evo instance that you want to access.
  • The URL of your assigned Evo hub.

The Evo Discovery endpoint provides this information.

From Organisations to Instances

Evo has moved from using organisations to instances. During this process, the Evo Discovery API will accommodate the Instance ID within the Organisation ID field.

  • The organisation field will now hold instance information.
  • In the future, Evo organisations will be renamed to Evo instances.

Evo Instances

An instance is owned, managed, and invoiced through a Bentley account. A single account can have multiple Evo instances. Instances are created through the Seequent sales engagement process. Users can be granted access to an instance by the instance admin, becoming members of that instance. The list of members is available on the User page in the Evo portal. Each instance contains workspaces created by its members. Within a workspace, users can have different roles: owner, editor, or viewer which define their level of access to the workspace and its data.

Hubs

A hub is the highest-level deployment of Evo’s cloud infrastructure within a region. It is a self-contained environment that hosts infrastructure and software, providing a landing zone for Evo instances in the cloud.

How to perform an Evo Discovery request

Using the Python SDK

Visit Evo Python SDK to learn how to install and use the SDK.

Perform the request manually

  1. Choose the Evo service code(s) for the APIs to be queried:

    • Block Model API → blockmodel
    • File API → file
    • Geoscience Object API → geoscienceobject
  2. Perform a GET request:

    • Use your access token as a bearer token in the Authorization header of your API request.
    • Include each Evo service code as a query parameter, eg. service=file&service=blockmodel. Multiple services must be separated by the & symbol.

API Request

In this example we are performing an Evo discovery request and are searching for three Evo services.

The request URL looks like this: https://discover.api.seequent.com/evo/identity/v2/discovery?service=blockmodel&service=file&service=geoscienceobject

import json
import requests

# Enter your access token here
access_token = ""

# Define the auth header
auth_header = { "Authorization": f"Bearer {access_token}" }

# Define the Evo services
services = ["blockmodel", "file", "geoscienceobject"]

# Define the query params
params = [("service", service) for service in services]

# Define the discovery URL
discovery_url = "https://discover.api.seequent.com/evo/identity/v2/discovery"

# Make the request
response = requests.get(discovery_url, headers=auth_header, params=params)
print(json.dumps(response.json(), indent=4))

API Response

The JSON response body will include the discovery section which includes four sub-sections:

  • hubs
  • organizations
  • services
  • service_access

Follow these steps to find your org ID and a hub URL:

  1. In the organizations section copy the id value. This is your org ID.

    "organizations": [
    {
    "id": "d0ea331e-814e-4e24-a1b8-cd563c5b1d31",
    "display_name": "Test organisation"
    }
    ]
  2. Search the service_access section an element that includes services that you want to access. For example, if you need to access the Block Model API find an item in service_access that includes blockmodel in the services list. Make a note of the corresponding hub_code value.

    "service_access": [
    ...
    {
    "hub_code": "au",
    "org_id": "d0ea331e-814e-4e24-a1b8-cd563c5b1d31",
    "services": [
    "blockmodel",
    "file",
    "geoscienceobject"
    ]
    },
    ...
    ]

  3. Search the hubs section for the matching hub_code from the previous step and copy the corresponding url value. This is the hub URL.

    "hubs": [
    ...
    {
    "code": "au",
    "display_name": "Australia East",
    "url": "https://au.api.seequent.com"
    },
    ...
    ]
  4. With the hub URL and org ID found, you can now perform Seequent Evo API requests.