Confluent Compatibility (v1) API

[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) The API allows you to test schema compatibility. Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud).

Operations 2

POST /compatibility/subjects/{subject}/versions/{version} Test schema compatibility against a particular schema subject-version #
POST /compatibility/subjects/{subject}/versions Test schema compatibility against all schemas under a subject #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/confluent-compatibility-v1-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

confluent-compatibility-v1-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Confluent Cloud Compatibility (v1) API
  version: ''
  x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b
  x-audience: external-public
  x-logo:
    url: https://assets.confluent.io/m/1661ef5e4ff82d3d/
  description: '# Introduction


    Note


    This documents the collection of Confluent Cloud APIs.'
servers:
- url: https://api.confluent.cloud
  description: Confluent Cloud API
tags:
- name: Compatibility (v1)
  description: '![Generally Available](#section/Versioning/API-Lifecycle-Policy)


    The API allows you to test schema compatibility.


    Related guide: Manage Schemas in Confluent Cloud.'
paths:
  /compatibility/subjects/{subject}/versions/{version}:
    servers:
    - url: https://psrc-00000.region.provider.confluent.cloud
      description: Confluent Cloud Schema Registry Endpoint.
    post:
      tags:
      - Compatibility (v1)
      summary: Test schema compatibility against a particular schema subject-version
      description: 'Test input schema against a particular version of a subject''s schema for compatibility. The compatibility level applied for the check is the configured compatibility level for the subject (http:get:: /config/(string: subject)). If this subject''s compatibility level was never changed, then the global compatibility level applies (http:get:: /config).'
      operationId: testCompatibilityBySubjectName
      parameters:
      - name: subject
        in: path
        description: Subject of the schema version against which compatibility is to be tested
        required: true
        schema:
          type: string
      - name: version
        in: path
        description: Version of the subject's schema against which compatibility is to be tested. Valid values for versionId are between [1,2^31-1] or the string "latest"."latest" checks compatibility of the input schema with the last registered schema under the specified subject
        required: true
        schema:
          type: string
      - name: normalize
        in: query
        description: Whether to normalize the given schema
        schema:
          type: boolean
      - name: verbose
        in: query
        description: Whether to return detailed error messages
        schema:
          type: boolean
      requestBody:
        description: Schema
        content:
          application/vnd.schemaregistry.v1+json:
            schema:
              $ref: '#/components/schemas/RegisterSchemaRequest'
          application/vnd.schemaregistry+json:
            schema:
              $ref: '#/components/schemas/RegisterSchemaRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterSchemaRequest'
          application/octet-stream:
            schema:
              $ref: '#/components/schemas/RegisterSchemaRequest'
        required: true
      responses:
        '200':
          description: Compatibility check result.
          content:
            application/vnd.schemaregistry.v1+json:
              schema:
                $ref: '#/components/schemas/CompatibilityCheckResponse'
            application/vnd.schemaregistry+json; qs=0.9:
              schema:
                $ref: '#/components/schemas/CompatibilityCheckResponse'
            application/json; qs=0.5:
              schema:
                $ref: '#/components/schemas/CompatibilityCheckResponse'
        '404':
          description: Not Found. Error code 40401 indicates subject not found. Error code 40402 indicates version not found.
          content:
            application/vnd.schemaregistry.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
            application/vnd.schemaregistry+json; qs=0.9:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
            application/json; qs=0.5:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '422':
          description: Unprocessable entity. Error code 42201 indicates an invalid schema or schema type. Error code 42202 indicates an invalid version.
          content:
            application/vnd.schemaregistry.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
            application/vnd.schemaregistry+json; qs=0.9:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
            application/json; qs=0.5:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '500':
          description: Internal Server Error. Error code 50001 indicates a failure in the backend data store.
          content:
            application/vnd.schemaregistry.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
            application/vnd.schemaregistry+json; qs=0.9:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
            application/json; qs=0.5:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '400':
          $ref: '#/components/responses/schemaregistry.v1.BadRequestError'
        '401':
          $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError'
        '403':
          $ref: '#/components/responses/schemaregistry.v1.ForbiddenError'
        '429':
          $ref: '#/components/responses/RateLimitError'
      security:
      - resource-api-key: []
      - external-access-token: []
  /compatibility/subjects/{subject}/versions:
    servers:
    - url: https://psrc-00000.region.provider.confluent.cloud
      description: Confluent Cloud Schema Registry Endpoint.
    post:
      tags:
      - Compatibility (v1)
      summary: Test schema compatibility against all schemas under a subject
      description: 'Test input schema against a subject''s schemas for compatibility, based on the configured compatibility level of the subject. In other words, it will perform the same compatibility check as register for that subject. The compatibility level applied for the check is the configured compatibility level for the subject (http:get:: /config/(string: subject)). If this subject''s compatibility level was never changed, then the global compatibility level applies (http:get:: /config).'
      operationId: testCompatibilityForSubject
      parameters:
      - name: subject
        in: path
        description: Subject of the schema version against which compatibility is to be tested
        required: true
        schema:
          type: string
      - name: verbose
        in: query
        description: Whether to return detailed error messages
        schema:
          type: boolean
      requestBody:
        description: Schema
        content:
          application/vnd.schemaregistry.v1+json:
            schema:
              $ref: '#/components/schemas/RegisterSchemaRequest'
          application/vnd.schemaregistry+json:
            schema:
              $ref: '#/components/schemas/RegisterSchemaRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterSchemaRequest'
          application/octet-stream:
            schema:
              $ref: '#/components/schemas/RegisterSchemaRequest'
        required: true
      responses:
        '200':
          description: Compatibility check result.
          content:
            application/vnd.schemaregistry.v1+json:
              schema:
                $ref: '#/components/schemas/CompatibilityCheckResponse'
            application/vnd.schemaregistry+json; qs=0.9:
              schema:
                $ref: '#/components/schemas/CompatibilityCheckResponse'
            application/json; qs=0.5:
              schema:
                $ref: '#/components/schemas/CompatibilityCheckResponse'
        '422':
          description: Unprocessable Entity. Error code 42201 indicates an invalid schema or schema type. Error code 42202 indicates an invalid version.
          content:
            application/vnd.schemaregistry.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
            application/vnd.schemaregistry+json; qs=0.9:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
            application/json; qs=0.5:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '500':
          description: Internal Server Error. Error code 50001 indicates a failure in the backend data store.
          content:
            application/vnd.schemaregistry.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
            application/vnd.schemaregistry+json; qs=0.9:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
            application/json; qs=0.5:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '400':
          $ref: '#/components/responses/schemaregistry.v1.BadRequestError'
        '401':
          $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError'
        '403':
          $ref: '#/components/responses/schemaregistry.v1.ForbiddenError'
        '429':
          $ref: '#/components/responses/RateLimitError'
      security:
      - resource-api-key: []
      - external-access-token: []
