Get the cluster topology
HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("http://localhost:8080/v2/topology")) .header("Authorization", "Bearer <token>") .method("GET", HttpRequest.BodyPublishers.noBody()) .build();HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());System.out.println(response.body());const url = 'http://localhost:8080/v2/topology';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url http://localhost:8080/v2/topology \ --header 'Authorization: Bearer <token>'The nodes of the cluster and the partitions each one runs, as the
official clients and the connector runtime read it for their health
check. Every node that owns partitions is a broker leading them; a
partition is healthy while its owner’s lease is live. The log is
kept in PostgreSQL, so there are no followers and the replication
factor is 1. A single-node engine answers one broker leading one
partition, at the address it was reached at. Every authenticated
client may read it, whatever its permissions.
Authorizations
Section titled “Authorizations”Responses
Section titled “ Responses ”The cluster topology.
object
object
The nodeId as text.
object
Every partition a node owns
Always null.
The number of nodes that own partitions.
Always 1.
Always -1.
Example
{ "brokers": [ { "partitions": [ { "role": "leader", "health": "healthy", "state": "active" } ] } ]}No valid credential was presented.
An RFC 9457 problem document. type is a stable TinyConductor URN.
object
The request path.
Present only on mode-not-supported. It names the engine’s mode.
Example
{ "type": "urn:bpm:error:unauthorized", "title": "Unauthorized", "status": 401, "detail": "A valid bearer credential is required", "instance": "/v2/topology"}Headers
Section titled “Headers”The caller lacks the required permission, a tenant named in the request is not the caller’s tenant, or a cookie write has no valid CSRF token.
An RFC 9457 problem document. type is a stable TinyConductor URN.
object
The request path.
Present only on mode-not-supported. It names the engine’s mode.
Example
{ "type": "urn:bpm:error:forbidden", "title": "Forbidden", "status": 403, "detail": "The principal lacks the action this route requires", "instance": "/v2/topology"}An internal failure. The details are never exposed.
An RFC 9457 problem document. type is a stable TinyConductor URN.
object
The request path.
Present only on mode-not-supported. It names the engine’s mode.
Example
{ "type": "urn:bpm:error:internal", "title": "Internal Server Error", "status": 500, "detail": "The request could not be completed", "instance": "/v2/topology"}Backpressure, or a dependency is not ready. Retry with the same idempotency key.
An RFC 9457 problem document. type is a stable TinyConductor URN.
object
The request path.
Present only on mode-not-supported. It names the engine’s mode.
Example
{ "type": "urn:bpm:error:unavailable", "title": "Service Unavailable", "status": 503, "detail": "The required engine service is not ready", "instance": "/v2/topology"}