Chapter 9. Apicurio Registry artifact reference This chapter provides reference information on the supported artifact types, states, and metadata that are stored in Apicurio Registry. Section 9.1, "Apicurio Registry artifact types" Section 9.2, "Apicurio Registry artifact states" Section 9.3, "Apicurio Registry artifact metadata" Additional resources For more information, see the Apicurio Registry REST API documentation . 9.1. Apicurio Registry artifact types You can store and manage a wide range of schema and API artifact types in Apicurio Registry. Table 9.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 9.2. Apicurio Registry artifact states The valid artifact states in Apicurio Registry are ENABLED , DISABLED , and DEPRECATED . Table 9.2. Apicurio Registry artifact states State Description ENABLED Basic state, all the operations are available. DISABLED The artifact and its metadata is viewable and searchable using the Apicurio 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 Apicurio Registry Rest Client will also log a warning whenever it sees deprecated content. 9.3. Apicurio Registry artifact metadata When an artifact is added to Apicurio 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. Apicurio Registry system-generated metadata Property Type Description contentId integer Unique identifier of artifact 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. 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 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 . type ArtifactType The supported artifact type, for example, AVRO , OPENAPI , or PROTOBUF . Table 9.4. 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. id 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. 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 Apicurio Registry REST API or Maven plug-in, for example, 2.1.6 . Table 9.5. Apicurio Registry editable metadata Property Type Description 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 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 /artifacts/{artifactId}/meta endpoint in the Apicurio Registry REST API documentation .

Commands: