Deep Dive Articles

OvalEdge APIs

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

Empty

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.