For the complete documentation index, see llms.txt. This page is also available as Markdown.

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

Field
Value

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

Parameter
Required
Default
Description

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

Code
Description

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

Field
Value

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

Parameter
Required
Description

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:

  1. fullyQualifiedName

OR

  1. objectId + objectType

Supported Object Types

  • oetable

  • oecolumn

  • oefile

  • oefilecolumn

  • glossary

  • oetag

  • oechart

  • chartchild

Example Request

Example Response

HTTP Status Codes

Code
Description

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

Field
Value

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

Parameter
Required
Default
Description

page

No

1

Page number

limit

No

20

Number of records per page

Example Request

Example Response

HTTP Status Codes

Code
Description

200

Success

401

Authentication failed

500

Internal server error

Notes

  • Only connections accessible to the authenticated user are returned.

  • Supports pagination.

Column Profile

Field
Value

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

Parameter
Required
Description

objectId

Yes

OvalEdge object identifier

objectType

Yes

Supported values: oetable, oefile

Example Request

Example Response

HTTP Status Codes

Code
Description

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

Field
Value

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

Parameter
Required
Description

objectId

Yes

Table object identifier

Example Request

Example Response

HTTP Status Codes

Code
Description

200

Success

404

Table not found

Notes

  • Supported only for table assets.

  • Includes explicit and inferred relationships.

Lineage

Field
Value

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

Parameter
Required
Default
Description

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

Code
Description

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)

Field
Value

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

Parameter
Required
Description

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

Code
Description

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

Field
Value

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

Parameter
Required
Description

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

Alias
Equivalent Field

name

termName

globalDomainId

domainId

Example Response

HTTP Status Codes

Code
Description

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)

Field
Value

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

Parameter
Required
Description

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

Code
Description

200

Success

400

Invalid request

404

Tag not found

Notes

  • Either objectId or tagName must be supplied.

  • Results respect security permissions.

Create Tag

Field
Value

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

Parameter
Required
Description

tagName

Yes

Tag name.

description

No

Tag description.

parentTagId

No

Parent tag ID.

masterTagId

No

Master tag ID used in secure mode.

Aliases

Alias
Equivalent Field

name

tagName

Example Response

HTTP Status Codes

Code
Description

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

Field
Value

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

Required
Default
Description

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

Code
Description

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

Field
Value

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

Parameter
Required
Default
Description

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

Query Direction
Required Parameters

browse

connectionId, objectType

user_to_objects

username

object_to_users

objectPath, objectType

Example Request

Example Response

HTTP Status Codes

Code
Description

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

Field
Value

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

Parameter
Description

target.objectType

Supported asset type

target.objectId

OvalEdge object identifier

descriptions

At least one description field

Optional Parameters

Parameter
Description

options.dryRun

Validates request without updating

failOnBlockedField

Stops update when a field is blocked

idempotencyKey

Prevents duplicate requests

clientContext

Audit information

Supported Description Fields

Object Type
Supported 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

Code
Description

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

Field
Value

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

Parameter
Description

targets

One or more catalog objects

action

Yes, No, or None

Optional Parameters

Parameter
Description

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

Code
Description

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

Field
Value

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

Code
Description

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

Field
Value

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

Parameter
Required
Description

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:

  1. objectId + objectType

  2. fullyQualifiedName

  3. 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

Code
Description

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

Field
Value

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

Parameter
Required
Description

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

Code
Description

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

Field
Value

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

Parameter
Description

Story Name

Name of the Datastory

Story Content

Datastory content

Optional Parameters

Parameter
Description

Story Zone

Filters by Story Zone

Example Response

HTTP Status Codes

Code
Description

200

Success

404

Story Not Found

Metadata Changes Between Crawls

Field
Value

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

Code
Description

200

Success

400

Invalid Request

Update Governance Roles

Field
Value

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

Parameter
Type
Required
Description

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

Client Key
Canonical Role

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

Field
Type
Description

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

Status
Description

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

Reason Code
Description

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

Code
Description

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

Field
Value

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

Parameter
Required
Default
Description

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

Field
Type
Description

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

Code
Description

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

Field
Value

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

Parameter
Required
Default
Description

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

Field
Type
Description

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

Status
Description

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

Code
Description

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.

  1. Initial request returns a confirmation preview.

  2. User approves the operation.

  3. The request is resubmitted with write_confirmed_by_user=true and the provided confirmationToken.

  4. 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

Field
Value

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

Parameter
Required
Default
Description

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:

  1. Catalog metadata

  2. supplementalCriteriaText

  3. Default Data Quality function behavior

Example Requests

Response Body

Success Response (HTTP 200)

Response Fields

Field
Type
Description

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

Status
Description

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

Code
Description

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.

  1. Initial request returns a preview.

  2. User confirms the operation.

  3. The request is resubmitted with write_confirmed_by_user=true and the confirmationToken.

  4. 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

Field
Value

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

Parameter
Required
Description

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

Field
Type
Description

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

Status
Agent Action

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.

  • associate_existing_dqr

  • create_from_code

  • already_associated

HTTP Status Codes

Code
Description

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

Field
Value

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

Parameter
Required
Description

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

Field
Type
Description

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

Field
Description

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

Code
Description

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.

  1. Initial request returns a confirmation preview.

  2. User approves execution.

  3. The request is resubmitted with write_confirmed_by_user=true and the confirmationToken.

  4. 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

Field
Value

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

Parameter
Required
Description

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

Field
Type
Description

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

Status
Description

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

Code
Description

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.

  1. Initial request returns a confirmation preview.

  2. User approves the operation.

  3. The request is resubmitted with write_confirmed_by_user=true and the confirmationToken.

  4. 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

Field
Value

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

Parameter
Required
Default
Description

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

Rule
Description

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

Audit Type
Description

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

Field
Type
Description

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:

Field
Description

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?