Chapter 9. Service Registry artifact reference


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

Additional resources

9.1. Service Registry artifact types

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

Table 9.1. Service Registry artifact types
TypeDescription

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

9.2. Service Registry artifact states

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

Table 9.2. Service Registry artifact states
StateDescription

ENABLED

Basic state, all the operations are available.

DISABLED

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

DEPRECATED

The artifact is fully usable but a header is added to the REST API response whenever the artifact content is fetched. The Service Registry Rest Client will also log a warning whenever it sees deprecated content.

9.3. Service Registry artifact metadata

When an artifact is added to Service Registry, a set of metadata properties is created and stored along with the artifact 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 is created.

Table 9.3. Service Registry system-generated metadata
PropertyTypeDescription

contentId

integer

Unique identifier of artifact content in Service 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.

createdBy

string

The name of the user who created the artifact.

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 Service Registry. For example, a global ID of 1 is assigned to the first artifact version created in Service 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.

type

ArtifactType

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

Table 9.4. Service Registry user-provided or system-generated metadata
PropertyTypeDescription

groupId

string

Unique identifier of an artifact group in Service Registry, for example, development or production. When creating an artifact by using the Service 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.

id

string

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

references

array of ArtifactReference

Optional set of artifact references contained in the artifact, which you can provide when creating the artifact. The following simple example shows a single artifact reference: [{"groupId":"my-group","artifactId":"ItemId","version":"1","name":"com.example.common.ItemId"}].

version

integer

The latest version of the artifact. You can use the generated version, for example, 3, or provide a version by using the Service Registry REST API or Maven plug-in, for example, 2.1.6.

Table 9.5. Service Registry editable metadata
PropertyTypeDescription

description

string

Optional meaningful description of the artifact, for example, This is a simple OpenAPI for testing. You can provide a description, or it can be automatically discovered from the info section of OpenAPI and AsyncAPI artifacts, if already provided.

labels

array of string

Optional comma-separated list of labels used to filter and search for the artifact, for example, test,protobuf. Provided by the user.

name

string

Optional human-readable name of the artifact, for example, My first Avro schema. You can provide a description, or it can be automatically discovered from the info section of OpenAPI and AsyncAPI artifacts, if the title field has a value.

properties

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.

state

ArtifactState

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

Updating artifact metadata

  • You can use the Service Registry REST API or web console to update the set of editable metadata properties.
  • You can update the state property only by using the Service Registry REST API.

Additional resources

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

Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.