OvalEdge MCP API Reference Guide
This article provides the technical reference for the OvalEdge Model Context Protocol (MCP) APIs that enable AI assistants and external applications to securely interact with the OvalEdge platform. The APIs support a broad range of metadata discovery, governance, data quality, lineage, access management, and documentation capabilities through standardized REST endpoints.
Each API reference includes the endpoint details, supported MCP tool, authentication requirements, request parameters, example requests and responses, HTTP status codes, and implementation notes. Together, these APIs enable developers to search and retrieve catalog metadata, manage governance artifacts, evaluate data quality recommendations, query access permissions, explore lineage and relationships, and perform governed updates while respecting OvalEdge role-based access controls and security policies.
API Details
Search Catalog
API Name
Search Catalog
API Description
Searches the OvalEdge catalog using a keyword and optional semantic search. Supports filtering by connection, schema, object type, owner, steward, tags, glossary terms, custom fields, classifications, and data products. Returns catalog assets that match the search criteria and the user's access permissions.
Method
GET
Endpoint URL
/api/v1/mcp/search-catalog
Method Name
McpApi.searchCatalog → McpApiService.searchCatalog
MCP Tool
search_catalog_assets
Authentication
Bearer API Token (@OERole(object="api"))
Query Parameters
searchTerms
Yes
—
Keywords to search. Accepts a JSON array or comma-separated values.
contextQuery
No
—
Natural language context used for semantic/vector search.
page
No
1
Page number.
limit
No
20
Maximum number of results returned.
connectionName
No
—
Filters assets by connection.
serverType
No
—
Filters by connection technology such as Snowflake, MySQL, Redshift, Oracle, or SQL Server.
schemaName
No
—
Filters assets by schema.
owner
No
—
Filters assets by owner.
steward
No
—
Filters assets by steward.
custodian
No
—
Filters assets by custodian.
objectType
No
—
Filters by asset type.
tags
No
—
Filters by tag names. Accepts JSON array or comma-separated values.
terms
No
—
Filters by glossary terms.
customFields
No
—
Filters by custom field values.
dataProducts
No
—
Filters by data product names.
classifications
No
—
Filters by classification names.
Supported Object Types
oetable
oecolumn
oefile
glossary
oetag
Example Request
Example Response
HTTP Status Codes
200
Search completed successfully
400
Invalid request parameters
401
Authentication failed
403
Access denied
500
Internal server error
Notes
Supports both keyword (BM25) and semantic search.
Results are filtered according to the user's catalog permissions.
List parameters accept JSON arrays or comma-separated values.
Object Details
API Name
Get Object Details
API Description
Retrieves detailed metadata for a catalog object using either its Fully Qualified Name (FQN) or Object ID and Object Type.
Method
GET
Endpoint URL
/api/v1/mcp/object-details
Method Name
McpApi.getObjectDetails → McpApiService.getObjectDetails
MCP Tool
catalog_asset_details
Authentication
Bearer API Token (@OERole(object="api"))
Query Parameters
fullyQualifiedName
Conditional
Fully Qualified Name of the asset. Cannot be combined with objectId/objectType.
objectId
Conditional
Internal OvalEdge object identifier.
objectType
Conditional
Asset type corresponding to objectId.
Object Resolution Rules
Use exactly one of the following:
fullyQualifiedName
OR
objectId + objectType
Supported Object Types
oetable
oecolumn
oefile
oefilecolumn
glossary
oetag
oechart
chartchild
Example Request
Example Response
HTTP Status Codes
200
Object found
400
Invalid object identifier
404
Object not found
500
Internal server error
Notes
Either Fully Qualified Name or Object ID/Object Type must be provided.
Mixing both lookup modes is not supported.
Data Sources
API Name
Get Data Sources
API Description
Retrieves the list of data source connections available to the authenticated user. Results are returned in a paginated format.
Method
GET
Endpoint URL
/api/v1/mcp/data-sources
Method Name
McpApi.getDataSources → McpApiService.getDataSources
MCP Tool
search_catalog_assets
Authentication
Bearer API Token (@OERole(object="api"))
Query Parameters
page
No
1
Page number
limit
No
20
Number of records per page
Example Request
Example Response
HTTP Status Codes
200
Success
401
Authentication failed
500
Internal server error
Notes
Only connections accessible to the authenticated user are returned.
Supports pagination.
Column Profile
API Name
Get Column Profile
API Description
Retrieves profiling statistics for a table or file object, including data distribution and profiling metrics.
Method
GET
Endpoint URL
/api/v1/mcp/column-profile
Method Name
McpApi.getColumnProfile → McpApiService.getColumnProfile
MCP Tool
column_profile_statistics
Authentication
Bearer API Token (@OERole(object="api"))
Query Parameters
objectId
Yes
OvalEdge object identifier
objectType
Yes
Supported values: oetable, oefile
Example Request
Example Response
HTTP Status Codes
200
Success
400
Invalid object type
404
Object not found
Notes
Applicable only to tables and files.
Returns the latest available profiling information.
Entity Relationships
API Name
Get Entity Relationships
API Description
Retrieves relationship information for a table, including column relationships and pattern-based relationships discovered within the catalog.
Method
GET
Endpoint URL
/api/v1/mcp/entity-relationships
Method Name
McpApi.getEntityRelationships → McpApiService.getEntityRelationships
MCP Tool
table_entity_relationships
Authentication
Bearer API Token (@OERole(object="api"))
Query Parameters
objectId
Yes
Table object identifier
Example Request
Example Response
HTTP Status Codes
200
Success
404
Table not found
Notes
Supported only for table assets.
Includes explicit and inferred relationships.
Lineage
API Name
Get Lineage
API Description
Retrieves upstream and downstream lineage for a table or file asset. The response includes connected assets up to the requested lineage depth.
Method
GET
Endpoint URL
/api/v1/mcp/lineage
Method Name
McpApi.getLineage → McpApiService.getLineage
MCP Tool
asset_lineage
Authentication
Bearer API Token (@OERole(object="api"))
Query Parameters
objectId
Yes
—
OvalEdge object identifier
objectType
Yes
—
oetable or oefile
depth
No
2
Number of lineage levels to retrieve
Example Request
Example Response
HTTP Status Codes
200
Success
400
Invalid request
404
Asset not found
Notes
Supports table and file assets.
The server may limit the maximum lineage depth.
Returns upstream and downstream lineage visible to the authenticated user.
Glossary Terms (Lookup)
API Name
Lookup Glossary Terms
API Description
Retrieves details of a glossary term by either its object ID or term name. Returns business metadata, definitions, categories, and other glossary attributes accessible to the authenticated user.
Method
GET
Endpoint URL
/api/v1/mcp/glossary-terms
Method Name
McpApi.getGlossaryTerms → McpApiService.getGlossaryTerms
MCP Tool
lookup_glossary_term
Authentication
Bearer API Token (@OERole(object="api"))
Query Parameters
objectId
Conditional
Internal glossary object ID.
termName
Conditional
Name of the glossary term.
Use only one lookup method
objectId
OR
termName
Example Request (Term Name)
Example Request (Object ID)
Example Response
HTTP Status Codes
200
Glossary term retrieved successfully
400
Invalid request
404
Glossary term not found
500
Internal server error
Notes
Specify either objectId or termName.
Results respect the user's glossary permissions.
Supports lookup of published glossary terms.
Create Glossary Term
API Name
Create Glossary Term
API Description
Creates a new glossary term within the specified glossary domain. Supports optional descriptions, definitions, categories, and draft publishing options.
Method
POST
Endpoint URL
/api/v1/mcp/glossary-terms
Method Name
McpApi.createGlossaryTerm → McpApiService.createGlossaryTerm
MCP Tool
create_glossary_term
Authentication
Bearer API Token (@OERole(object="api"))
Request Body
Request Parameters
termName
Yes
Name of the glossary term.
domainId
Yes
Target glossary domain ID.
description
No
Short description.
definition
No
Detailed business definition.
category1Id
No
Primary category.
category2Id
No
Secondary category.
Publish
No
Creates the term as published or draft. Default is Draft (false).
Aliases
name
termName
globalDomainId
domainId
Example Response
HTTP Status Codes
200
Glossary term created successfully
400
Validation failed
403
Permission denied
409
Duplicate glossary term
500
Internal server error
Notes
domainId is mandatory.
The authenticated user must have permission to create glossary terms.
Draft publishing is supported.
Tags (Lookup)
API Name
Lookup Tags
API Description
Retrieves tag details by tag name or object ID. Returns tag metadata and hierarchy information available to the authenticated user.
Method
GET
Endpoint URL
/api/v1/mcp/tags
Method Name
McpApi.getTags → McpApiService.getTags
MCP Tool
lookup_tags
Authentication
Bearer API Token (@OERole(object="api"))
Query Parameters
objectId
Conditional
Internal tag identifier.
tagName
Conditional
Name of the tag.
Lookup Rules
Specify either:
objectId
OR
tagName
Example Request
Example Response
HTTP Status Codes
200
Success
400
Invalid request
404
Tag not found
Notes
Either objectId or tagName must be supplied.
Results respect security permissions.
Create Tag
API Name
Create Tag
API Description
Creates a new catalog tag. Supports optional parent tag hierarchy and secure master tag associations.
Method
POST
Endpoint URL
/api/v1/mcp/tags
Method Name
McpApi.createTag → McpApiService.createTag
MCP Tool
create_tag
Authentication
Bearer API Token (@OERole(object="api"))
Request Body
Request Parameters
tagName
Yes
Tag name.
description
No
Tag description.
parentTagId
No
Parent tag ID.
masterTagId
No
Master tag ID used in secure mode.
Aliases
name
tagName
Example Response
HTTP Status Codes
200
Tag created successfully
400
Validation failed
403
Permission denied
409
Duplicate tag
Notes
Parent and master tag relationships are optional.
Users require permission to create tags.
Secure mode supports master tag associations.
Search Platform Documentation
API Name
Search Platform Documentation
API Description
Searches indexed OvalEdge product documentation using natural language queries. Returns the most relevant documentation content based on keyword and semantic search.
Method
GET
Endpoint URL
/api/v1/mcp/search-platform-docs
Method Name
McpApi.searchPlatformDocs → McpApiService.searchPlatformDocs
MCP Tool
search_platform_docs
Authentication
Bearer API Token (@OERole(object="api"))
Query Parameters
query
Yes
—
Search query.
limit
No
10
Maximum number of results.
numCandidates
No
128
Number of candidate documents evaluated during semantic search. Must be greater than or equal to the limit.
Example Request
Example Response
HTTP Status Codes
200
Success
400
Invalid request
500
Internal server error
Notes
Performs keyword and semantic document search.
Returns ranked documentation results.
The maximum value for numCandidates is server-controlled.
Source System Access
API Name
Get Source System Access
API Description
Retrieves native source system access permissions harvested through RDAM for supported platforms such as Redshift, Snowflake, and Tableau. Returns object-level or user-level grants based on the specified query direction. This API retrieves source system permissions and does not return OvalEdge catalog access permissions.
Method
GET
Endpoint URL
/api/v1/mcp/source-system-access
Method Name
McpApi.getSourceSystemAccess → McpApiService.getSourceSystemAccess
MCP Tool
source_system_access
Authentication
Bearer API Token (@OERole(object="api"))
Query Parameters
sourceSystem
Conditional
—
Native platform. Supported values are redshift, snowflake, and tableau. Only one value is allowed per request.
queryDirection
Yes
—
Specifies the query mode. Supported values are user_to_objects, object_to_users, and browse.
username
Conditional
—
Source system user name. Required when queryDirection=user_to_objects.
objectPath
Conditional
—
RDAM object path. Required for object_to_users queries.
objectName
No
—
Object name used with objectPath to resolve the requested object.
objectType
Conditional
—
Object level within the source system.
connectionId
Conditional
—
OvalEdge connection identifier. Required for browse queries and recommended for other query types.
includeColumns
No
false
Returns column-level grants for Redshift.
resolveAllMatches
No
false
Returns all matching objects when multiple matches are found.
scopeMode
No
exact
Specifies whether to return access for the requested object only (exact) or include descendant objects (descendants).
Supported Source Systems
Redshift
Snowflake
Tableau
Supported Object Types
database
schema
table
column
project
report
Required Parameters by Query Direction
browse
connectionId, objectType
user_to_objects
username
object_to_users
objectPath, objectType
Example Request
Example Response
HTTP Status Codes
200
Request completed successfully
400
Invalid request parameters
401
Authentication failed
403
Permission denied
500
Internal server error
Notes
Retrieves native source system permissions only.
Does not return OvalEdge catalog access permissions.
Supports Redshift, Snowflake, and Tableau RDAM metadata.
Results are filtered based on the authenticated user's permissions.
Update Asset Descriptions
API Name
Update Asset Descriptions
API Description
Updates business, technical, detailed, domain, tag, or master tag descriptions for supported OvalEdge catalog and governance assets. The API validates object type and supported description fields, enforces RBAC, governance restrictions, glossary draft rules, and supports dry-run execution. All updates are audited with OE-MCP as the source.
Method
POST
Endpoint URL
/api/v1/mcp/update-asset-descriptions
Method Name
McpApi.updateAssetDescriptions → McpApiService.updateAssetDescriptions
MCP Tool
update_asset_descriptions
Authentication
Bearer API Token (@OERole(object="api"))
Request Body
Required Parameters
target.objectType
Supported asset type
target.objectId
OvalEdge object identifier
descriptions
At least one description field
Optional Parameters
options.dryRun
Validates request without updating
failOnBlockedField
Stops update when a field is blocked
idempotencyKey
Prevents duplicate requests
clientContext
Audit information
Supported Description Fields
Catalog Assets
Business Description, Technical Description
Glossary
Business Description, Detailed Description
Data Product
Business Description, Detailed Description
Global Domain
Domain Description
Tag
Tag Description
Master Tag
Master Tag Description
Example Response
HTTP Status Codes
200
Success or Partial Success
400
Validation Error
404
Object Not Found
409
Governance Restriction
Notes
Supports dry-run validation.
Enforces governance restrictions.
Updates are audited.
Update CDE Associations
API Name
Update CDE Associations
API Description
Updates Critical Data Element (CDE) status for one or more catalog assets. Supports marking assets as CDE, removing CDE designation, or resetting CDE status. Optional category and justification values can also be updated.
Method
POST
Endpoint URL
/api/v1/mcp/update-cde-associations
Method Name
McpApi.updateCdeAssociations → McpApiService.updateCdeAssociations
MCP Tool
update_cde_associations
Authentication
Bearer API Token
Request Body
Required Parameters
targets
One or more catalog objects
action
Yes, No, or None
Optional Parameters
cdeCategory
CDE Category
cdeJustification
Business justification
dryRun
Validation only
idempotencyKey
Duplicate protection
Supported Actions
Yes
No
None
Supported Object Types
Schema
Table
Column
File
File Column
API
Query
Chart
Example Response
HTTP Status Codes
200
Success
400
Invalid Request
Notes
Supports bulk updates.
Each target is evaluated independently.
Partial success is supported.
Audit records are generated.
Update Custom Field Values
API Name
Update Custom Field Values
API Description
Updates editable custom field values for supported catalog assets. Only custom fields configured as Editable through API can be modified.
Method
POST
Endpoint URL
/api/v1/mcp/update-custom-field-values
Method Name
McpApi.updateCustomFieldValues → McpApiService.updateCustomFieldValues
MCP Tool
update_custom_field_value
Authentication
Bearer API Token
Supported Custom Field Types
Text
Number
Code
Date
Example Request
Example Response
HTTP Status Codes
200
Success
400
Invalid Custom Field
403
Permission Denied
Notes
Only API-editable custom fields can be updated.
Validation occurs before saving.
Changes are audited.
Get User Object Access
API Name
Get User Object Access
API Description
Retrieves OvalEdge catalog access permissions for catalog objects. The API supports querying either the effective permissions of a user on a specific object or the users and roles that have access to a specified object. This API returns OvalEdge catalog permissions and does not retrieve native source system permissions.
Method
GET
Endpoint URL
/api/v1/mcp/get-user-object-access
Method Name
McpApi.getUserObjectAccess → McpApiService.getUserObjectAccess → McpCatalogObjectAccessReadService.resolve
MCP Tool
get_user_object_access
Authentication
Bearer API Token (@OERole(object="api"))
Query Parameters
queryDirection
Yes
Supported values are user_to_object and object_to_principals.
username
Conditional
Required when queryDirection=user_to_object.
objectId
Conditional
Internal OvalEdge object identifier.
objectType
Conditional
Catalog object type.
fullyQualifiedName
Conditional
Fully Qualified Name used to resolve the object.
objectName
Conditional
Object name used with object type.
resolveAllMatches
No
Returns all matching objects when multiple matches exist.
Object Resolution Methods
Specify one of the following:
objectId + objectType
fullyQualifiedName
objectName + objectType
Supported Object Types
connection
schema
table
column
file
file folder
domain
chart
chart child
API
API column
query
code
glossary
global domain
tag
master tag
story
data domain
data product
Example Request
Example Response
HTTP Status Codes
200
Request completed successfully
400
Invalid request parameters
403
Permission denied
404
Object or user not found
500
Internal server error
Notes
Returns effective OvalEdge catalog permissions.
Supports user-to-object and object-to-principals queries.
Results include inherited and role-based permissions.
Native source system permissions are available through the Source System Access API.
Assess CDE DQ
API Name
Assess CDE DQ (DQ Rule Recommendation)
API Description
Evaluates Critical Data Elements (CDEs) and other supported catalog assets to recommend appropriate Data Quality Rules. The API returns business metadata, recommended DQ functions, reusable rules, recommended implementation workflow, and existing rule associations. This API performs assessment only and does not create or associate Data Quality Rules.
Method
POST
Endpoint URL
/api/v1/mcp/dq-intelligence/assess-cde
Method Name
McpApi.assessCdeDq → McpApiService.assessCdeDq → McpService.assessCdeDq
MCP Tool
assess_cde_dq
Authentication
Bearer API Token (@OERole(object="api"))
Request Body
Required Parameters
objects
Conditional
List of catalog objects to assess.
discoverCdeColumns
Conditional
Discovers CDE columns when no objects are specified.
limit
No
Maximum number of objects to evaluate.
descriptionTermName
No
Uses the specified glossary term description during assessment.
descriptionTermName
No
Uses the specified glossary term description during assessment.
descriptionCustomFieldName
No
Uses the specified custom field value during assessment.
Supported Object Types
Table
Column
File
File Column
Example Response
HTTP Status Codes
200
Assessment completed successfully
400
Invalid request or unsupported object type
401
Authentication failed
403
Permission denied
500
Internal server error
Notes
Supports explicit object assessment or automatic discovery of CDE columns.
Returns recommendations only and does not modify Data Quality Rules.
Identifies reusable rules when available.
Indicates whether the recommended rule is already associated with the object.
Recommended workflows include function_based and custom_sql implementations.
Lookup Datastory
API Name
Lookup Datastory
API Description
Retrieves a Datastory by its name and content. Returns the associated Story Zone and audit information.
Method
GET
Endpoint URL
/api/v1/mcp/lookup-datastory
Method Name
McpApi.lookupDatastory → McpApiService.lookupDatastory
MCP Tool
lookup_datastory
Authentication
Bearer API Token
Required Parameters
Story Name
Name of the Datastory
Story Content
Datastory content
Optional Parameters
Story Zone
Filters by Story Zone
Example Response
HTTP Status Codes
200
Success
404
Story Not Found
Metadata Changes Between Crawls
API Name
Metadata Changes Between Crawls
API Description
Returns metadata differences detected between two crawl executions, including added, removed, and modified schemas, tables, and columns.
Method
POST
Endpoint URL
/api/v1/mcp/metadata-changes-between-crawls
Method Name
McpApi.metadataChangesBetweenCrawls → McpApiService.metadataChangesBetweenCrawls
MCP Tool
metadata_changes_between_crawls
Authentication
Bearer API Token
Required Parameters
Schemas
Tables
Table Columns
Example Response
HTTP Status Codes
200
Success
400
Invalid Request
Update Governance Roles
API Name
Update Governance Roles
API Description
Governed write API that assigns or updates governance responsibilities (Owner, Steward, Custodian, Governance Role 4, Governance Role 5, and Governance Role 6) on supported OvalEdge assets. Catalog objects are validated using Elasticsearch metadata where applicable, while non-catalog objects such as DQ Rules, Schemes, Policies, and DAGs are validated using domain DAO validation. The API enforces RBAC permissions and glossary propagation rules. Partial updates are supported and return a partial_success status when some role assignments are applied, and others are blocked.
Method
POST
Endpoint URL
/api/v1/mcp/update-governance-roles
Method Name
McpApi.updateGovernanceRoles → McpApiService.updateGovernanceRoles
MCP Tool
update_governance_roles
Authentication
Bearer API Token (@OERole(object="api"))
Request Body
Request Parameters
target
Object
Yes
Asset to update.
target.objectType
String
Yes
OvalEdge object type (for example, oetable, oecolumn, glossary, or dqrule).
target.objectId
Integer
Yes
Internal OvalEdge object identifier. Value must be greater than 0.
roleUpdates
Object (Map)
Yes
Non-empty map of governance role keys and corresponding user or team identifiers.
options
Object
No
Execution options.
options.dryRun
Boolean
No
Validates the request without persisting changes.
options.idempotencyKey
String
No
Client-generated key used to prevent duplicate requests during retries.
options.cascade
Boolean
No
Cascades governance role assignments to supported child objects. When omitted, the server may automatically cascade updates for supported object types such as schemas, tables, files, charts, and APIs.
clientContext
Object
No
Audit information associated with the request.
clientContext.prompt
String
No
Original user or agent prompt.
clientContext.reason
String
No
Reason for updating the governance roles.
Supported Governance Role Keys
owner
owner
steward
steward
custodian
custodian
governance_role_4, governancerole4, govrole4
governancerole4
governance_role_5, governancerole5, govrole5
governancerole5
governance_role_6, governancerole6, govrole6
governancerole6
Example Request
Response Body
Success Response (HTTP 200)
Response Fields
status
String
Update status. Supported values are success, partial_success, and blocked.
reasonCode
String
Reason returned when the request is partially or fully blocked.
target.objectType
String
Object type specified in the request.
target.objectId
Integer
Object identifier specified in the request.
target.redirectUrl
String
Absolute URL for opening the updated asset in the OvalEdge application.
updatedRoles
String[]
Governance roles that were successfully updated or would be updated during a dry run.
blockedRoles
String[]
Governance roles that could not be updated because of permission or governance restrictions.
message
String
Optional message describing the update result.
approval
Object
Optional approval workflow information, including workflow status and identifier.
audit.source
String
Audit source. Always returns OE-MCP.
audit.auditId
Long
Audit identifier when available.
Status Values
success
All requested governance role assignments were applied successfully or already matched the requested values.
partial_success
Some governance role assignments were applied, while others were blocked.
blocked
None of the requested governance role assignments could be applied.
Reason Codes
GLOSSARY_PROPAGATED_GOVERNANCE_ROLE
Governance role is inherited from a glossary term through Copy Role to Catalog and cannot be updated directly.
GOVERNANCE_ROLE_UNAUTHORIZED
The authenticated user does not have permission to update the requested governance role.
GOVERNANCE_ROLE_NOT_SUPPORTED_FOR_OBJECT
The requested governance role is not supported for the specified object type.
HTTP Status Codes
200
Governance roles updated successfully. The response may indicate success, partial_success, or blocked.
400
Validation error, such as missing target, invalid object type, invalid governance role, blank user or team, disabled role, steward-only validation failure, or license validation failure.
404
Target object was not found.
500
Unexpected server error occurred while processing the request.
Notes
Supports updating one or more governance roles in a single request.
RBAC permissions and glossary propagation rules are enforced before applying updates.
Supports dry-run validation without persisting changes.
Cascade updates are supported for applicable object types.
All successful updates are audited with OE-MCP as the audit source.
Partial updates are supported when only a subset of the requested governance role assignments can be applied.
Lookup DQ Rule
API Name
Lookup DQ Rule
API Description
Retrieves Data Quality (DQ) rules using either the rule ID or the rule name. When searching by rule name, the API first performs an exact match and then a partial match if no exact match is found. The response includes rule details, steward information, and governance guidance for subsequent governance updates. DQ rules are not searchable through the search_catalog_assets API.
Method
GET
Endpoint URL
/api/v1/mcp/lookup-dq-rules
Method Name
McpApi.lookupDqRules → McpApiService.lookupDqRules
MCP Tool
lookup_dq_rule
Authentication
Bearer API Token (@OERole(object="api"))
Query Parameters
objectId
Conditional
—
Internal Data Quality Rule identifier (dqruleid). Use when the exact rule ID is known.
ruleName
Conditional
—
Name of the Data Quality Rule. Performs an exact match first, followed by a partial match when necessary.
limit
No
20
Maximum number of matching rules returned when searching by rule name. The server maximum is 100.
Required: Specify exactly one of the following:
objectId
ruleName
Do not specify both parameters in the same request.
Example Requests
Response Body
Success Response (HTTP 200)
Response Fields
objectId
Integer
Internal Data Quality Rule identifier.
objectType
String
Always returns dqrule.
objectName
String
Name of the Data Quality Rule.
steward
String
Steward assigned to the Data Quality Rule.
redirectUrl
String
Absolute URL for opening the rule in the OvalEdge application.
governanceNote
String
Guidance for governance role updates applicable to the rule.
HTTP Status Codes
200
Data Quality Rule retrieved successfully.
400
Both objectId and ruleName were specified, or neither parameter was provided.
404
Data Quality Rule not found.
500
Unexpected server error.
Notes
Retrieves Data Quality Rules only.
Data Quality Rules are not returned by the Search Catalog Assets API.
Use Assess CDE DQ to obtain DQ rule recommendations.
Use Associate DQ Rule Objects to associate catalog objects after resolving the DQ Rule ID.
Associate DQ Rule Objects
API Name
Associate DQ Rule Objects
API Description
Governed write API that associates one or more catalog objects with an existing Data Quality Rule. Each object is validated against the rule function before association. Published (ACTIVE) rules are temporarily converted to Draft during the association process and restored to Published after the update completes. All operations are audited with OE-MCP as the audit source.
Method
POST
Endpoint URL
/api/v1/mcp/dq-intelligence/associate-rule-objects
Method Name
McpApi.associateDqRuleObjects → McpApiService.associateDqRuleObjects → McpDqRuleWriteService.associate
MCP Tool
associate_dq_rule_objects
Authentication
Bearer API Token (@OERole(object="api"))
Request Body (application/json)
Request Parameters
dqruleId
Yes
—
Existing Data Quality Rule identifier obtained from Lookup DQ Rule or Assess CDE DQ.
objects
Yes
—
Non-empty collection of catalog objects to associate.
skipAlreadyAssociated
No
true
When enabled, objects that are already associated with the rule are skipped and reported as already associated.
Example Requests
Response Body
Success Response (HTTP 200)
Response Fields
dqruleId
Integer
Data Quality Rule identifier.
associatedCount
Integer
Number of successfully associated objects.
skippedCount
Integer
Number of skipped objects.
failedCount
Integer
Number of objects that failed association.
statusMessage
String
Summary of the association results.
rows
Array
Association status for each requested object.
audit.source
String
Audit source. Always returns OE-MCP.
Row Status Values
associated
Object was successfully associated with the Data Quality Rule. Includes already-associated objects when skipAlreadyAssociated=true.
skipped
Object was skipped because of validation failure, unsupported object type, or policy restriction.
failed
Association failed because of a backend processing error.
HTTP Status Codes
200
Request completed successfully. Individual object failures are reported in the response.
400
Invalid request, missing Data Quality Rule, or validation failure.
500
Unexpected server error.
Confirmation Workflow
Before updating Data Quality Rule associations, the MCP server returns a confirmation preview when write_confirmed_by_user is not provided.
Initial request returns a confirmation preview.
User approves the operation.
The request is resubmitted with write_confirmed_by_user=true and the provided confirmationToken.
The association operation is executed.
Notes
Supports associating multiple catalog objects in a single request.
Published Data Quality Rules are temporarily converted to Draft during association and restored to Published after completion.
Use Assess CDE DQ to identify recommended Data Quality Rules before association.
Use Lookup DQ Rule when the Data Quality Rule name or identifier is already known.
All successful operations are audited with OE-MCP as the audit source.
Create DQ Rules
API Name
Create DQ Rules
API Description
Governed write API that evaluates Critical Data Elements (CDEs) and other supported catalog objects to either associate them with an existing recommended Data Quality Rule or automatically create new Data Quality Rules when sufficient metadata and business criteria are available. Automatic rule creation is supported only for objects with Critical Data Element (CDE) status set to Yes. All operations are audited with OE-MCP as the audit source.
Method
POST
Endpoint URL
/api/v1/mcp/dq-intelligence/create-rules
Method Name
McpApi.createDqRules → McpApiService.createDqRules → McpDqRuleWriteService.createRules
MCP Tool
create_dq_rules
Authentication
Bearer API Token (@OERole(object="api"))
Request Body (application/json)
Request Parameters
objects
Conditional
Empty
Catalog objects to evaluate. Required unless discoverCdeColumns is true.
discoverCdeColumns
Conditional
false
Automatically discovers CDE columns when no objects are provided.
limit
No
50
Maximum number of objects to process. Server maximum is 100.
preferExistingRule
No
true
Associates objects with an existing recommended rule when available. When set to false, a new rule is created even if a matching rule exists.
skipDuplicateFunctionOnObject
No
true
Skips rule creation when the object already has a Data Quality Rule with the same function type.
descriptionTermName
No
—
Uses the specified glossary term description during rule generation.
descriptionCustomFieldName
No
—
Uses the specified custom field value during rule generation.
supplementalCriteriaText
No
—
Additional business criteria supplied by the user when sufficient metadata is unavailable.
Criteria Evaluation Order
Rule generation evaluates business criteria in the following order:
Catalog metadata
supplementalCriteriaText
Default Data Quality function behavior
Example Requests
Response Body
Success Response (HTTP 200)
Response Fields
createdCount
Integer
Number of Data Quality Rules created.
associatedCount
Integer
Number of objects associated with existing rules.
skippedCount
Integer
Number of skipped objects.
failedCount
Integer
Number of failed operations.
rows
Array
Processing results for each requested object.
audit.source
String
Audit source. Always returns OE-MCP.
Row Status Values
created
A new Data Quality Rule was created and associated with the object.
associated
Object was associated with an existing recommended Data Quality Rule.
skipped
Object was skipped because of duplicate policies, prerequisite failures, or existing associations.
criteria_missing
Insufficient business metadata was available to create a rule.
function_not_identified
No suitable Data Quality function could be determined.
failed
Rule creation or association failed.
HTTP Status Codes
200
Request completed successfully. Individual object results are returned in the response.
400
Validation error or invalid request.
500
Unexpected server error.
Confirmation Workflow
Before creating or associating Data Quality Rules, the MCP server returns a confirmation preview when write_confirmed_by_user is not specified.
Initial request returns a preview.
User confirms the operation.
The request is resubmitted with write_confirmed_by_user=true and the confirmationToken.
The Data Quality Rule is created or associated.
Notes
Objects must have Critical Data Element (CDE) status set to Yes for automatic rule creation.
Existing rules can be reused or new rules can be created based on the preferExistingRule setting.
All successful operations are audited with OE-MCP.
Generate DQ Queries
API Name
Generate DQ Queries
API Description
Read-only API that generates custom SQL queries required for creating Data Quality Rules when the recommended implementation workflow is custom_sql. The API generates rule, statistics, and failed-values queries for a single catalog object and can recommend reuse of existing code objects instead of generating new SQL.
Method
POST
Endpoint URL
/api/v1/mcp/dq-intelligence/generate-queries
Method Name
McpApi.generateDqQueries → McpApiService.generateDqQueries → McpDqSqlQueryService.generateQueries
MCP Tool
generate_dq_queries
Authentication
Bearer API Token (@OERole(object="api"))
Request Body (application/json)
Request Parameters
objectId
Yes
Catalog object identifier.
objectType
Yes
Supported values: oetable, oecolumn, oefile, and oefilecolumn.
businessRule
No
Overrides the catalog business rule.
businessDescription
No
Overrides the catalog business description.
descriptionTermName
No
Uses the specified glossary term description.
descriptionCustomFieldName
No
Uses the specified custom field description.
Example Requests
Response Body
Success Response (HTTP 200)
Response Fields
status
String
Result of SQL generation.
ruleQuery
String
Generated SQL query for rule validation.
statsQuery
String
Generated SQL query for statistics calculation.
failedValuesQuery
String
Generated SQL query for retrieving failed records.
recommendedFunction
String
Recommended Data Quality function.
recommendedWorkflow
String
Recommended implementation workflow.
reuseExistingCode
Boolean
Indicates whether an existing code object should be reused.
matchingCodeObjects
Array
Matching reusable code objects.
objectRedirectUrl
String
Link to the catalog object.
Status Values
generated
Proceed to Validate DQ Queries.
code_found
Review the recommended reuse action.
function_based
Use Create DQ Rules or Associate DQ Rule Objects instead of custom SQL.
function_not_identified
Clarify business rules or run Assess CDE DQ first.
cross_schema_blocked
Cross-schema custom SQL rules are not supported.
insufficient_context
Additional metadata is required before SQL generation.
Recommended Reuse Actions
associate_existing_dqr
create_from_code
already_associated
HTTP Status Codes
200
SQL generation completed successfully.
400
Validation error.
500
Unexpected server error.
Notes
Applicable only when the recommended workflow is custom_sql.
Function-based Data Quality Rules should use Create DQ Rules instead.
Generated SQL should be validated using Validate DQ Queries before creating a custom SQL Data Quality Rule.
Existing code objects may be reused when applicable.
The API does not create or associate Data Quality Rules; it generates SQL statements only.
Validate DQ Queries
API Name
Validate DQ Queries
API Description
Executes the generated Data Quality SQL queries against the target data source to verify that the queries are valid before creating a custom SQL Data Quality Rule. The API validates the Rule, Statistics, and Failed Values queries using Query Sheet execution semantics and returns whether the rule can be created.
Method
POST
Endpoint URL
/api/v1/mcp/dq-intelligence/validate-queries
Method Name
McpApi.validateDqQueries → McpApiService.validateDqQueries → McpDqSqlQueryValidator.validate
MCP Tool
validate_dq_queries
Authentication
Bearer API Token (@OERole(object="api"))
Request Body (application/json)
Request Parameters
connectionId
Yes
Connection identifier returned by Generate DQ Queries.
schemaId
Yes
Schema identifier returned by Generate DQ Queries.
ruleQuery
Yes
SQL query used to evaluate the Data Quality Rule.
statsQuery
Yes
SQL query used to calculate Data Quality statistics.
failedValuesQuery
Yes
SQL query used to retrieve records that violate the rule.
Example Requests
Response Body
Success Response (HTTP 200)
Response Fields
ruleQueryValid
Boolean
Indicates whether the Rule SQL query executed successfully.
canCreateRule
Boolean
Indicates whether the custom SQL Data Quality Rule can be created.
results
Array
Validation result for each submitted SQL query.
Query Validation Results
queryType
Type of query being validated (rule, stats, or failed_values).
valid
Indicates whether the query executed successfully.
message
Validation message or execution error, when applicable.
HTTP Status Codes
200
Validation completed successfully.
400
Missing or invalid SQL queries, connection ID, or schema ID.
500
Unexpected server error.
Confirmation Workflow
Before executing SQL statements against the target connection, the MCP server requires user confirmation.
Initial request returns a confirmation preview.
User approves execution.
The request is resubmitted with write_confirmed_by_user=true and the confirmationToken.
SQL validation is executed.
Notes
Executes SQL statements against the source connection.
Uses Query Sheet execution semantics.
Only SELECT statements are supported.
Continue to Create SQL DQ Rule only when canCreateRule=true.
Intended for validating custom SQL Data Quality Rules only.
Create SQL DQ Rule
API Name
Create SQL DQ Rule
API Description
Governed write API that creates a draft Custom SQL Data Quality Rule using validated SQL queries or an existing SQL code object. The API creates the Data Quality Rule, generates the required code objects when necessary, associates the specified catalog objects, and records the operation with OE-MCP as the audit source.
Method
POST
Endpoint URL
/api/v1/mcp/dq-intelligence/create-sql-rule
Method Name
McpApi.createSqlDqRule → McpApiService.createSqlDqRule → McpDqSqlRuleWriteService.createSqlRule
MCP Tool
create_sql_dq_rule
Authentication
Bearer API Token (@OERole(object="api"))
Request Body (application/json)
Request Parameters
objectId
Yes
Primary catalog object identifier.
objectType
Yes
Type of the primary catalog object.
ruleName
Yes
Name of the Data Quality Rule.
ruleQuery
Conditional
Required when codeObjectId is not provided.
statsQuery
Conditional
Required when codeObjectId is not provided.
failedValuesQuery
Conditional
Required when codeObjectId is not provided.
connectionId
No
Connection identifier returned by Generate DQ Queries.
schemaId
No
Schema identifier returned by Generate DQ Queries.
purpose
No
Business purpose of the Data Quality Rule.
recommendedFunction
No
Recommended function returned by previous assessment APIs.
codeObjectId
No
Existing SQL code object to reuse instead of generating new SQL.
additionalObjects
No
Additional catalog objects to associate with the Data Quality Rule.
SQL Requirements
Provide one of the following:
codeObjectId
OR
ruleQuery
statsQuery
failedValuesQuery
Example Requests
Response Body
Success Response (HTTP 200)
Response Fields
status
String
Status of the create operation.
dqruleId
Integer
Newly created Data Quality Rule identifier.
ruleName
String
Name of the created Data Quality Rule.
ruleCodeObjectId
Integer
Generated SQL Rule code object identifier.
statsCodeObjectId
Integer
Generated Statistics code object identifier.
failedValuesCodeObjectId
Integer
Generated Failed Values code object identifier.
objectRedirectUrl
String
URL for the associated catalog object.
dqRuleRedirectUrl
String
URL for the created Data Quality Rule.
ruleCodeRedirectUrl
String
URL for the generated SQL code object.
audit.source
String
Audit source. Always returns OE-MCP.
Status Values
created
Custom SQL Data Quality Rule and supporting SQL code objects were successfully created.
failed
Backend error occurred during rule creation.
rule_query_invalid
Rule SQL failed validation during creation.
cross_schema_blocked
Cross-schema dependent SQL rules are not supported.
HTTP Status Codes
200
Custom SQL Data Quality Rule created successfully.
400
Validation error or invalid SQL definition.
500
Unexpected server error.
Confirmation Workflow
Before creating a Custom SQL Data Quality Rule, the MCP server requires explicit user confirmation.
Initial request returns a confirmation preview.
User approves the operation.
The request is resubmitted with write_confirmed_by_user=true and the confirmationToken.
The Data Quality Rule is created.
Notes
Creates draft Custom SQL Data Quality Rules.
Supports reuse of existing SQL code objects through codeObjectId.
Supports associating additional catalog objects during rule creation.
Cross-schema dependent SQL rules are not supported.
Use Validate DQ Queries before creating a Custom SQL Data Quality Rule.
All successful operations are audited with OE-MCP as the audit source.
Audit API
API Name
MCP Audit API
API Description
Returns a unified chronological stream of MCP sign-in and resource-access audit records. Supports filtering by date range and user, along with cursor-based pagination for retrieving subsequent pages of audit records.
Method
GET
Endpoint URL
/api/v1/audit/mcp
Method Name
getAudit
Authentication
Bearer API Token (@OERole(object="api"))
Query Parameters
fromDate
Yes
—
First calendar day of the audit window, inclusive. Format: yyyy-MM-dd. Time is not accepted.
toDate
Yes
—
Last calendar day of the audit window, inclusive. Format: yyyy-MM-dd. Must not be after today and must be within the maximum 7-day inclusive range.
userId
No
—
Filters audit records for a single user ID.
limit
No
1000
Maximum number of records returned per page. The maximum value is 5000.
afterEventTime
Conditional
—
Pagination cursor containing the event time of the last record from the previous page. Format: yyyy-MM-dd HH:mm:ss. Must be provided with afterAuditType and afterId.
afterAuditType
Conditional
—
Pagination cursor containing the audit type of the last record from the previous page. Allowed values: SIGNIN, RESOURCE_ACCESS. Must be provided with afterEventTime and afterId.
afterId
Conditional
—
Pagination cursor containing the audit ID of the last record from the previous page. Must be provided with afterEventTime and afterAuditType.
Date Format
The fromDate and toDate parameters must use the following format:
Example:
Do not include a time component.
Invalid date formats return status=false with an explicit invalid-format message.
fromDate represents the start of the day at 00:00:00.
toDate represents the end of the day at 23:59:59.999999999.
Window Rules
Date order
fromDate must be less than or equal to toDate.
Future dates
toDate must not be after the current date.
Maximum range
Maximum inclusive range is 7 calendar days.
Example
fromDate=2026-07-01&toDate=2026-07-07
Pagination Rules
The API supports cursor-based pagination when the response contains hasMore=true.
The following three parameters must be provided together when requesting the next page:
afterEventTime
afterAuditType
afterId
Copy the values from the previous response:
nextAfterEventTime → afterEventTime
nextAfterAuditType → afterAuditType
nextAfterId → afterId
The same fromDate and toDate values must be retained for all subsequent pages.
Pagination Cursor Format
afterEventTime and nextAfterEventTime use:
Example:
Invalid formats return status=false with an explicit invalid-format message.
Allowed Audit Types
SIGNIN
MCP sign-in audit event
RESOURCE_ACCESS
MCP resource-access audit event
Example Request
GET /api/v1/audit/mcp?fromDate=2026-07-20&toDate=2026-07-20
Example Request URL
Example Request with User Filter
Example Request for Next Page
Response Body
Success Response (HTTP 200)
Response Fields
status
Boolean
Indicates whether the API request was successful.
statusCode
String
HTTP status code returned by the API.
statusMsg
String
Status or error message.
response.data.records
Array
Audit records returned for the requested page.
auditId
Long
Unique identifier of the audit record.
auditType
String
Type of audit event: SIGNIN or RESOURCE_ACCESS.
userId
String
User associated with the audit event.
eventTime
String
Date and time when the audit event occurred.
resource
String
MCP resource accessed during the audit event.
action
String
Action performed for the audit event.
success
Boolean
Indicates whether the audited operation was successful.
ipAddress
String
IP address associated with the audit event.
hasMore
Boolean
Indicates whether additional audit records are available.
nextAfterId
Long
Audit ID to use as afterId when requesting the next page.
nextAfterAuditType
String
Audit type to use as afterAuditType when requesting the next page.
nextAfterEventTime
String
Event time to use as afterEventTime when requesting the next page.
Response Counts
The audit response data supports the following count fields:
totalCount
Total number of audit records available for the complete requested date window.
returnedCount
Number of audit records returned in the current page.
remainingCount
Number of records remaining after the current page. Returns 0 when hasMore=false.
These count fields are described in the API draft but are not present in the sample response provided.
HTTP Status Codes
The provided draft explicitly specifies the response behavior for invalid date and pagination formats but does not provide a complete HTTP status-code table. Therefore, specific HTTP error codes beyond the documented 200 success response are not included here.
200
Request processed successfully.
—
Invalid date or cursor formats return status=false with an explicit invalid-format message.
Notes
Returns a unified chronological stream of MCP SIGNIN and RESOURCE_ACCESS audit records.
The audit window is limited to a maximum of 7 inclusive calendar days.
toDate cannot be a future date.
Pagination uses a three-field cursor: afterEventTime, afterAuditType, and afterId.
All three pagination parameters must be supplied together.
Retain the same fromDate and toDate values when retrieving subsequent pages.
Use nextAfterEventTime, nextAfterAuditType, and nextAfterId from the previous response to construct the next-page request.
The API supports filtering by a single userId.
The default page size is 1000, with a maximum of 5000 records per request.
Copyright © 2026, OvalEdge LLC, Peachtree Corners, GA, USA
Last updated
Was this helpful?