components:
  schemas:
    CompatibilityCheckResponse:
      type: object
      properties:
        is_compatible:
          type: boolean
          description: Whether the compared schemas are compatible
        messages:
          type: array
          description: Error messages
          example: []
          items:
            type: string
            description: Error messages
            example: '[]'
      description: Compatibility check response
    Metadata:
      description: User-defined metadata
      properties:
        tags:
          additionalProperties:
            items:
              type: string
            type: array
            uniqueItems: true
          type: object
        properties:
          additionalProperties:
            type: string
          type: object
        sensitive:
          items:
            type: string
          type: array
          uniqueItems: true
      type:
      - object
      - 'null'
    SchemaReference:
      type: object
      properties:
        name:
          type: string
          description: Reference name
          example: io.confluent.kafka.example.User
        subject:
          type: string
          description: Name of the referenced subject
          example: User
        version:
          type: integer
          description: Version number of the referenced subject
          format: int32
          example: 1
      description: Schema reference
    RuleSet:
      description: Schema rule set
      properties:
        migrationRules:
          items:
            $ref: '#/components/schemas/Rule'
          type: array
        domainRules:
          items:
            $ref: '#/components/schemas/Rule'
          type: array
      type:
      - object
      - 'null'
    SchemaTags:
      type: object
      properties:
        schemaEntity:
          $ref: '#/components/schemas/SchemaEntity'
        tags:
          type: array
          items:
            type: string
    RegisterSchemaRequest:
      type: object
      properties:
        version:
          type: integer
          description: Version number
          format: int32
        id:
          type: integer
          description: Globally unique identifier of the schema
          format: int32
        schemaType:
          type: string
          description: Schema type
        references:
          type: array
          description: References to other schemas
          items:
            $ref: '#/components/schemas/SchemaReference'
        schema:
          type: string
          description: Schema definition string
        metadata:
          $ref: '#/components/schemas/Metadata'
        ruleSet:
          $ref: '#/components/schemas/RuleSet'
        schemaTagsToAdd:
          type: array
          items:
            $ref: '#/components/schemas/SchemaTags'
        schemaTagsToRemove:
          type: array
          items:
            $ref: '#/components/schemas/SchemaTags'
        propagateSchemaTags:
          type: boolean
      description: Schema register request
    ErrorMessage:
      type: object
      properties:
        error_code:
          type: integer
          description: The error code
          format: int32
        message:
          type: string
          description: The error message
      description: Error message of this operation
    SchemaEntity:
      type: object
      properties:
        entityPath:
          type: string
        entityType:
          type: string
          enum:
          - sr_record
          - sr_field
    Rule:
      description: Rule
      properties:
        name:
          description: Rule name
          type: string
        doc:
          description: Rule doc
          type: string
        kind:
          description: Rule kind
          enum:
          - TRANSFORM
          - CONDITION
          type: string
        mode:
          description: Rule mode
          enum:
          - UPGRADE
          - DOWNGRADE
          - UPDOWN
          - WRITE
          - READ
          - WRITEREAD
          type: string
        type:
          description: Rule type
          type: string
        tags:
          description: The tags to which this rule applies
          items:
            description: The tags to which this rule applies
            type: string
          type: array
          uniqueItems: true
        params:
          additionalProperties:
            description: Optional params for the rule
            type: string
          description: Optional params for the rule
          type: object
        expr:
          description: Rule expression
          type: string
        onSuccess:
          description: Rule action on success
          type: string
        onFailure:
          description: Rule action on failure
          type: string
        disabled:
          description: Whether the rule is disabled
          type: boolean
      type: object
  responses:
    RateLimitError:
      description: Rate Limit Exceeded
      headers:
        X-Request-Id:
          schema:
            type: string
          description: The unique identifier for the API request.
        X-RateLimit-Limit:
          schema:
            type: integer
          description: The maximum number of requests you're permitted to make per time period.
        X-RateLimit-Remaining:
          schema:
            type: integer
          description: The number of requests remaining in the current rate limit window.
        X-RateLimit-Reset:
          schema:
            type: integer
          description: "The relative time in seconds until the current rate-limit window resets.  \n  \n**Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues."
        Retry-After:
          schema:
            type: integer
          description: The number of seconds to wait until the rate limit window resets. Only sent when the rate limit is reached.
    schemaregistry.v1.ForbiddenError:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          example:
            error_code: 403
            message: Forbidden
    schemaregistry.v1.BadRequestError:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          example:
            error_code: 400
            message: Bad Request
    schemaregistry.v1.UnauthorizedError:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          example:
            error_code: 401
            message: Unauthorized
  securitySchemes:
    cloud-api-key:
      type: http
      scheme: basic
      description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password.
    confluent-sts-access-token:
      type: oauth2
      description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0.
      flows:
        clientCredentials:
          tokenUrl: https://api.confluent.cloud/sts/v1/oauth2/token
          scopes: {}
    global-api-key:
      type: http
      scheme: basic
      description: Authenticate with Global API Keys using HTTP Basic Auth. Treat the Global API Key ID as the username and Global API Key Secret as the password.
    resource-api-key:
      type: http
      scheme: basic
      description: Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID as the username and resource-specific API Key Secret as the password.
    external-access-token:
      type: oauth2
      description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0.
      flows:
        clientCredentials:
          tokenUrl: https://api.confluent.cloud/sts/v1/oauth2/token
          scopes: {}
    oauth:
      type: oauth2
      description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs.
      flows:
        clientCredentials:
          tokenUrl: /oauth2/token
          scopes:
            partner:alter: enables partners to alter entitlements
            partner:create: enables partners to create entitlements and signup on behalf of customers
            partner:delete: enables partners to delete entitlements and organizations
            partner:describe: enables partners to read and list entitlements and organizations
