Skip to content

Apicurio Registry API [v2] API

by apicurio.local

No authHTTPSDevelopment
Open documentation ↗

Overview

Apicurio Registry is a datastore for standard event schemas and API designs. Apicurio Registry enables developers to manage and share the structure of their data using a REST interface. For example, client applications can dynamically push or pull the latest updates to or from the registry without needing to redeploy. Apicurio Registry also enables developers to create rules that govern how registry content can evolve over time. For example, this includes rules for content validation and version compatibility. The Apicurio Registry REST API enables client applications to manage the artifacts in the registry. This API provides create, read, update, and delete operations for schema and API artifacts, rules, versions, and metadata. The supported artifact types include: - Apache Avro schema - AsyncAPI specification - Google protocol buffers - GraphQL schema - JSON Schema - Kafka Connect schema - OpenAPI specification - Web Services Description Language - XML Schema Definition **Important**: The Apicurio Registry REST API is available from `https://MY-REGISTRY-URL/apis/registry/v2` by default. Therefore you must prefix all API operation paths with `../apis/registry/v2` in this case. For example: `../apis/registry/v2/ids/globalIds/{globalId}`.

Apicurio Registry API [v2] is a development API from apicurio.local. It needs no API key. It is served over HTTPS. Its OpenAPI description documents 64 endpoints.

At a glance

Authentication
No auth
HTTPS
Yes
CORS
Unknown
Category
Development
Base URL
http://apicurio.local
Version
2.4.x
Endpoints
64
Spec updated
2023-03-06

Make a first request

Replace the placeholders; the documentation says exactly where credentials go.

cURL
curl -X GET "http://apicurio.local/admin/artifactTypes" \
  -H "Accept: application/json"
JavaScript
const response = await fetch("http://apicurio.local/admin/artifactTypes", {
  method: "GET",
  headers: {
    "Accept": "application/json",
  },
});
const data = await response.json();
console.log(data);
Python
import requests

response = requests.request(
    "GET",
    "http://apicurio.local/admin/artifactTypes",
    headers={
    "Accept": "application/json",
    },
    timeout=30,
)
print(response.json())

Endpoints

MethodPathWhat it does
GET/admin/artifactTypesList artifact types
GET/admin/config/propertiesList all configuration properties
GET/admin/config/properties/{propertyName}Get configuration property value
PUT/admin/config/properties/{propertyName}Update a configuration property
DELETE/admin/config/properties/{propertyName}Reset a configuration property
GET/admin/exportExport registry data
POST/admin/importImport registry data
GET/admin/loggersList logging configurations
GET/admin/loggers/{logger}Get a single logger configuration
PUT/admin/loggers/{logger}Set a logger's configuration
DELETE/admin/loggers/{logger}Removes logger configuration
GET/admin/roleMappingsList all role mappings
POST/admin/roleMappingsCreate a new role mapping
GET/admin/roleMappings/{principalId}Return a single role mapping
PUT/admin/roleMappings/{principalId}Update a role mapping
DELETE/admin/roleMappings/{principalId}Delete a role mapping
GET/admin/rulesList global rules
POST/admin/rulesCreate global rule
DELETE/admin/rulesDelete all global rules
GET/admin/rules/{rule}Get global rule configuration
PUT/admin/rules/{rule}Update global rule configuration
DELETE/admin/rules/{rule}Delete global rule
GET/groupsList groups
POST/groupsCreate a new group
GET/groups/{groupId}Get a group by the specified ID.
DELETE/groups/{groupId}Delete a group by the specified ID.
GET/groups/{groupId}/artifactsList artifacts in group
POST/groups/{groupId}/artifactsCreate artifact
DELETE/groups/{groupId}/artifactsDelete artifacts in group
GET/groups/{groupId}/artifacts/{artifactId}Get latest artifact
PUT/groups/{groupId}/artifacts/{artifactId}Update artifact
DELETE/groups/{groupId}/artifacts/{artifactId}Delete artifact
GET/groups/{groupId}/artifacts/{artifactId}/metaGet artifact metadata
POST/groups/{groupId}/artifacts/{artifactId}/metaGet artifact version metadata by content
PUT/groups/{groupId}/artifacts/{artifactId}/metaUpdate artifact metadata
GET/groups/{groupId}/artifacts/{artifactId}/ownerGet artifact owner
PUT/groups/{groupId}/artifacts/{artifactId}/ownerUpdate artifact owner
GET/groups/{groupId}/artifacts/{artifactId}/rulesList artifact rules
POST/groups/{groupId}/artifacts/{artifactId}/rulesCreate artifact rule
DELETE/groups/{groupId}/artifacts/{artifactId}/rulesDelete artifact rules
GET/groups/{groupId}/artifacts/{artifactId}/rules/{rule}Get artifact rule configuration
PUT/groups/{groupId}/artifacts/{artifactId}/rules/{rule}Update artifact rule configuration
DELETE/groups/{groupId}/artifacts/{artifactId}/rules/{rule}Delete artifact rule
PUT/groups/{groupId}/artifacts/{artifactId}/stateUpdate artifact state
PUT/groups/{groupId}/artifacts/{artifactId}/testTest update artifact
GET/groups/{groupId}/artifacts/{artifactId}/versionsList artifact versions
POST/groups/{groupId}/artifacts/{artifactId}/versionsCreate artifact version
GET/groups/{groupId}/artifacts/{artifactId}/versions/{version}Get artifact version
GET/groups/{groupId}/artifacts/{artifactId}/versions/{version}/metaGet artifact version metadata
PUT/groups/{groupId}/artifacts/{artifactId}/versions/{version}/metaUpdate artifact version metadata
DELETE/groups/{groupId}/artifacts/{artifactId}/versions/{version}/metaDelete artifact version metadata
GET/groups/{groupId}/artifacts/{artifactId}/versions/{version}/referencesGet artifact version
PUT/groups/{groupId}/artifacts/{artifactId}/versions/{version}/stateUpdate artifact version state
GET/ids/contentHashes/{contentHash}/Get artifact content by SHA-256 hash
GET/ids/contentHashes/{contentHash}/referencesList artifact references by hash
GET/ids/contentIds/{contentId}/Get artifact content by ID
GET/ids/contentIds/{contentId}/referencesList artifact references by content ID
GET/ids/globalIds/{globalId}Get artifact by global ID
GET/ids/globalIds/{globalId}/referencesList artifact references by global ID
GET/search/artifactsSearch for artifacts
POST/search/artifactsSearch for artifacts by content
GET/system/infoGet system information
GET/system/limitsGet resource limits information
GET/users/meGet current user

Questions

Does the Apicurio Registry API [v2] API need an API key?

No. The Apicurio Registry API [v2] API can be called without an API key or sign-up, which makes it handy for prototypes and front-end demos.

Does the Apicurio Registry API [v2] API support HTTPS?

Yes, the Apicurio Registry API [v2] API is served over HTTPS.

How many endpoints does the Apicurio Registry API [v2] API have?

Its OpenAPI description lists 64 endpoints in version 2.4.x. All of them are shown on this page.

What are alternatives to the Apicurio Registry API [v2] API?

Other Development APIs include Cloudflare, Azure DevOps, IPify, App Store Connect API, StackExchange.

Compare alternatives →

Listed from APIs.guru (CC0).