Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/confluent:confluent-cluster-registry-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
description: '## Confluent Metadata API - Swagger UI
---
This tool (SwaggerUI) and the Open API spec file are provided _for development / test
purposes only_:
- **Do _not_ enable in Production.**
- **This tool only works with HTTP.**
### Authenticating
Authentication is performed by HTTP Basic Auth or by presenting a bearer token.'
title: MDS Cluster Registry API
version: '1.0'
x-api-id: 9a0c4222-9190-4816-b872-1a9cf002afab
x-audience: external-public
servers:
- url: /
security:
- basicAuth: []
- bearerAuth: []
tags:
- description: Tracking and naming clusters.
name: Cluster Registry
paths:
/security/1.0/registry/clusters:
get:
description: 'If the calling principal doesn''t have permissions to see the full cluster info,
some information ("hosts", "protocol", etc) is redacted.
Callable by Admins+User.'
operationId: clusterRegistryList
parameters:
- description: Optionally filter down by cluster type.
example: kafka-cluster
explode: true
in: query
name: clusterType
required: false
schema:
pattern: ^((kafka)|(ksql)|(connect)|(schema-registry))-cluster$
type: string
style: form
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/ClusterInfo'
type: array
description: List of Clusters.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Error Response
summary: Returns a list of all clusters in the registry, optionally filtered by cluster…
tags:
- Cluster Registry
post:
description: 'May result in a 409 Conflict if the name and scope combination of any cluster
conflicts with existing clusters in the registry.
Callable by Admins.'
operationId: updateClusters
requestBody:
content:
application/json:
schema:
items:
$ref: '#/components/schemas/ClusterInfo'
type: array
required: true
responses:
'204':
description: Clusters added.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Error Response
summary: Define/overwrite named clusters
tags:
- Cluster Registry
/security/1.0/registry/clusters/{clusterName}:
delete:
description: Callable by Admins.
operationId: deleteNamedCluster
parameters:
- description: The name of cluster (ASCII printable characters without spaces).
explode: false
in: path
name: clusterName
required: true
schema:
type: string
style: simple
responses:
'204':
description: Cluster removed.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Error Response
summary: Remove a named cluster from the registry
tags:
- Cluster Registry
get:
description: Callable by Admins+User.
operationId: getNamedCluster
parameters:
- description: The name of cluster (ASCII printable characters without spaces).
example: StagingKSQLCluster
explode: false
in: path
name: clusterName
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ClusterInfo'
description: The named cluster, if it exists and the caller has permission to see it.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Error Response
summary: Returns the information for a single named cluster, assuming the cluster exists…
tags:
- Cluster Registry
components:
schemas:
Scope:
example:
clusters:
kafka-cluster: kafkaClusterId
schema-registry-cluster: schemaRegistryClusterId
flink-environment: flinkEnvironmentId
ksql-cluster: ksqlClusterId
cmf: cmfId
connect-cluster: connectClusterId
properties:
clusters:
$ref: '#/components/schemas/Scope_clusters'
required:
- clusters
type: object
HostInfo:
example:
port: 9092
host: 10.10.10.10
properties:
host:
example: 10.10.10.10
type: string
port:
example: 9092
type: integer
type: object
ErrorResponse:
properties:
status_code:
description: Optional - http status code
example: 400
type: integer
error_code:
description: Optional - Kafka error code (typically 5 digits)
type: integer
type:
description: Optional - Type of error
example: INVALID REQUEST DATA
type: string
message:
description: Required - Top level error message
example: Bad request
type: string
errors:
description: Optional - List of errors
items:
$ref: '#/components/schemas/ErrorDetail'
type: array
required:
- message
type: object
Protocol:
enum:
- SASL_PLAINTEXT
- SASL_SSL
- HTTP
- HTTPS
example: SASL_PLAINTEXT
type: string
ErrorDetail:
properties:
error_type:
type: string
message:
type: string
required:
- error_type
- type
type: object
ClusterInfo:
example:
protocol: SASL_PLAINTEXT
hosts:
- port: 9092
host: 10.10.10.10
- port: 9092
host: 10.10.10.10
clusterName: StagingKSQLCluster
scope:
clusters:
kafka-cluster: kafkaClusterId
schema-registry-cluster: schemaRegistryClusterId
flink-environment: flinkEnvironmentId
ksql-cluster: ksqlClusterId
cmf: cmfId
connect-cluster: connectClusterId
properties:
clusterName:
example: StagingKSQLCluster
type: string
scope:
$ref: '#/components/schemas/Scope'
hosts:
items:
$ref: '#/components/schemas/HostInfo'
type: array
protocol:
$ref: '#/components/schemas/Protocol'
type: object
Scope_clusters:
example:
kafka-cluster: kafkaClusterId
schema-registry-cluster: schemaRegistryClusterId
flink-environment: flinkEnvironmentId
ksql-cluster: ksqlClusterId
cmf: cmfId
connect-cluster: connectClusterId
properties:
kafka-cluster:
example: kafkaClusterId
type: string
connect-cluster:
example: connectClusterId
type: string
ksql-cluster:
example: ksqlClusterId
type: string
schema-registry-cluster:
example: schemaRegistryClusterId
type: string
cmf:
example: cmfId
type: string
flink-environment:
example: flinkEnvironmentId
type: string
type: object
securitySchemes:
basicAuth:
scheme: basic
type: http
bearerAuth:
bearerFormat: JWT
scheme: bearer
type: http