x-tagGroups:
- name: Identity Access Management (v2)
  tags:
  - API Keys (iam/v2)
  - Users (iam/v2)
  - Service Accounts (iam/v2)
  - Invitations (iam/v2)
  - IP Groups (iam/v2)
  - IP Filters (iam/v2)
  - IP Filter Summaries (iam/v2)
  - Role Bindings (iam/v2)
  - Identity Providers (iam/v2)
  - Jwks (iam/v2)
  - Identity Pools (iam/v2)
  - Group Mappings (iam/v2/sso)
  - Certificate Authorities (iam/v2)
  - Certificate Identity Pools (iam/v2)
- name: Org API (v2)
  tags:
  - Environments (org/v2)
  - Organizations (org/v2)
- name: Notifications API (v1)
  tags:
  - Subscriptions (notifications/v1)
  - Integrations (notifications/v1)
  - Notification Types (notifications/v1)
  - Resource Preferences (notifications/v1)
  - Resource Subscriptions (notifications/v1)
  - User Notifications (notifications/v1)
- name: Cluster Mgmt for Kafka (v2)
  tags:
  - Clusters (cmk/v2)
- name: Cluster Mgmt for ksqlDB (v2)
  tags:
  - Clusters (ksqldbcm/v2)
- name: Connect API (v1)
  tags:
  - Connectors (connect/v1)
  - Lifecycle (connect/v1)
  - Status (connect/v1)
  - Managed Connector Plugins (connect/v1)
  - Offsets (connect/v1)
  - Custom Connector Plugins (connect/v1)
  - Presigned Urls (connect/v1)
  - Custom Connector Runtimes (connect/v1)
