Several APIs are exposed by Sidra to enable the integration of third-party tools in areas such as Data Catalog or Data Querying.
Sidra API is in continuous improvement, so the endpoints could change among time. For more information about the specifics of the Sidra API endpoints, a Swagger documentation is deployed with every Sidra API and it can be accessed from the base URL where Sidra API is deployed.
The base URL depends on the specifics of the installation, the environment and the naming conventions. Sidra API is deployed in an Azure App service instance and the default naming is:
https://core-<<name of the installation>>-<<environment>>-wst-api.azurewebsites.net
It is possible that there are two Azure App Service created in the same resource group; this is because one is for Sidra API (the one that ends with -api) and the other is for Web frontend application (the one that ends with -frontend). This document focuses on the Sidra API, not the Web frontend.
Many of the endpoints uses identifiers of the items that they are working on. For example, to retrieve a certain element by its identifier. There are two types of identifiers in Sidra:
- Identifier: it is an identifier for an element to distinguish from the rest of elements of the same type. It is an integer and its value is usually autogenerated. The field used to stored it is called
Idin the element to be identified and
Id<<Element name>>when it is a field from other element referencing it. For example, the
Providerhas a field
Entityhas a field named
IdProviderto refer the
- Item Identifier: it is a global identifier of an element across all the Sidra installations. It is a GUID and its value is usually provided during the creation of the element. The field is called
The API surface is organized in modules that provides endpoints that are related between them:
|Metadata||DataSource, Plugin, Provider, Entity, Asset, Attributes, Tags||It contains endpoints to implement CRUD operations -Create, Read, Update, Delete- over the meta-information related to Assets. More information can be found in the metadata section section.|
|Data Factory||ActivityTemplates, DataFactories, DataSetTemplates, Pipelines, PipelineTemplates, Triggers, TriggerTemplates, PII||It contains endpoints to implement CRUD operations over the information related to Data Factory. More information can be found in the Data Factory tables section.|
|Data Storage Unit||ClusterTypes, DataStorageUnits, DataIntake, LandingZones, SearchServices, Storages, StorageRoles||It contains endpoints to implement CRUD operations over the information related to the Data Storage Units (DSU) and the Data Lake. More information can be found in the Data Lake tables section.|
|Management||App, Configuration, DataFactoryMetricLogs, Image, Logs, Installation, Notifications, Permissions, Type Translation, ReleaseNotes, Service||This module contains endpoints for retrieving information about the Sidra installation: notifications, logs, configuration values, etc.|
|Identity||Identity, IdentityServerUsers||Sidra platform uses IdentityServer4 for user authentication.|
|Ingestion||Inference, Ingestion||It contains endpoints to provide Asset ingestion into the platform.|
|Model Serving||Model, ModelVersion||This module contains endpoints to manage Machine Learning model lifecycle inside Sidra. These endpoints allow forgetting about some technical details like managing Azure resources or using MLflow api to retrieve trained models. More information can be found in the Model Serving Platform section.|
|Data Querying||Query||A tutorial is shown in order to showcase how to use the Query API in Sidra.|