Confluent Schema Registry API — Compatibility

Confluent Schema Registry API — Compatibility. 6 operations. Lead operation: Test schema compatibility. Self-contained Naftiko capability covering one Confluent Schema Registry business surface.

Run with Naftiko Confluent Schema RegistryCompatibility

What You Can Do

POST
Testcompatibility — Test schema compatibility
/v1/compatibility/subjects/{subject}/versions/{version}
GET
Gettoplevelconfig — Get global compatibility level
/v1/config
PUT
Updatetoplevelconfig — Update global compatibility level
/v1/config
GET
Getsubjectlevelconfig — Get subject-level compatibility
/v1/config/{subject}
PUT
Updatesubjectlevelconfig — Update subject-level compatibility
/v1/config/{subject}
DELETE
Deletesubjectconfig — Delete subject-level compatibility
/v1/config/{subject}

MCP Tools

test-schema-compatibility

Test schema compatibility

read-only
get-global-compatibility-level

Get global compatibility level

read-only idempotent
update-global-compatibility-level

Update global compatibility level

idempotent
get-subject-level-compatibility

Get subject-level compatibility

read-only idempotent
update-subject-level-compatibility

Update subject-level compatibility

idempotent
delete-subject-level-compatibility

Delete subject-level compatibility

idempotent

Capability Spec

schema-registry-compatibility.yaml Raw ↑
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: $.