Pulsar REST API


The REST API for the Pulsar broker.

Currently available routes

/admin/v2/bookies/racks-info
GET

Gets the rack placement information for all the bookies in the cluster

Responses
Code Description
200 successful operation
403 Don't have admin permission
/admin/v2/bookies/racks-info/:bookie
GET

Gets the rack placement information for a specific bookie in the cluster

URL parameters
Name In Required Type
bookie path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
POST

Updates the rack placement information for a specific bookie in the cluster

URL parameters
Name In Required Type
bookie path true string
group query false string
Responses
Code Description
403 Don't have admin permission
DELETE

Removed the rack placement information for a specific bookie in the cluster

URL parameters
Name In Required Type
bookie path true string
Responses
Code Description
403 Don't have admin permission
/admin/v2/broker-stats/allocator-stats/:allocator
GET

Get the stats for the Netty allocator. Available allocators are 'default' and 'ml-cache'

URL parameters
Name In Required Type
allocator path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
/admin/v2/broker-stats/bookieops
GET

Get pending bookie client op stats by namesapce

Responses
Code Description
200 successful operation
403 Don't have admin permission
/admin/v2/broker-stats/broker-resource-availability/:tenant/:namespace
GET

Broker availability report

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
409 Load-manager doesn't support operation
/admin/v2/broker-stats/load-report
GET

Get Load for this broker

Responses
Code Description
200 successful operation
403 Don't have admin permission
/admin/v2/broker-stats/mbeans
GET

Get all the mbean details of this broker JVM

Responses
Code Description
200 successful operation
403 Don't have admin permission
/admin/v2/broker-stats/metrics
GET

Gets the metrics for Monitoring

Responses
Code Description
200 successful operation
403 Don't have admin permission
/admin/v2/broker-stats/topics
GET

Get all the topic stats by namesapce

Responses
Code Description
200 successful operation
403 Don't have admin permission
/admin/v2/brokers/configuration
GET

Get all updatable dynamic configurations's name

Responses
Code Description
200 successful operation
/admin/v2/brokers/configuration/values
GET

Get value of all dynamic configurations' value overridden on local config

Responses
Code Description
200 successful operation
404 Configuration not found
/admin/v2/brokers/configuration/:configName/:configValue
POST

Update dynamic serviceconfiguration into zk only. This operation requires Pulsar super-user privileges.

URL parameters
Name In Required Type
configName path true string
configValue path true string
Responses
Code Description
204 Service configuration updated successfully
403 You don't have admin permission to update service-configuration
404 Configuration not found
412 Configuration can't be updated dynamically
/admin/v2/brokers/health
GET

Run a healthcheck against the broker

Responses
Code Description
200 Everything is OK
403 Don't have admin permission
404 Cluster doesn't exist
/admin/v2/brokers/internal-configuration
GET

Get the internal configuration data

Responses
Code Description
200 successful operation
/admin/v2/brokers/:cluster
GET

Get the list of active brokers (web service addresses) in the cluster.

URL parameters
Name In Required Type
cluster path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Cluster doesn't exist
/admin/v2/brokers/:cluster/:broker/ownedNamespaces
GET

Get the list of namespaces served by the specific broker

URL parameters
Name In Required Type
cluster path true string
broker path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Cluster doesn't exist
/admin/v2/clusters
GET

Get the list of all the Pulsar clusters.

Responses
Code Description
200 successful operation
403 Don't have admin permission
/admin/v2/clusters/:cluster
GET

Get the configuration data for the specified cluster.

URL parameters
Name In Required Type
cluster path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Cluster doesn't exist
POST

Update the configuration for a cluster.

URL parameters
Name In Required Type
cluster path true string
Responses
Code Description
204 Cluster has been updated
403 Don't have admin permission
404 Cluster doesn't exist
PUT

Provisions a new cluster. This operation requires Pulsar super-user privileges.

URL parameters
Name In Required Type
cluster path true string
Responses
Code Description
204 Cluster has been created
403 You don't have admin permission to create the cluster
409 Cluster already exists
412 Cluster name is not valid
DELETE

Delete an existing cluster

URL parameters
Name In Required Type
cluster path true string
Responses
Code Description
204 Cluster has been updated
403 Don't have admin permission
404 Cluster doesn't exist
412 Cluster is not empty
/admin/v2/clusters/:cluster/failureDomains
GET

