Rest API 5.0

Table Services

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

/api/table/fields/add

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:

  1. connectionId or connectionName 
  2. schemaId or schemaName 
  3. businessDescription
  4. technicalDescription
  5. tableId or tableName
  6. columnId or columnName 
  7. withColumnsAndProfileData
  8. tableRowCount 
  9. distinctCount 
  10. nullCount 
  11. minValue 
  12. maxValue 
  13. columnValue
  14. 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.

  1. connectionId or connectionName
  2.  schemaId or schemaName
  3. fromDate
  4. 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

  1. ConnectionName
  2. SchemaName
  3. TableName

Request Body 

Table Services

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"
  }

  }

}