High performance, runtime registry
for API Designs and Schemas
Try Live Download
Version: 2.4.1.Final
Clone or fork on GitHub

What is a Registry?

In the context of Apicurio, a registry is a runtime system (server) that stores a specific set of artifacts (files). At its core, a registry provides the ability to add, update, and remove the artifacts from the store, typically via a remote API of some kind (often a REST API).

Use Cases

API Registry

The key use case for the Apicurio community, an API registry is a system that allows users to register their API designs (e.g., OpenAPI or AsyncAPI files) so that potential API consumers can do the following:

  • Browse/search the list of APIs available in production
  • View details about a single available API
  • Learn how to use an API (using generated documentation)
  • Generate client SDKs for an API

Schema Registry

In the messaging and event streaming world, data that is published to topics and queues often must be serialized or validated using a schema (e.g., Apache Avro, JSON Schema, or Google Protocol Buffers). Schemas can be packaged in each application, but it is often a better architectural pattern to instead register schemas in an external system and then reference them from each application. A schema registry provides the following benefits:

  • Decoupling of 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/queue
  • Centralized control of data format (schema) evolution

Apicurio Registry - Key Features

Storage/management of several types of artifacts
Apicurio Registry supports adding, removing, and updating the following types of artifacts:
  • OpenAPI
  • AsyncAPI
  • GraphQL
  • Apache Avro
  • Google Protocol Buffers
  • JSON Schema
  • Kafka Connect schema
  • WSDL
  • XML Schema (XSD)
Configurable content rules
You can control content evolution in Apicurio Registry (adding and updating artifact content) by enabling content rules, such as rules for validity and compatibility.
Multiple storage options
You can configure Apicurio Registry to store data in various backend storage systems depending on the use case, such as Kafka, PostgreSQL, or Microsoft SQL Server.