Get the cluster failure domains

URL parameters
Name In Required Type
cluster path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
/admin/v2/clusters/:cluster/failureDomains/:domainName
GET

Get a domain in a cluster

URL parameters
Name In Required Type
cluster path true string
domainName path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Domain doesn't exist
412 Cluster doesn't exist
POST

Set cluster's failure Domain

URL parameters
Name In Required Type
cluster path true string
domainName path true string
Responses
Code Description
403 Don't have admin permission
404 Cluster doesn't exist
409 Broker already exists in another domain
DELETE

Delete cluster's failure omain

URL parameters
Name In Required Type
cluster path true string
domainName path true string
Responses
Code Description
403 Don't have admin permission or plicy is read only
412 Cluster doesn't exist
/admin/v2/clusters/:cluster/namespaceIsolationPolicies
GET

Get the namespace isolation policies assigned in the cluster

URL parameters
Name In Required Type
cluster path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Cluster doesn't exist
/admin/v2/clusters/:cluster/namespaceIsolationPolicies/brokers
GET

Get list of brokers with namespace-isolation policies attached to them

URL parameters
Name In Required Type
cluster path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Namespace-isolation policies not found
412 Cluster doesn't exist
/admin/v2/clusters/:cluster/namespaceIsolationPolicies/brokers/:broker
GET

Get a broker with namespace-isolation policies attached to it

URL parameters
Name In Required Type
cluster path true string
broker path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Namespace-isolation policies/ Broker not found
412 Cluster doesn't exist
/admin/v2/clusters/:cluster/namespaceIsolationPolicies/:policyName
GET

Get a single namespace isolation policy assigned in the cluster

URL parameters
Name In Required Type
cluster path true string
policyName path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Policy doesn't exist
412 Cluster doesn't exist
POST

Set namespace isolation policy

URL parameters
Name In Required Type
cluster path true string
policyName path true string
Responses
Code Description
403 Don't have admin permission or plicy is read only
412 Cluster doesn't exist
DELETE

Delete namespace isolation policy

URL parameters
Name In Required Type
cluster path true string
policyName path true string
Responses
Code Description
403 Don't have admin permission or plicy is read only
412 Cluster doesn't exist
/admin/v2/clusters/:cluster/peers
GET

Get the peer-cluster data for the specified cluster.

URL parameters
Name In Required Type
cluster path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Cluster doesn't exist
POST

Update peer-cluster-list for a cluster.

URL parameters
Name In Required Type
cluster path true string
Responses
Code Description
204 Cluster has been updated
403 Don't have admin permission
404 Cluster doesn't exist
412 Peer cluster doesn't exist
/admin/v2/namespaces/:cluster/antiAffinity/:group
GET

Get all namespaces that are grouped by given anti-affinity group in a given cluster. api can be only accessed by admin of any of the existing tenant

URL parameters
Name In Required Type
cluster path true string
group path true string
tenant query false string
Responses
Code Description
200 successful operation
403 Don't have admin permission
412 Cluster not exist/Anti-affinity group can't be empty.
/admin/v2/namespaces/:tenant
GET

Get the list of all the namespaces for a certain tenant.

URL parameters
Name In Required Type
tenant path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Tenant doesn't exist
/admin/v2/namespaces/:tenant/:namespace
GET

Get the dump all the policies specified for a namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Tenant or cluster or namespace doesn't exist
PUT

Creates a new namespace with the specified policies

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
403 Don't have admin permission
404 Tenant or cluster doesn't exist
409 Namespace already exists
412 Namespace name is not valid
DELETE

Delete a namespace and all the topics under it.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Tenant or cluster or namespace doesn't exist
409 Namespace is not empty
/admin/v2/namespaces/:tenant/:namespace/antiAffinity
GET

Get anti-affinity group of a namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Tenant or cluster or namespace doesn't exist
POST

Set anti-affinity group for a namespace

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
403 Don't have admin permission
404 Tenant or cluster or namespace doesn't exist
412 Invalid antiAffinityGroup
DELETE

Remove anti-affinity group of a namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
403 Don't have admin permission
404 Namespace does not exist
409 Concurrent modification
/admin/v2/namespaces/:tenant/:namespace/backlogQuota
POST

