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
- OpenAPI
- Specification ↗
- Spec updated
- 2023-03-06
Make a first request
Replace the placeholders; the documentation says exactly where credentials go.
curl -X GET "http://apicurio.local/admin/artifactTypes" \
-H "Accept: application/json"const response = await fetch("http://apicurio.local/admin/artifactTypes", {
method: "GET",
headers: {
"Accept": "application/json",
},
});
const data = await response.json();
console.log(data);import requests
response = requests.request(
"GET",
"http://apicurio.local/admin/artifactTypes",
headers={
"Accept": "application/json",
},
timeout=30,
)
print(response.json())Endpoints
| Method | Path | What it does |
|---|---|---|
| GET | /admin/artifactTypes | List artifact types |
| GET | /admin/config/properties | List 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/export | Export registry data |
| POST | /admin/import | Import registry data |
| GET | /admin/loggers | List 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/roleMappings | List all role mappings |
| POST | /admin/roleMappings | Create 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/rules | List global rules |
| POST | /admin/rules | Create global rule |
| DELETE | /admin/rules | Delete 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 | /groups | List groups |
| POST | /groups | Create 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}/artifacts | List artifacts in group |
| POST | /groups/{groupId}/artifacts | Create artifact |
| DELETE | /groups/{groupId}/artifacts | Delete 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}/meta | Get artifact metadata |
| POST | /groups/{groupId}/artifacts/{artifactId}/meta | Get artifact version metadata by content |
| PUT | /groups/{groupId}/artifacts/{artifactId}/meta | Update artifact metadata |
| GET | /groups/{groupId}/artifacts/{artifactId}/owner | Get artifact owner |
| PUT | /groups/{groupId}/artifacts/{artifactId}/owner | Update artifact owner |
| GET | /groups/{groupId}/artifacts/{artifactId}/rules | List artifact rules |
| POST | /groups/{groupId}/artifacts/{artifactId}/rules | Create artifact rule |
| DELETE | /groups/{groupId}/artifacts/{artifactId}/rules | Delete 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}/state | Update artifact state |
| PUT | /groups/{groupId}/artifacts/{artifactId}/test | Test update artifact |
| GET | /groups/{groupId}/artifacts/{artifactId}/versions | List artifact versions |
| POST | /groups/{groupId}/artifacts/{artifactId}/versions | Create artifact version |
| GET | /groups/{groupId}/artifacts/{artifactId}/versions/{version} | Get artifact version |
| GET | /groups/{groupId}/artifacts/{artifactId}/versions/{version}/meta | Get artifact version metadata |
| PUT | /groups/{groupId}/artifacts/{artifactId}/versions/{version}/meta | Update artifact version metadata |
| DELETE | /groups/{groupId}/artifacts/{artifactId}/versions/{version}/meta | Delete artifact version metadata |
| GET | /groups/{groupId}/artifacts/{artifactId}/versions/{version}/references | Get artifact version |
| PUT | /groups/{groupId}/artifacts/{artifactId}/versions/{version}/state | Update artifact version state |
| GET | /ids/contentHashes/{contentHash}/ | Get artifact content by SHA-256 hash |
| GET | /ids/contentHashes/{contentHash}/references | List artifact references by hash |
| GET | /ids/contentIds/{contentId}/ | Get artifact content by ID |
| GET | /ids/contentIds/{contentId}/references | List artifact references by content ID |
| GET | /ids/globalIds/{globalId} | Get artifact by global ID |
| GET | /ids/globalIds/{globalId}/references | List artifact references by global ID |
| GET | /search/artifacts | Search for artifacts |
| POST | /search/artifacts | Search for artifacts by content |
| GET | /system/info | Get system information |
| GET | /system/limits | Get resource limits information |
| GET | /users/me | Get 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.
Similar development APIs
Compare alternatives →Cloudflare
DevelopmentManage DNS, CDN, Workers and other services; documented with an official OpenAPI 3.0 spec
Azure DevOps
DevelopmentThe Azure DevOps basic components of a REST API request/response pair
IPify
DevelopmentA simple IP Address API
App Store Connect API
DevelopmentThe data structure that represents an app store connect api resource.
StackExchange
DevelopmentQ&A forum for developers
IPinfo
DevelopmentAnother simple IP Address API
Listed from APIs.guru (CC0).