// Metadata created by nebel


[id="client-serde"]
=  Validate schemas with Kafka client serializers/deserializers 

[role="_abstract"]
Kafka producer applications can use serializers to encode messages that conform to a specific event schema. Kafka consumer applications can then use deserializers to validate that messages have been serialized using the correct schema, based on a specific schema ID. 

.{registry} and Kafka client SerDe architecture
image::images/getting-started/registry-serdes-architecture.png[Registry SerDe architecture]

{registry} provides Kafka client serializers/deserializers (SerDes) to validate the following message types at runtime:

* Apache Avro
* Google protocol buffers
* JSON Schema

The {registry} Maven repository and source code distributions include the Kafka SerDe implementations for these message types, which Kafka client developers can use to integrate with the registry. These implementations include custom Java classes for each supported message type, for example, `io.apicurio.registry.serde.avro`, which client applications can use to pull schemas from the registry at runtime for validation. 

[role="_additional-resources"]
.Additional resources
* {kafka-client-serdes}
