Methods Overview
- Last UpdatedJul 28, 2026
- 4 minute read
- Engineering
- Integration Service 4.1
- Integrators
This section provides a complete categorised reference of all available methods in the SDK, organised by activity, with datasource-specific variations.
Client Types and Scope

Activity 1: Discover Data Sources and Metadata
These methods enumerate available data sources and their schemas.
From IBaseClient<TDataSource> (all typed clients)
// List all data sources
Task<IEnumerable<DatasourceDto>> GetDataSources(string filter);
// Get a single data source by name
Task<DatasourceDto> GetDataSource(string datasourceName, string filter);
// List tables / entities in a data source
Task<IEnumerable<Table>> GetTables(string datasourceName, string filter);
// Get a single table
Task<Table> GetTable(string datasourceName, string tableName, string filter);
// List columns in a table
Task<IEnumerable<Column>> GetColumns(string datasourceName, string tableName, string filter);
From IDataApiClient (generic client)
All of the above are available identically, with runtime routing.
To learn more the examples, refer to Examples.
Activity 2: Read Tables and Schemas
Methods for reading actual data records from tables.
Base methods (all typed clients)
// Read all records (empty filter = no filter)
Task<IEnumerable<TableData>> GetTableData(
string datasourceName,
string tableName,
string filter);
// Read data by acknowledgement ID (for stored/queued data)
Task<IEnumerable<TableData>> GetTableDataByAcknowledgementId(
string datasourceName,
string acknowledgementId);
// List pending acknowledgements
Task<IEnumerable<Acknowledgement>> GetAcknowledgements(string datasourceName);
Datasource-Specific Variations
IEngineeringClient
// Tag data with specific filter options
Task<IEnumerable<TableData>> GetTableData(
string datasourceName,
string tableName,
string filter);
IExcelClient
// Read a specific Excel sheet
Task<IEnumerable<ExcelData>> GetExcelData(
string datasourceName,
string sheetName);
// Read with filter on sheet name
Task<IEnumerable<TableData>> GetTableData(
string datasourceName,
string sheetName,
string filter);
IERMClient
// ERM-specific catalog access
Task<IEnumerable<TableData>> GetTableData(
string datasourceName,
string tableName,
string filter);
IETAPClient
// ETAP scenario-based reading
Task<IEnumerable<TableData>> GetTableData(
string datasourceName,
string tableName,
string filter);
ISimulationClient
// List simulations in a datasource
Task<IEnumerable<Simulation>> GetSimulations(
string datasourceName,
string filter);
// List snapshots for a simulation
Task<IEnumerable<string>> GetSnapshotsforSimulation(
string datasourceName,
string simulationName);
// Read SimCentral data for a snapshot
Task<IEnumerable<TableData>> GetSimCentralData(
string datasourceName,
string simulationName,
string snapshotName,
string filter);
// Read PRO/II simulation data
Task<IEnumerable<TableData>> GetPROIIData(
string datasourceName,
string simulationName,
string filter);
IEngineeringDataAPIClient
// Read with Engineering Data API
Task<IEnumerable<TableData>> GetTableData(
string datasourceName,
string tableName,
string filter);
Activity 3: Acknowledgement and Stored-Data Workflows
Methods used for asynchronous data delivery via acknowledgement tokens.
// Get list of pending acknowledgements for a datasource
Task<IEnumerable<Acknowledgement>> GetAcknowledgements(string datasourceName);
// Retrieve data associated with an acknowledgement ID
Task<IEnumerable<TableData>> GetTableDataByAcknowledgementId(
string datasourceName,
string acknowledgementId);
waitingTimeInMinutesForLiveData in the factory controls how long the client waits for asynchronous data to become available.
Activity 4: Publish and Post Data
Methods for writing or publishing data back to a datasource.
Base methods (all typed clients)
// Post tabular data to a datasource table
Task<string> PostTableData(
string datasourceName,
string tableName,
IEnumerable<TableData> data,
string filter);
Datasource-Specific Variations
IEngineeringClient
Task<string> PostTableData(string datasourceName, string tableName,
IEnumerable<TableData> data, string filter);
IExcelClient
Task<string> PostTableData(string datasourceName, string tableName,
IEnumerable<TableData> data, string filter);
IERMClient
Task<string> PostTableData(string datasourceName, string tableName,
IEnumerable<TableData> data, string filter);
IETAPClient
Task<string> PostTableData(string datasourceName, string tableName,
IEnumerable<TableData> data, string filter);
ISimulationClient
Task<string> PostTableData(string datasourceName, string tableName,
IEnumerable<TableData> data, string filter);
Note: Some datasource types do not support write operations and will throw MethodNotApplicableException when Post methods are called.
Activity 5: Auth and Token Management
Factory parameter for Connect authentication:
// Pass token when creating a Connect-auth client
T CreateDataApiClient<T>(
string host,
AuthenticationType authType = AuthenticationType.NTLM,
int waitingTimeInMinutesForLiveData = 60,
string token = "",
CancellationTokenSource hubCancellationToken = null
) where T : class;
Token acquisition is the caller's responsibility. Refer to the Authentication for NTLM configuration and Connect token acquisition patterns.
Activity 6: Real-Time Messaging
Methods available on ISignalRPubSubClient:
// Subscribe to a topic
Task<string> Subscribe(string topic);
// Unsubscribe from a topic
Task<string> Unsubscribe(string topic);
// Publish a message to a topic
Task<string> Publish(Broadcast message, string host, string topic);
Factory method for creating the pub/sub client:
// Use SignalRHubConnectionFactory (not DataApiClientFactory)
Task<ISignalRPubSubClient> CreatePubSubClient(
IHttpClientFactory httpClientFactory,
IHubConnectionManager hubConnectionManager,
AuthenticationType authType,
string host);
Activity 7: Service Health
// Check if the DataAPI service is available
// Returns HttpStatusCode.OK when healthy
Task<HttpStatusCode> HealthCheckAPI(string host);
Factory method:
IHealthCheckClient CreateHealthCheckClient(HttpClient httpClient);
Datasource Variations Quick Matrix

*IDataApiClient.PostTableData throws MethodNotApplicableException for datasource types that do not support write operations.
Key points
-
All methods are async and return Task<T>.
-
Empty string "" is the standard "no filter" value.
-
filter parameters accept OData-style expressions (e.g., "Status eq 1").
-
waitingTimeInMinutesForLiveData (default 60) controls the asynchronous data wait timeout.