MATIH Platform is in active MVP development. Documentation reflects current implementation status.
10. Data Catalog & Governance
Governance
API Reference

Governance API Reference

The Governance API provides endpoints for managing data governance policies, evaluating policy compliance, tracking violations, and retrieving governance statistics. All endpoints are served by the Catalog Service at the base path /v1/governance/policies.


Authentication

All requests require a valid JWT token in the Authorization header. Certain endpoints require additional role-based permissions (GOVERNANCE_ADMIN or DATA_STEWARD).


Policy CRUD Endpoints

Create Policy

FieldValue
MethodPOST
Path/v1/governance/policies
AuthGOVERNANCE_ADMIN or DATA_STEWARD

Request body fields:

FieldTypeRequiredDescription
tenantIdUUIDYesTenant identifier
nameStringYesPolicy name
descriptionStringNoDetailed description
policyTypeEnumYesACCESS_CONTROL, DATA_QUALITY, RETENTION, CLASSIFICATION, MASKING, AUDIT, USAGE, SHARING, ENCRYPTION, COMPLIANCE, CUSTOM
scopeTypeEnumYesGLOBAL, DATA_SOURCE, DATABASE, SCHEMA, TABLE, COLUMN, TAG, CLASSIFICATION, CUSTOM
scopeEntitiesListNoEntity identifiers in scope
classificationsListNoClassification levels
rulesListNoPolicy rules
enforcementActionsListNoEnforcement actions
enforcementModeEnumYesMONITOR, WARN, SOFT_ENFORCE, HARD_ENFORCE
priorityIntegerNoPriority level (default 100)
effectiveFromInstantNoStart of effective period
effectiveUntilInstantNoEnd of effective period
tagsListNoTags for categorization
metadataMapNoAdditional metadata
ownerStringNoPolicy owner
stewardsListNoResponsible stewards
createdByStringNoCreator identifier

Get Policy

FieldValue
MethodGET
Path/v1/governance/policies/:policyId

List Policies

FieldValue
MethodGET
Path/v1/governance/policies
QuerytenantId (required), standard pagination

List Active Policies

FieldValue
MethodGET
Path/v1/governance/policies/active
QuerytenantId (required)

List Policies by Type

FieldValue
MethodGET
Path/v1/governance/policies/by-type
QuerytenantId (required), type (required)

Update Policy

FieldValue
MethodPUT
Path/v1/governance/policies/:policyId
AuthGOVERNANCE_ADMIN or DATA_STEWARD

Delete Policy

FieldValue
MethodDELETE
Path/v1/governance/policies/:policyId
AuthGOVERNANCE_ADMIN

Policy Lifecycle Endpoints

Submit for Approval

FieldValue
MethodPOST
Path/v1/governance/policies/:policyId/submit
QuerysubmittedBy (required)
AuthGOVERNANCE_ADMIN or DATA_STEWARD

Approve Policy

FieldValue
MethodPOST
Path/v1/governance/policies/:policyId/approve
QueryapprovedBy (required)
AuthGOVERNANCE_ADMIN

Reject Policy

FieldValue
MethodPOST
Path/v1/governance/policies/:policyId/reject
QueryrejectedBy (required), reason (required)
AuthGOVERNANCE_ADMIN

Activate Policy

FieldValue
MethodPOST
Path/v1/governance/policies/:policyId/activate
QueryactivatedBy (required)
AuthGOVERNANCE_ADMIN

Suspend Policy

FieldValue
MethodPOST
Path/v1/governance/policies/:policyId/suspend
QuerysuspendedBy (required)
AuthGOVERNANCE_ADMIN

Policy Evaluation Endpoints

Evaluate Policies

FieldValue
MethodPOST
Path/v1/governance/policies/evaluate
QuerytenantId (required)

Request body (evaluation context):

FieldTypeRequiredDescription
entityIdUUIDYesEntity being accessed
entityFqnStringYesFully qualified entity name
entityTypeStringNoType of entity
databaseNameStringNoDatabase name
schemaNameStringNoSchema name
tableNameStringNoTable name
columnNamesListNoColumn names
classificationStringNoClassification level
tagsListNoEntity tags
userIdStringNoUser performing the operation
userRolesListNoUser roles
userPermissionsListNoUser permissions
userAttributesMapNoCustom user attributes
operationTypeStringYesSELECT, INSERT, UPDATE, DELETE, EXPORT
requestedRowCountIntegerNoRows requested
exportFormatStringNoExport format requested
dataMetricsMapNoData quality metrics
lastUpdatedInstantNoLast update timestamp

Evaluate by Type

FieldValue
MethodPOST
Path/v1/governance/policies/evaluate/type/:policyType
QuerytenantId (required)

Check Access

FieldValue
MethodPOST
Path/v1/governance/policies/check-access
QuerytenantId (required)

Violation Endpoints

Get Recent Violations

FieldValue
MethodGET
Path/v1/governance/policies/violations/recent
QuerytenantId (required), limit (default 50)
AuthGOVERNANCE_ADMIN or DATA_STEWARD

Get Policy Violations

FieldValue
MethodGET
Path/v1/governance/policies/:policyId/violations
QuerytenantId (required)
AuthGOVERNANCE_ADMIN or DATA_STEWARD

Statistics Endpoint

Get Governance Statistics

FieldValue
MethodGET
Path/v1/governance/policies/statistics
QuerytenantId (required)