Test schema compatibility against a particular schema subject-version
POST/compatibility/subjects/:subject/versions/:version
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).
Request
Responses
- 200
- 400
- 401
- 403
- 404
- 422
- 429
- 500
Compatibility check result.
Bad Request
Unauthorized
Forbidden
Not Found. Error code 40401 indicates subject not found. Error code 40402 indicates version not found.
Unprocessable entity. Error code 42201 indicates an invalid schema or schema type. Error code 42202 indicates an invalid version.
Rate Limit Exceeded
Response Headers
The unique identifier for the API request.
The maximum number of requests you're permitted to make per time period.
The number of requests remaining in the current rate limit window.
The relative time in seconds until the current rate-limit window resets.
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.
The number of seconds to wait until the rate limit window resets. Only sent when the rate limit is reached.
Internal Server Error. Error code 50001 indicates a failure in the backend data store.
OpenAPI definition (YAML)
paths:
/compatibility/subjects/{subject}/versions/{version}:
post:
tags:
- Compatibility (v1)
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:
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
'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:
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
'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