Understanding OvalEdge APIs
The OvalEdge APIs module is an extensive API ecosystem that is an important bridge between applications, facilitating seamless communication and data exchange within and across organizations. As an integral component of OvalEdge, the API Library stands out for its extensive capabilities, providing users with a comprehensive toolkit to efficiently manage various components of the OvalEdge platform. This API Library offers clear direction through detailed documentation on endpoints, authentication methods, and request/response formats.
At a high level, the OvalEdge APIs enable users to enhance their business operations. Acting as a bridge between the OvalEdge application and client systems, these APIs facilitate user management, connection setup, domain/term/tag creation, lineage establishment, impact analysis, and more.
OvalEdge APIs are categorized based on application usage, covering a wide range of functionalities including Data Quality Rules, Governance Roles, Business Glossary, Lineage, and Security, among others. This organized structure allows users to efficiently fetch data from the OvalEdge application to their systems and execute actions seamlessly, enhancing the overall data governance experience.
Exploring OvalEdge APIs
The OvalEdge APIs are accessible from the Advanced Tools module. However, accessing the APIs requires users to meet specific criteria. Users with admin privileges or those assigned the OvalEdge API Role can access the APIs. It is important to note that the defined API Role must be configured in the System Settings > Users & Roles tab. This ensures a secure access environment for utilizing the OvalEdge APIs within the Advanced Tools module.
After entering the API services page, users can view an extensive list of all the API services provided by OvalEdge, presented in the Swagger dashboard. This dashboard facilitates various operations such as GET, POST, PUT, PATCH, and DELETE, allowing users to interact with objects based on their specific requirements.
With successful authentication and authorization, users can execute API calls by clicking on the ‘Try it out’ button. As per the design specifications, both the request and response bodies are in JSON format.
Types of Authorization
OvalEdge employs two distinct types of authorization mechanisms to access Swagger APIs:
- Basic Authorization (HTTP, Basic)
- Bearer Authorization (APIKey)
Basic Authorization
Basic Authorization is a commonly used authorization method designed for accessing web resources via HTTP. This authorization approach involves passing a username and password combination within the HTTP headers while initiating a request to access a secured resource. As a result, it provides the ability for users to ensure that only authorized individuals can access the protected content or functionality.
Bearer Authorization
Bearer Authorization involves creating a token for establishing a connection with OvalEdge through various authentication methods such as SAML/SSO. A JSON Web Token (JWT) is then generated, adhering to standardized protocols to securely transmit information in JSON format. This widely adopted method is particularly prevalent in web applications, serving as a secure mechanism for both authentication and authorization processes, ensuring the reliable exchange of information between different entities.
Note: Bearer Authorization is also available for Basic Authorization users.
Available API Methods
OvalEdge APIs offer standard API methods for adding, modifying, and deleting data. They are listed below:
API Method |
Definition |
Use Case |
GET |
Retrieve data or resources from a specified object or entity |
Fetching data or resources from the server without modifying them. Example: Fetching user information |
POST |
Submit data for processing to a designated object or entity |
Adding a new resource to the server or performing a predefined action. Example: Creating a tag |
PUT |
Update a resource or create a new resource if it doesn't exist |
Modifying an existing resource or creating a new one. Example: Updating License Type |
PATCH |
Apply partial modifications to a resource |
Making partial updates to an existing resource without replacing the entire content. Example: Reactivating a deactivated user |
DELETE |
Request the removal of a resource |
Deleting a resource or data from the application. Example: Deleting a term |
Types of APIs
Below are the listed API groups, and each group contains different endpoints to serve the functionality.
API Groups |
Description |
User API |
User APIs allow users to manage their accounts. The process involves updating licenses, adding, deleting, and reactivating users. In addition, they include specific actions such as creating API tokens, updating roles, and deactivating or deleting users. |
Data Quality Rule API |
Data Quality Rule API provides a set of actions for managing Data Quality Rules. The process involves updating rule status, running rules, adding or updating rules and their schedules, associating objects with rules, managing custom fields, and retrieving information about rules and their objects. Additionally, they support deleting rules, deleting scheduled rules, and deleting associated rule objects. |
Governance Roles API |
Governance Roles APIs facilitate the updating of governance roles within the system. |
Service Desk API |
Service Desk APIs allow adding service desk tickets and retrieving ticket templates by name, including both general and active templates. |
Business Glossary API |
Business Glossary APIs provide functions such as assigning terms to objects, adding, modifying, searching, and retrieving terms and related objects. In addition, they fetch business glossary data, business terms domain-wise, and perform deletions based on term IDs or object associations. |
Tag API |
Tag APIs facilitate the updating, assigning, adding, retrieving, and deleting of tags, including fetching tag details by ID, getting child tags, and associating tags with objects. Additionally, it supports disassociating tags from objects and deleting tags. |
Table API |
Table APIs offer functionalities for saving and updating tables in the Data Catalog, adding custom fields, updating descriptions, retrieving tables by ID or name, and fetching schema-related information. They also support deactivating and reactivating tables, comparing metadata differences, and saving profile information. |
Story API |
Story APIs provide functionalities for updating and adding stories in Data Stories through the "Update Story" and "Add Story" actions respectively. |
Security API |
Security APIs allow users with actions related to roles, including updating user-role mappings, updating roles, adding roles, and fetching role details by various identifiers such as role ID, role name, or user ID. Additionally, they provide functionality to retrieve user role details, fetch user privileges on objects, and delete roles. |
Schema API |
Schema APIs facilitate actions related to schemas in the Data Catalog. These actions include adding descriptions, updating descriptions, crawling newly created or existing schemas, retrieving schema details, deactivating schemas, and fetching connector-specific schemas from the Data Catalog. |
Object API |
Object APIs provide functionalities for creating or updating API objects through the "saveOrUpdateObject" action, and retrieving API objects from a group or individual API through the "getApisFromGroup" and "getApi" endpoints, respectively. |
Object Attribute API |
Object Attribute APIs facilitate the saving of API Attributes (or parameters) using the "saveObjectAttribute" endpoint. It can also fetch API attributes from the Data Catalog based on API ID and name. |
Endorsement API |
Endorsement API enables the saving or updating of endorsement ratings through the "save/endorsement" endpoint. It also supports retrieving the average endorsement rating through the "getAverageRating" endpoint. |
Report Group API |
Report Group API provides functionalities to fetch report group details based on connector ID and name, add new report groups, retrieve all report groups, get details of a specific report group by its ID, and delete a report group from the Data Catalog. |
Report Column API |
Report Column API facilitates actions such as fetching report column details based on report ID and column name, adding new report columns, retrieving details of a specific report column by its ID, deleting a report column, and obtaining description details of a report column from the Data Catalog. |
Report API |
Report API supports actions such as fetching report details based on report group and name, adding new reports, retrieving details of a specific report by its ID, deleting a report, obtaining all reports, and getting description details of a report from the Data Catalog. |
Query API |
Query API provides endpoints for updating, retrieving query results, and adding, and deleting queries from the Data Catalog. Additionally, they support obtaining tables from a query using a parser and fetching queries based on schema ID. |
Message API |
Message APIs allow users to add messages to any object’s collaboration for users, handle authorization completion, retrieve missing file alert messages, and get specific messages from any data object. |
Job Status API |
Job Status APIs facilitate the update and execution of advanced jobs, as well as the management of job statuses through actions like updating, running, and changing job statuses. Additionally, it provides functionalities to retrieve details such as job step status, overall job status, job details, and details of advanced jobs |
Impact Analysis API |
Impact Analysis APIs offer functionalities for submitting custom batches for impact analysis, retrieving impacted objects, fetching impact analysis details by batch and object, and obtaining custom batch status for impact analysis. |
Lineage API |
Lineage APIs provide actions for adding lineage information, retrieving lineage graphs with or without names, fetching lineage column graphs with or without names, and deleting lineage records based on object IDs, object types, or lineage IDs. |
File Folder API |
File Folder APIs offer functionalities for adding new folders, retrieving all folders, fetching details of a specific folder by its ID, obtaining folder details by connector ID, and deleting folders by folder ID. |
File API |
File APIs provide actions for saving files, uploading files, uploading files using URLs, retrieving wiki details by file ID, fetching file details by file ID, obtaining file statistics, and cataloging and profiling files. |
File Column API |
File Column APIs facilitate actions such as saving file columns, retrieving file columns by file ID, fetching file column descriptions by column ID, and obtaining details of a specific file column by its ID. |
Connector API |
Connector APIs provide functionalities for updating connector passwords, saving connectors, updating crawler and profile rules, retrieving details of all connectors, getting details of a specific connector by its ID, and fetching connector parameters. |
Column API |
Column APIs support actions such as saving table columns, adding custom fields for table columns, adding or updating business and technical descriptions, deactivating table columns, and retrieving details of table columns by column ID or table ID. Additionally, these APIs provide functionalities for obtaining wiki details by column ID, getting table columns by table ID, and fetching table columns using names. |
Generic APIs |
The Generic API "certifyObject" is designed to certify a Data Catalog object like the Certification feature. |
Project API |
Project APIs offer functionalities for adding projects, retrieving project lists, getting project details by project name, obtaining associated objects by project name or ID, and deleting projects. |
Custom Fields API |
Custom Fields APIs provide actions for adding custom fields to objects and retrieving all defined custom fields by field type. |
Axiomatics Payload API |
Axiomatics Payload API facilitates actions such as updating process flags, retrieving Axiomatics payload by process flags, and getting all Axiomatics payloads. |
Wiki API |
Wiki API provides functionality to retrieve object description details by object ID and object type through the "wiki" endpoint. |
Search API |
Search APIs provide various functionalities for retrieving search details related to tables, table columns, reports, report columns, files, file columns, terms, and stories. |
Global Domain API |
Global Domain APIs provide functionalities to retrieve Business Glossary Domains, classifications, classified objects, classified columns, and category details by Ovaledge domain ID. |
Object Group API |
Object Group APIs allow users to retrieve API groups and obtain objects associated with a specific group. |
Configurations of OvalEdge APIs
OvalEdge APIs are configured under Administration > System Settings. Users with Admin privileges can set the configuration as shown below:
Key |
Default Value |
Description |
ovaledge.api.role |
OE_ADMIN |
ovaledge.api.role holds validity exclusively when is.apirole.mandatory is set to true and can utilize various HTTP methods such as GET, POST, PATCH, PUT, and DELETE to access all available APIs. |
is.apirole.mandatory |
TRUE |
When is.apirole.mandatory is set to true, the roles defined in oe.apirole.read and ovaledge.api.role will have the privilege to access the APIs. However, if is.apirole.mandatory is set to false, it will override the roles specified in oe.apirole.read and ovaledge.api.role, granting all users the ability to access APIs. |
oe.apirole.read |
When is.apirole.mandatory is set to true, oe.apirole.read role(s) are recognized as valid and will have access to the APIs exclusively through the GET HTTP method. |
|
throttle.request.limit |
60 |
Configure the time limit for executing APIs/URL per user. Parameters: The default value is 60 seconds. Enter the value in the field provided. |