Set a backlog quota for all the topics on a namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
backlogQuotaType query false string
Responses
Code Description
403 Don't have admin permission
404 Namespace does not exist
409 Concurrent modification
412 Specified backlog quota exceeds retention quota. Increase retention quota and retry request
DELETE

Remove a backlog quota policy from a namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
backlogQuotaType query false string
Responses
Code Description
403 Don't have admin permission
404 Namespace does not exist
409 Concurrent modification
/admin/v2/namespaces/:tenant/:namespace/backlogQuotaMap
GET

Get backlog quota map on a namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Namespace does not exist
/admin/v2/namespaces/:tenant/:namespace/bundles
GET

Get the bundles split data.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Tenant or cluster or namespace doesn't exist
412 Namespace is not setup to split in bundles
/admin/v2/namespaces/:tenant/:namespace/clearBacklog
POST

Clear backlog for all topics on a namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Namespace does not exist
/admin/v2/namespaces/:tenant/:namespace/clearBacklog/:subscription
POST

Clear backlog for a given subscription on all topics on a namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
subscription path true string
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Namespace does not exist
/admin/v2/namespaces/:tenant/:namespace/compactionThreshold
GET

Maximum number of uncompacted bytes in topics before compaction is triggered.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Namespace doesn't exist
PUT

Set maximum number of uncompacted bytes in a topic before compaction is triggered.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
403 Don't have admin permission
404 Namespace doesn't exist
409 Concurrent modification
412 compactionThreshold value is not valid
/admin/v2/namespaces/:tenant/:namespace/deduplication
POST

Enable or disable broker side deduplication for all topics in a namespace

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
403 Don't have admin permission
404 Tenant or cluster or namespace doesn't exist
/admin/v2/namespaces/:tenant/:namespace/dispatchRate
GET

Get dispatch-rate configured for the namespace, -1 represents not configured yet

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Namespace does not exist
POST

Set dispatch-rate throttling for all topics of the namespace

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
403 Don't have admin permission
/admin/v2/namespaces/:tenant/:namespace/encryptionRequired
POST

Message encryption is required or not for all topics in a namespace

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
403 Don't have admin permission
404 Tenant or cluster or namespace doesn't exist
409 Concurrent modification
/admin/v2/namespaces/:tenant/:namespace/maxConsumersPerSubscription
GET

Get maxConsumersPerSubscription config on a namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Namespace does not exist
POST

Set maxConsumersPerSubscription configuration on a namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
403 Don't have admin permission
404 Namespace does not exist
409 Concurrent modification
412 maxConsumersPerSubscription value is not valid
/admin/v2/namespaces/:tenant/:namespace/maxConsumersPerTopic
GET

Get maxConsumersPerTopic config on a namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Namespace does not exist
POST

Set maxConsumersPerTopic configuration on a namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
403 Don't have admin permission
404 Namespace does not exist
409 Concurrent modification
412 maxConsumersPerTopic value is not valid
/admin/v2/namespaces/:tenant/:namespace/maxProducersPerTopic
GET

Get maxProducersPerTopic config on a namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Namespace does not exist
POST

Set maxProducersPerTopic configuration on a namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
403 Don't have admin permission
404 Namespace does not exist
409 Concurrent modification
412 maxProducersPerTopic value is not valid
/admin/v2/namespaces/:tenant/:namespace/messageTTL
GET

Get the message TTL for the namespace

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Tenant or cluster or namespace doesn't exist
POST

Set message TTL in seconds for namespace

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
403 Don't have admin permission
404 Tenant or cluster or namespace doesn't exist
412 Invalid TTL
/admin/v2/namespaces/:tenant/:namespace/offloadDeletionLagMs
GET

Number of milliseconds to wait before deleting a ledger segment which has been offloaded from the Pulsar cluster's local storage (i.e. BookKeeper)

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Namespace doesn't exist
PUT

Set number of milliseconds to wait before deleting a ledger segment which has been offloaded from the Pulsar cluster's local storage (i.e. BookKeeper)

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
403 Don't have admin permission
404 Namespace doesn't exist
409 Concurrent modification
412 offloadDeletionLagMs value is not valid
DELETE

