Each schema has a number of tables where the users can add multiple tables, gettable by Id, and get tables by schema using the following APIs:
1. Get Schema Tables
The Get Schema Tables API requires {schemaId} as a parameter that returns the list of table objects.
Mandatory Fields: schemaId
Method |
Url |
Parameter |
getSchemaTables |
/api/schema/{schemaId}/tables |
schemaId |
Response
{
"status": true,
"statusCode": "",
"statusMsg": "",
"response": {
"tables": [
{
"tableId": 4312,
"tableName": "a_chart",
"description": "a_chart",
"lastPopulatedDate": "",
"schemaId": 1260,
"schemaName": "ovaledgedb",
"connectionId": -1,
"connectionName": "ovaledgedb",
"rowCount": 0,
"totalColumns": 0,
"active": 1,
"type": "TABLE",
"tablestats": [],
"analyzedstatus": "Profiled",
"businessDescription": "",
"techinalDescription": "",
"customFields": {},
"domain": null,
"glossaryName": null,
"tagName": null,
"fromDate": null,
"toDate": null
}
]
}
}
2. Save Table
The Save Tables API requires a Table Object as a request body that returns the saved table object.
Mandatory Fields: connectionId, connectionName, schemaName, businessDescription, technicalDescription, tableId, tableName, schemaId.
Method |
Url |
SaveTable |
/api/table |
Request Body
[
{
"active": 0,
"analyzedstatus": "string",
"businessDescription": "string",
"connectionId": 0,
"connectionName": "string",
"customFields": {},
"description": "string",
"domain": "string",
"fromDate": "string",
"glossaryName": "string",
"lastPopulatedDate": "string",
"rowCount": 0,
"schemaId": 0,
"schemaName": "string",
"tableId": 0,
"tableName": "string",
"tablestats": [
{
"commented": 0,
"looked": 0,
"queried": 0,
"userid": "string",
"userscore": 0
}
],
"tagName": "string",
"techinalDescription": "string",
"toDate": "string",
"type": "string"
}
]
Response
[
{
"active": 0,
"analyzedstatus": "string",
"businessDescription": "string",
"connectionId": 0,
"connectionName": "string",
"customFields": {},
"description": "string",
"domain": "string",
"fromDate": "string",
"glossaryName": "string",
"lastPopulatedDate": "string",
"rowCount": 0,
"schemaId": 0,
"schemaName": "string",
"tableId": 0,
"tableName": "string",
"tablestats": [
{
"commented": 0,
"looked": 0,
"queried": 0,
"userid": "string",
"userscore": 0
}
],
"tagName": "string",
"techinalDescription": "string",
"toDate": "string",
"type": "string"
}
]
3. Get Table
The Get Table API requires {tableId} as a parameter that returns a table object.
Mandatory Fields: tableId.
Response
{
"status": true,
"statusCode": "",
"statusMsg": "",
"response": {
"table": {
"tableId": 1308,
"tableName": "RETENTION",
"description": "RETENTION",
"lastPopulatedDate": null,
"schemaId": 1087,
"schemaName": "EMPLOYEE.RETENTION",
"connectionId": 1001,
"connectionName": "Snowflake-DB's",
"rowCount": 50,
"totalColumns": 0,
"active": 1,
"type": "TABLE",
"tablestats": [
{
"userid": "raghu",
"userscore": 5,
"looked": 5,
"queried": 0,
"commented": 0
}
],
"analyzedstatus": null,
"businessDescription": null,
"techinalDescription": null,
"customFields": {},
"domain": "AmazonStudios|D",
"glossaryName": "AmazonStudios",
"tagName": null,
"fromDate": "2021-03-10 16:27:05.0",
"toDate": "2021-06-07 14:34:56.0"
}
}
}
4. Deactivate Table
The Deactivate Table API requires {tableId} as a parameter that deactivates the table from OvalEdge and returns a response message as successfully deactivated.
Mandatory Fields: tableId.
Method |
Url |
Parameter |
deActivateTable |
/api/table/{tableId} |
tableId |
Response
{
"status": true,
"statusCode": "",
"statusMsg": "",
"response": {
"msg": "Successfully deactivated table with id 31084 and table name sdzxc"
}
}
5. Add Business And Technical Description API Using table Id
This API updates business and technical descriptions for the given table Id.
Mandatory Fields: tableId.
Method |
Url |
addBusinessAndTechnicalDescription |
/api/table/{tableId}/description |
Request Body
{
"businessDescription": "string",
"isEncodedText": true,
"technicalDescription": "string"
}
Example
{
"businessDescription": "Updated business description",
"isEncodedText": false,
"technicalDescription": "Updated technical description"
}
Response Body
{
"status": true,
"statusCode": "Successfully updated given descriptions",
"statusMsg": "",
"response": {}
}
6. Add Business and Technical Description API using the table name
This API updates business and technical descriptions for the given table.
Mandatory Fields: connectionName, schemaName, tableName.
Method |
Url |
addBusinessAndTechnicalDescription |
/api/table/description/add |
Request Body
{
"businessDescription": "string",
"connectionName": "string",
"isEncodedText": true,
"schemaName": "string",
"tableName": "string",
"technicalDescription": "string"
}
]
Example
[
{
"businessDescription": "BD",
"columnName": "string",
"connectionName": "mysql",
"schemaName": "ovaledgedb",
"tableName": "oetable",
"technicalDescription": "TD"
}
]
Response Body
{
"status": true,
"statusCode": "Successfully updated given descriptions",
"statusMsg": "",
"response": {}
}
7. Add Custom Fields for Tables using table Id
Mandatory Fields: tableId, customFields.
Method |
Url |
Parameters |
addCustomFieldsForTables |
/api/table/{tableId}/fields/add |
Name, tableid |
Response
{
"response": {},
"status": true,
"statusCode": "string",
"statusMsg": "string"
}
8. Add Custom Fields For Tables using the table name
Mandatory Fields: connectionName, customFields, schemaName, tableName
Method |
Url |
Parameters |
addCustomFieldsForTables |
custom fields for tables |
Request Body
{
"connectionName": "string",
"customFields": {},
"schemaName": "string",
"tableName": "string"
}
Example
{
"connectionName": "Snowflake-DB's",
"customFields": {"tcf1":"FirstValue"},
"schemaName": "HEALTHCARE.REPORTS",
"tableName": "ACA_FEDERAL_UPPER_LIMITS"
}
Response
{
"status": true,
"statusCode": "Custom objects are saved successfully",
"statusMsg": "",
"response": {}
}
9. Save Profile Information
This API saves the given profile information for columns under a table to OvalEdge and displays in the details.
Mandatory Fields
The following are the mandatory fields required for saving the profile information:
- connectionId or connectionName
- schemaId or schemaName
- businessDescription
- technicalDescription
- tableId or tableName
- columnId or columnName
- withColumnsAndProfileData
- tableRowCount
- distinctCount
- nullCount
- minValue
- maxValue
- columnValue
- top50Values
Method |
Url |
Parameters |
saveProfileInfo |
/api/table/saveProfileInfo |
Name |
Request Body
{
"connectionId": 0,
"connectionName": "string",
"schemaId": 0,
"schemaName": "string",
"tableId": 0,
"tableName": "string",
"tableRowCount": "string",
"withColumnsAndProfileData": [
{
"columnId": 0,
"columnName": "string",
"distinctCount": "string",
"maxValue": "string",
"minValue": "string",
"nullCount": "string",
"top50Values": [
{
"columnValue": "string",
"count": 0
}
]
}
]
}
Example
{
"connectionId": 0,
"connectionName": "Snowflake-DB's",
"schemaId": 0,
"schemaName": "HEALTHCARE.REPORTS",
"tableId": 0,
"tableName": "ACA_FEDERAL_UPPER_LIMITS",
"tableRowCount": "200",
"withColumnsAndProfileData": [
{
"columnId": 0,
"columnName": "Product Group",
"distinctCount": "45",
"maxValue": "Samsung",
"minValue": "Nokia",
"nullCount": "5",
"top50Values": [
{
"columnValue": "Nokia",
"count": 5
},
{
"columnValue": "Samsung",
"count": 10
}
]
}
]
}
Response Body
{
"status": true,
"statusCode": "",
"statusMsg": "",
"response": {
"Status": "Profile data saved successfully"
}
}
10. Get Metadata Difference(Schema Compare)
This API is to get metadata differences in a schema. It requires connection details and schema details, from date to get the changes.
Mandatory Fields
The following are the mandatory fields required for getting the metadata differences in a schema.
- connectionId or connectionName
- schemaId or schemaName
- fromDate
- toDate
Method |
Url |
getMetadataDifference |
/api/schemaCompare |
Request Body
{
"connectionId":"1",
"connectionName":"string",
"schemaId":345,
"schemaName":"string",
"fromDate":"dd/MM/yyyy",
"toDate":"dd/MM/yyyy"
}
Response
{
"status": 0,
"statusCode": "",
"statusMsg": "",
“response”: {
“Metadata changes”:[
“tableName”: “table name”,
“count”: 12,
“columnMetadataChangeList”:[
{
“columnPosition”: “column position”
“columnName”: ”column name”
“columnType”: “column type”
“columnLength”: “column length”
}
]
]
}
}
11. Get Table with Names
The Get Table API requires ConnectionName, SchemaName, and Table as a parameter that returns a table object.
Method |
URl |
Parameters |
getTableWithNames |
/api/table/tableWithName?connectionName={ConnectionName}&schemaName={schemaName}&tableName={TableName} |
{ConnectionName}&schemaName={schemaName}&tableName={TableName} |
Mandatory Fields
- ConnectionName
- SchemaName
- TableName
Request Body
Response Body
{
"status": true,
"statusCode": "",
"statusMsg": "",
"response": {
"table": {
"tablename": "CHARACTER_SETS",
"oetableid": 1,
"active": 1,
"rowcount": 0,
"tablescore": 0,
"usescore": 1,
"tabledescription": "CHARACTER_SETS",
"type": "TABLE",
"oeSchemaId": 1,
"connectioninfoidNP": 0,
"columnSecure": 0,
"partitioned": 0,
"inserted": false,
"totalcolumns": 0,
"totaldistinctvalues": 0,
"blurstatus": 0,
"owner": "admin",
"steward": "admin",
"businessGlossaryId": 0,
"px": 0,
"py": 0,
"x": 0,
"y": 0,
"dqindex": 0,
"relationType": 0,
"temp": false,
"lastModDate": 1640621622000,
"createddate": 1640621622000,
"createdBy": "admin",
"rating": 0,
"id": 1,
"description": true,
"inProject": false,
"tableNameUpper": "CHARACTER_SETS"
}
}
}