High performance, runtime registry
for API designs and schemas
Apicurio Registry is a runtime server system that stores a specific set of artifacts as files.
Apicurio Registry enables you to add, update, and remove the artifacts from the store using a
remote REST API.
The key use case for the Apicurio community, an API registry is a system that enables you to register
your API designs, for example, OpenAPI or AsyncAPI files, so that potential API consumers can do the
- Browse or search the list of APIs available in production
- View details about a single available API
- Learn how to use an API using auto-generated documentation
- Generate client SDKs for an API
In the messaging and event streaming world, data published to topics and queues often must
be serialized or validated using a schema, for example, Apache Avro, JSON Schema, or Google
Protocol Buffers. Schemas can be packaged in each application, but it is often a better
architectural pattern to register schemas in an external system and then reference them
from each application instead. A schema registry provides the following benefits:
- Decoupling schemas from producers and consumers
- Potential to upgrade producers without upgrading consumers
- Central location to track all schemas used in production
- Document the data format required for each topic or queue
- Centralized control of data format and schema evolution
Storage and management of multiple artifact types
Apicurio Registry supports adding, removing, and updating the following artifact types:
- Apache Avro
- Google Protocol Buffers
- JSON Schema
- Kafka Connect schema
- XML Schema (XSD)
Configurable content rules
You can control content evolution in Apicurio Registry by enabling content rules for validity,
compatibility, and integrity.
Multiple storage options
You can configure Apicurio Registry to store data in backend storage systems depending on the use case.
Storage options include Apache Kafka, PostgreSQL, or Microsoft SQL Server.
Generate client SDKs for OpenAPI artifacts
You can use the Apicurio Registry web console to generate and download client SDKs for OpenAPI artifacts,
and use these to build client applications for specific platforms.