Clear the namespace configured offload deletion lag. The topics in the namespace will fallback to using the default configured deletion lag for the broker

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
403 Don't have admin permission
404 Namespace doesn't exist
409 Concurrent modification
/admin/v2/namespaces/:tenant/:namespace/offloadThreshold
GET

Maximum number of bytes stored on the pulsar cluster for a topic, before the broker will start offloading to longterm storage

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Namespace doesn't exist
PUT

Set maximum number of bytes stored on the pulsar cluster for a topic, before the broker will start offloading to longterm storage

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
403 Don't have admin permission
404 Namespace doesn't exist
409 Concurrent modification
412 offloadThreshold value is not valid
/admin/v2/namespaces/:tenant/:namespace/permissions
GET

Retrieve the permissions for a namespace.

URL parameters
Name In Required Type
tenant path true string
cluster path true string
namespace path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Tenant or cluster or namespace doesn't exist
409 Namespace is not empty
/admin/v2/namespaces/:tenant/:namespace/permissions/:role
POST

Grant a new permission to a role on a namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
role path true string
Responses
Code Description
403 Don't have admin permission
404 Tenant or cluster or namespace doesn't exist
409 Concurrent modification
501 Authorization is not enabled
DELETE

Revoke all permissions to a role on a namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
role path true string
Responses
Code Description
403 Don't have admin permission
404 Tenant or cluster or namespace doesn't exist
/admin/v2/namespaces/:tenant/:namespace/persistence
GET

Get the persistence configuration for a namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Namespace does not exist
409 Concurrent modification
POST

Set the persistence configuration for all the topics on a namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
400 Invalid persistence policies
403 Don't have admin permission
404 Namespace does not exist
409 Concurrent modification
/admin/v2/namespaces/:tenant/:namespace/replication
GET

Get the replication clusters for a namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Tenant or cluster or namespace doesn't exist
412 Namespace is not global
POST

Set the replication clusters for a namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
403 Don't have admin permission
404 Tenant or cluster or namespace doesn't exist
409 Peer-cluster can't be part of replication-cluster
412 Namespace is not global or invalid cluster ids
/admin/v2/namespaces/:tenant/:namespace/retention
GET

Get retention config on a namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Namespace does not exist
POST

Set retention configuration on a namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
403 Don't have admin permission
404 Namespace does not exist
409 Concurrent modification
412 Retention Quota must exceed backlog quota
/admin/v2/namespaces/:tenant/:namespace/schemaAutoUpdateCompatibilityStrategy
GET

The strategy used to check the compatibility of new schemas, provided by producers, before automatically updating the schema

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Namespace doesn't exist
409 Concurrent modification
PUT

Update the strategy used to check the compatibility of new schemas, provided by producers, before automatically updating the schema

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
403 Don't have admin permission
404 Namespace doesn't exist
409 Concurrent modification
/admin/v2/namespaces/:tenant/:namespace/subscriptionAuthMode
POST

Set a subscription auth mode for all the topics on a namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
403 Don't have admin permission
404 Namespace does not exist
409 Concurrent modification
/admin/v2/namespaces/:tenant/:namespace/subscriptionDispatchRate
GET

Get Subscription dispatch-rate configured for the namespace, -1 represents not configured yet

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Namespace does not exist
POST

Set Subscription dispatch-rate throttling for all topics of the namespace

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
403 Don't have admin permission
/admin/v2/namespaces/:tenant/:namespace/topics
GET

Get the list of all the topics under a certain namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
mode query false string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Tenant or cluster or namespace doesn't exist
/admin/v2/namespaces/:tenant/:namespace/unload
PUT

Unload namespace

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
403 Don't have admin permission
404 Tenant or namespace doesn't exist
412 Namespace is already unloaded or Namespace has bundles activated
/admin/v2/namespaces/:tenant/:namespace/unsubscribe/:subscription
POST

Unsubscribes the given subscription on all topics on a namespace.

URL parameters
Name In Required Type
tenant path true string
cluster path true string
namespace path true string
subscription path true string
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Namespace does not exist
/admin/v2/namespaces/:tenant/:namespace/:bundle
DELETE

