Collate AI Governance Frameworks API
Workspace-level AI governance frameworks (EU AI Act, NIST AI RMF, ISO/IEC 42001, custom). Enabled frameworks drive per-asset compliance assessments.
Workspace-level AI governance frameworks (EU AI Act, NIST AI RMF, ISO/IEC 42001, custom). Enabled frameworks drive per-asset compliance assessments.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/collate:collate-ai-governance-frameworks-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: OpenMetadata AI Governance Frameworks API
description: Common types and API definition for OpenMetadata
contact:
name: OpenMetadata
url: https://open-metadata.org
email: openmetadata-dev@googlegroups.com
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
version: 2.0.5
servers:
- url: /api
description: Current Host
- url: http://localhost:8585/api
description: Endpoint URL
security:
- BearerAuth: []
tags:
- name: AI Governance Frameworks
description: Workspace-level AI governance frameworks (EU AI Act, NIST AI RMF, ISO/IEC 42001, custom). Enabled frameworks drive per-asset compliance assessments.
paths:
/v1/aiGovernanceFrameworks:
get:
tags:
- AI Governance Frameworks
summary: List frameworks
operationId: listAIGovernanceFrameworks
parameters:
- name: fields
in: query
schema:
type: string
- name: limit
in: query
schema:
type: integer
format: int32
default: 50
- name: before
in: query
schema:
type: string
- name: after
in: query
schema:
type: string
- name: include
in: query
schema:
type: string
default: non-deleted
enum:
- all
- deleted
- non-deleted
responses:
default:
description: default response
content:
application/json:
schema:
$ref: '#/components/schemas/ResultListAIGovernanceFramework'
put:
tags:
- AI Governance Frameworks
summary: Create or update a framework
operationId: createOrUpdateAIGovernanceFramework
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAIGovernanceFramework'
responses:
default:
description: default response
content:
application/json: {}
post:
tags:
- AI Governance Frameworks
summary: Create a framework
operationId: createAIGovernanceFramework
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAIGovernanceFramework'
responses:
default:
description: default response
content:
application/json: {}
/v1/aiGovernanceFrameworks/{id}:
get:
tags:
- AI Governance Frameworks
summary: Get a framework by id
operationId: getAIGovernanceFrameworkById
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
- name: fields
in: query
schema:
type: string
- name: include
in: query
schema:
type: string
default: non-deleted
enum:
- all
- deleted
- non-deleted
responses:
default:
description: default response
content:
application/json:
schema:
$ref: '#/components/schemas/AIGovernanceFramework'
delete:
tags:
- AI Governance Frameworks
summary: Delete a framework
operationId: deleteAIGovernanceFramework
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
- name: hardDelete
in: query
schema:
type: boolean
default: false
- name: recursive
in: query
schema:
type: boolean
default: false
responses:
default:
description: default response
content:
application/json: {}
patch:
tags:
- AI Governance Frameworks
summary: Update a framework
operationId: patchAIGovernanceFramework
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/JsonPatch'
responses:
default:
description: default response
content:
application/json: {}
/v1/aiGovernanceFrameworks/{id}/fork:
post:
tags:
- AI Governance Frameworks
summary: Fork a built-in framework into a Custom framework
description: Deep-copies every control from the source framework into a new Custom framework. The new framework starts disabled and uses 'ForkedFrom' as its source.
operationId: forkAIGovernanceFramework
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ForkAIGovernanceFrameworkRequest'
responses:
default:
description: default response
content:
application/json: {}
/v1/aiGovernanceFrameworks/{id}/context:
get:
tags:
- AI Governance Frameworks
summary: Get the AI context for an entity by id
description: Retrieve the LLM-ready AI Context (Context Profile) for the entity — its attached business knowledge (glossary terms, Context Center articles, applied metrics), type-specific structural context, and depth-1 lineage — as an OKF-style markdown document (default) or the structured AIContext JSON (`?format=json`).
operationId: getEntityAiContextById_2
parameters:
- name: id
in: path
description: Entity id
required: true
schema:
type: string
format: uuid
- name: format
in: query
description: 'Output format: markdown (default) or json'
schema:
type: string
default: markdown
- name: query
in: query
description: Optional question; truncated knowledge items are excerpted to the passage most relevant to it instead of the positional lead
schema:
type: string
responses:
'200':
description: Entity AI context
'404':
description: Entity not found
/v1/aiGovernanceFrameworks/name/{fqn}/context:
get:
tags:
- AI Governance Frameworks
summary: Get the AI context for an entity by fully qualified name
description: Retrieve the LLM-ready AI Context (Context Profile) for the entity by FQN — see getEntityAiContextById. Returns an OKF-style markdown document by default, or the structured AIContext JSON with `?format=json`.
operationId: getEntityAiContextByName_2
parameters:
- name: fqn
in: path
description: Entity fully qualified name
required: true
schema:
type: string
- name: format
in: query
description: 'Output format: markdown (default) or json'
schema:
type: string
default: markdown
- name: query
in: query
description: Optional question; truncated knowledge items are excerpted to the passage most relevant to it instead of the positional lead
schema:
type: string
responses:
'200':
description: Entity AI context
'404':
description: Entity not found
/v1/aiGovernanceFrameworks/name/{fqn}:
get:
tags:
- AI Governance Frameworks
summary: Get a framework by FQN
operationId: getAIGovernanceFrameworkByFqn
parameters:
- name: fqn
in: path
required: true
schema:
type: string
- name: fields
in: query
schema:
type: string
- name: include
in: query
schema:
type: string
default: non-deleted
enum:
- all
- deleted
- non-deleted
responses:
default:
description: default response
content:
application/json:
schema:
$ref: '#/components/schemas/AIGovernanceFramework'
/v1/aiGovernanceFrameworks/{id}/coverage:
get:
tags:
- AI Governance Frameworks
summary: Per-control coverage roll-up for a framework
description: Returns each control under the framework with its current status / affectedAssetCount / evidenceCount. Computed in-memory from AIFrameworkControl entries + compliance records on in-scope AI assets.
operationId: getFrameworkCoverage
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
responses:
default:
description: default response
content:
application/json: {}
/v1/aiGovernanceFrameworks/history:
get:
tags:
- AI Governance Frameworks
summary: List all entity versions within a time range
description: Get a paginated list of all entity versions within a given time range specified by `startTs` and `endTs` in milliseconds since epoch.
operationId: listAllEntityVersionsByTimestamp_2
parameters:
- name: startTs
in: query
description: Start timestamp in milliseconds since epoch
required: true
schema:
type: integer
format: int64
- name: endTs
in: query
description: End timestamp in milliseconds since epoch
required: true
schema:
type: integer
format: int64
- name: limit
in: query
description: Limit the number of entity returned (1 to 1000000, default = 10)
schema:
maximum: 500
minimum: 1
type: integer
format: int32
default: 10
- name: before
in: query
description: Returns list of entity versions before this cursor
schema:
type: string
- name: after
in: query
description: Returns list of entity versions after this cursor
schema:
type: string
responses:
'200':
description: List of all versions
content:
application/json:
schema:
$ref: '#/components/schemas/ResultList'
components:
schemas:
TagLabel:
required:
- labelType
- source
- state
- tagFQN
type: object
properties:
tagFQN:
type: string
name:
type: string
displayName:
type: string
description:
type: string
style:
$ref: '#/components/schemas/Style'
source:
type: string
enum:
- Classification
- Glossary
labelType:
type: string
enum:
- Manual
- Propagated
- Automated
- Derived
- Generated
state:
type: string
enum:
- Suggested
- Confirmed
href:
type: string
format: uri
reason:
type: string
appliedAt:
type: string
format: date-time
appliedBy:
type: string
metadata:
$ref: '#/components/schemas/TagLabelMetadata'
EntityReference:
required:
- id
- type
type: object
properties:
id:
type: string
format: uuid
type:
type: string
name:
type: string
fullyQualifiedName:
type: string
description:
type: string
displayName:
type: string
deleted:
type: boolean
inherited:
type: boolean
href:
type: string
format: uri
TagLabelRecognizerMetadata:
required:
- recognizerId
- recognizerName
- score
type: object
properties:
recognizerId:
type: string
format: uuid
recognizerName:
type: string
score:
type: number
format: double
target:
type: string
enum:
- content
- column_name
patterns:
type: array
items:
$ref: '#/components/schemas/PatternMatch'
EntityError:
type: object
properties:
message:
type: string
entity:
type: object
CoverImage:
type: object
properties:
url:
type: string
position:
type: string
AccessDetails:
required:
- timestamp
type: object
properties:
timestamp:
type: integer
format: int64
accessedBy:
$ref: '#/components/schemas/EntityReference'
accessedByAProcess:
type: string
Paging:
required:
- total
type: object
properties:
before:
type: string
after:
type: string
offset:
type: integer
format: int32
limit:
type: integer
format: int32
total:
type: integer
format: int32
ResultListAIGovernanceFramework:
required:
- data
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/AIGovernanceFramework'
paging:
$ref: '#/components/schemas/Paging'
errors:
type: array
items:
$ref: '#/components/schemas/EntityError'
warningsCount:
type: integer
format: int32
warnings:
type: array
items:
$ref: '#/components/schemas/EntityError'
ChangeSummaryMap:
type: object
LifeCycle:
type: object
properties:
created:
$ref: '#/components/schemas/AccessDetails'
updated:
$ref: '#/components/schemas/AccessDetails'
accessed:
$ref: '#/components/schemas/AccessDetails'
JsonPatch:
type: object
ChangeDescription:
type: object
properties:
fieldsAdded:
type: array
items:
$ref: '#/components/schemas/FieldChange'
fieldsUpdated:
type: array
items:
$ref: '#/components/schemas/FieldChange'
fieldsDeleted:
type: array
items:
$ref: '#/components/schemas/FieldChange'
previousVersion:
type: number
format: double
changeSummary:
$ref: '#/components/schemas/ChangeSummaryMap'
ResultList:
required:
- data
type: object
properties:
data:
type: array
items:
type: object
paging:
$ref: '#/components/schemas/Paging'
errors:
type: array
items:
$ref: '#/components/schemas/EntityError'
warningsCount:
type: integer
format: int32
warnings:
type: array
items:
$ref: '#/components/schemas/EntityError'
UsageStats:
required:
- count
type: object
properties:
count:
minimum: 0
type: integer
format: int32
percentileRank:
type: number
format: double
FieldChange:
type: object
properties:
name:
type: string
oldValue:
type: object
newValue:
type: object
UsageDetails:
required:
- dailyStats
- date
type: object
properties:
dailyStats:
$ref: '#/components/schemas/UsageStats'
weeklyStats:
$ref: '#/components/schemas/UsageStats'
monthlyStats:
$ref: '#/components/schemas/UsageStats'
date:
type: string
ForkAIGovernanceFrameworkRequest:
type: object
properties:
name:
maxLength: 256
minLength: 1
pattern: ^((?!::)[^>"\x00-\x1f])*$
type: string
displayName:
type: string
CreateAIGovernanceFramework:
required:
- name
type: object
properties:
name:
maxLength: 256
minLength: 1
pattern: ^((?!::)[^>"\x00-\x1f])*$
type: string
displayName:
type: string
description:
type: string
reference:
type: string
region:
type: string
source:
type: string
enum:
- BuiltIn
- Custom
- ForkedFrom
forkedFrom:
maxLength: 3072
minLength: 1
type: string
enabled:
type: boolean
stewards:
type: array
items:
$ref: '#/components/schemas/EntityReference'
assessmentCadence:
type: string
enum:
- Monthly
- Quarterly
- SemiAnnual
- Annual
autoApply:
$ref: '#/components/schemas/FrameworkAutoApplyRules'
nextDeadline:
type: integer
format: int64
owners:
type: array
items:
$ref: '#/components/schemas/EntityReference'
tags:
type: array
items:
$ref: '#/components/schemas/TagLabel'
domains:
type: array
items:
type: string
extension:
type: object
reviewers:
type: array
items:
$ref: '#/components/schemas/EntityReference'
dataProducts:
type: array
items:
type: string
lifeCycle:
$ref: '#/components/schemas/LifeCycle'
AIGovernanceFramework:
required:
- id
- name
type: object
properties:
id:
type: string
format: uuid
name:
maxLength: 256
minLength: 1
pattern: ^((?!::)[^>"\x00-\x1f])*$
type: string
fullyQualifiedName:
maxLength: 3072
minLength: 1
type: string
displayName:
type: string
description:
type: string
reference:
type: string
region:
type: string
source:
type: string
enum:
- BuiltIn
- Custom
- ForkedFrom
forkedFrom:
$ref: '#/components/schemas/EntityReference'
enabled:
type: boolean
stewards:
type: array
items:
$ref: '#/components/schemas/EntityReference'
assessmentCadence:
type: string
enum:
- Monthly
- Quarterly
- SemiAnnual
- Annual
autoApply:
$ref: '#/components/schemas/FrameworkAutoApplyRules'
nextDeadline:
type: integer
format: int64
owners:
type: array
items:
$ref: '#/components/schemas/EntityReference'
tags:
type: array
items:
$ref: '#/components/schemas/TagLabel'
version:
type: number
format: double
updatedAt:
type: integer
format: int64
updatedBy:
type: string
href:
type: string
format: uri
changeDescription:
$ref: '#/components/schemas/ChangeDescription'
incrementalChangeDescription:
$ref: '#/components/schemas/ChangeDescription'
deleted:
type: boolean
extension:
type: object
domains:
type: array
items:
$ref: '#/components/schemas/EntityReference'
lifeCycle:
$ref: '#/components/schemas/LifeCycle'
sourceHash:
maxLength: 32
minLength: 1
type: string
reviewers:
type: array
items:
$ref: '#/components/schemas/EntityReference'
dataProducts:
type: array
items:
$ref: '#/components/schemas/EntityReference'
dataContract:
$ref: '#/components/schemas/EntityReference'
followers:
type: array
items:
$ref: '#/components/schemas/EntityReference'
votes:
$ref: '#/components/schemas/Votes'
usageSummary:
$ref: '#/components/schemas/UsageDetails'
experts:
type: array
items:
$ref: '#/components/schemas/EntityReference'
entityStatus:
type: string
enum:
- Draft
- In Review
- Approved
- Archived
- Deprecated
- Rejected
- Unprocessed
certification:
$ref: '#/components/schemas/AssetCertification'
impersonatedBy:
type: string
provider:
type: string
enum:
- system
- user
- automation
children:
type: array
items:
$ref: '#/components/schemas/EntityReference'
service:
$ref: '#/components/schemas/EntityReference'
style:
$ref: '#/components/schemas/Style'
PatternMatch:
required:
- name
- score
type: object
properties:
name:
type: string
regex:
type: string
score:
type: number
format: double
Style:
type: object
properties:
color:
type: string
iconURL:
type: string
coverImage:
$ref: '#/components/schemas/CoverImage'
FrameworkAutoApplyRules:
type: object
properties:
assetTypes:
type: array
items:
type: string
regions:
type: array
items:
type: string
riskClasses:
type: array
items:
type: string
deploymentStages:
type: array
items:
type: string
Votes:
type: object
properties:
upVotes:
type: integer
format: int32
downVotes:
type: integer
format: int32
upVoters:
type: array
items:
$ref: '#/components/schemas/EntityReference'
downVoters:
type: array
items:
$ref: '#/components/schemas/EntityReference'
AssetCertification:
required:
- appliedDate
- expiryDate
- tagLabel
type: object
properties:
tagLabel:
$ref: '#/components/schemas/TagLabel'
appliedDate:
type: integer
format: int64
expiryDate:
type: integer
format: int64
TagLabelMetadata:
type: object
properties:
recognizer:
$ref: '#/components/schemas/TagLabelRecognizerMetadata'
expiryDate:
type: integer
format: int64
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
x-provenance:
method: harvested
publisher: Collate
source: https://sandbox.open-metadata.org/swagger.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)