Skip to main content

Providers

The providers resource exposes read-only access to the storage backends connected to your Elise platform. It is available via client.providers on any BiolevateClient instance.

import asyncio
from biolevate import BiolevateClient

async def main():
async with BiolevateClient(
base_url="https://<api-domain>",
token="<your-pat>",
) as client:
page = await client.providers.list()
for provider in page.data:
print(f"{provider.name} ({provider.type_})")

asyncio.run(main())

Methods

list()

List all storage providers accessible to your account.

page = await client.providers.list(
page=0,
page_size=20,
sort_by="name",
sort_order="asc",
query="s3",
)

Parameters

ParameterTypeDefaultDescription
pageint0Page number (0-based)
page_sizeint20Number of providers per page
sort_bystr | NoneNoneField to sort by
sort_orderstr"asc"Sort direction — "asc" or "desc"
querystr | NoneNoneText filter on provider names

Returns ProviderPage

Raises AuthenticationError, APIError


get()

Retrieve a single provider by its UUID.

provider = await client.providers.get("550e8400-e29b-41d4-a716-446655440000")
print(f"{provider.name}: {provider.type_}")
print(f"ID: {provider.id.id}")

Parameters

ParameterTypeDescription
provider_idstrUUID of the provider to fetch

Returns Provider

Raises NotFoundError, AuthenticationError, APIError

Models

Provider

Represents a storage backend. Aliased from FSProviderExternal in the generated client.

from biolevate import Provider
FieldTypeDescription
idProviderIdProvider identifier object
id.idstrUUID string
namestrHuman-readable provider name
type_ProviderTypeStorage backend type
systemboolWhether this is a system provider

The type_ field uses a trailing underscore to avoid a conflict with Python's built-in type. Its value is a ProviderType enum:

from biolevate import ProviderType

ProviderType.S3
ProviderType.AZURE
ProviderType.GCS
ProviderType.SHAREPOINT_ONLINE
ProviderType.LOCAL

ProviderPage

Paginated list of providers. Aliased from PageDataFSProviderExternal.

from biolevate import ProviderPage
FieldTypeDescription
datalist[Provider]Providers on the current page
total_pagesintTotal number of pages
total_elementsintTotal number of providers
has_nextboolWhether there is a next page

Full Example

import asyncio
from biolevate import BiolevateClient, NotFoundError, AuthenticationError, APIError

async def main():
async with BiolevateClient(
base_url="https://<api-domain>",
token="<your-pat>",
) as client:
# List all providers, iterating through pages
page = 0
while True:
result = await client.providers.list(page=page, page_size=50)
for provider in result.data:
print(f"{provider.id.id} {provider.name} ({provider.type_})")
if not result.has_next:
break
page += 1

print(f"Total providers: {result.total_elements}")

# Get a specific provider
try:
provider = await client.providers.get(result.data[0].id.id)
print(f"First provider: {provider.name}")
except NotFoundError:
print("Provider not found")
except AuthenticationError:
print("Access denied")
except APIError as e:
print(f"Error {e.status_code}: {e.message}")

asyncio.run(main())

Next Steps