Skip to main content

Test schema compatibility against all schemas under a subject

POST 

/compatibility/subjects/:subject/versions

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).

Request

Responses

Compatibility check result.

OpenAPI definition (YAML)
paths:
  /compatibility/subjects/{subject}/versions:
    post:
      tags:
      - Compatibility (v1)
      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:
              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:
                    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
                    title: SchemaReference
                schema:
                  type: string
                  description: Schema definition string
                metadata:
                  description: User-defined metadata
                  nullable: true
                  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
                  title: Metadata
                ruleSet:
                  description: Schema rule set
                  nullable: true
                  properties:
                    migrationRules:
                      items:
                        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
                        title: Rule
                      type: array
                    domainRules:
                      items:
                        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
                        title: Rule
                      type: array
                  type: object
                  title: RuleSet
                schemaTagsToAdd:
                  type: array
                  items:
                    type: object
                    properties:
                      schemaEntity:
                        type: object
                        properties:
                          entityPath:
                            type: string
                          entityType:
                            type: string
                            enum:
                            - sr_record
                            - sr_field
                        title: SchemaEntity
                      tags:
                        type: array
                        items:
                          type: string
                    title: SchemaTags
                schemaTagsToRemove:
                  type: array
                  items:
                    type: object
                    properties:
                      schemaEntity:
                        type: object
                        properties:
                          entityPath:
                            type: string
                          entityType:
                            type: string
                            enum:
                            - sr_record
                            - sr_field
                        title: SchemaEntity
                      tags:
                        type: array
                        items:
                          type: string
                    title: SchemaTags
                propagateSchemaTags:
                  type: boolean
              description: Schema register request
              title: RegisterSchemaRequest
          application/vnd.schemaregistry+json:
            schema:
              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:
                    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
                    title: SchemaReference
                schema:
                  type: string
                  description: Schema definition string
                metadata:
                  description: User-defined metadata
                  nullable: true
                  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
                  title: Metadata
                ruleSet:
                  description: Schema rule set
                  nullable: true
                  properties:
                    migrationRules:
                      items:
                        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
                        title: Rule
                      type: array
                    domainRules:
                      items:
                        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
                        title: Rule
                      type: array
                  type: object
                  title: RuleSet
                schemaTagsToAdd:
                  type: array
                  items:
                    type: object
                    properties:
                      schemaEntity:
                        type: object
                        properties:
                          entityPath:
                            type: string
                          entityType:
                            type: string
                            enum:
                            - sr_record
                            - sr_field
                        title: SchemaEntity
                      tags:
                        type: array
                        items:
                          type: string
                    title: SchemaTags
                schemaTagsToRemove:
                  type: array
                  items:
                    type: object
                    properties:
                      schemaEntity:
                        type: object
                        properties:
                          entityPath:
                            type: string
                          entityType:
                            type: string
                            enum:
                            - sr_record
                            - sr_field
                        title: SchemaEntity
                      tags:
                        type: array
                        items:
                          type: string
                    title: SchemaTags
                propagateSchemaTags:
                  type: boolean
              description: Schema register request
              title: RegisterSchemaRequest
          application/json:
            schema:
              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:
                    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
                    title: SchemaReference
                schema:
                  type: string
                  description: Schema definition string
                metadata:
                  description: User-defined metadata
                  nullable: true
                  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
                  title: Metadata
                ruleSet:
                  description: Schema rule set
                  nullable: true
                  properties:
                    migrationRules:
                      items:
                        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
                        title: Rule
                      type: array
                    domainRules:
                      items:
                        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
                        title: Rule
                      type: array
                  type: object
                  title: RuleSet
                schemaTagsToAdd:
                  type: array
                  items:
                    type: object
                    properties:
                      schemaEntity:
                        type: object
                        properties:
                          entityPath:
                            type: string
                          entityType:
                            type: string
                            enum:
                            - sr_record
                            - sr_field
                        title: SchemaEntity
                      tags:
                        type: array
                        items:
                          type: string
                    title: SchemaTags
                schemaTagsToRemove:
                  type: array
                  items:
                    type: object
                    properties:
                      schemaEntity:
                        type: object
                        properties:
                          entityPath:
                            type: string
                          entityType:
                            type: string
                            enum:
                            - sr_record
                            - sr_field
                        title: SchemaEntity
                      tags:
                        type: array
                        items:
                          type: string
                    title: SchemaTags
                propagateSchemaTags:
                  type: boolean
              description: Schema register request
              title: RegisterSchemaRequest
          application/octet-stream:
            schema:
              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:
                    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
                    title: SchemaReference
                schema:
                  type: string
                  description: Schema definition string
                metadata:
                  description: User-defined metadata
                  nullable: true
                  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
                  title: Metadata
                ruleSet:
                  description: Schema rule set
                  nullable: true
                  properties:
                    migrationRules:
                      items:
                        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
                        title: Rule
                      type: array
                    domainRules:
                      items:
                        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
                        title: Rule
                      type: array
                  type: object
                  title: RuleSet
                schemaTagsToAdd:
                  type: array
                  items:
                    type: object
                    properties:
                      schemaEntity:
                        type: object
                        properties:
                          entityPath:
                            type: string
                          entityType:
                            type: string
                            enum:
                            - sr_record
                            - sr_field
                        title: SchemaEntity
                      tags:
                        type: array
                        items:
                          type: string
                    title: SchemaTags
                schemaTagsToRemove:
                  type: array
                  items:
                    type: object
                    properties:
                      schemaEntity:
                        type: object
                        properties:
                          entityPath:
                            type: string
                          entityType:
                            type: string
                            enum:
                            - sr_record
                            - sr_field
                        title: SchemaEntity
                      tags:
                        type: array
                        items:
                          type: string
                    title: SchemaTags
                propagateSchemaTags:
                  type: boolean
              description: Schema register request
              title: RegisterSchemaRequest
        required: true
      responses:
        '200':
          description: Compatibility check result.
          content:
            application/vnd.schemaregistry.v1+json:
              schema:
                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
                title: CompatibilityCheckResponse
            application/vnd.schemaregistry+json; qs=0.9:
              schema:
                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
                title: CompatibilityCheckResponse
            application/json; qs=0.5:
              schema:
                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
                title: CompatibilityCheckResponse
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                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
                title: ErrorMessage
              example:
                error_code: 400
                message: Bad Request
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                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
                title: ErrorMessage
              example:
                error_code: 401
                message: Unauthorized
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                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
                title: ErrorMessage
              example:
                error_code: 403
                message: Forbidden
        '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:
                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
                title: ErrorMessage
            application/vnd.schemaregistry+json; qs=0.9:
              schema:
                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
                title: ErrorMessage
            application/json; qs=0.5:
              schema:
                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
                title: ErrorMessage
        '429':
          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.
        '500':
          description: Internal Server Error. Error code 50001 indicates a failure in the backend data
            store.
          content:
            application/vnd.schemaregistry.v1+json:
              schema:
                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
                title: ErrorMessage
            application/vnd.schemaregistry+json; qs=0.9:
              schema:
                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
                title: ErrorMessage
            application/json; qs=0.5:
              schema:
                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
                title: ErrorMessage
      security:
      - resource-api-key: []
      - external-access-token: []
      servers:
      - url: https://psrc-00000.region.provider.confluent.cloud
        description: Confluent Cloud Schema Registry Endpoint.
      jsonRequestBodyExample:
        version: 0
        id: 0
        schemaType: string
        references:
        - name: io.confluent.kafka.example.User
          subject: User
          version: 1
        schema: string
        metadata:
          tags: {}
          properties: {}
          sensitive:
          - string
        ruleSet:
          migrationRules:
          - name: string
            doc: string
            kind: TRANSFORM
            mode: UPGRADE
            type: string
            tags:
            - string
            params: {}
            expr: string
            onSuccess: string
            onFailure: string
            disabled: true
          domainRules:
          - name: string
            doc: string
            kind: TRANSFORM
            mode: UPGRADE
            type: string
            tags:
            - string
            params: {}
            expr: string
            onSuccess: string
            onFailure: string
            disabled: true
        schemaTagsToAdd:
        - schemaEntity:
            entityPath: string
            entityType: sr_record
          tags:
          - string
        schemaTagsToRemove:
        - schemaEntity:
            entityPath: string
            entityType: sr_record
          tags:
          - string
        propagateSchemaTags: true