naftiko: 1.0.0-alpha2 info: label: Confluent Schema Registry API — Compatibility description: 'Confluent Schema Registry API — Compatibility. 6 operations. Lead operation: Test schema compatibility. Self-contained Naftiko capability covering one Confluent Schema Registry business surface.' tags: - Confluent Schema Registry - Compatibility created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: CONFLUENT_SCHEMA_REGISTRY_API_KEY: CONFLUENT_SCHEMA_REGISTRY_API_KEY capability: consumes: - type: http namespace: schema-registry-compatibility baseUri: http://localhost:8081 description: Confluent Schema Registry API — Compatibility business capability. Self-contained, no shared references. resources: - name: compatibility-subjects-subject-versions-version path: /compatibility/subjects/{subject}/versions/{version} operations: - name: testcompatibility method: POST description: Test schema compatibility outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: subject in: path type: string required: true - name: version in: path type: string required: true - name: verbose in: query type: boolean - name: body in: body type: object description: Request body (JSON). required: true - name: config path: /config operations: - name: gettoplevelconfig method: GET description: Get global compatibility level outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatetoplevelconfig method: PUT description: Update global compatibility level outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: config-subject path: /config/{subject} operations: - name: getsubjectlevelconfig method: GET description: Get subject-level compatibility outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: subject in: path type: string required: true - name: defaultToGlobal in: query type: boolean - name: updatesubjectlevelconfig method: PUT description: Update subject-level compatibility outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: subject in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deletesubjectconfig method: DELETE description: Delete subject-level compatibility outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: subject in: path type: string required: true exposes: - type: rest namespace: schema-registry-compatibility-rest port: 8080 description: REST adapter for Confluent Schema Registry API — Compatibility. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/compatibility/subjects/{subject}/versions/{version} name: compatibility-subjects-subject-versions-version description: REST surface for compatibility-subjects-subject-versions-version. operations: - method: POST name: testcompatibility description: Test schema compatibility call: schema-registry-compatibility.testcompatibility with: subject: rest.subject version: rest.version verbose: rest.verbose body: rest.body outputParameters: - type: object mapping: $. - path: /v1/config name: config description: REST surface for config. operations: - method: GET name: gettoplevelconfig description: Get global compatibility level call: schema-registry-compatibility.gettoplevelconfig outputParameters: - type: object mapping: $. - method: PUT name: updatetoplevelconfig description: Update global compatibility level call: schema-registry-compatibility.updatetoplevelconfig with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/config/{subject} name: config-subject description: REST surface for config-subject. operations: - method: GET name: getsubjectlevelconfig description: Get subject-level compatibility call: schema-registry-compatibility.getsubjectlevelconfig with: subject: rest.subject defaultToGlobal: rest.defaultToGlobal outputParameters: - type: object mapping: $. - method: PUT name: updatesubjectlevelconfig description: Update subject-level compatibility call: schema-registry-compatibility.updatesubjectlevelconfig with: subject: rest.subject body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletesubjectconfig description: Delete subject-level compatibility call: schema-registry-compatibility.deletesubjectconfig with: subject: rest.subject outputParameters: - type: object mapping: $. - type: mcp namespace: schema-registry-compatibility-mcp port: 9090 transport: http description: MCP adapter for Confluent Schema Registry API — Compatibility. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: test-schema-compatibility description: Test schema compatibility hints: readOnly: true destructive: false idempotent: false call: schema-registry-compatibility.testcompatibility with: subject: tools.subject version: tools.version verbose: tools.verbose body: tools.body outputParameters: - type: object mapping: $. - name: get-global-compatibility-level description: Get global compatibility level hints: readOnly: true destructive: false idempotent: true call: schema-registry-compatibility.gettoplevelconfig outputParameters: - type: object mapping: $. - name: update-global-compatibility-level description: Update global compatibility level hints: readOnly: false destructive: false idempotent: true call: schema-registry-compatibility.updatetoplevelconfig with: body: tools.body outputParameters: - type: object mapping: $. - name: get-subject-level-compatibility description: Get subject-level compatibility hints: readOnly: true destructive: false idempotent: true call: schema-registry-compatibility.getsubjectlevelconfig with: subject: tools.subject defaultToGlobal: tools.defaultToGlobal outputParameters: - type: object mapping: $. - name: update-subject-level-compatibility description: Update subject-level compatibility hints: readOnly: false destructive: false idempotent: true call: schema-registry-compatibility.updatesubjectlevelconfig with: subject: tools.subject body: tools.body outputParameters: - type: object mapping: $. - name: delete-subject-level-compatibility description: Delete subject-level compatibility hints: readOnly: false destructive: true idempotent: true call: schema-registry-compatibility.deletesubjectconfig with: subject: tools.subject outputParameters: - type: object mapping: $.