Class XBRApiWebSdk
Provides access to Xperiflow Base Url utilities and to the Xperiflow REST API. This is a C# SDK wrapper around the Xperiflow REST API.
Namespace: Workspace.XBR.Xperiflow.SubApis
Assembly: Xperiflow.dll
public class XBRApiWebSdk
Remarks
Use with caution. This is considered a "lower-level" API that has a higher probability of breaking changes from release to release. The team does their best to minimize breaking changes but from time-to-time we may introduce a breaking change in a minor release. Breaking changes will primarily only be introduced in major releases. We will do our best to document these changes as part of release notes.
All Xperiflow-based AI Solutions are built on top of the Web SDK. This means that you can leverage the same underlying functionality that powers many of the AI Solutions wihtin your own custom solutions.
Methods
GetXperiflowBaseUrl(SessionInfo)
Gets the Xperiflow base URL for the OneStream Application.
public string GetXperiflowBaseUrl(SessionInfo si)
Remarks
This method locates the Xperiflow workspace using the provided OneStream.Shared.Common.SessionInfo and then
fetches the base URI literal parameter for Xperiflow API communication. If the workspace cannot be found,
or the parameter is missing, an OneStream.Shared.Common.XFException is thrown.
Example:
var baseUrl = XBRApi.Utilities.GetXperiflowBaseUrl(sessionInfo);
Console.WriteLine($"Xperiflow Base URL: {baseUrl}");
// Example: https://ais.development:14810/
Returns
System.String
A System.String representing the Xperiflow base URL.
Parameters
| Type | Name | Description |
|---|---|---|
OneStream.Shared.Common.SessionInfo | si | The SessionInfo object |
Exceptions
OneStream.Shared.Common.XFException
Thrown if the Xperiflow workspace cannot be found or the base URI parameter is missing.
GetXperiflowBaseUrlForApplication(SessionInfo, string)
Retrieves the Xperiflow base URL for a specified OneStream application.
public string GetXperiflowBaseUrlForApplication(SessionInfo si, string applicationName)
Remarks
This method creates a new session context for the given application name and attempts to retrieve the Xperiflow base URL
by looking up the literal parameter associated with the Xperiflow workspace. If the application cannot be opened or the
Xperiflow base URL is not configured, an OneStream.Shared.Common.XFException is thrown.
Example:
var baseUrl = XBRApi.Utilities.GetXperiflowBaseUrlForApplication(sessionInfo, "MyApp");
Console.WriteLine($"Xperiflow Base URL for MyApp: {baseUrl}");
// 'https://ais.development:14810/'
Returns
System.String
A System.String containing the Xperiflow base URL for the specified application.
Parameters
| Type | Name | Description |
|---|---|---|
OneStream.Shared.Common.SessionInfo | si | The SessionInfo object representing the current session context. |
System.String | applicationName | The name of the OneStream application for which to retrieve the Xperiflow base URL. |
Exceptions
OneStream.Shared.Common.XFException
Thrown if the application cannot be opened or the Xperiflow base URL is not found for the specified application.
GetXperiflowBaseUrls(SessionInfo)
Retrieves a mapping of OneStream application names to their associated Xperiflow Base URLs for all applications in the current environment.
public Dictionary<string, string> GetXperiflowBaseUrls(SessionInfo si)
Remarks
This method iterates through all applications available in the OneStream environment, attempts to locate the Xperiflow workspace for each, and retrieves the Xperiflow Base URL parameter if it exists. Only applications that have a valid Xperiflow workspace and a non-empty Xperiflow Base URL parameter will be included in the returned dictionary.
Note: This method does not return all possible Xperiflow Base URLs in the environment. It only returns those that are explicitly mapped to an application via the Xperiflow workspace and parameter. If an application does not have a configured Xperiflow workspace or the base URL parameter is missing, it will not appear in the result.
Example:
var baseUrls = XBRApi.Utilities.GetXperiflowBaseUrls(sessionInfo);
Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(baseUrls, Newtonsoft.Json.Formatting.Indented));
// Example output:
// {
// "App1": "https://ais.development1:14810/"
// "App2": "https://ais.development2:14810/"
// }
Returns
System.Collections.Generic.Dictionary<System.String,System.String>
A Dictionary where each key is an application name and each value is the corresponding Xperiflow Base URL.
Parameters
| Type | Name | Description |
|---|---|---|
OneStream.Shared.Common.SessionInfo | si | The SessionInfo object representing the current session context. |
GetXperiflowAIClient(SessionInfo)
The Xperiflow AI Client provides methods to programmatically interact with the xperiflow Large Language Model (LLM) services. This includes access to various LLM models. Please note that these LLM models are subject to xperiflow access controls and usage limits.
public IXperiflowAIClient GetXperiflowAIClient(SessionInfo si)
Returns
Workspace.XBR.Xperiflow.Core.RestApi.AI.IXperiflowAIClient
An instance of IXperiflowAIClient.
Parameters
| Type | Name | Description |
|---|---|---|
OneStream.Shared.Common.SessionInfo | si | The session information. |
GetXperiflowAIClient(SessionInfo, IList<IScopeBuilder>)
The Xperiflow AI Client provides methods to programmatically interact with the xperiflow Large Language Model (LLM) services. This includes access to various LLM models. Please note that these LLM models are subject to xperiflow access controls and usage limits.
public IXperiflowAIClient GetXperiflowAIClient(SessionInfo si, IList<IScopeBuilder> scopeBuilders)
Returns
Workspace.XBR.Xperiflow.Core.RestApi.AI.IXperiflowAIClient
An instance of IXperiflowAIClient.
Parameters
| Type | Name | Description |
|---|---|---|
OneStream.Shared.Common.SessionInfo | si | The session information. |
System.Collections.Generic.IList< Workspace.XBR.Xperiflow.Core.Scope.IScopeBuilder > | scopeBuilders | A list of foreign scope builders. Scopes are a way to bucket or silo Xperiflow user permissions. Examples may include a specific OneStream application, a specific OneStream solution, or a combination of both. |
GetXperiflowAIClient(SessionInfo, IList<ScopeDefinition>)
The Xperiflow AI Client provides methods to programmatically interact with the xperiflow Large Language Model (LLM) services. This includes access to various LLM models. Please note that these LLM models are subject to xperiflow access controls and usage limits.
public IXperiflowAIClient GetXperiflowAIClient(SessionInfo si, IList<ScopeDefinition> scopeDefinitions)
Returns
Workspace.XBR.Xperiflow.Core.RestApi.AI.IXperiflowAIClient
An instance of IXperiflowAIClient.
Parameters
| Type | Name | Description |
|---|---|---|
OneStream.Shared.Common.SessionInfo | si | The session information. |
System.Collections.Generic.IList< Workspace.XBR.Xperiflow.Core.Scope.ScopeDefinition > | scopeDefinitions | A list of foreign scope definitions. Scopes are a way to bucket or silo Xperiflow user permissions. Examples may include a specific OneStream application, a specific OneStream solution, or a combination of both. |
GetXperiflowConduitClient(SessionInfo)
The Xperiflow Conduit Client provides allow the ability to programmatically interact with the job and task orchestration system that powers Xperiflow. This includes abilities like kicking off jobs, checking job statuses, canceling jobs, seeing the available jobs that can be run, and more.
public IXperiflowConduitClient GetXperiflowConduitClient(SessionInfo si)
Returns
Workspace.XBR.Xperiflow.Core.RestApi.Conduit.IXperiflowConduitClient
An instance of IXperiflowConduitClient.
Parameters
| Type | Name | Description |
|---|---|---|
OneStream.Shared.Common.SessionInfo | si | The session information. |
GetXperiflowConduitClient(SessionInfo, IList<IScopeBuilder>)
The Xperiflow Conduit Client provides allow the ability to programmatically interact with the job and task orchestration system that powers Xperiflow. This includes abilities like kicking off jobs, checking job statuses, canceling jobs, seeing the available jobs that can be run, and more.
public IXperiflowConduitClient GetXperiflowConduitClient(SessionInfo si, IList<IScopeBuilder> scopeBuilders)
Returns
Workspace.XBR.Xperiflow.Core.RestApi.Conduit.IXperiflowConduitClient
An instance of IXperiflowConduitClient.
Parameters
| Type | Name | Description |
|---|---|---|
OneStream.Shared.Common.SessionInfo | si | The session information. |
System.Collections.Generic.IList< Workspace.XBR.Xperiflow.Core.Scope.IScopeBuilder > | scopeBuilders | A list of foreign scope builders. Scopes are a way to bucket or silo Xperiflow user permissions. Examples may include a specific OneStream application, a specific OneStream solution, or a combination of both. |
GetXperiflowConduitClient(SessionInfo, IList<ScopeDefinition>)
The Xperiflow Conduit Client provides allow the ability to programmatically interact with the job and task orchestration system that powers Xperiflow. This includes abilities like kicking off jobs, checking job statuses, canceling jobs, seeing the available jobs that can be run, and more.
public IXperiflowConduitClient GetXperiflowConduitClient(SessionInfo si, IList<ScopeDefinition> scopeDefinitions)
Returns
Workspace.XBR.Xperiflow.Core.RestApi.Conduit.IXperiflowConduitClient
An instance of IXperiflowConduitClient.
Parameters
| Type | Name | Description |
|---|---|---|
OneStream.Shared.Common.SessionInfo | si | The session information. |
System.Collections.Generic.IList< Workspace.XBR.Xperiflow.Core.Scope.ScopeDefinition > | scopeDefinitions | A list of foreign scope definitions. Scopes are a way to bucket or silo Xperiflow user permissions. Examples may include a specific OneStream application, a specific OneStream solution, or a combination of both. |
GetXperiflowGeneratorsClient(SessionInfo)
Retrieves an instance of IXperiflowGeneratorsClient.
public IXperiflowGeneratorsClient GetXperiflowGeneratorsClient(SessionInfo si)
Returns
Workspace.XBR.Xperiflow.Core.RestApi.Generators.IXperiflowGeneratorsClient
An instance of IXperiflowGeneratorsClient.
Parameters
| Type | Name | Description |
|---|---|---|
OneStream.Shared.Common.SessionInfo | si | The session information. |
GetXperiflowGeneratorsClient(SessionInfo, IList<IScopeBuilder>)
Retrieves an instance of IXperiflowGeneratorsClient and includes optional foreign scope builders.
public IXperiflowGeneratorsClient GetXperiflowGeneratorsClient(SessionInfo si, IList<IScopeBuilder> scopeBuilders)
Returns
Workspace.XBR.Xperiflow.Core.RestApi.Generators.IXperiflowGeneratorsClient
An instance of IXperiflowGeneratorsClient.
Parameters
| Type | Name | Description |
|---|---|---|
OneStream.Shared.Common.SessionInfo | si | The session information. |
System.Collections.Generic.IList< Workspace.XBR.Xperiflow.Core.Scope.IScopeBuilder > | scopeBuilders | A list of foreign scope builders. |
GetXperiflowGeneratorsClient(SessionInfo, IList<ScopeDefinition>)
Retrieves an instance of IXperiflowGeneratorsClient and includes optional foreign scope definitions.
public IXperiflowGeneratorsClient GetXperiflowGeneratorsClient(SessionInfo si, IList<ScopeDefinition> scopeDefinitions)
Returns
Workspace.XBR.Xperiflow.Core.RestApi.Generators.IXperiflowGeneratorsClient
An instance of IXperiflowGeneratorsClient.
Parameters
| Type | Name | Description |
|---|---|---|
OneStream.Shared.Common.SessionInfo | si | The session information. |
System.Collections.Generic.IList< Workspace.XBR.Xperiflow.Core.Scope.ScopeDefinition > | scopeDefinitions | A list of foreign scope definitions. |
GetXperiflowRoutinesClient(SessionInfo)
The Xperiflow Routines Client provides the ability to programmatically interact with the routine service of Xperiflow. Note it is recommended to not use this "lower-level" SDK. Instead, please use Workspace.XBR.Xperiflow.XBRApi.Routines.
public IXperiflowRoutinesClient GetXperiflowRoutinesClient(SessionInfo si)
Returns
Workspace.XBR.Xperiflow.Core.RestApi.Routines.IXperiflowRoutinesClient
An instance of IXperiflowRoutinesClient.
Parameters
| Type | Name | Description |
|---|---|---|
OneStream.Shared.Common.SessionInfo | si | The session information. |
GetXperiflowRoutinesClient(SessionInfo, IList<IScopeBuilder>)
The Xperiflow Routines Client provides the ability to programmatically interact with the routine service of Xperiflow. Note it is recommended to not use this "lower-level" SDK. Instead, please use Workspace.XBR.Xperiflow.XBRApi.Routines.
public IXperiflowRoutinesClient GetXperiflowRoutinesClient(SessionInfo si, IList<IScopeBuilder> scopeBuilders)
Returns
Workspace.XBR.Xperiflow.Core.RestApi.Routines.IXperiflowRoutinesClient
An instance of IXperiflowRoutinesClient.
Parameters
| Type | Name | Description |
|---|---|---|
OneStream.Shared.Common.SessionInfo | si | The session information. |
System.Collections.Generic.IList< Workspace.XBR.Xperiflow.Core.Scope.IScopeBuilder > | scopeBuilders | A list of foreign scope builders. Scopes are a way to bucket or silo Xperiflow user permissions. Examples may include a specific OneStream application, a specific OneStream solution, or a combination of both. |
GetXperiflowRoutinesClient(SessionInfo, IList<ScopeDefinition>)
The Xperiflow Routines Client provides the ability to programmatically interact with the routine service of Xperiflow. Note it is recommended to not use this "lower-level" SDK. Instead, please use Workspace.XBR.Xperiflow.XBRApi.Routines.
public IXperiflowRoutinesClient GetXperiflowRoutinesClient(SessionInfo si, IList<ScopeDefinition> scopeDefinitions)
Returns
Workspace.XBR.Xperiflow.Core.RestApi.Routines.IXperiflowRoutinesClient
An instance of IXperiflowRoutinesClient.
Parameters
| Type | Name | Description |
|---|---|---|
OneStream.Shared.Common.SessionInfo | si | The session information. |
System.Collections.Generic.IList< Workspace.XBR.Xperiflow.Core.Scope.ScopeDefinition > | scopeDefinitions | A list of foreign scope definitions. Scopes are a way to bucket or silo Xperiflow user permissions. Examples may include a specific OneStream application, a specific OneStream solution, or a combination of both. |
GetXperiflowStorageClient(SessionInfo)
The Xperiflow Storage Client provides programmatic access to Xperiflow storage and database services.
Note it is recommended to not use this "lower-level" SDK. Instead, please use Workspace.XBR.Xperiflow.XBRApi.MetaFileSystem
and Workspace.XBR.Xperiflow.XBRApi.metaDB.
public IXperiflowStorageClient GetXperiflowStorageClient(SessionInfo si)
Returns
Workspace.XBR.Xperiflow.Core.RestApi.Storage.IXperiflowStorageClient
An instance of IXperiflowStorageClient.
Parameters
| Type | Name | Description |
|---|---|---|
OneStream.Shared.Common.SessionInfo | si | The session information. |
GetXperiflowStorageClient(SessionInfo, IList<IScopeBuilder>)
The Xperiflow Storage Client provides programmatic access to Xperiflow storage and database services.
Note it is recommended to not use this "lower-level" SDK. Instead, please use Workspace.XBR.Xperiflow.XBRApi.MetaFileSystem
and Workspace.XBR.Xperiflow.XBRApi.metaDB.
public IXperiflowStorageClient GetXperiflowStorageClient(SessionInfo si, IList<IScopeBuilder> scopeBuilders)
Returns
Workspace.XBR.Xperiflow.Core.RestApi.Storage.IXperiflowStorageClient
An instance of IXperiflowStorageClient.
Parameters
| Type | Name | Description |
|---|---|---|
OneStream.Shared.Common.SessionInfo | si | The session information. |
System.Collections.Generic.IList< Workspace.XBR.Xperiflow.Core.Scope.IScopeBuilder > | scopeBuilders | A list of foreign scope builders. Scopes are a way to bucket or silo Xperiflow user permissions. Examples may include a specific OneStream application, a specific OneStream solution, or a combination of both. |
GetXperiflowStorageClient(SessionInfo, IList<ScopeDefinition>)
The Xperiflow Storage Client provides programmatic access to Xperiflow storage and database services.
Note it is recommended to not use this "lower-level" SDK. Instead, please use Workspace.XBR.Xperiflow.XBRApi.MetaFileSystem
and Workspace.XBR.Xperiflow.XBRApi.metaDB.
public IXperiflowStorageClient GetXperiflowStorageClient(SessionInfo si, IList<ScopeDefinition> scopeDefinitions)
Returns
Workspace.XBR.Xperiflow.Core.RestApi.Storage.IXperiflowStorageClient
An instance of IXperiflowStorageClient.
Parameters
| Type | Name | Description |
|---|---|---|
OneStream.Shared.Common.SessionInfo | si | The session information. |
System.Collections.Generic.IList< Workspace.XBR.Xperiflow.Core.Scope.ScopeDefinition > | scopeDefinitions | A list of foreign scope definitions. Scopes are a way to bucket or silo Xperiflow user permissions. Examples may include a specific OneStream application, a specific OneStream solution, or a combination of both. |
GetXperiflowTimeSeriesForecastingClient(SessionInfo)
The Xperiflow Time Series Forecasting Client provides programmatic access to all of the time series functionality that powers the SensibleAI Forecast solution. This is a large SDK with over 100 methods available to use.
public IXperiflowTimeSeriesForecastingClient GetXperiflowTimeSeriesForecastingClient(SessionInfo si)
Returns
Workspace.XBR.Xperiflow.Core.RestApi.TimeSeriesForecasting.IXperiflowTimeSeriesForecastingClient
An instance of IXperiflowTimeSeriesForecastingClient.
Parameters
| Type | Name | Description |
|---|---|---|
OneStream.Shared.Common.SessionInfo | si | The session information. |
GetXperiflowTimeSeriesForecastingClient(SessionInfo, IList<IScopeBuilder>)
The Xperiflow Time Series Forecasting Client provides programmatic access to all of the time series functionality that powers the SensibleAI Forecast solution. This is a large SDK with over 100 methods available to use.
public IXperiflowTimeSeriesForecastingClient GetXperiflowTimeSeriesForecastingClient(SessionInfo si, IList<IScopeBuilder> scopeBuilders)
Returns
Workspace.XBR.Xperiflow.Core.RestApi.TimeSeriesForecasting.IXperiflowTimeSeriesForecastingClient
An instance of IXperiflowTimeSeriesForecastingClient.
Parameters
| Type | Name | Description |
|---|---|---|
OneStream.Shared.Common.SessionInfo | si | The session information. |
System.Collections.Generic.IList< Workspace.XBR.Xperiflow.Core.Scope.IScopeBuilder > | scopeBuilders | A list of foreign scope builders. Scopes are a way to bucket or silo Xperiflow user permissions. Examples may include a specific OneStream application, a specific OneStream solution, or a combination of both. |
GetXperiflowTimeSeriesForecastingClient(SessionInfo, IList<ScopeDefinition>)
The Xperiflow Time Series Forecasting Client provides programmatic access to all of the time series functionality that powers the SensibleAI Forecast solution. This is a large SDK with over 100 methods available to use.
public IXperiflowTimeSeriesForecastingClient GetXperiflowTimeSeriesForecastingClient(SessionInfo si, IList<ScopeDefinition> scopeDefinitions)
Returns
Workspace.XBR.Xperiflow.Core.RestApi.TimeSeriesForecasting.IXperiflowTimeSeriesForecastingClient
An instance of IXperiflowTimeSeriesForecastingClient.
Parameters
| Type | Name | Description |
|---|---|---|
OneStream.Shared.Common.SessionInfo | si | The session information. |
System.Collections.Generic.IList< Workspace.XBR.Xperiflow.Core.Scope.ScopeDefinition > | scopeDefinitions | A list of foreign scope definitions. Scopes are a way to bucket or silo Xperiflow user permissions. Examples may include a specific OneStream application, a specific OneStream solution, or a combination of both. |
GetXperiflowWebAppClient(SessionInfo)
Retrieves an instance of IXperiflowWebAppClient.
public IXperiflowWebAppClient GetXperiflowWebAppClient(SessionInfo si)
Returns
Workspace.XBR.Xperiflow.Core.RestApi.WebApp.IXperiflowWebAppClient
An instance of IXperiflowWebAppClient.
Parameters
| Type | Name | Description |
|---|---|---|
OneStream.Shared.Common.SessionInfo | si | The session information. |
GetXperiflowWebAppClient(SessionInfo, IList<IScopeBuilder>)
Retrieves an instance of IXperiflowWebAppClient and includes optional foreign scope builders.
public IXperiflowWebAppClient GetXperiflowWebAppClient(SessionInfo si, IList<IScopeBuilder> scopeBuilders)
Returns
Workspace.XBR.Xperiflow.Core.RestApi.WebApp.IXperiflowWebAppClient
An instance of IXperiflowWebAppClient.
Parameters
| Type | Name | Description |
|---|---|---|
OneStream.Shared.Common.SessionInfo | si | The session information. |
System.Collections.Generic.IList< Workspace.XBR.Xperiflow.Core.Scope.IScopeBuilder > | scopeBuilders | A list of foreign scope builders. |
GetXperiflowWebAppClient(SessionInfo, IList<ScopeDefinition>)
Retrieves an instance of IXperiflowWebAppClient and includes optional foreign scope definitions.
public IXperiflowWebAppClient GetXperiflowWebAppClient(SessionInfo si, IList<ScopeDefinition> scopeDefinitions)
Returns
Workspace.XBR.Xperiflow.Core.RestApi.WebApp.IXperiflowWebAppClient
An instance of IXperiflowWebAppClient.
Parameters
| Type | Name | Description |
|---|---|---|
OneStream.Shared.Common.SessionInfo | si | The session information. |
System.Collections.Generic.IList< Workspace.XBR.Xperiflow.Core.Scope.ScopeDefinition > | scopeDefinitions | A list of foreign scope definitions. |
Inherited Members
System.Object.Equals(System.Object)System.Object.Equals(System.Object,System.Object)System.Object.GetHashCodeSystem.Object.GetTypeSystem.Object.MemberwiseCloneSystem.Object.ReferenceEquals(System.Object,System.Object)System.Object.ToString