Delete a namespace bundle and all the topics under it.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
bundle path true string
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Tenant or cluster or namespace doesn't exist
409 Namespace bundle is not empty
/admin/v2/namespaces/:tenant/:namespace/:bundle/clearBacklog
POST

Clear backlog for all topics on a namespace bundle.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
bundle path true string
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Namespace does not exist
/admin/v2/namespaces/:tenant/:namespace/:bundle/clearBacklog/:subscription
POST

Clear backlog for a given subscription on all topics on a namespace bundle.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
subscription path true string
bundle path true string
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Namespace does not exist
/admin/v2/namespaces/:tenant/:namespace/:bundle/split
PUT

Split a namespace bundle

URL parameters
Name In Required Type
tenant path true string
namespace path true string
bundle path true string
authoritative query false boolean
unload query false boolean
Responses
Code Description
403 Don't have admin permission
/admin/v2/namespaces/:tenant/:namespace/:bundle/unload
PUT

Unload a namespace bundle

URL parameters
Name In Required Type
tenant path true string
namespace path true string
bundle path true string
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
/admin/v2/namespaces/:tenant/:namespace/:bundle/unsubscribe/:subscription
POST

Unsubscribes the given subscription on all topics on a namespace bundle.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
subscription path true string
bundle path true string
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Namespace does not exist
/admin/v2/non-persistent/:tenant/:namespace
GET

Get the list of non-persistent topics under a namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Namespace doesn't exist
/admin/v2/non-persistent/:tenant/:namespace/partitioned
GET

Get the list of partitioned topics under a namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Namespace doesn't exist
/admin/v2/non-persistent/:tenant/:namespace/:bundle
GET

Get the list of non-persistent topics under a namespace bundle.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
bundle path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Namespace doesn't exist
/admin/v2/non-persistent/:tenant/:namespace/:topic
DELETE

Delete a topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
force query false boolean
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Topic does not exist
412 Topic has active producers/subscriptions
/admin/v2/non-persistent/:tenant/:namespace/:topic/all_subscription/expireMessages/:expireTimeInSeconds
POST

Expire messages on all subscriptions of topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
expireTimeInSeconds path true integer
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Topic or subscription does not exist
/admin/v2/non-persistent/:tenant/:namespace/:topic/backlog
GET

Get estimated backlog for offline topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
authoritative query false boolean
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Namespace does not exist
/admin/v2/non-persistent/:tenant/:namespace/:topic/compaction
GET

Get the status of a compaction operation for a topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
authoritative query false boolean
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Topic does not exist, or compaction hasn't run
405 Operation not allowed on persistent topic
PUT

Trigger a compaction operation on a topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Topic does not exist
405 Operation not allowed on persistent topic
409 Compaction already running
/admin/v2/non-persistent/:tenant/:namespace/:topic/internal-info
GET

Get the internal stats for the topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
Responses
Code Description
403 Don't have admin permission
404 Topic does not exist
/admin/v2/non-persistent/:tenant/:namespace/:topic/internalStats
GET

Get the internal stats for the topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
authoritative query false boolean
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Topic does not exist
/admin/v2/non-persistent/:tenant/:namespace/:topic/offload
GET

Offload a prefix of a topic to long term storage

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
authoritative query false boolean
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Topic does not exist
405 Operation not allowed on persistent topic
PUT

Offload a prefix of a topic to long term storage

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Topic does not exist
405 Operation not allowed on persistent topic
409 Offload already running
/admin/v2/non-persistent/:tenant/:namespace/:topic/partitioned-stats
GET

Get the stats for the partitioned topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
authoritative query false boolean
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Topic does not exist
412 Partitioned topic name is invalid
/admin/v2/non-persistent/:tenant/:namespace/:topic/partitions
GET

Get partitioned topic metadata.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
authoritative query false boolean
Responses
Code Description
200 successful operation
403 Don't have admin permission
POST

Increment partitons of an existing partitioned topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
Responses
Code Description
403 Don't have admin permission
409 Partitioned topic does not exist
412 Partitioned topic name is invalid
PUT

Create a partitioned topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
409 Partitioned topic already exists
DELETE

Delete a partitioned topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
force query false boolean
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Partitioned topic does not exist
412 Partitioned topic name is invalid
/admin/v2/non-persistent/:tenant/:namespace/:topic/permissions
GET