- name: Connect Artifact Management (v1)
  tags:
  - Connect Artifacts (cam/v1)
  - Presigned Urls (cam/v1)
- name: Kafka API (v3)
  tags:
  - Cluster (v3)
  - Configs (v3)
  - ACL (v3)
  - Consumer Group (v3)
  - Partition (v3)
  - Topic (v3)
  - Records (v3)
  - Cluster Linking (v3)
  - Share Group (v3)
  - Streams Group (v3)
- name: Service Quota API (v1)
  tags:
  - Applied Quotas (service-quota/v1)
  - Scopes (service-quota/v1)
- name: Partner API (v2)
  tags:
  - Entitlements (partner/v2)
  - Organizations (partner/v2)
  - Signup (partner/v2)
- name: Cluster Mgmt for Schema Registry (v2)
  tags:
  - Regions (srcm/v2)
  - Clusters (srcm/v2)
- name: Cluster Mgmt for Schema Registry (v3)
  tags:
  - Clusters (srcm/v3)
- name: Schema Registry API (v1)
  tags:
  - Compatibility (v1)
  - Config (v1)
  - Contexts (v1)
  - Exporters (v1)
  - Modes (v1)
  - Schemas (v1)
  - Subjects (v1)
  - Key Encryption Keys (v1)
  - Data Encryption Keys (v1)
- name: Catalog API (v1)
  tags:
  - Entity (v1)
  - Search (v1)
  - Types (v1)
- name: Stream Sharing API (v1)
  tags:
  - Provider Shared Resources (cdx/v1)
  - Provider Shares (cdx/v1)
  - Consumer Shared Resources (cdx/v1)
  - Consumer Shares (cdx/v1)
  - Shared Tokens (cdx/v1)
  - Opt Ins (cdx/v1)
- name: Networking (v1)
  tags:
  - Networks (networking/v1)
  - Peerings (networking/v1)
  - Transit Gateway Attachments (networking/v1)
  - Private Link Accesses (networking/v1)
  - Network Link Services (networking/v1)
  - Network Link Endpoints (networking/v1)
  - Network Link Service Associations (networking/v1)
  - IP Addresses (networking/v1)
  - Private Link Attachments (networking/v1)
  - Private Link Attachment Connections (networking/v1)
  - DNS Forwarders (networking/v1)
  - Access Points (networking/v1)
  - DNS Records (networking/v1)
  - Gateways (networking/v1)
- name: Security Token Service (v1)
  tags:
  - OAuth Tokens (sts/v1)
- name: Kafka Quota (v1)
  tags:
  - Client Quotas (kafka-quotas/v1)
- name: Bring Your Own Key (BYOK) Management (v1)
  tags:
  - Keys (byok/v1)
- name: Billing API (v1)
  tags:
  - Costs (billing/v1)
- name: Compute Pool Mgmt for Flink (v2)
  tags:
  - Compute Pools (fcpm/v2)
  - Regions (fcpm/v2)
  - Org Compute Pool Configs (fcpm/v2)
- name: SQL API (v1)
  tags:
  - Statements (sql/v1)
  - Statement Results (sql/v1)
  - Statement Exceptions (sql/v1)
  - Connections (sql/v1)
  - Agents (sql/v1)
  - Tools (sql/v1)
  - Materialized Tables (sql/v1)
  - Materialized Table Versions (sql/v1)
- name: Provider Integration Management (v1)
  tags:
  - Integrations (pim/v1)
- name: Provider Integration Management (v2)
  tags:
  - Integrations (pim/v2)
- name: Artifact API (v1)
  tags:
  - Flink Artifacts (artifact/v1)
  - Presigned Urls (artifact/v1)
  - Flink Artifact Versions (artifact/v1)
- name: Custom Code Logging API (v1)
  tags:
  - Custom Code Loggings (ccl/v1)
- name: Tableflow (v1)
  tags:
  - Regions (tableflow/v1)
  - Tableflow Topics (tableflow/v1)
  - Catalog Integrations (tableflow/v1)
- name: Custom Connect Plugin Management (v1)
  tags:
  - Custom Connect Plugins (ccpm/v1)
  - Presigned Urls (ccpm/v1)
  - Custom Connect Plugin Versions (ccpm/v1)
- name: Unified Stream Manager (v1)
  tags:
  - Kafka Clusters (usm/v1)
  - Connect Clusters (usm/v1)
- name: Endpoint (v1)
  tags:
  - Endpoints (endpoint/v1)
- name: Real Time Context Engine (v1)
  tags:
  - Rtce Topics (rtce/v1)
  - Regions (rtce/v1)
- name: Analytics (v1alpha1)
  tags:
  - Statements (query/v1alpha1)