openapi: 3.0.1 info: title: OpenMetadata APIs Agent Executions MCP Servers 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: '1.13' servers: - url: /api description: Current Host - url: http://localhost:8585/api description: Endpoint URL security: - BearerAuth: [] tags: - name: MCP Servers description: '`MCP Servers` are Model Context Protocol servers that expose tools, resources, and prompts for AI applications. They enable AI governance including risk assessment, compliance tracking, and shadow AI detection.' paths: /v1/mcpServers/{id}/followers: put: tags: - MCP Servers summary: Add a follower description: Add a user identified by `userId` as follower of this MCP server operationId: addFollower_3 parameters: - name: id in: path description: Id of the MCP Server required: true schema: type: string format: uuid requestBody: description: Id of the user to be added as follower content: application/json: schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ChangeEvent' '404': description: MCP Server for instance {id} is not found /v1/mcpServers: get: tags: - MCP Servers summary: List MCP servers description: Get a list of MCP servers. Use `fields` parameter to get only necessary fields. Use cursor-based pagination to limit the number of entries in the list using `limit` and `before` or `after` query params. operationId: listMcpServers parameters: - name: fields in: query description: Fields requested in the returned resource schema: type: string example: owners,followers,tags,extension,domains,tools,resources,prompts,service - name: limit in: query description: Limit the number of servers returned. (1 to 1000000, default = 10) schema: maximum: 1000000 minimum: 0 type: integer format: int32 default: 10 - name: before in: query description: Returns list of servers before this cursor schema: type: string - name: after in: query description: Returns list of servers after this cursor schema: type: string - name: include in: query description: Include all, deleted, or non-deleted entities. schema: type: string default: non-deleted enum: - all - deleted - non-deleted responses: '200': description: List of MCP servers content: application/json: schema: $ref: '#/components/schemas/McpServerList' put: tags: - MCP Servers summary: Create or update an MCP server description: Create a new MCP server, if it does not exist or update an existing server. operationId: createOrUpdateMcpServer requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateMcpServer' responses: '200': description: The MCP server content: application/json: schema: $ref: '#/components/schemas/McpServer' '400': description: Bad request post: tags: - MCP Servers summary: Create an MCP server description: Create a new MCP server. operationId: createMcpServer requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateMcpServer' responses: '200': description: MCP Server content: application/json: schema: $ref: '#/components/schemas/McpServer' '400': description: Bad request /v1/mcpServers/name/{fqn}: get: tags: - MCP Servers summary: Get an MCP server by fully qualified name description: Get an MCP server by fully qualified name. operationId: getMcpServerByFQN parameters: - name: fqn in: path description: Fully qualified name of MCP Server required: true schema: type: string - name: fields in: query description: Fields requested in the returned resource schema: type: string example: owners,followers,tags,extension,domains,tools,resources,prompts,service - name: include in: query description: Include all, deleted, or non-deleted entities. schema: type: string default: non-deleted enum: - all - deleted - non-deleted - name: includeRelations in: query description: 'Per-relation include control. Format: field:value,field2:value2. Example: owners:non-deleted,followers:all. Valid values: all, deleted, non-deleted. If not specified for a field, uses the entity''s include value.' schema: type: string example: owners:non-deleted,followers:all responses: '200': description: The MCP server content: application/json: schema: $ref: '#/components/schemas/McpServer' '404': description: MCP Server for instance {fqn} is not found delete: tags: - MCP Servers summary: Delete an MCP server by fully qualified name description: Delete an MCP server by `fullyQualifiedName`. operationId: deleteMcpServerByFQN parameters: - name: hardDelete in: query description: Hard delete the entity. (Default = `false`) schema: type: boolean default: false - name: recursive in: query description: Recursively delete this entity and it's children. (Default `false`) schema: type: boolean default: false - name: fqn in: path description: Name of the MCP Server required: true schema: type: string responses: '200': description: OK '404': description: MCP Server for instance {fqn} is not found patch: tags: - MCP Servers summary: Update an MCP server by name description: Update an existing MCP server using JsonPatch. externalDocs: description: JsonPatch RFC url: https://tools.ietf.org/html/rfc6902 operationId: patchMcpServerByName parameters: - name: fqn in: path description: Name of the MCP Server required: true schema: type: string requestBody: description: JsonPatch with array of operations content: application/json-patch+json: schema: $ref: '#/components/schemas/JsonPatch' example: '[{op:remove, path:/a},{op:add, path: /b, value: val}]' responses: default: description: default response content: application/json: {} /v1/mcpServers/{id}: get: tags: - MCP Servers summary: Get an MCP server by Id description: Get an MCP server by `Id`. operationId: getMcpServerByID parameters: - name: id in: path description: Id of the MCP Server required: true schema: type: string format: uuid - name: fields in: query description: Fields requested in the returned resource schema: type: string example: owners,followers,tags,extension,domains,tools,resources,prompts,service - name: include in: query description: Include all, deleted, or non-deleted entities. schema: type: string default: non-deleted enum: - all - deleted - non-deleted - name: includeRelations in: query description: 'Per-relation include control. Format: field:value,field2:value2. Example: owners:non-deleted,followers:all. Valid values: all, deleted, non-deleted. If not specified for a field, uses the entity''s include value.' schema: type: string example: owners:non-deleted,followers:all responses: '200': description: The MCP server content: application/json: schema: $ref: '#/components/schemas/McpServer' '404': description: MCP Server for instance {id} is not found delete: tags: - MCP Servers summary: Delete an MCP server by Id description: Delete an MCP server by `Id`. operationId: deleteMcpServer parameters: - name: hardDelete in: query description: Hard delete the entity. (Default = `false`) schema: type: boolean default: false - name: recursive in: query description: Recursively delete this entity and it's children. (Default `false`) schema: type: boolean default: false - name: id in: path description: Id of the MCP Server required: true schema: type: string format: uuid responses: '200': description: OK '404': description: MCP Server for instance {id} is not found patch: tags: - MCP Servers summary: Update an MCP server description: Update an existing MCP server using JsonPatch. externalDocs: description: JsonPatch RFC url: https://tools.ietf.org/html/rfc6902 operationId: patchMcpServer parameters: - name: id in: path description: Id of the MCP Server required: true schema: type: string format: uuid requestBody: description: JsonPatch with array of operations content: application/json-patch+json: schema: $ref: '#/components/schemas/JsonPatch' example: '[{op:remove, path:/a},{op:add, path: /b, value: val}]' responses: default: description: default response content: application/json: {} /v1/mcpServers/async/{id}: delete: tags: - MCP Servers summary: Asynchronously delete an MCP server by Id description: Asynchronously delete an MCP server by `Id`. operationId: deleteMcpServerAsync parameters: - name: hardDelete in: query description: Hard delete the entity. (Default = `false`) schema: type: boolean default: false - name: recursive in: query description: Recursively delete this entity and it's children. (Default `false`) schema: type: boolean default: false - name: id in: path description: Id of the MCP Server required: true schema: type: string format: uuid responses: '200': description: OK '404': description: MCP Server for instance {id} is not found /v1/mcpServers/{id}/followers/{userId}: delete: tags: - MCP Servers summary: Remove a follower description: Remove the user identified `userId` as a follower of the MCP server. operationId: deleteFollower_3 parameters: - name: id in: path description: Id of the MCP Server required: true schema: type: string format: uuid - name: userId in: path description: Id of the user being removed as follower required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ChangeEvent' /v1/mcpServers/{id}/versions/{version}: get: tags: - MCP Servers summary: Get a version of the MCP server description: Get a version of the MCP server by given `id` operationId: getSpecificMcpServerVersion parameters: - name: id in: path description: Id of the MCP Server required: true schema: type: string format: uuid - name: version in: path description: MCP Server version number in the form `major`.`minor` required: true schema: type: string example: 0.1 or 1.1 responses: '200': description: McpServer content: application/json: schema: $ref: '#/components/schemas/McpServer' '404': description: MCP Server for instance {id} and version {version} is not found /v1/mcpServers/history: get: tags: - MCP Servers 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_3 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' /v1/mcpServers/{id}/versions: get: tags: - MCP Servers summary: List MCP server versions description: Get a list of all the versions of an MCP Server identified by `id` operationId: listAllMcpServerVersions parameters: - name: id in: path description: Id of the MCP Server required: true schema: type: string format: uuid responses: '200': description: List of MCP Server versions content: application/json: schema: $ref: '#/components/schemas/EntityHistory' /v1/mcpServers/restore: put: tags: - MCP Servers summary: Restore a soft deleted MCP server description: Restore a soft deleted MCP server. operationId: restoreMcpServer requestBody: content: application/json: schema: $ref: '#/components/schemas/RestoreEntity' responses: '200': description: Successfully restored the MCP Server content: application/json: schema: $ref: '#/components/schemas/McpServer' components: schemas: 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' Annotations__1: type: object properties: audience: type: array items: type: string priority: type: number format: double McpResource: required: - name - uri type: object properties: name: type: string displayName: type: string description: type: string resourceType: type: string enum: - File - Directory - URL - Database - API - Blob - Stream - Document - Custom uri: type: string uriTemplate: type: string mimeType: type: string dataClassification: $ref: '#/components/schemas/DataClassification__1' accessLevel: type: string enum: - ReadOnly - ReadWrite - Full requiredPermissions: type: array items: type: string sourceEntity: $ref: '#/components/schemas/EntityReference' annotations: $ref: '#/components/schemas/Annotations__1' size: type: integer format: int32 lastModified: type: integer format: int64 accessCount: type: integer format: int32 tags: type: array items: $ref: '#/components/schemas/TagLabel' McpPromptArgument: required: - name type: object properties: name: type: string type: type: string enum: - String - Number - Boolean - Array - Object description: type: string required: type: boolean default: type: object enum: type: array items: type: object sensitive: type: boolean McpServerCapabilities: type: object properties: toolsSupported: type: boolean resourcesSupported: type: boolean promptsSupported: type: boolean loggingSupported: type: boolean samplingSupported: type: boolean rootsSupported: type: boolean AIComplianceRecord: required: - framework - status type: object properties: framework: type: string enum: - EU_AI_Act - Singapore_Model_AI_Governance - Canada_AIDA - US_AI_Bill_of_Rights - NIST_AI_RMF - ISO_IEC_42001 - UK_AI_Regulation - China_AI_Regulations - Custom assessedBy: type: string assessedAt: type: integer format: int64 nextReviewDate: type: integer format: int64 status: type: string enum: - Compliant - PartiallyCompliant - NonCompliant - UnderReview - NotApplicable euAIAct: $ref: '#/components/schemas/EUAIActCompliance' ethicalAssessment: $ref: '#/components/schemas/EthicalAIAssessment' scopeAndDeployment: $ref: '#/components/schemas/ScopeAndDeployment' verification: $ref: '#/components/schemas/Verification' notes: type: string remediationRequired: type: array items: type: string McpServerInfo: type: object properties: serverName: type: string serverVersion: type: string vendor: type: string repositoryUrl: type: string documentationUrl: type: string Example: type: object properties: name: type: string arguments: $ref: '#/components/schemas/Arguments' expectedOutput: type: string AccessDetails: required: - timestamp type: object properties: timestamp: type: integer format: int64 accessedBy: $ref: '#/components/schemas/EntityReference' accessedByAProcess: type: string ChangeSummaryMap: type: object FieldChange: type: object properties: name: type: string oldValue: type: object newValue: type: object CoverImage: type: object properties: url: type: string position: type: string AccountabilityMeasures: type: object properties: hasOwner: type: boolean subjectToHumanOversight: type: boolean auditTrailEnabled: type: boolean RestoreEntity: required: - id type: object properties: id: type: string format: uuid RiskAssessment__1: type: object properties: riskLevel: type: string enum: - Low - Medium - High - Critical riskFactors: type: array items: type: string mitigations: type: array items: type: string assessedBy: type: string assessedAt: type: integer format: int64 HighRiskSystems: type: object properties: criticalInfrastructure: type: boolean educationVocationalTraining: type: boolean employment: type: boolean essentialPrivateServices: type: boolean essentialPublicServices: type: boolean lawEnforcement: type: boolean migrationAsylumBorderControl: type: boolean administrationOfJustice: type: boolean LifeCycle: type: object properties: created: $ref: '#/components/schemas/AccessDetails' updated: $ref: '#/components/schemas/AccessDetails' accessed: $ref: '#/components/schemas/AccessDetails' McpUsageMetrics: type: object properties: totalInvocations: type: integer format: int32 successRate: type: number format: double averageLatencyMs: type: number format: double p95LatencyMs: type: number format: double lastInvokedAt: type: integer format: int64 uniqueUsers: type: integer format: int32 dailyActiveUsers: type: integer format: int32 DataClassification__2: type: object properties: accessesPII: type: boolean accessesSensitiveData: type: boolean dataCategories: type: array items: type: string dataRetentionPeriod: type: string McpConnectionConfig: type: object properties: command: type: string args: type: array items: type: string env: $ref: '#/components/schemas/Env' workingDirectory: type: string url: type: string timeout: type: integer format: int32 retryAttempts: type: integer format: int32 EntityHistory: required: - entityType - versions type: object properties: entityType: type: string versions: type: array items: type: object AssetCertification: required: - appliedDate - expiryDate - tagLabel type: object properties: tagLabel: $ref: '#/components/schemas/TagLabel' appliedDate: type: integer format: int64 expiryDate: type: integer format: int64 TransparencyObligations: type: object properties: usersInformed: type: boolean deepfakeLabeling: type: boolean emotionRecognitionDisclosure: type: boolean 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' 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 Annotations: type: object properties: title: type: string readOnlyHint: type: boolean destructiveHint: type: boolean idempotentHint: type: boolean openWorldHint: type: boolean ScopeAndDeployment: type: object properties: scope: type: string enum: - Internal - External - Both deploymentRegions: type: array items: type: string affectedUserCount: type: integer format: int32 JsonPatch: type: object EthicalAIAssessment: type: object properties: privacyLevel: type: string enum: - Public - Sensitive - PersonalData fairnessRisk: type: string enum: - Low - Medium - High biasMitigationCoverage: type: string enum: - None - Partial - Full reliabilitySafetyRisk: type: string enum: - Low - Moderate - High transparencyLevel: type: string enum: - None - Partial - FullDisclosure accountabilityMeasures: $ref: '#/components/schemas/AccountabilityMeasures' environmentalConsciousness: type: string enum: - LowRisk - MediumRisk - HighRisk CreateMcpServer: required: - name - serverType - service type: object properties: name: maxLength: 256 minLength: 1 pattern: ^((?!::).)*$ type: string displayName: type: string description: type: string service: maxLength: 3072 minLength: 1 type: string serverType: type: string enum: - DataAccess - FileSystem - WebAPI - Database - Cloud - Security - Development - Communication - Custom transportType: type: string enum: - Stdio - SSE - StreamableHTTP protocolVersion: type: string developmentStage: type: string enum: - Proposal - Development - Testing - Staging - Production - Deprecated - Unauthorized serverInfo: $ref: '#/components/schemas/McpServerInfo' connectionConfig: $ref: '#/components/schemas/McpConnectionConfig' capabilities: $ref: '#/components/schemas/McpServerCapabilities' tools: type: array items: $ref: '#/components/schemas/McpTool' resources: type: array items: $ref: '#/components/schemas/McpResource' prompts: type: array items: $ref: '#/components/schemas/McpPrompt' governanceMetadata: $ref: '#/components/schemas/McpGovernanceMetadata' dataAccessSummary: $ref: '#/components/schemas/McpDataAccessSummary' securityMetrics: $ref: '#/components/schemas/McpSecurityMetrics' sourceCode: type: string deploymentUrl: type: string documentation: type: string tags: type: array items: $ref: '#/components/schemas/TagLabel' owners: type: array items: $ref: '#/components/schemas/EntityReference' extension: type: object domains: type: array items: type: string dataProducts: type: array items: type: string reviewers: type: array items: $ref: '#/components/schemas/EntityReference' lifeCycle: $ref: '#/components/schemas/LifeCycle' McpTool: required: - name type: object properties: name: type: string displayName: type: string description: type: string toolCategory: type: string enum: - FileOperation - WebOperation - DataOperation - DatabaseOperation - SystemOperation - SecurityOperation - CommunicationOperation - CodeOperation - SearchOperation - Custom inputSchema: $ref: '#/components/schemas/InputSchema' outputSchema: $ref: '#/components/schemas/OutputSchema' riskLevel: type: string enum: - Low - Medium - High - Critical riskFactors: type: array items: type: string dataAccess: $ref: '#/components/schemas/DataAccess__1' requiredPermissions: type: array items: type: string sideEffects: type: boolean idempotent: type: boolean reversible: type: boolean timeout: type: integer format: int32 rateLimitPerMinute: type: integer format: int32 annotations: $ref: '#/components/schemas/Annotations' usageCount: type: integer format: int32 lastUsedAt: type: integer format: int64 tags: type: array items: $ref: '#/components/schemas/TagLabel' McpSecurityMetrics: type: object properties: authenticationRequired: type: boolean authorizationEnforced: type: boolean auditLoggingEnabled: type: boolean encryptionInTransit: type: boolean sandboxed: type: boolean secretsManagement: type: string OutputSchema: type: object InputSchema: type: object Verification: type: object properties: isVerified: type: boolean verifiedBy: type: string verifiedAt: type: integer format: int64 verificationNotes: type: string certificateUrl: type: string ConformityAssessment: type: object properties: assessmentRequired: type: boolean assessmentType: type: string enum: - Internal - ThirdParty - NotRequired assessmentBody: type: string certificateNumber: type: string validUntil: type: integer format: int64 McpPrompt: required: - name type: object properties: name: type: string displayName: type: string description: type: string promptType: type: string enum: - Analysis - Generation - Transformation - Validation - Query - Summarization - Extraction - Classification - Custom arguments: type: array items: $ref: '#/components/schemas/McpPromptArgument' messages: type: array items: $ref: '#/components/schemas/McpPromptMessage' examples: type: array items: $ref: '#/components/schemas/Example' dataAccessPatterns: type: array items: type: string outputClassification: $ref: '#/components/schemas/OutputClassification' usageCount: type: integer format: int32 lastUsedAt: type: integer format: int64 tags: type: array items: $ref: '#/components/schemas/TagLabel' McpDataAccessSummary: type: object properties: dataSources: type: array items: $ref: '#/components/schemas/EntityReference' accessPatterns: type: array items: type: string enum: - Read - Write - Execute sensitivityLevel: type: string enum: - Public - Internal - Confidential - Restricted piiAccess: type: boolean externalApiAccess: type: boolean fileSystemAccess: type: boolean networkAccess: type: boolean databaseAccess: type: boolean 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' McpGovernanceMetadata: type: object properties: registrationStatus: type: string enum: - Registered - Unregistered - PendingApproval - Approved - Rejected registeredBy: type: string registeredAt: type: integer format: int64 approvedBy: type: string approvedAt: type: integer format: int64 riskAssessment: $ref: '#/components/schemas/RiskAssessment__1' dataClassification: $ref: '#/components/schemas/DataClassification__2' governancePolicies: type: array items: $ref: '#/components/schemas/EntityReference' aiCompliance: $ref: '#/components/schemas/AICompliance' intakeNotes: type: string approvalComments: type: string EUAIActCompliance: type: object properties: riskClassification: type: string enum: - Minimal - Limited - High - Unacceptable riskRationale: type: string prohibitedPractices: $ref: '#/components/schemas/ProhibitedPractices' highRiskSystems: $ref: '#/components/schemas/HighRiskSystems' conformityAssessment: $ref: '#/components/schemas/ConformityAssessment' transparencyObligations: $ref: '#/components/schemas/TransparencyObligations' ChangeEvent: required: - entityId - entityType - eventType - id - timestamp type: object properties: id: type: string format: uuid eventType: type: string enum: - entityCreated - entityUpdated - entityFieldsChanged - entityNoChange - entitySoftDeleted - entityDeleted - entityRestored - threadCreated - threadUpdated - postCreated - postUpdated - taskResolved - taskClosed - logicalTestCaseAdded - suggestionCreated - suggestionUpdated - suggestionAccepted - suggestionRejected - suggestionDeleted - userLogin - userLogout entityType: type: string entityId: type: string format: uuid domains: type: array items: type: string format: uuid entityFullyQualifiedName: type: string previousVersion: type: number format: double currentVersion: type: number format: double userName: type: string impersonatedBy: type: string timestamp: type: integer format: int64 changeDescription: $ref: '#/components/schemas/ChangeDescription' incrementalChangeDescription: $ref: '#/components/schemas/ChangeDescription' entity: type: object UsageStats: required: - count type: object properties: count: minimum: 0 exclusiveMinimum: false type: integer format: int32 percentileRank: type: number format: double Style: type: object properties: color: type: string iconURL: type: string coverImage: $ref: '#/components/schemas/CoverImage' McpServerList: required: - data type: object properties: data: type: array items: $ref: '#/components/schemas/McpServer' 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' McpServer: required: - id - name - serverType type: object properties: id: type: string format: uuid name: maxLength: 256 minLength: 1 pattern: ^((?!::).)*$ type: string fullyQualifiedName: maxLength: 3072 minLength: 1 type: string displayName: type: string description: type: string service: $ref: '#/components/schemas/EntityReference' serverType: type: string enum: - DataAccess - FileSystem - WebAPI - Database - Cloud - Security - Development - Communication - Custom transportType: type: string enum: - Stdio - SSE - StreamableHTTP protocolVersion: type: string developmentStage: type: string enum: - Proposal - Development - Testing - Staging - Production - Deprecated - Unauthorized serverInfo: $ref: '#/components/schemas/McpServerInfo' connectionConfig: $ref: '#/components/schemas/McpConnectionConfig' capabilities: $ref: '#/components/schemas/McpServerCapabilities' tools: type: array items: $ref: '#/components/schemas/McpTool' resources: type: array items: $ref: '#/components/schemas/McpResource' prompts: type: array items: $ref: '#/components/schemas/McpPrompt' governanceMetadata: $ref: '#/components/schemas/McpGovernanceMetadata' dataAccessSummary: $ref: '#/components/schemas/McpDataAccessSummary' usageMetrics: $ref: '#/components/schemas/McpUsageMetrics' securityMetrics: $ref: '#/components/schemas/McpSecurityMetrics' usedByApplications: type: array items: $ref: '#/components/schemas/EntityReference' sourceCode: type: string deploymentUrl: type: string documentation: type: string owners: type: array items: $ref: '#/components/schemas/EntityReference' followers: type: array items: $ref: '#/components/schemas/EntityReference' domain: $ref: '#/components/schemas/EntityReference' dataProducts: 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 certification: $ref: '#/components/schemas/AssetCertification' extension: type: object domains: type: array items: $ref: '#/components/schemas/EntityReference' votes: $ref: '#/components/schemas/Votes' lifeCycle: $ref: '#/components/schemas/LifeCycle' sourceHash: maxLength: 32 minLength: 1 type: string provider: type: string enum: - system - user - automation children: type: array items: $ref: '#/components/schemas/EntityReference' style: $ref: '#/components/schemas/Style' experts: type: array items: $ref: '#/components/schemas/EntityReference' reviewers: type: array items: $ref: '#/components/schemas/EntityReference' impersonatedBy: type: string dataContract: $ref: '#/components/schemas/EntityReference' usageSummary: $ref: '#/components/schemas/UsageDetails' entityStatus: type: string enum: - Draft - In Review - Approved - Archived - Deprecated - Rejected - Unprocessed 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' OutputClassification: type: object properties: sensitivityLevel: type: string enum: - Public - Internal - Confidential - Restricted mayContainPII: type: boolean outputCategories: type: array items: type: string ProhibitedPractices: type: object properties: subliminalManipulativeTechniques: type: boolean exploitationOfVulnerabilities: type: boolean socialScoringSystem: type: boolean riskAssessmentCriminalOffences: type: boolean facialRecognitionDatabaseCreation: type: boolean emotionInferenceWorkplaceEducation: type: boolean biometricCategorisation: type: boolean realTimeBiometricIdentification: type: boolean 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' PatternMatch: required: - name - score type: object properties: name: type: string regex: type: string score: type: number format: double TagLabelMetadata: type: object properties: recognizer: $ref: '#/components/schemas/TagLabelRecognizerMetadata' expiryDate: type: integer format: int64 EntityError: type: object properties: message: type: string entity: type: object Arguments: type: object DataClassification__1: type: object properties: sensitivityLevel: type: string enum: - Public - Internal - Confidential - Restricted containsPII: type: boolean tags: type: array items: $ref: '#/components/schemas/TagLabel' dataCategories: type: array items: type: string retentionPeriod: type: string complianceRequirements: type: array items: type: string DataAccess__1: type: object properties: readsData: type: boolean writesData: type: boolean deletesData: type: boolean sensitivityLevel: type: string enum: - Public - Internal - Confidential - Restricted piiAccess: type: boolean dataTypes: type: array items: type: string Env: type: object 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 McpPromptMessage: required: - content - role type: object properties: role: type: string enum: - user - assistant - system content: type: string AICompliance: type: object properties: complianceRecords: type: array items: $ref: '#/components/schemas/AIComplianceRecord' 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 securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: JWT