Apicurio Registry artifact reference

This chapter provides reference information on the supported artifact types, states, and metadata that are stored in Apicurio Registry.

Additional resources

Apicurio Registry artifact types

You can store and manage a wide range of schema and API artifact types in Apicurio Registry.

Table 1. Apicurio Registry artifact types
Type Description

ASYNCAPI

AsyncAPI specification

AVRO

Apache Avro schema

GRAPHQL

GraphQL schema

JSON

JSON Schema

KCONNECT

Apache Kafka Connect schema

OPENAPI

OpenAPI specification

PROTOBUF

Google protocol buffers schema

WSDL

Web Services Definition Language

XML

Extensible Markup Language

XSD

XML Schema Definition

Apicurio Registry artifact version states

The valid artifact version states in Apicurio Registry are ENABLED, DISABLED, and DEPRECATED.

Table 2. Apicurio Registry artifact version states
State Description

ENABLED

Basic state, all the operations are available.

DISABLED

The artifact version metadata is viewable and searchable using the Apicurio Registry web console, but its content cannot be fetched by any client.

DEPRECATED

The artifact version is fully usable but a header is added to the REST API response whenever the artifact version content is fetched.

Apicurio Registry group metadata

When a group is created in Apicurio Registry, a set of metadata properties is created and stored. This metadata consists of system-generated or user-generated properties that are read-only, and editable properties that you can update after the group is created.

Table 3. Apicurio Registry system-generated metadata
Property Type Description

owner

string

The name of the user who created the group.

createdOn

date

The date and time when the group was created, for example, 2023-10-11T14:15:28Z.

modifiedBy

string

The name of the user who modified the group.

modifiedOn

date

The date and time at which the group was modified, for example, 2023-10-11T14:15:28Z.

Table 4. Apicurio Registry user-provided or system-generated metadata
Property Type Description

groupId

string

Unique identifier of the artifact group in Apicurio Registry, for example, development or production.

Table 5. Apicurio Registry editable metadata
Property Type Description

description

string

Optional meaningful description of the group, for example, This is a simple group for testing.

labels

map

Optional list of user-defined name-value pairs associated with the group. The name and value must be strings, for example, my-key and my-value.

Updating group metadata
  • You can use the Apicurio Registry REST API or web console to update the set of editable metadata properties.

  • You can update the state property only by using the Apicurio Registry REST API.

Additional resources

For more details, see the /groups/{groupId} endpoint in the Apicurio Registry REST API documentation.

Apicurio Registry artifact metadata

When an artifact is added to Apicurio Registry, a set of metadata properties is created and stored. This metadata consists of system-generated or user-generated properties that are read-only, and editable properties that you can update after the artifact is created.

Table 6. Apicurio Registry system-generated metadata
Property Type Description

createdOn

date

The date and time when the artifact was created, for example, 2023-10-11T14:15:28Z.

globalId

integer

Globally unique identifier of an artifact version in Apicurio Registry. For example, a global ID of 1 is assigned to the first artifact version created in Apicurio Registry.

modifiedBy

string

The name of the user who modified the artifact.

modifiedOn

date

The date and time at which the artifact was modified, for example, 2023-10-11T14:15:28Z.

Table 7. Apicurio Registry user-provided or system-generated metadata
Property Type Description

groupId

string

Unique identifier of an artifact group in Apicurio Registry, for example, development or production. When creating an artifact by using the Apicurio Registry web console, if you do not provide a group ID, this is set to default. You must provide a group ID when using the Apicurio Registry REST API, Java client, or Maven plug-in.

artifactId

string

Unique identifier of an artifact in Apicurio Registry. You can provide an artifact ID or use the UUID generated by Apicurio Registry, for example, 8d168cad-1865-4e6c-bb7e-04e8be005bea. Different versions of an artifact use the same artifact ID, but have different global IDs.

artifactType

ArtifactType

The supported artifact type, for example, AVRO, OPENAPI, or PROTOBUF.

Table 8. Apicurio Registry editable metadata
Property Type Description

name

string

Optional human-readable name of the artifact, for example, My first Avro schema.

description

string

Optional meaningful description of the artifact, for example, This is a simple OpenAPI for testing.

labels

map

Optional list of user-defined name-value pairs associated with the artifact. The name and value must be strings, for example, my-key and my-value.

owner

string

The name of the user who owns the artifact.

Updating artifact metadata
  • You can use the Apicurio Registry REST API or web console to update the set of editable metadata properties.

Additional resources

For more details, see the /groups/{groupId}/artifacts/{artifactId} endpoint in the Apicurio Registry REST API documentation.

Apicurio Registry artifact version metadata

When an artifact version is added to a Apicurio Registry artifact, a set of metadata properties is created and stored along with the artifact version content. This metadata consists of system-generated or user-generated properties that are read-only, and editable properties that you can update after the artifact version is created.

Table 9. Apicurio Registry system-generated metadata
Property Type Description

owner

string

The name of the user who created the artifact version.

createdOn

date

The date and time when the artifact version was created, for example, 2023-10-11T14:15:28Z.

modifiedBy

string

The user who modified the artifact version.

modifiedOn

date

The date and time at which the artifact version was modified, for example, 2023-10-11T14:15:28Z.

contentId

integer

Unique identifier of artifact version content in Apicurio Registry. The same content ID can be shared by multiple artifact versions when artifact versions have identical content. For example, a content ID of 4 can be used by multiple artifact versions with the same content, even across multiple artifacts.

globalId

integer

Globally unique identifier of an artifact version in Apicurio Registry. For example, a global ID of 1 is assigned to the first artifact version created in Apicurio Registry.

Table 10. Apicurio Registry user-provided or system-generated metadata
Property Type Description

groupId

string

Unique identifier of an artifact group in Apicurio Registry, for example, development or production.

artifactId

string

Unique identifier of an artifact in Apicurio Registry.

version

integer

The version string of the artifact version. If not provided, the system will generate a new sequential version. You can provide a version when using the Apicurio Registry REST API, SDKs, or Maven plug-in, for example, 2.1.6.

Table 11. Apicurio Registry editable metadata
Property Type Description

name

string

Optional human-readable name of the artifact version, for example, Version One.

description

string

Optional meaningful description of the artifact version, for example, This is the first version for testing.

labels

map

Optional list of user-defined name-value pairs associated with the artifact version. The name and value must be strings, for example, my-key and my-value.

state

ArtifactState

The state of the artifact version: ENABLED, DISABLED, or DEPRECATED. Defaults to ENABLED.

Updating artifact version metadata
  • You can use the Apicurio Registry REST API or web console to update the set of editable metadata properties.

  • You can update the state property only by using the Apicurio Registry REST API.

Additional resources

For more details, see the /groups/{groupId}/artifacts/{artifactId}/versions/{versionId} endpoint in the Apicurio Registry REST API documentation.