Chapter 9. Service Registry artifact reference
This chapter provides details on the supported artifact types, states, metadata, and content rules that are stored in Service Registry.
Additional resources
- For more detailed information, see the Apicurio Registry REST API documentation
9.1. Service Registry artifact types
You can store and manage the following artifact types in Service Registry:
Type | Description |
---|---|
| AsyncAPI specification |
| Apache Avro schema |
| GraphQL schema |
| JSON Schema |
| Apache Kafka Connect schema |
| OpenAPI specification |
| Google protocol buffers schema |
| Web Services Definition Language |
| XML Schema Definition |
9.2. Service Registry artifact states
These are the valid artifact states in Service Registry:
State | Description |
---|---|
| Basic state, all the operations are available. |
| The artifact and its metadata is viewable and searchable using the Service Registry web console, but its content cannot be fetched by any client. |
| 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 stored along with the artifact content. This metadata consists of a set of generated read-only properties, along with some properties that you can set.
Property | Type | Editable |
---|---|---|
| string | false |
| ArtifactType | false |
| ArtifactState | true |
| integer | false |
| string | false |
| date | false |
| string | false |
| date | false |
| string | true |
| string | true |
| array of string | true |
| map | true |
Updating artifact metadata
- You can use the Service Registry REST API to update the set of editable properties using the metadata endpoints.
-
You can edit the
state
property only by using the state transition API. For example, you can mark an artifact asdeprecated
ordisabled
.
Additional resources
For more details, see the /artifacts/{artifactId}/meta
sections in the Apicurio Registry REST API documentation.
9.4. Service Registry content rule types
You can specify the following rule types to govern content evolution in Service Registry:
Type | Description |
---|---|
| Validate data before adding it to the registry. The possible configuration values for this rule are:
|
| Ensure that newly added artifacts are compatible with previously added versions. The possible configuration values for this rule are:
|
9.5. Service Registry content rule maturity
Not all content rules are fully implemented for every artifact type supported by Service Registry. The following table shows the current maturity level for each rule and artifact type.
Artifact type | Validity rule | Compatibility rule |
---|---|---|
Avro | Full | Full |
Protobuf | Full | None |
JSON Schema | Full | Full |
OpenAPI | Full | None |
AsyncAPI | Syntax Only | None |
GraphQL | Syntax Only | None |
Kafka Connect | Syntax Only | None |
WSDL | Syntax Only | None |
XSD | Syntax Only | None |