Get permissions on a topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Namespace doesn't exist
/admin/v2/non-persistent/:tenant/:namespace/:topic/permissions/:role
POST

Grant a new permission to a role on a single topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
role path true string
Responses
Code Description
403 Don't have admin permission
404 Namespace doesn't exist
409 Concurrent modification
DELETE

Revoke permissions on a topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
role path true string
Responses
Code Description
403 Don't have admin permission
404 Namespace doesn't exist
412 Permissions are not set at the topic level
/admin/v2/non-persistent/:tenant/:namespace/:topic/stats
GET

Get the stats for the topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
authoritative query false boolean
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Topic does not exist
/admin/v2/non-persistent/:tenant/:namespace/:topic/subscription/:subName
DELETE

Delete a subscription.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
subName path true string
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Topic does not exist
412 Subscription has active consumers
/admin/v2/non-persistent/:tenant/:namespace/:topic/subscription/:subName/expireMessages/:expireTimeInSeconds
POST

Expire messages on a topic subscription.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
subName path true string
expireTimeInSeconds path true integer
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Topic or subscription does not exist
/admin/v2/non-persistent/:tenant/:namespace/:topic/subscription/:subName/position/:messagePosition
GET

Peek nth message on a topic subscription.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
subName path true string
messagePosition path true integer
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Topic, subscription or the message position does not exist
/admin/v2/non-persistent/:tenant/:namespace/:topic/subscription/:subName/resetcursor
POST

Reset subscription to message position closest to given position.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
subName path true string
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Topic/Subscription does not exist
405 Not supported for partitioned topics
/admin/v2/non-persistent/:tenant/:namespace/:topic/subscription/:subName/resetcursor/:timestamp
POST

Reset subscription to message position closest to absolute timestamp (in ms).

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
subName path true string
timestamp path true integer
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Topic/Subscription does not exist
/admin/v2/non-persistent/:tenant/:namespace/:topic/subscription/:subName/skip/:numMessages
POST

Skip messages on a topic subscription.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
subName path true string
numMessages path true integer
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Topic or subscription does not exist
/admin/v2/non-persistent/:tenant/:namespace/:topic/subscription/:subName/skip_all
POST

Skip all messages on a topic subscription.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
subName path true string
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Topic or subscription does not exist
405 Operation not allowed on non-persistent topic
/admin/v2/non-persistent/:tenant/:namespace/:topic/subscription/:subscriptionName
PUT

Reset subscription to message position closest to given position.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
subscriptionName path true string
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Topic/Subscription does not exist
405 Not supported for partitioned topics
/admin/v2/non-persistent/:tenant/:namespace/:topic/subscriptions
GET

Get the list of persistent subscriptions for a given topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
authoritative query false boolean
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Topic does not exist
/admin/v2/non-persistent/:tenant/:namespace/:topic/terminate
POST

Terminate a topic. A topic that is terminated will not accept any more messages to be published and will let consumer to drain existing messages in backlog

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
authoritative query false boolean
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Topic does not exist
405 Operation not allowed on non-persistent topic
/admin/v2/non-persistent/:tenant/:namespace/:topic/unload
PUT

Unload a topic

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Topic does not exist
/admin/v2/persistent/:tenant/:namespace
GET

Get the list of topics under a namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Namespace doesn't exist
/admin/v2/persistent/:tenant/:namespace/partitioned
GET

Get the list of partitioned topics under a namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Namespace doesn't exist
/admin/v2/persistent/:tenant/:namespace/:topic
DELETE

Delete a topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
force query false boolean
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Topic does not exist
412 Topic has active producers/subscriptions
/admin/v2/persistent/:tenant/:namespace/:topic/all_subscription/expireMessages/:expireTimeInSeconds
POST

Expire messages on all subscriptions of topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
expireTimeInSeconds path true integer
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Topic or subscription does not exist
/admin/v2/persistent/:tenant/:namespace/:topic/backlog
GET

Get estimated backlog for offline topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
authoritative query false boolean
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Namespace does not exist
/admin/v2/persistent/:tenant/:namespace/:topic/compaction
GET

Get the status of a compaction operation for a topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
authoritative query false boolean
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Topic does not exist, or compaction hasn't run
405 Operation not allowed on persistent topic
PUT

Trigger a compaction operation on a topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Topic does not exist
405 Operation not allowed on persistent topic
409 Compaction already running
/admin/v2/persistent/:tenant/:namespace/:topic/internal-info
GET

Get the internal stats for the topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
Responses
Code Description
403 Don't have admin permission
404 Topic does not exist
/admin/v2/persistent/:tenant/:namespace/:topic/internalStats
GET

Get the internal stats for the topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
authoritative query false boolean
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Topic does not exist
/admin/v2/persistent/:tenant/:namespace/:topic/offload
GET

Offload a prefix of a topic to long term storage

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
authoritative query false boolean
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Topic does not exist
405 Operation not allowed on persistent topic
PUT

Offload a prefix of a topic to long term storage

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Topic does not exist
405 Operation not allowed on persistent topic
409 Offload already running
/admin/v2/persistent/:tenant/:namespace/:topic/partitioned-stats
GET

Get the stats for the partitioned topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
authoritative query false boolean
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Topic does not exist
412 Partitioned topic name is invalid
/admin/v2/persistent/:tenant/:namespace/:topic/partitions
GET

Get partitioned topic metadata.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
authoritative query false boolean
Responses
Code Description
200 successful operation
403 Don't have admin permission
409 Partitioned topic does not exist
412 Partitioned topic name is invalid
POST

Increment partitons of an existing partitioned topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
Responses
Code Description
403 Don't have admin permission
409 Partitioned topic does not exist
412 Partitioned topic name is invalid
PUT

Create a partitioned topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
409 Partitioned topic already exist
412 Partitioned topic name is invalid
DELETE

Delete a partitioned topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
force query false boolean
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Partitioned topic does not exist
412 Partitioned topic name is invalid
/admin/v2/persistent/:tenant/:namespace/:topic/permissions
GET

Get permissions on a topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Namespace doesn't exist
/admin/v2/persistent/:tenant/:namespace/:topic/permissions/:role
POST

Grant a new permission to a role on a single topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
role path true string
Responses
Code Description
403 Don't have admin permission
404 Namespace doesn't exist
409 Concurrent modification
DELETE

Revoke permissions on a topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
role path true string
Responses
Code Description
403 Don't have admin permission
404 Namespace doesn't exist
412 Permissions are not set at the topic level
/admin/v2/persistent/:tenant/:namespace/:topic/stats
GET

Get the stats for the topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
authoritative query false boolean
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Topic does not exist
/admin/v2/persistent/:tenant/:namespace/:topic/subscription/:subName
DELETE

Delete a subscription.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
subName path true string
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Topic does not exist
412 Subscription has active consumers
/admin/v2/persistent/:tenant/:namespace/:topic/subscription/:subName/expireMessages/:expireTimeInSeconds
POST

Expire messages on a topic subscription.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
subName path true string
expireTimeInSeconds path true integer
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Topic or subscription does not exist
/admin/v2/persistent/:tenant/:namespace/:topic/subscription/:subName/position/:messagePosition
GET

Peek nth message on a topic subscription.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
subName path true string
messagePosition path true integer
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Topic, subscription or the message position does not exist
/admin/v2/persistent/:tenant/:namespace/:topic/subscription/:subName/resetcursor
POST

Reset subscription to message position closest to given position.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
subName path true string
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Topic/Subscription does not exist
405 Not supported for partitioned topics
/admin/v2/persistent/:tenant/:namespace/:topic/subscription/:subName/resetcursor/:timestamp
POST

Reset subscription to message position closest to absolute timestamp (in ms).

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
subName path true string
timestamp path true integer
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Topic/Subscription does not exist
/admin/v2/persistent/:tenant/:namespace/:topic/subscription/:subName/skip/:numMessages
POST

Skip messages on a topic subscription.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
subName path true string
numMessages path true integer
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Topic or subscription does not exist
/admin/v2/persistent/:tenant/:namespace/:topic/subscription/:subName/skip_all
POST

Skip all messages on a topic subscription.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
subName path true string
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Topic or subscription does not exist
405 Operation not allowed on non-persistent topic
/admin/v2/persistent/:tenant/:namespace/:topic/subscription/:subscriptionName
PUT

Reset subscription to message position closest to given position.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
subscriptionName path true string
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Topic/Subscription does not exist
405 Not supported for partitioned topics
/admin/v2/persistent/:tenant/:namespace/:topic/subscriptions
GET

Get the list of persistent subscriptions for a given topic.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
authoritative query false boolean
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Topic does not exist
/admin/v2/persistent/:tenant/:namespace/:topic/terminate
POST

Terminate a topic. A topic that is terminated will not accept any more messages to be published and will let consumer to drain existing messages in backlog

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
authoritative query false boolean
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Topic does not exist
405 Operation not allowed on non-persistent topic
/admin/v2/persistent/:tenant/:namespace/:topic/unload
PUT

Unload a topic

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
authoritative query false boolean
Responses
Code Description
403 Don't have admin permission
404 Topic does not exist
/admin/v2/resource-quotas
GET

Get the default quota

Responses
Code Description
200 successful operation
403 Don't have admin permission
POST

Set the default quota

Responses
Code Description
200 successful operation
403 Don't have admin permission
/admin/v2/resource-quotas/:tenant/:namespace/:bundle
GET

Get resource quota of a namespace bundle.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
bundle path true string
Responses
Code Description
200 successful operation
403 Don't have admin permission
404 Namespace does not exist
POST

Set resource quota on a namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
bundle path true string
Responses
Code Description
403 Don't have admin permission
409 Concurrent modification
DELETE

Remove resource quota for a namespace.

URL parameters
Name In Required Type
tenant path true string
namespace path true string
bundle path true string
Responses
Code Description
403 Don't have admin permission
409 Concurrent modification
/admin/v2/schemas/:tenant/:namespace/:topic/schema
GET

Get the schema of a topic

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
authoritative query false boolean
Responses
Code Description
200 successful operation
307 Current broker doesn't serve the namespace of this topic
401 Client is not authorized or Don't have admin permission
403 Client is not authenticated
404 Tenant or Namespace or Topic doesn't exist; or Schema is not found for this topic
412 Failed to find the ownership for the topic
POST

Update the schema of a topic

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
body body false
authoritative query false boolean
Responses
Code Description
200 successful operation
307 Current broker doesn't serve the namespace of this topic
401 Client is not authorized or Don't have admin permission
403 Client is not authenticated
404 Tenant or Namespace or Topic doesn't exist
412 Failed to find the ownership for the topic
DELETE

Delete the schema of a topic

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
authoritative query false boolean
Responses
Code Description
200 successful operation
307 Current broker doesn't serve the namespace of this topic
401 Client is not authorized or Don't have admin permission
403 Client is not authenticated
404 Tenant or Namespace or Topic doesn't exist
412 Failed to find the ownership for the topic
/admin/v2/schemas/:tenant/:namespace/:topic/schema/:version
GET

Get the schema of a topic at a given version

URL parameters
Name In Required Type
tenant path true string
namespace path true string
topic path true string
version path true string
authoritative query false boolean
Responses
Code Description
200 successful operation
307 Current broker doesn't serve the namespace of this topic
401 Client is not authorized or Don't have admin permission
403 Client is not authenticated
404 Tenant or Namespace or Topic doesn't exist; or Schema is not found for this topic
412 Failed to find the ownership for the topic
/admin/v2/tenants
GET

Get the list of tenants.

Responses
Code Description
200 successful operation
403 The requester doesn't have admin permissions
404 Tenant doesn't exist
/admin/v2/tenants/:tenant
GET

Get the admin configuration for a given tenant.

URL parameters
Name In Required Type
tenant path true string
Responses
Code Description
200 successful operation
403 The requester doesn't have admin permissions
404 Tenant does not exist
POST

Update the admins for a tenant.

URL parameters
Name In Required Type
tenant path true string
Responses
Code Description
403 The requester doesn't have admin permissions
404 Tenant does not exist
409 Tenant already exists
PUT

Create a new tenant.

URL parameters
Name In Required Type
tenant path true string
Responses
Code Description
403 The requester doesn't have admin permissions
409 Tenant already exists
412 Tenant name is not valid
DELETE

Delete a tenant and all namespaces and topics under it.

URL parameters
Name In Required Type
tenant path true string
Responses
Code Description
403 The requester doesn't have admin permissions
404 Tenant does not exist
409 The tenant still has active namespaces