This is an automated email from the ASF dual-hosted git repository.
lhotari pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pulsar-site.git
commit d5b095a19ddd980553c7960702dac59611c99a0b
Author: Lari Hotari <lh...@users.noreply.github.com>
AuthorDate: Thu Sep 17 02:34:58 2026 +0300
update rest-apidoc for 5.0.0-M2
---
static/openapi/5.0.0-M2/openapi.json | 40324 +++++++++++++++++++
static/openapi/5.0.0-M2/openapifunctions.json | 2033 +
static/openapi/5.0.0-M2/openapilookup.json | 190 +
static/openapi/5.0.0-M2/openapipackages.json | 549 +
static/openapi/5.0.0-M2/openapisink.json | 1386 +
static/openapi/5.0.0-M2/openapisource.json | 1357 +
static/openapi/5.0.0-M2/openapitransactions.json | 1478 +
static/openapi/5.0.0-M2/v2/openapi.json | 40324 +++++++++++++++++++
static/openapi/5.0.0-M2/v2/openapilookup.json | 190 +
static/openapi/5.0.0-M2/v3/openapifunctions.json | 2033 +
static/openapi/5.0.0-M2/v3/openapipackages.json | 549 +
static/openapi/5.0.0-M2/v3/openapisink.json | 1386 +
static/openapi/5.0.0-M2/v3/openapisource.json | 1357 +
.../openapi/5.0.0-M2/v3/openapitransactions.json | 1478 +
static/swagger/restApiVersions.json | 19 +
15 files changed, 94653 insertions(+)
diff --git a/static/openapi/5.0.0-M2/openapi.json b/static/openapi/5.0.0-M2/openapi.json
new file mode 100644
index 00000000000..d44ed3246f7
--- /dev/null
+++ b/static/openapi/5.0.0-M2/openapi.json
@@ -0,0 +1,40324 @@
+{
+ "components": {
+ "schemas": {
+ "AllocatorStats": {
+ "properties": {
+ "directArenas": {
+ "items": {
+ "$ref": "#/components/schemas/PoolArenaStats"
+ },
+ "type": "array"
+ },
+ "heapArenas": {
+ "items": {
+ "$ref": "#/components/schemas/PoolArenaStats"
+ },
+ "type": "array"
+ },
+ "normalCacheSize": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "numDirectArenas": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "numHeapArenas": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "numThreadLocalCaches": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "smallCacheSize": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "usedDirectMemory": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "usedHeapMemory": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "AuthPolicies": {
+ "properties": {
+ "namespaceAuthentication": {
+ "additionalProperties": {
+ "items": {
+ "enum": [
+ "produce",
+ "consume",
+ "functions",
+ "sources",
+ "sinks",
+ "packages"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "type": "object"
+ },
+ "subscriptionAuthentication": {
+ "additionalProperties": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "type": "object"
+ },
+ "topicAuthentication": {
+ "additionalProperties": {
+ "additionalProperties": {
+ "items": {
+ "enum": [
+ "produce",
+ "consume",
+ "functions",
+ "sources",
+ "sinks",
+ "packages"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "type": "object"
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "AutoFailoverPolicyData": {
+ "description": "The data of auto-failover policy configuration",
+ "example": {
+ "parameters": {
+ "": ""
+ },
+ "policy_type": "min_available"
+ },
+ "properties": {
+ "parameters": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "policyType": {
+ "enum": [
+ "min_available"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "AutoScalePolicyOverride": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "maxDagDepth": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "maxSegments": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "mergeBytesRateInThreshold": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "mergeBytesRateOutThreshold": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "mergeCooldownSeconds": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "mergeMsgRateInThreshold": {
+ "format": "double",
+ "type": "number"
+ },
+ "mergeMsgRateOutThreshold": {
+ "format": "double",
+ "type": "number"
+ },
+ "mergeWindowSeconds": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "minSegments": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "rebucketCooldownSeconds": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "splitBytesRateInThreshold": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "splitBytesRateOutThreshold": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "splitCooldownSeconds": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "splitMsgRateInThreshold": {
+ "format": "double",
+ "type": "number"
+ },
+ "splitMsgRateOutThreshold": {
+ "format": "double",
+ "type": "number"
+ },
+ "splitVsRebucketMinMsgRateInThreshold": {
+ "format": "double",
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "AutoSubscriptionCreationOverride": {
+ "properties": {
+ "allowAutoSubscriptionCreation": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "AutoSubscriptionCreationOverrideImpl": {
+ "properties": {
+ "allowAutoSubscriptionCreation": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "AutoTopicCreationOverride": {
+ "properties": {
+ "allowAutoTopicCreation": {
+ "type": "boolean"
+ },
+ "defaultNumPartitions": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "topicType": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "AutoTopicCreationOverrideImpl": {
+ "properties": {
+ "allowAutoTopicCreation": {
+ "type": "boolean"
+ },
+ "defaultNumPartitions": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "topicType": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "BacklogQuota": {
+ "properties": {
+ "limit": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "limitSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "limitTime": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "policy": {
+ "enum": [
+ "producer_request_hold",
+ "producer_exception",
+ "consumer_backlog_eviction"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "BacklogQuotaImpl": {
+ "properties": {
+ "limit": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "limitSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "limitTime": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "policy": {
+ "enum": [
+ "producer_request_hold",
+ "producer_exception",
+ "consumer_backlog_eviction"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "BookieAffinityGroupData": {
+ "properties": {
+ "bookkeeperAffinityGroupPrimary": {
+ "type": "string"
+ },
+ "bookkeeperAffinityGroupSecondary": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "BookieAffinityGroupDataImpl": {
+ "properties": {
+ "bookkeeperAffinityGroupPrimary": {
+ "type": "string"
+ },
+ "bookkeeperAffinityGroupSecondary": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "BookieInfo": {
+ "properties": {
+ "hostname": {
+ "type": "string"
+ },
+ "rack": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "BookiesClusterInfo": {
+ "properties": {
+ "bookies": {
+ "items": {
+ "$ref": "#/components/schemas/RawBookieInfo"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "BookiesRackConfiguration": {
+ "properties": {
+ "empty": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "BrokerInfo": {
+ "properties": {
+ "brokerId": {
+ "type": "string"
+ },
+ "serviceUrl": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "BrokerNamespaceIsolationData": {
+ "description": "The namespace isolation data for a given broker",
+ "properties": {
+ "brokerName": {
+ "description": "The broker name",
+ "example": "broker1:8080",
+ "type": "string"
+ },
+ "namespaceRegex": {
+ "description": "The namespace-isolation policies attached to this broker",
+ "items": {
+ "description": "The namespace-isolation policies attached to this broker",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "policyName": {
+ "description": "Policy name",
+ "example": "my-policy",
+ "type": "string"
+ },
+ "primary": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "BundlesData": {
+ "properties": {
+ "boundaries": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "numBundles": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "BundlesDataImpl": {
+ "properties": {
+ "boundaries": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "numBundles": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ClusterData": {
+ "description": "The configuration data for a cluster",
+ "properties": {
+ "authenticationParameters": {
+ "description": "Authentication parameters when client would like to connect to cluster.",
+ "type": "string"
+ },
+ "authenticationPlugin": {
+ "description": "Authentication plugin when client would like to connect to cluster.",
+ "example": "org.apache.pulsar.client.impl.auth.AuthenticationToken",
+ "type": "string"
+ },
+ "brokerClientCertificateFilePath": {
+ "description": "TLS certificate file for internal client, used by the internal client to authenticate with Pulsar brokers",
+ "type": "string"
+ },
+ "brokerClientKeyFilePath": {
+ "description": "TLS private key file for internal client, used by the internal client to authenticate with Pulsar brokers",
+ "type": "string"
+ },
+ "brokerClientSslFactoryPlugin": {
+ "description": "Deprecated (PIP-478): removed in Pulsar 5.0. Retained for metadata compatibility but ignored (with a WARN); use brokerClientTlsFactoryClassName instead.",
+ "type": "string"
+ },
+ "brokerClientSslFactoryPluginParams": {
+ "description": "Deprecated (PIP-478): removed in Pulsar 5.0. Retained for metadata compatibility but ignored.",
+ "type": "string"
+ },
+ "brokerClientTlsEnabled": {
+ "description": "Enable TLS when talking with other brokers in the same cluster (admin operation) or different clusters (replication)",
+ "type": "boolean"
+ },
+ "brokerClientTlsEnabledWithKeyStore": {
+ "description": "Whether the internal client uses KeyStore type to authenticate with other Pulsar brokers",
+ "type": "boolean"
+ },
+ "brokerClientTlsFactoryClassName": {
+ "description": "PulsarTlsFactory class name for outbound connections to this cluster \u2014 the two legs configured from this cluster entry: the binary-protocol replication client and the cross-cluster admin (HTTPS) client. It does not reach the peer-cluster lookup client, which is broker-level throughout (as in 4.x). Blank inherits the broker-level brokerClientTlsFactoryClassName.",
+ "type": "string"
+ },
+ "brokerClientTlsFactoryConfig": {
+ "description": "Configuration passed to brokerClientTlsFactoryClassName as its init params (JSON object or key=value list). Follows brokerClientTlsFactoryClassName rather than inheriting on its own: used verbatim when this cluster names a factory, ignored otherwise.",
+ "type": "string"
+ },
+ "brokerClientTlsKeyStore": {
+ "description": "TLS KeyStore path for internal client, used by the internal client to authenticate with Pulsar brokers",
+ "type": "string"
+ },
+ "brokerClientTlsKeyStorePassword": {
+ "description": "TLS KeyStore password for internal client, used by the internal client to authenticate with Pulsar brokers",
+ "type": "string"
+ },
+ "brokerClientTlsKeyStoreType": {
+ "description": "TLS KeyStore type configuration for internal client: JKS, PKCS12, used by the internal client to authenticate with Pulsar brokers",
+ "type": "string"
+ },
+ "brokerClientTlsTrustStore": {
+ "description": "TLS TrustStore path for internal client used by the internal client to authenticate with Pulsar brokers",
+ "type": "string"
+ },
+ "brokerClientTlsTrustStorePassword": {
+ "description": "TLS TrustStore password for internal client used by the internal client to authenticate with Pulsar brokers",
+ "type": "string"
+ },
+ "brokerClientTlsTrustStoreType": {
+ "description": "TLS TrustStore type configuration for internal client: JKS, PKCS12 used by the internal client to authenticate with Pulsar brokers",
+ "example": "JKS",
+ "type": "string"
+ },
+ "brokerClientTrustCertsFilePath": {
+ "description": "Path for the trusted TLS certificate file for outgoing connection to a server (broker)",
+ "type": "string"
+ },
+ "brokerServiceUrl": {
+ "description": "The broker service url (for produce and consume operations)",
+ "example": "pulsar://pulsar.example.com:6650",
+ "type": "string"
+ },
+ "brokerServiceUrlTls": {
+ "description": "The secured broker service url (for produce and consume operations)",
+ "example": "pulsar+ssl://pulsar.example.com:6651",
+ "type": "string"
+ },
+ "listenerName": {
+ "description": "listenerName when client would like to connect to cluster",
+ "type": "string"
+ },
+ "peerClusterNames": {
+ "description": "A set of peer cluster names",
+ "items": {
+ "description": "A set of peer cluster names",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "proxyProtocol": {
+ "description": "Protocol to decide the type of proxy routing, e.g. SNI-routing",
+ "enum": [
+ "SNI"
+ ],
+ "example": "SNI",
+ "type": "string"
+ },
+ "proxyServiceUrl": {
+ "description": "Proxy-service url when client would like to connect to broker via proxy.",
+ "example": "pulsar+ssl://ats-proxy.example.com:4443 or pulsar://ats-proxy.example.com:4080",
+ "type": "string"
+ },
+ "serviceUrl": {
+ "description": "The HTTP rest service URL (for admin operations)",
+ "example": "http://pulsar.example.com:8080",
+ "type": "string"
+ },
+ "serviceUrlTls": {
+ "description": "The HTTPS rest service URL (for admin operations)",
+ "example": "https://pulsar.example.com:8443",
+ "type": "string"
+ },
+ "tlsAllowInsecureConnection": {
+ "description": "Allow TLS connections to servers whose certificate cannot be verified to have been signed by a trusted certificate authority.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "ClusterUrl": {
+ "properties": {
+ "brokerServiceUrl": {
+ "type": "string"
+ },
+ "brokerServiceUrlTls": {
+ "type": "string"
+ },
+ "empty": {
+ "type": "boolean"
+ },
+ "serviceUrl": {
+ "type": "string"
+ },
+ "serviceUrlTls": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CompactionStats": {
+ "properties": {
+ "lastCompactionDurationTimeInMills": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastCompactionFailedTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastCompactionRemovedEventCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastCompactionSucceedTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CompactionStatsImpl": {
+ "properties": {
+ "lastCompactionDurationTimeInMills": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastCompactionFailedTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastCompactionRemovedEventCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastCompactionSucceedTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ConnectorDefinition": {
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "sinkClass": {
+ "type": "string"
+ },
+ "sinkConfigClass": {
+ "type": "string"
+ },
+ "sourceClass": {
+ "type": "string"
+ },
+ "sourceConfigClass": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ConsumerStats": {
+ "properties": {
+ "address": {
+ "type": "string"
+ },
+ "appId": {
+ "type": "string"
+ },
+ "availablePermits": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "avgMessagesPerEntry": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "blockedConsumerOnUnackedMsgs": {
+ "type": "boolean"
+ },
+ "bytesOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "chunkedMessageRate": {
+ "format": "double",
+ "type": "number"
+ },
+ "clientVersion": {
+ "type": "string"
+ },
+ "connectedSince": {
+ "type": "string"
+ },
+ "consumerName": {
+ "type": "string"
+ },
+ "drainingHashes": {
+ "items": {
+ "$ref": "#/components/schemas/DrainingHash"
+ },
+ "type": "array"
+ },
+ "drainingHashesClearedTotal": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "drainingHashesCount": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "drainingHashesUnackedMessages": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "firstConsumedFlowTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "firstMessagesSentTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "keyHashRangeArrays": {
+ "items": {
+ "items": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "type": "array"
+ },
+ "keyHashRanges": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "lastAckedTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastConsumedFlowTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastConsumedTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "messageAckRate": {
+ "format": "double",
+ "type": "number"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "msgOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgRateOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateRedeliver": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "readPositionWhenJoining": {
+ "type": "string"
+ },
+ "unackedMessages": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CursorDetails": {
+ "properties": {
+ "cursorBacklog": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "cursorLedgerId": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CursorInfo": {
+ "properties": {
+ "creationDate": {
+ "type": "string"
+ },
+ "cursorsLedgerId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "individualDeletedMessages": {
+ "items": {
+ "$ref": "#/components/schemas/MessageRangeInfo"
+ },
+ "type": "array"
+ },
+ "markDelete": {
+ "$ref": "#/components/schemas/PositionInfo"
+ },
+ "modificationDate": {
+ "type": "string"
+ },
+ "properties": {
+ "additionalProperties": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "type": "object"
+ },
+ "version": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "CursorStats": {
+ "properties": {
+ "active": {
+ "type": "boolean"
+ },
+ "cursorLedger": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "cursorLedgerLastEntry": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "individuallyDeletedMessages": {
+ "type": "string"
+ },
+ "lastLedgerSwitchTimestamp": {
+ "type": "string"
+ },
+ "markDeletePosition": {
+ "type": "string"
+ },
+ "messagesConsumedCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "numberOfEntriesSinceFirstNotAckedMessage": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "pendingReadOps": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "properties": {
+ "additionalProperties": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "type": "object"
+ },
+ "readPosition": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string"
+ },
+ "subscriptionHavePendingRead": {
+ "type": "boolean"
+ },
+ "subscriptionHavePendingReplayRead": {
+ "type": "boolean"
+ },
+ "totalNonContiguousDeletedMessagesRange": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "waitingReadOp": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "DelayedDeliveryPolicies": {
+ "properties": {
+ "active": {
+ "type": "boolean"
+ },
+ "maxDeliveryDelayInMillis": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "tickTime": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "DeleteSchemaResponse": {
+ "properties": {
+ "version": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "DispatchRate": {
+ "properties": {
+ "dispatchThrottlingRateInByte": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "dispatchThrottlingRateInMsg": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "ratePeriodInSecond": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "relativeToPublishRate": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "DispatchRateImpl": {
+ "properties": {
+ "dispatchThrottlingRateInByte": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "dispatchThrottlingRateInMsg": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "ratePeriodInSecond": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "relativeToPublishRate": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "DrainingHash": {
+ "properties": {
+ "blockedAttempts": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "hash": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "unackMsgs": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "EntryFilters": {
+ "properties": {
+ "entryFilterNames": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "FailureDomain": {
+ "description": "The data of a failure domain configuration in a cluster",
+ "properties": {
+ "brokers": {
+ "description": "The collection of brokers in the same failure domain",
+ "example": "[ 'broker-1', 'broker-2' ]",
+ "items": {
+ "description": "The collection of brokers in the same failure domain",
+ "example": "[ 'broker-1', 'broker-2' ]",
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "FunctionInstanceStatsData": {
+ "properties": {
+ "avgProcessLatency": {
+ "format": "double",
+ "type": "number"
+ },
+ "lastInvocation": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "oneMin": {
+ "$ref": "#/components/schemas/FunctionInstanceStatsDataBase"
+ },
+ "processedSuccessfullyTotal": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "receivedTotal": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "systemExceptionsTotal": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "userExceptionsTotal": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "userMetrics": {
+ "additionalProperties": {
+ "format": "double",
+ "type": "number"
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "FunctionInstanceStatsDataBase": {
+ "properties": {
+ "avgProcessLatency": {
+ "format": "double",
+ "type": "number"
+ },
+ "processedSuccessfullyTotal": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "receivedTotal": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "systemExceptionsTotal": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "userExceptionsTotal": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "GetAllVersionsSchemaResponse": {
+ "properties": {
+ "getSchemaResponses": {
+ "items": {
+ "$ref": "#/components/schemas/GetSchemaResponse"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "GetSchemaResponse": {
+ "properties": {
+ "data": {
+ "type": "string"
+ },
+ "properties": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "timestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "type": {
+ "enum": [
+ "NONE",
+ "STRING",
+ "JSON",
+ "PROTOBUF",
+ "AVRO",
+ "BOOLEAN",
+ "INT8",
+ "INT16",
+ "INT32",
+ "INT64",
+ "FLOAT",
+ "DOUBLE",
+ "DATE",
+ "TIME",
+ "TIMESTAMP",
+ "KEY_VALUE",
+ "INSTANT",
+ "LOCAL_DATE",
+ "LOCAL_TIME",
+ "LOCAL_DATE_TIME",
+ "PROTOBUF_NATIVE",
+ "EXTERNAL",
+ "BYTES",
+ "AUTO",
+ "AUTO_CONSUME",
+ "AUTO_PUBLISH"
+ ],
+ "type": "string"
+ },
+ "version": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "GrantTopicPermissionOptions": {
+ "properties": {
+ "actions": {
+ "items": {
+ "enum": [
+ "produce",
+ "consume",
+ "functions",
+ "sources",
+ "sinks",
+ "packages"
+ ],
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "role": {
+ "type": "string"
+ },
+ "topic": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "HashRange": {
+ "properties": {
+ "end": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "start": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "InactiveTopicPolicies": {
+ "properties": {
+ "deleteWhileInactive": {
+ "type": "boolean"
+ },
+ "inactiveTopicDeleteMode": {
+ "enum": [
+ "delete_when_no_subscriptions",
+ "delete_when_subscriptions_caught_up"
+ ],
+ "type": "string"
+ },
+ "maxInactiveDurationSeconds": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "InternalConfigurationData": {
+ "properties": {
+ "bookkeeperMetadataServiceUri": {
+ "type": "string"
+ },
+ "configurationMetadataStoreUrl": {
+ "type": "string"
+ },
+ "configurationStoreServers": {
+ "type": "string"
+ },
+ "ledgersRootPath": {
+ "type": "string"
+ },
+ "metadataStoreUrl": {
+ "type": "string"
+ },
+ "stateStorageServiceUrl": {
+ "type": "string"
+ },
+ "zookeeperServers": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "IsCompatibilityResponse": {
+ "properties": {
+ "compatibility": {
+ "type": "boolean"
+ },
+ "schemaCompatibilityStrategy": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LedgerDetails": {
+ "properties": {
+ "entries": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "ledgerId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "size": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "timestamp": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "LedgerInfo": {
+ "properties": {
+ "entries": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "ledgerId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "metadata": {
+ "type": "string"
+ },
+ "offloaded": {
+ "type": "boolean"
+ },
+ "properties": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "size": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "underReplicated": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "LoadManagerReport": {
+ "properties": {
+ "bandwidthIn": {
+ "$ref": "#/components/schemas/ResourceUsage"
+ },
+ "bandwidthOut": {
+ "$ref": "#/components/schemas/ResourceUsage"
+ },
+ "brokerId": {
+ "type": "string"
+ },
+ "brokerVersionString": {
+ "type": "string"
+ },
+ "bundleStats": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/NamespaceBundleStats"
+ },
+ "type": "object"
+ },
+ "cpu": {
+ "$ref": "#/components/schemas/ResourceUsage"
+ },
+ "directMemory": {
+ "$ref": "#/components/schemas/ResourceUsage"
+ },
+ "lastUpdate": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "loadManagerClassName": {
+ "type": "string"
+ },
+ "memory": {
+ "$ref": "#/components/schemas/ResourceUsage"
+ },
+ "msgRateIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "nonPersistentTopicsEnabled": {
+ "type": "boolean"
+ },
+ "numBundles": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "numConsumers": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "numProducers": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "numTopics": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "persistentTopicsEnabled": {
+ "type": "boolean"
+ },
+ "protocols": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "pulsarServiceUrl": {
+ "type": "string"
+ },
+ "pulsarServiceUrlTls": {
+ "type": "string"
+ },
+ "startTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "webServiceUrl": {
+ "type": "string"
+ },
+ "webServiceUrlTls": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LoadReport": {
+ "properties": {
+ "allocatedBandwidthIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "allocatedBandwidthOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "allocatedCPU": {
+ "format": "double",
+ "type": "number"
+ },
+ "allocatedMemory": {
+ "format": "double",
+ "type": "number"
+ },
+ "allocatedMsgRateIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "allocatedMsgRateOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "bandwidthIn": {
+ "$ref": "#/components/schemas/ResourceUsage"
+ },
+ "bandwidthOut": {
+ "$ref": "#/components/schemas/ResourceUsage"
+ },
+ "brokerVersionString": {
+ "type": "string"
+ },
+ "bundleGains": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "bundleLosses": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "bundleStats": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/NamespaceBundleStats"
+ },
+ "type": "object"
+ },
+ "cpu": {
+ "$ref": "#/components/schemas/ResourceUsage"
+ },
+ "directMemory": {
+ "$ref": "#/components/schemas/ResourceUsage"
+ },
+ "lastUpdate": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "loadManagerClassName": {
+ "type": "string"
+ },
+ "loadReportType": {
+ "type": "string"
+ },
+ "memory": {
+ "$ref": "#/components/schemas/ResourceUsage"
+ },
+ "msgRateIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "name": {
+ "type": "string"
+ },
+ "nonPersistentTopicsEnabled": {
+ "type": "boolean"
+ },
+ "numBundles": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "numConsumers": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "numProducers": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "numTopics": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "overLoaded": {
+ "type": "boolean"
+ },
+ "persistentTopicsEnabled": {
+ "type": "boolean"
+ },
+ "preAllocatedBandwidthIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "preAllocatedBandwidthOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "preAllocatedCPU": {
+ "format": "double",
+ "type": "number"
+ },
+ "preAllocatedMemory": {
+ "format": "double",
+ "type": "number"
+ },
+ "preAllocatedMsgRateIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "preAllocatedMsgRateOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "protocols": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "pulsarServiceUrl": {
+ "type": "string"
+ },
+ "pulsarServiceUrlTls": {
+ "type": "string"
+ },
+ "startTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "systemResourceUsage": {
+ "$ref": "#/components/schemas/SystemResourceUsage"
+ },
+ "timestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "underLoaded": {
+ "type": "boolean"
+ },
+ "webServiceUrl": {
+ "type": "string"
+ },
+ "webServiceUrlTls": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LongRunningProcessStatus": {
+ "properties": {
+ "lastError": {
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "NOT_RUN",
+ "RUNNING",
+ "SUCCESS",
+ "ERROR"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LongSchemaVersion": {
+ "properties": {
+ "version": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ManagedLedgerInfo": {
+ "properties": {
+ "creationDate": {
+ "type": "string"
+ },
+ "cursors": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/CursorInfo"
+ },
+ "type": "object"
+ },
+ "ledgers": {
+ "items": {
+ "$ref": "#/components/schemas/LedgerInfo"
+ },
+ "type": "array"
+ },
+ "modificationDate": {
+ "type": "string"
+ },
+ "properties": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "terminatedPosition": {
+ "$ref": "#/components/schemas/PositionInfo"
+ },
+ "version": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "MessageId": {
+ "type": "object"
+ },
+ "MessageIdAdv": {
+ "properties": {
+ "ackSet": {
+ "properties": {
+ "empty": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "batchIndex": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "batchSize": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "entryId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "firstChunkMessageId": {
+ "$ref": "#/components/schemas/MessageIdAdv"
+ },
+ "ledgerId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "partitionIndex": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "MessageIdImpl": {
+ "properties": {
+ "ackSet": {
+ "properties": {
+ "empty": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "batchIndex": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "batchSize": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "entryId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "firstChunkMessageId": {
+ "$ref": "#/components/schemas/MessageIdAdv"
+ },
+ "ledgerId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "partitionIndex": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "tracingSpan": {
+ "$ref": "#/components/schemas/Span"
+ }
+ },
+ "type": "object"
+ },
+ "MessageRangeInfo": {
+ "properties": {
+ "from": {
+ "$ref": "#/components/schemas/PositionInfo"
+ },
+ "to": {
+ "$ref": "#/components/schemas/PositionInfo"
+ }
+ },
+ "type": "object"
+ },
+ "Metrics": {
+ "properties": {
+ "dimensions": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "metrics": {
+ "additionalProperties": {
+ "type": "object"
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "MigrationState": {
+ "properties": {
+ "phase": {
+ "enum": [
+ "NOT_STARTED",
+ "PREPARATION",
+ "COPYING",
+ "COMPLETED",
+ "FAILED"
+ ],
+ "type": "string"
+ },
+ "targetUrl": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "NamespaceBundleStats": {
+ "properties": {
+ "cacheSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "consumerCount": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "msgRateIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "producerCount": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "topics": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "NamespaceIsolationData": {
+ "description": "The data of namespace isolation configuration",
+ "properties": {
+ "auto_failover_policy": {
+ "$ref": "#/components/schemas/AutoFailoverPolicyData"
+ },
+ "namespaces": {
+ "description": "The list of namespaces to apply this namespace isolation data",
+ "items": {
+ "description": "The list of namespaces to apply this namespace isolation data",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "primary": {
+ "description": "The list of primary brokers for serving the list of namespaces in this isolation policy",
+ "items": {
+ "description": "The list of primary brokers for serving the list of namespaces in this isolation policy",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "secondary": {
+ "description": "The list of secondary brokers for serving the list of namespaces in this isolation policy",
+ "items": {
+ "description": "The list of secondary brokers for serving the list of namespaces in this isolation policy",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "unload_scope": {
+ "description": "The type of unload to perform while applying the new isolation policy.",
+ "enum": [
+ "all_matching",
+ "none",
+ "changed"
+ ],
+ "example": "'changed' (default) for unloading only the namespaces whose placement is actually changing. 'all_matching' for unloading all matching namespaces. 'none' for not unloading any namespaces.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "NamespaceOwnershipStatus": {
+ "properties": {
+ "broker_assignment": {
+ "enum": [
+ "primary",
+ "secondary",
+ "shared"
+ ],
+ "type": "string"
+ },
+ "is_active": {
+ "type": "boolean"
+ },
+ "is_controlled": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "NonPersistentPartitionedTopicStatsImpl": {
+ "properties": {
+ "abortedTxnCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "averageMsgSize": {
+ "format": "double",
+ "type": "number"
+ },
+ "backlogQuotaLimitSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "backlogQuotaLimitTime": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "backlogSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "bytesInCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "bytesOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "bytesOutInternalCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "committedTxnCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "compaction": {
+ "$ref": "#/components/schemas/CompactionStatsImpl"
+ },
+ "deduplicationStatus": {
+ "type": "string"
+ },
+ "delayedMessageIndexSizeInBytes": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "earliestMsgPublishTimeInBacklogs": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastOffloadFailureTimeStamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastOffloadLedgerId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastOffloadSuccessTimeStamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastPublishTimeStamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "metadata": {
+ "$ref": "#/components/schemas/PartitionedTopicMetadata"
+ },
+ "msgChunkPublished": {
+ "type": "boolean"
+ },
+ "msgDropRate": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgInCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgRateIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "nonContiguousDeletedMessagesRanges": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "nonContiguousDeletedMessagesRangesSerializedSize": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "offloadedStorageSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "oldestBacklogMessageAgeSeconds": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "oldestBacklogMessageSubscriptionName": {
+ "type": "string"
+ },
+ "ongoingTxnCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "ownerBroker": {
+ "type": "string"
+ },
+ "partitions": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/NonPersistentTopicStatsImpl"
+ },
+ "type": "object"
+ },
+ "publishRateLimitedTimes": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "publishers": {
+ "items": {
+ "$ref": "#/components/schemas/NonPersistentPublisherStats"
+ },
+ "type": "array"
+ },
+ "replication": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/NonPersistentReplicatorStats"
+ },
+ "type": "object"
+ },
+ "storageSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "subscriptions": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/NonPersistentSubscriptionStats"
+ },
+ "type": "object"
+ },
+ "systemTopicBytesInCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "topicCreationTimeStamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "topicEpoch": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "waitingPublishers": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "NonPersistentPublisherStats": {
+ "properties": {
+ "accessMode": {
+ "enum": [
+ "Shared",
+ "Exclusive",
+ "ExclusiveWithFencing",
+ "WaitForExclusive"
+ ],
+ "type": "string"
+ },
+ "address": {
+ "type": "string"
+ },
+ "averageMsgSize": {
+ "format": "double",
+ "type": "number"
+ },
+ "chunkedMessageRate": {
+ "format": "double",
+ "type": "number"
+ },
+ "clientVersion": {
+ "type": "string"
+ },
+ "connectedSince": {
+ "type": "string"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "msgDropRate": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "producerId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "producerName": {
+ "type": "string"
+ },
+ "supportsPartialProducer": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "NonPersistentReplicatorStats": {
+ "properties": {
+ "bytesInCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "bytesOutCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "connected": {
+ "type": "boolean"
+ },
+ "inboundConnectedSince": {
+ "type": "string"
+ },
+ "inboundConnection": {
+ "type": "string"
+ },
+ "msgDropCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgDropRate": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgExpiredCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgInCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgOutCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgRateExpired": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "outboundConnectedSince": {
+ "type": "string"
+ },
+ "outboundConnection": {
+ "type": "string"
+ },
+ "replicationBacklog": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "replicationDelayInSeconds": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "NonPersistentSubscriptionStats": {
+ "properties": {
+ "activeConsumerName": {
+ "type": "string"
+ },
+ "allowOutOfOrderDelivery": {
+ "type": "boolean"
+ },
+ "backlogSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "blockedSubscriptionOnUnackedMsgs": {
+ "type": "boolean"
+ },
+ "bytesOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "chunkedMessageRate": {
+ "format": "double",
+ "type": "number"
+ },
+ "consumers": {
+ "items": {
+ "$ref": "#/components/schemas/ConsumerStats"
+ },
+ "type": "array"
+ },
+ "consumersAfterMarkDeletePosition": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "delayedMessageIndexSizeInBytes": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "dispatchThrottledBytesEventsByBrokerLimit": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "dispatchThrottledBytesEventsBySubscriptionLimit": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "dispatchThrottledBytesEventsByTopicLimit": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "dispatchThrottledMsgEventsByBrokerLimit": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "dispatchThrottledMsgEventsBySubscriptionLimit": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "dispatchThrottledMsgEventsByTopicLimit": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "drainingHashesClearedTotal": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "drainingHashesCount": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "drainingHashesUnackedMessages": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "durable": {
+ "type": "boolean"
+ },
+ "earliestMsgPublishTimeInBacklog": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "filterAcceptedMsgCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "filterProcessedMsgCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "filterRejectedMsgCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "filterRescheduledMsgCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "keySharedMode": {
+ "type": "string"
+ },
+ "lastAckedTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastConsumedFlowTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastConsumedTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastExpireTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastMarkDeleteAdvancedTimestamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "messageAckRate": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgBacklog": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgBacklogNoDelayed": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgDelayed": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgDropRate": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgInReplay": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgRateExpired": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateRedeliver": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "nonContiguousDeletedMessagesRanges": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "nonContiguousDeletedMessagesRangesSerializedSize": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "oldestBacklogMessageAgeSeconds": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "replicated": {
+ "type": "boolean"
+ },
+ "subscriptionProperties": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "totalMsgExpired": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "type": {
+ "type": "string"
+ },
+ "unackedMessages": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "NonPersistentTopicStatsImpl": {
+ "properties": {
+ "abortedTxnCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "averageMsgSize": {
+ "format": "double",
+ "type": "number"
+ },
+ "backlogQuotaLimitSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "backlogQuotaLimitTime": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "backlogSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "bytesInCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "bytesOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "bytesOutInternalCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "committedTxnCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "compaction": {
+ "$ref": "#/components/schemas/CompactionStatsImpl"
+ },
+ "deduplicationStatus": {
+ "type": "string"
+ },
+ "delayedMessageIndexSizeInBytes": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "earliestMsgPublishTimeInBacklogs": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastOffloadFailureTimeStamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastOffloadLedgerId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastOffloadSuccessTimeStamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastPublishTimeStamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgChunkPublished": {
+ "type": "boolean"
+ },
+ "msgDropRate": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgInCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgRateIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "nonContiguousDeletedMessagesRanges": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "nonContiguousDeletedMessagesRangesSerializedSize": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "offloadedStorageSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "oldestBacklogMessageAgeSeconds": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "oldestBacklogMessageSubscriptionName": {
+ "type": "string"
+ },
+ "ongoingTxnCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "ownerBroker": {
+ "type": "string"
+ },
+ "publishRateLimitedTimes": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "publishers": {
+ "items": {
+ "$ref": "#/components/schemas/NonPersistentPublisherStats"
+ },
+ "type": "array"
+ },
+ "replication": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/NonPersistentReplicatorStats"
+ },
+ "type": "object"
+ },
+ "storageSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "subscriptions": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/NonPersistentSubscriptionStats"
+ },
+ "type": "object"
+ },
+ "systemTopicBytesInCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "topicCreationTimeStamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "topicEpoch": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "waitingPublishers": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "OffloadPolicies": {
+ "properties": {
+ "fileSystemProfilePath": {
+ "type": "string"
+ },
+ "fileSystemURI": {
+ "type": "string"
+ },
+ "gcsManagedLedgerOffloadBucket": {
+ "type": "string"
+ },
+ "gcsManagedLedgerOffloadMaxBlockSizeInBytes": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "gcsManagedLedgerOffloadReadBufferSizeInBytes": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "gcsManagedLedgerOffloadRegion": {
+ "type": "string"
+ },
+ "gcsManagedLedgerOffloadServiceAccountKeyFile": {
+ "type": "string"
+ },
+ "managedLedgerOffloadBucket": {
+ "type": "string"
+ },
+ "managedLedgerOffloadDeletionLagInMillis": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "managedLedgerOffloadDriver": {
+ "type": "string"
+ },
+ "managedLedgerOffloadMaxBlockSizeInBytes": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "managedLedgerOffloadMaxThreads": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "managedLedgerOffloadPrefetchRounds": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "managedLedgerOffloadReadBufferSizeInBytes": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "managedLedgerOffloadRegion": {
+ "type": "string"
+ },
+ "managedLedgerOffloadServiceEndpoint": {
+ "type": "string"
+ },
+ "managedLedgerOffloadThresholdInBytes": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "managedLedgerOffloadThresholdInSeconds": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "managedLedgerOffloadedReadPriority": {
+ "enum": [
+ "bookkeeper-first",
+ "tiered-storage-first"
+ ],
+ "type": "string"
+ },
+ "offloadersDirectory": {
+ "type": "string"
+ },
+ "s3ManagedLedgerOffloadBucket": {
+ "type": "string"
+ },
+ "s3ManagedLedgerOffloadCredentialId": {
+ "type": "string"
+ },
+ "s3ManagedLedgerOffloadCredentialSecret": {
+ "type": "string"
+ },
+ "s3ManagedLedgerOffloadMaxBlockSizeInBytes": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "s3ManagedLedgerOffloadReadBufferSizeInBytes": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "s3ManagedLedgerOffloadRegion": {
+ "type": "string"
+ },
+ "s3ManagedLedgerOffloadRole": {
+ "type": "string"
+ },
+ "s3ManagedLedgerOffloadRoleSessionName": {
+ "type": "string"
+ },
+ "s3ManagedLedgerOffloadServiceEndpoint": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "OffloadPoliciesImpl": {
+ "properties": {
+ "fileSystemDriver": {
+ "type": "boolean"
+ },
+ "fileSystemProfilePath": {
+ "type": "string"
+ },
+ "fileSystemURI": {
+ "type": "string"
+ },
+ "gcsDriver": {
+ "type": "boolean"
+ },
+ "gcsManagedLedgerOffloadBucket": {
+ "type": "string"
+ },
+ "gcsManagedLedgerOffloadMaxBlockSizeInBytes": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "gcsManagedLedgerOffloadReadBufferSizeInBytes": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "gcsManagedLedgerOffloadRegion": {
+ "type": "string"
+ },
+ "gcsManagedLedgerOffloadServiceAccountKeyFile": {
+ "type": "string"
+ },
+ "managedLedgerExtraConfigurations": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "managedLedgerOffloadBucket": {
+ "type": "string"
+ },
+ "managedLedgerOffloadDeletionLagInMillis": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "managedLedgerOffloadDriver": {
+ "type": "string"
+ },
+ "managedLedgerOffloadMaxBlockSizeInBytes": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "managedLedgerOffloadMaxThreads": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "managedLedgerOffloadPrefetchRounds": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "managedLedgerOffloadReadBufferSizeInBytes": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "managedLedgerOffloadReadThreads": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "managedLedgerOffloadRegion": {
+ "type": "string"
+ },
+ "managedLedgerOffloadServiceEndpoint": {
+ "type": "string"
+ },
+ "managedLedgerOffloadThresholdInBytes": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "managedLedgerOffloadThresholdInSeconds": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "managedLedgerOffloadedReadPriority": {
+ "enum": [
+ "bookkeeper-first",
+ "tiered-storage-first"
+ ],
+ "type": "string"
+ },
+ "offloadersDirectory": {
+ "type": "string"
+ },
+ "s3Driver": {
+ "type": "boolean"
+ },
+ "s3ManagedLedgerOffloadBucket": {
+ "type": "string"
+ },
+ "s3ManagedLedgerOffloadCredentialId": {
+ "type": "string"
+ },
+ "s3ManagedLedgerOffloadCredentialSecret": {
+ "type": "string"
+ },
+ "s3ManagedLedgerOffloadMaxBlockSizeInBytes": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "s3ManagedLedgerOffloadReadBufferSizeInBytes": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "s3ManagedLedgerOffloadRegion": {
+ "type": "string"
+ },
+ "s3ManagedLedgerOffloadRole": {
+ "type": "string"
+ },
+ "s3ManagedLedgerOffloadRoleSessionName": {
+ "type": "string"
+ },
+ "s3ManagedLedgerOffloadServiceEndpoint": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "OffloadProcessStatus": {
+ "properties": {
+ "firstUnoffloadedMessage": {
+ "$ref": "#/components/schemas/MessageId"
+ },
+ "lastError": {
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "NOT_RUN",
+ "RUNNING",
+ "SUCCESS",
+ "ERROR"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PartitionedManagedLedgerInfo": {
+ "properties": {
+ "creationDate": {
+ "type": "string"
+ },
+ "cursors": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/CursorInfo"
+ },
+ "type": "object"
+ },
+ "ledgers": {
+ "items": {
+ "$ref": "#/components/schemas/LedgerInfo"
+ },
+ "type": "array"
+ },
+ "modificationDate": {
+ "type": "string"
+ },
+ "partitions": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/ManagedLedgerInfo"
+ },
+ "type": "object"
+ },
+ "properties": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "terminatedPosition": {
+ "$ref": "#/components/schemas/PositionInfo"
+ },
+ "version": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "PartitionedTopicInternalStats": {
+ "properties": {
+ "metadata": {
+ "$ref": "#/components/schemas/PartitionedTopicMetadata"
+ },
+ "partitions": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/PersistentTopicInternalStats"
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "PartitionedTopicMetadata": {
+ "properties": {
+ "deleted": {
+ "type": "boolean"
+ },
+ "partitions": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "properties": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "PartitionedTopicStatsImpl": {
+ "properties": {
+ "abortedTxnCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "averageMsgSize": {
+ "format": "double",
+ "type": "number"
+ },
+ "backlogQuotaLimitSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "backlogQuotaLimitTime": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "backlogSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "bytesInCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "bytesOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "bytesOutInternalCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "committedTxnCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "compaction": {
+ "$ref": "#/components/schemas/CompactionStatsImpl"
+ },
+ "deduplicationStatus": {
+ "type": "string"
+ },
+ "delayedMessageIndexSizeInBytes": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "earliestMsgPublishTimeInBacklogs": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastOffloadFailureTimeStamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastOffloadLedgerId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastOffloadSuccessTimeStamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastPublishTimeStamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "metadata": {
+ "$ref": "#/components/schemas/PartitionedTopicMetadata"
+ },
+ "msgChunkPublished": {
+ "type": "boolean"
+ },
+ "msgInCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgRateIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "nonContiguousDeletedMessagesRanges": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "nonContiguousDeletedMessagesRangesSerializedSize": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "offloadedStorageSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "oldestBacklogMessageAgeSeconds": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "oldestBacklogMessageSubscriptionName": {
+ "type": "string"
+ },
+ "ongoingTxnCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "ownerBroker": {
+ "type": "string"
+ },
+ "partitions": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/TopicStats"
+ },
+ "type": "object"
+ },
+ "publishRateLimitedTimes": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "publishers": {
+ "items": {
+ "$ref": "#/components/schemas/PublisherStats"
+ },
+ "type": "array"
+ },
+ "replication": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/ReplicatorStats"
+ },
+ "type": "object"
+ },
+ "storageSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "subscriptions": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/SubscriptionStats"
+ },
+ "type": "object"
+ },
+ "systemTopicBytesInCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "topicCreationTimeStamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "topicEpoch": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "waitingPublishers": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "PendingBookieOpsStats": {
+ "properties": {
+ "cursorLedgerCloseOp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "cursorLedgerCreateOp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "cursorLedgerDeleteOp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "cursorLedgerOpenOp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "dataLedgerCloseOp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "dataLedgerCreateOp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "dataLedgerDeleteOp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "dataLedgerOpenOp": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "PersistencePolicies": {
+ "properties": {
+ "bookkeeperAckQuorum": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "bookkeeperEnsemble": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "bookkeeperWriteQuorum": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "managedLedgerMaxMarkDeleteRate": {
+ "format": "double",
+ "type": "number"
+ },
+ "managedLedgerStorageClassName": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PersistentOfflineTopicStats": {
+ "properties": {
+ "brokerName": {
+ "type": "string"
+ },
+ "cursorDetails": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/CursorDetails"
+ },
+ "type": "object"
+ },
+ "dataLedgerDetails": {
+ "items": {
+ "$ref": "#/components/schemas/LedgerDetails"
+ },
+ "type": "array"
+ },
+ "messageBacklog": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "statGeneratedAt": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "storageSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "topicName": {
+ "type": "string"
+ },
+ "totalMessages": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "PersistentTopicInternalStats": {
+ "properties": {
+ "compactedLedger": {
+ "$ref": "#/components/schemas/LedgerInfo"
+ },
+ "currentLedgerEntries": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "currentLedgerSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "cursors": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/CursorStats"
+ },
+ "type": "object"
+ },
+ "entriesAddedCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastConfirmedEntry": {
+ "type": "string"
+ },
+ "lastLedgerCreatedTimestamp": {
+ "type": "string"
+ },
+ "lastLedgerCreationFailureTimestamp": {
+ "type": "string"
+ },
+ "ledgers": {
+ "items": {
+ "$ref": "#/components/schemas/LedgerInfo"
+ },
+ "type": "array"
+ },
+ "numberOfEntries": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "pendingAddEntriesCount": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "properties": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "schemaLedgers": {
+ "items": {
+ "$ref": "#/components/schemas/LedgerInfo"
+ },
+ "type": "array"
+ },
+ "state": {
+ "type": "string"
+ },
+ "totalSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "waitingCursorsCount": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "PersistentTopicStats": {
+ "properties": {
+ "averageMsgSize": {
+ "format": "double",
+ "type": "number"
+ },
+ "backlogQuotaLimitSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "backlogQuotaLimitTime": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "backlogSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "bytesInCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "bytesOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "compaction": {
+ "$ref": "#/components/schemas/CompactionStats"
+ },
+ "deduplicationStatus": {
+ "type": "string"
+ },
+ "delayedMessageIndexSizeInBytes": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "earliestMsgPublishTimeInBacklogs": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastPublishTimeStamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgChunkPublished": {
+ "type": "boolean"
+ },
+ "msgInCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgRateIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "nonContiguousDeletedMessagesRanges": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "nonContiguousDeletedMessagesRangesSerializedSize": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "offloadedStorageSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "oldestBacklogMessageAgeSeconds": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "oldestBacklogMessageSubscriptionName": {
+ "type": "string"
+ },
+ "ownerBroker": {
+ "type": "string"
+ },
+ "publishers": {
+ "items": {
+ "$ref": "#/components/schemas/PublisherStats"
+ },
+ "type": "array"
+ },
+ "replication": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/ReplicatorStats"
+ },
+ "type": "object"
+ },
+ "storageSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "subscriptions": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/SubscriptionStats"
+ },
+ "type": "object"
+ },
+ "topicCreationTimeStamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "topicEpoch": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "waitingPublishers": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Policies": {
+ "properties": {
+ "allowed_clusters": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "allowed_topic_property_keys_for_metrics": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "auth_policies": {
+ "$ref": "#/components/schemas/AuthPolicies"
+ },
+ "autoSubscriptionCreationOverride": {
+ "$ref": "#/components/schemas/AutoSubscriptionCreationOverride"
+ },
+ "autoTopicCreationOverride": {
+ "$ref": "#/components/schemas/AutoTopicCreationOverride"
+ },
+ "backlog_quota_map": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/BacklogQuota"
+ },
+ "type": "object"
+ },
+ "bundles": {
+ "$ref": "#/components/schemas/BundlesData"
+ },
+ "clusterDispatchRate": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/DispatchRateImpl"
+ },
+ "type": "object"
+ },
+ "clusterSubscribeRate": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/SubscribeRate"
+ },
+ "type": "object"
+ },
+ "compaction_threshold": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "deduplicationEnabled": {
+ "type": "boolean"
+ },
+ "deduplicationSnapshotIntervalSeconds": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "delayed_delivery_policies": {
+ "$ref": "#/components/schemas/DelayedDeliveryPolicies"
+ },
+ "deleted": {
+ "type": "boolean"
+ },
+ "dispatcherPauseOnAckStatePersistentEnabled": {
+ "type": "boolean"
+ },
+ "encryption_required": {
+ "type": "boolean"
+ },
+ "entryFilters": {
+ "$ref": "#/components/schemas/EntryFilters"
+ },
+ "inactive_topic_policies": {
+ "$ref": "#/components/schemas/InactiveTopicPolicies"
+ },
+ "is_allow_auto_update_schema": {
+ "type": "boolean"
+ },
+ "is_allow_auto_update_schema_with_replicator": {
+ "type": "boolean"
+ },
+ "latency_stats_sample_rate": {
+ "additionalProperties": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "type": "object"
+ },
+ "max_consumers_per_subscription": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "max_consumers_per_topic": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "max_producers_per_topic": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "max_subscriptions_per_topic": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "max_topics_per_namespace": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "max_unacked_messages_per_consumer": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "max_unacked_messages_per_subscription": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "message_ttl_in_seconds": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "migrated": {
+ "type": "boolean"
+ },
+ "offload_deletion_lag_ms": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "offload_policies": {
+ "$ref": "#/components/schemas/OffloadPolicies"
+ },
+ "offload_threshold": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "offload_threshold_in_seconds": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "persistence": {
+ "$ref": "#/components/schemas/PersistencePolicies"
+ },
+ "properties": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "publishMaxMessageRate": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/PublishRate"
+ },
+ "type": "object"
+ },
+ "replication_clusters": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "replicatorDispatchRate": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/DispatchRateImpl"
+ },
+ "type": "object"
+ },
+ "resource_group_name": {
+ "type": "string"
+ },
+ "retention_policies": {
+ "$ref": "#/components/schemas/RetentionPolicies"
+ },
+ "scalableTopicAutoScalePolicy": {
+ "$ref": "#/components/schemas/AutoScalePolicyOverride"
+ },
+ "schema_auto_update_compatibility_strategy": {
+ "enum": [
+ "AutoUpdateDisabled",
+ "Backward",
+ "Forward",
+ "Full",
+ "AlwaysCompatible",
+ "BackwardTransitive",
+ "ForwardTransitive",
+ "FullTransitive"
+ ],
+ "type": "string"
+ },
+ "schema_compatibility_strategy": {
+ "enum": [
+ "UNDEFINED",
+ "ALWAYS_INCOMPATIBLE",
+ "ALWAYS_COMPATIBLE",
+ "BACKWARD",
+ "FORWARD",
+ "FULL",
+ "BACKWARD_TRANSITIVE",
+ "FORWARD_TRANSITIVE",
+ "FULL_TRANSITIVE"
+ ],
+ "type": "string"
+ },
+ "schema_validation_enforced": {
+ "type": "boolean"
+ },
+ "subscriptionDispatchRate": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/DispatchRateImpl"
+ },
+ "type": "object"
+ },
+ "subscription_auth_mode": {
+ "enum": [
+ "None",
+ "Prefix"
+ ],
+ "type": "string"
+ },
+ "subscription_expiration_time_minutes": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "subscription_types_enabled": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "topicDispatchRate": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/DispatchRateImpl"
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "PoolArenaStats": {
+ "properties": {
+ "chunkLists": {
+ "items": {
+ "$ref": "#/components/schemas/PoolChunkListStats"
+ },
+ "type": "array"
+ },
+ "numActiveAllocations": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "numActiveHugeAllocations": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "numActiveNormalAllocations": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "numActiveSmallAllocations": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "numAllocations": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "numChunkLists": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "numDeallocations": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "numHugeAllocations": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "numHugeDeallocations": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "numNormalAllocations": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "numNormalDeallocations": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "numSmallAllocations": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "numSmallDeallocations": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "numSmallSubpages": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "smallSubpages": {
+ "items": {
+ "$ref": "#/components/schemas/PoolSubpageStats"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "PoolChunkListStats": {
+ "properties": {
+ "chunks": {
+ "items": {
+ "$ref": "#/components/schemas/PoolChunkStats"
+ },
+ "type": "array"
+ },
+ "maxUsage": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "minUsage": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "PoolChunkStats": {
+ "properties": {
+ "chunkSize": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "freeBytes": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "usage": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "PoolSubpageStats": {
+ "properties": {
+ "elementSize": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "maxNumElements": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "numAvailable": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "pageSize": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "PositionInfo": {
+ "properties": {
+ "entryId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "ledgerId": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "PostSchemaPayload": {
+ "properties": {
+ "properties": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "schema": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PostSchemaResponse": {
+ "properties": {
+ "version": {
+ "$ref": "#/components/schemas/SchemaVersion"
+ }
+ },
+ "type": "object"
+ },
+ "PublishRate": {
+ "properties": {
+ "publishThrottlingRateInByte": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "publishThrottlingRateInMsg": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "PublisherStats": {
+ "properties": {
+ "accessMode": {
+ "enum": [
+ "Shared",
+ "Exclusive",
+ "ExclusiveWithFencing",
+ "WaitForExclusive"
+ ],
+ "type": "string"
+ },
+ "address": {
+ "type": "string"
+ },
+ "averageMsgSize": {
+ "format": "double",
+ "type": "number"
+ },
+ "chunkedMessageRate": {
+ "format": "double",
+ "type": "number"
+ },
+ "clientVersion": {
+ "type": "string"
+ },
+ "connectedSince": {
+ "type": "string"
+ },
+ "metadata": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "msgRateIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "producerId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "producerName": {
+ "type": "string"
+ },
+ "supportsPartialProducer": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "RawBookieInfo": {
+ "properties": {
+ "bookieId": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ReplicatorStats": {
+ "properties": {
+ "bytesInCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "bytesOutCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "connected": {
+ "type": "boolean"
+ },
+ "inboundConnectedSince": {
+ "type": "string"
+ },
+ "inboundConnection": {
+ "type": "string"
+ },
+ "msgExpiredCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgInCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgOutCount": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgRateExpired": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "outboundConnectedSince": {
+ "type": "string"
+ },
+ "outboundConnection": {
+ "type": "string"
+ },
+ "replicationBacklog": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "replicationDelayInSeconds": {
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ResetCursorData": {
+ "properties": {
+ "batchIndex": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "entryId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "excluded": {
+ "type": "boolean"
+ },
+ "ledgerId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "partitionIndex": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "properties": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceDescription": {
+ "properties": {
+ "resourceUsage": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/ResourceUsage"
+ },
+ "type": "object"
+ },
+ "usagePct": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceGroup": {
+ "properties": {
+ "dispatchRateInBytes": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "dispatchRateInMsgs": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "publishRateInBytes": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "publishRateInMsgs": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceQuota": {
+ "properties": {
+ "bandwidthIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "bandwidthOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "dynamic": {
+ "type": "boolean"
+ },
+ "memory": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateOut": {
+ "format": "double",
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceUnit": {
+ "properties": {
+ "availableResource": {
+ "$ref": "#/components/schemas/ResourceDescription"
+ },
+ "resourceId": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceUsage": {
+ "properties": {
+ "limit": {
+ "format": "double",
+ "type": "number"
+ },
+ "usage": {
+ "format": "double",
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "RetentionPolicies": {
+ "properties": {
+ "retentionSizeInMB": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "retentionTimeInMinutes": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "RevokeTopicPermissionOptions": {
+ "properties": {
+ "role": {
+ "type": "string"
+ },
+ "topic": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ScalableTopicMetadata": {
+ "properties": {
+ "autoScalePolicy": {
+ "$ref": "#/components/schemas/AutoScalePolicyOverride"
+ },
+ "epoch": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "nextSegmentId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "properties": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "segments": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/SegmentInfo"
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "ScalableTopicStats": {
+ "properties": {
+ "activeSegments": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "epoch": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "sealedSegments": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "segments": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/SegmentStats"
+ },
+ "type": "object"
+ },
+ "subscriptions": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/SubscriptionStats"
+ },
+ "type": "object"
+ },
+ "totalSegments": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SchemaVersion": {
+ "type": "object"
+ },
+ "SegmentInfo": {
+ "properties": {
+ "active": {
+ "type": "boolean"
+ },
+ "childIds": {
+ "items": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "createdAtEpoch": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "createdAtMs": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "entryBucketSplits": {
+ "items": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "hashRange": {
+ "$ref": "#/components/schemas/HashRange"
+ },
+ "leaf": {
+ "type": "boolean"
+ },
+ "legacy": {
+ "type": "boolean"
+ },
+ "legacyTopicName": {
+ "type": "string"
+ },
+ "parentIds": {
+ "items": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "root": {
+ "type": "boolean"
+ },
+ "sealed": {
+ "type": "boolean"
+ },
+ "sealedAtEpoch": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "sealedAtMs": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "segmentId": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "state": {
+ "enum": [
+ "ACTIVE",
+ "SEALED"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SegmentStats": {
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Span": {
+ "properties": {
+ "allAttributes": {
+ "$ref": "#/components/schemas/Span"
+ },
+ "recording": {
+ "type": "boolean"
+ },
+ "spanContext": {
+ "$ref": "#/components/schemas/SpanContext"
+ },
+ "status": {
+ "$ref": "#/components/schemas/Span"
+ }
+ },
+ "type": "object"
+ },
+ "SpanContext": {
+ "properties": {
+ "remote": {
+ "type": "boolean"
+ },
+ "sampled": {
+ "type": "boolean"
+ },
+ "spanId": {
+ "type": "string"
+ },
+ "spanIdBytes": {
+ "format": "byte",
+ "type": "string"
+ },
+ "traceFlags": {
+ "$ref": "#/components/schemas/TraceFlags"
+ },
+ "traceId": {
+ "type": "string"
+ },
+ "traceIdBytes": {
+ "format": "byte",
+ "type": "string"
+ },
+ "traceState": {
+ "$ref": "#/components/schemas/TraceState"
+ },
+ "valid": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "SubscribeRate": {
+ "properties": {
+ "ratePeriodInSecond": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "subscribeThrottlingRatePerConsumer": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SubscriptionStats": {
+ "properties": {
+ "consumerCount": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "SystemResourceUsage": {
+ "properties": {
+ "bandwidthIn": {
+ "$ref": "#/components/schemas/ResourceUsage"
+ },
+ "bandwidthOut": {
+ "$ref": "#/components/schemas/ResourceUsage"
+ },
+ "cpu": {
+ "$ref": "#/components/schemas/ResourceUsage"
+ },
+ "directMemory": {
+ "$ref": "#/components/schemas/ResourceUsage"
+ },
+ "memory": {
+ "$ref": "#/components/schemas/ResourceUsage"
+ }
+ },
+ "type": "object"
+ },
+ "TenantInfo": {
+ "description": "Information of adminRoles and allowedClusters for tenant",
+ "properties": {
+ "adminRoles": {
+ "description": "Comma separated list of auth principals allowed to administrate the tenant.",
+ "items": {
+ "description": "Comma separated list of auth principals allowed to administrate the tenant.",
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ },
+ "allowedClusters": {
+ "description": "Comma separated allowed clusters.",
+ "items": {
+ "description": "Comma separated allowed clusters.",
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "type": "object"
+ },
+ "TopicHashPositions": {
+ "properties": {
+ "bundle": {
+ "type": "string"
+ },
+ "namespace": {
+ "type": "string"
+ },
+ "topicHashPositions": {
+ "additionalProperties": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "TopicStats": {
+ "properties": {
+ "averageMsgSize": {
+ "format": "double",
+ "type": "number"
+ },
+ "backlogQuotaLimitSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "backlogQuotaLimitTime": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "backlogSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "bytesInCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "bytesOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "compaction": {
+ "$ref": "#/components/schemas/CompactionStats"
+ },
+ "deduplicationStatus": {
+ "type": "string"
+ },
+ "delayedMessageIndexSizeInBytes": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "earliestMsgPublishTimeInBacklogs": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastPublishTimeStamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgChunkPublished": {
+ "type": "boolean"
+ },
+ "msgInCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgOutCounter": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "msgRateIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgRateOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputIn": {
+ "format": "double",
+ "type": "number"
+ },
+ "msgThroughputOut": {
+ "format": "double",
+ "type": "number"
+ },
+ "nonContiguousDeletedMessagesRanges": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "nonContiguousDeletedMessagesRangesSerializedSize": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "offloadedStorageSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "oldestBacklogMessageAgeSeconds": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "oldestBacklogMessageSubscriptionName": {
+ "type": "string"
+ },
+ "ownerBroker": {
+ "type": "string"
+ },
+ "publishers": {
+ "items": {
+ "$ref": "#/components/schemas/PublisherStats"
+ },
+ "type": "array"
+ },
+ "replication": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/ReplicatorStats"
+ },
+ "type": "object"
+ },
+ "storageSize": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "subscriptions": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/SubscriptionStats"
+ },
+ "type": "object"
+ },
+ "topicCreationTimeStamp": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "topicEpoch": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "waitingPublishers": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "TraceFlags": {
+ "properties": {
+ "sampled": {
+ "type": "boolean"
+ },
+ "traceIdRandom": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "TraceState": {
+ "properties": {
+ "empty": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "WorkerFunctionInstanceStats": {
+ "properties": {
+ "metrics": {
+ "$ref": "#/components/schemas/FunctionInstanceStatsData"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "WorkerInfo": {
+ "properties": {
+ "port": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "workerHostname": {
+ "type": "string"
+ },
+ "workerId": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "info": {
+ "description": "This provides the REST API for admin operations",
+ "license": {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
+ },
+ "title": "Pulsar Admin REST API",
+ "version": "v2"
+ },
+ "openapi": "3.0.1",
+ "paths": {
+ "/admin/v2/bookies/all": {
+ "get": {
+ "operationId": "getAllBookies",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BookiesClusterInfo"
+ }
+ }
+ },
+ "description": "Gets raw information for all the bookies in the cluster"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Gets raw information for all the bookies in the cluster",
+ "tags": [
+ "bookies"
+ ]
+ }
+ },
+ "/admin/v2/bookies/racks-info": {
+ "get": {
+ "operationId": "getBookiesRackInfo",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BookiesRackConfiguration"
+ }
+ }
+ },
+ "description": "Gets the rack placement information for all the bookies in the cluster"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Gets the rack placement information for all the bookies in the cluster",
+ "tags": [
+ "bookies"
+ ]
+ }
+ },
+ "/admin/v2/bookies/racks-info/{bookie}": {
+ "delete": {
+ "operationId": "deleteBookieRackInfo",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "bookie",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Removed the rack placement information for a specific bookie in the cluster",
+ "tags": [
+ "bookies"
+ ]
+ },
+ "get": {
+ "operationId": "getBookieRackInfo",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "bookie",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BookieInfo"
+ }
+ }
+ },
+ "description": "Gets the rack placement information for a specific bookie in the cluster"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Gets the rack placement information for a specific bookie in the cluster",
+ "tags": [
+ "bookies"
+ ]
+ },
+ "post": {
+ "operationId": "updateBookieRackInfo",
+ "parameters": [
+ {
+ "description": "The bookie address",
+ "in": "path",
+ "name": "bookie",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "The group",
+ "in": "query",
+ "name": "group",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "*/*": {
+ "schema": {
+ "$ref": "#/components/schemas/BookieInfo"
+ }
+ }
+ },
+ "description": "The bookie info",
+ "required": true
+ },
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Updates the rack placement information for a specific bookie in the cluster (note. bookie address format:`address:port`)",
+ "tags": [
+ "bookies"
+ ]
+ }
+ },
+ "/admin/v2/broker-stats/allocator-stats/{allocator}": {
+ "get": {
+ "operationId": "getAllocatorStats",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "allocator",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AllocatorStats"
+ }
+ }
+ },
+ "description": "Get the stats for the Netty allocator. Available allocators are 'default' and 'ml-cache'"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Get the stats for the Netty allocator. Available allocators are 'default' and 'ml-cache'",
+ "tags": [
+ "broker-stats"
+ ]
+ }
+ },
+ "/admin/v2/broker-stats/bookieops": {
+ "get": {
+ "description": "Returns a nested map structure: Map<String, Map<String, PendingBookieOpsStats>>.",
+ "operationId": "getPendingBookieOpsStats",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/PendingBookieOpsStats"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "description": "Get pending bookie client op stats by namespace"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Get pending bookie client op stats by namespace",
+ "tags": [
+ "broker-stats"
+ ]
+ }
+ },
+ "/admin/v2/broker-stats/broker-resource-availability/{tenant}/{namespace}": {
+ "get": {
+ "description": "This API gives the current broker availability in percent, each resource percentage usage is calculated and then sum of all of the resource usage percent is called broker-resource-availability<br/><br/>THIS API IS ONLY FOR USE BY TESTING FOR CONFIRMING NAMESPACE ALLOCATION ALGORITHM",
+ "operationId": "getBrokerResourceAvailability",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/ResourceUnit"
+ },
+ "type": "object"
+ }
+ }
+ },
+ "description": "Returns broker resource availability as Map<Long, List<ResourceUnit>>.Since `ResourceUnit` is an interface, its specific content is not determinable via class reflection. Refer to the source code or interface tests for detailed type definitions."
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "409": {
+ "description": "Load-manager doesn't support operation"
+ }
+ },
+ "summary": "Broker availability report",
+ "tags": [
+ "broker-stats"
+ ]
+ }
+ },
+ "/admin/v2/broker-stats/load-report": {
+ "get": {
+ "description": "consists of topics stats & systemResourceUsage",
+ "operationId": "getLoadReport",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/LoadReport"
+ }
+ }
+ },
+ "description": "Get Load for this broker"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Get Load for this broker",
+ "tags": [
+ "broker-stats"
+ ]
+ }
+ },
+ "/admin/v2/broker-stats/mbeans": {
+ "get": {
+ "operationId": "getMBeans",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "items": {
+ "$ref": "#/components/schemas/Metrics"
+ },
+ "type": "array"
+ }
+ }
+ },
+ "description": "Get all the mbean details of this broker JVM"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Get all the mbean details of this broker JVM",
+ "tags": [
+ "broker-stats"
+ ]
+ }
+ },
+ "/admin/v2/broker-stats/metrics": {
+ "get": {
+ "description": "The request should be executed by the Monitoring agent on each broker to fetch the metrics",
+ "operationId": "getMetrics",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "items": {
+ "$ref": "#/components/schemas/Metrics"
+ },
+ "type": "array"
+ }
+ }
+ },
+ "description": "Gets the metrics for Monitoring"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Gets the metrics for Monitoring",
+ "tags": [
+ "broker-stats"
+ ]
+ }
+ },
+ "/admin/v2/broker-stats/topics": {
+ "get": {
+ "operationId": "getTopics2",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "description": "Nested JSON object: namespace -> bundle range -> persistent/non-persistent -> topic -> stats",
+ "type": "object"
+ }
+ }
+ },
+ "description": "Get all the topic stats by namespace"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Get all the topic stats by namespace",
+ "tags": [
+ "broker-stats"
+ ]
+ }
+ },
+ "/admin/v2/brokers": {
+ "get": {
+ "operationId": "getActiveBrokers",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ }
+ },
+ "description": "Get the list of active brokers (broker ids) in the local cluster. If authorization is not enabled"
+ },
+ "401": {
+ "description": "Authentication required"
+ },
+ "403": {
+ "description": "This operation requires super-user access"
+ }
+ },
+ "summary": "Get the list of active brokers (broker ids) in the local cluster. If authorization is not enabled",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/admin/v2/brokers/backlog-quota-check": {
+ "get": {
+ "operationId": "backlogQuotaCheck",
+ "responses": {
+ "204": {
+ "description": "Everything is OK"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "500": {
+ "description": "Internal server error"
+ }
+ },
+ "summary": "A REST endpoint to trigger backlogQuotaCheck",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/admin/v2/brokers/configuration": {
+ "get": {
+ "operationId": "getDynamicConfigurationName",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ }
+ },
+ "description": "Get all updatable dynamic configurations' names"
+ },
+ "403": {
+ "description": "You don't have admin permission to get configuration"
+ }
+ },
+ "summary": "Get all updatable dynamic configurations' names",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/admin/v2/brokers/configuration/runtime": {
+ "get": {
+ "operationId": "getRuntimeConfiguration",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ }
+ }
+ },
+ "description": "Get all runtime configurations. This operation requires Pulsar super-user privileges."
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Get all runtime configurations. This operation requires Pulsar super-user privileges.",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/admin/v2/brokers/configuration/values": {
+ "get": {
+ "operationId": "getAllDynamicConfigurations",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ }
+ }
+ },
+ "description": "Get the values of all dynamic configurations overridden on local config"
+ },
+ "403": {
+ "description": "You don't have admin permission to view configuration"
+ },
+ "404": {
+ "description": "Configuration not found"
+ },
+ "500": {
+ "description": "Internal server error"
+ }
+ },
+ "summary": "Get the values of all dynamic configurations overridden on local config",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/admin/v2/brokers/configuration/{configName}": {
+ "delete": {
+ "operationId": "deleteDynamicConfiguration",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "configName",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Service configuration deleted successfully"
+ },
+ "403": {
+ "description": "You don't have admin permission to update service-configuration"
+ },
+ "412": {
+ "description": "Invalid dynamic-config value"
+ },
+ "500": {
+ "description": "Internal server error"
+ }
+ },
+ "summary": "Delete dynamic ServiceConfiguration from metadata only. This operation requires Pulsar super-user privileges.",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/admin/v2/brokers/configuration/{configName}/{configValue}": {
+ "post": {
+ "operationId": "updateDynamicConfiguration",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "configName",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "configValue",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Service configuration updated successfully"
+ },
+ "403": {
+ "description": "You don't have admin permission to update service-configuration"
+ },
+ "404": {
+ "description": "Configuration not found"
+ },
+ "412": {
+ "description": "Invalid dynamic-config value"
+ },
+ "500": {
+ "description": "Internal server error"
+ }
+ },
+ "summary": "Update dynamic ServiceConfiguration into zk only. This operation requires Pulsar super-user privileges.",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/admin/v2/brokers/health": {
+ "get": {
+ "operationId": "healthCheck",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "brokerId",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Everything is OK"
+ },
+ "307": {
+ "description": "Current broker is not the target broker"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Cluster doesn't exist"
+ },
+ "500": {
+ "description": "Internal server error"
+ },
+ "503": {
+ "description": "Service unavailable"
+ }
+ },
+ "summary": "Run a healthCheck against the broker",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/admin/v2/brokers/internal-configuration": {
+ "get": {
+ "operationId": "getInternalConfigurationData",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/InternalConfigurationData"
+ }
+ }
+ },
+ "description": "Get the internal configuration data"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Get the internal configuration data",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/admin/v2/brokers/leaderBroker": {
+ "get": {
+ "operationId": "getLeaderBroker",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BrokerInfo"
+ }
+ }
+ },
+ "description": "Get the information of the leader broker."
+ },
+ "401": {
+ "description": "Authentication required"
+ },
+ "403": {
+ "description": "This operation requires super-user access"
+ },
+ "404": {
+ "description": "Leader broker not found"
+ }
+ },
+ "summary": "Get the information of the leader broker.",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/admin/v2/brokers/ready": {
+ "get": {
+ "operationId": "isReady",
+ "responses": {
+ "200": {
+ "description": "Broker is ready"
+ },
+ "500": {
+ "description": "Broker is not ready"
+ }
+ },
+ "summary": "Check if the broker is fully initialized",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/admin/v2/brokers/shutdown": {
+ "post": {
+ "operationId": "shutDownBrokerGracefully",
+ "parameters": [
+ {
+ "description": "If the value is absent (value=0), it means there is no concurrency limit.",
+ "in": "query",
+ "name": "maxConcurrentUnloadPerSec",
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "forcedTerminateTopic",
+ "schema": {
+ "default": true,
+ "type": "boolean"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Execute shutdown command successfully"
+ },
+ "403": {
+ "description": "You don't have admin permission to update service-configuration"
+ },
+ "500": {
+ "description": "Internal server error"
+ }
+ },
+ "summary": "Shutdown broker gracefully.",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/admin/v2/brokers/version": {
+ "get": {
+ "operationId": "version",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ },
+ "description": "The Pulsar version"
+ },
+ "500": {
+ "description": "Internal server error"
+ }
+ },
+ "summary": "Get version of current broker",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/admin/v2/brokers/{clusterName}/{brokerId}/ownedNamespaces": {
+ "get": {
+ "operationId": "getOwnedNamespaces",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "clusterName",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "brokerId",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/NamespaceOwnershipStatus"
+ },
+ "type": "object"
+ }
+ }
+ },
+ "description": "Get the list of namespaces served by the specific broker id"
+ },
+ "307": {
+ "description": "Current broker doesn't serve the cluster"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Cluster doesn't exist"
+ }
+ },
+ "summary": "Get the list of namespaces served by the specific broker id",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/admin/v2/brokers/{cluster}": {
+ "get": {
+ "operationId": "getActiveBrokers_1",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ }
+ },
+ "description": "Get the list of active brokers (broker ids) in the cluster. If authorization is not enabled, any cluster name is valid."
+ },
+ "307": {
+ "description": "Current broker doesn't serve this cluster"
+ },
+ "401": {
+ "description": "Authentication required"
+ },
+ "403": {
+ "description": "This operation requires super-user access"
+ },
+ "404": {
+ "description": "Cluster does not exist: cluster={clustername}"
+ }
+ },
+ "summary": "Get the list of active brokers (broker ids) in the cluster. If authorization is not enabled, any cluster name is valid.",
+ "tags": [
+ "brokers"
+ ]
+ }
+ },
+ "/admin/v2/clusters": {
+ "get": {
+ "operationId": "getClusters",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ }
+ },
+ "description": "Return a list of clusters."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Get the list of all the Pulsar clusters.",
+ "tags": [
+ "clusters"
+ ]
+ }
+ },
+ "/admin/v2/clusters/{cluster}": {
+ "delete": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "deleteCluster",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Cluster has been deleted."
+ },
+ "403": {
+ "description": "Don't have admin permission or policies are read-only."
+ },
+ "404": {
+ "description": "Cluster doesn't exist."
+ },
+ "412": {
+ "description": "Cluster is not empty."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Delete an existing cluster.",
+ "tags": [
+ "clusters"
+ ]
+ },
+ "get": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "getCluster",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClusterData"
+ }
+ }
+ },
+ "description": "Return the cluster data."
+ },
+ "403": {
+ "description": "Don't have admin permission."
+ },
+ "404": {
+ "description": "Cluster doesn't exist."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Get the configuration for the specified cluster.",
+ "tags": [
+ "clusters"
+ ]
+ },
+ "post": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "updateCluster",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "example": {
+ "brokerServiceUrl": "pulsar://pulsar.example.com:6651",
+ "serviceUrl": "http://pulsar.example.com:8080"
+ },
+ "schema": {
+ "$ref": "#/components/schemas/ClusterData"
+ }
+ }
+ },
+ "description": "The cluster data",
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Cluster has been updated."
+ },
+ "400": {
+ "description": "Bad request parameter."
+ },
+ "403": {
+ "description": "Don't have admin permission or policies are read-only."
+ },
+ "404": {
+ "description": "Cluster doesn't exist."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Update the configuration for a cluster.",
+ "tags": [
+ "clusters"
+ ]
+ },
+ "put": {
+ "description": "This operation requires Pulsar superuser privileges, and the name cannot contain the '/' characters.",
+ "operationId": "createCluster",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "example": {
+ "brokerServiceUrl": "pulsar://pulsar.example.com:6651",
+ "serviceUrl": "http://pulsar.example.com:8080"
+ },
+ "schema": {
+ "$ref": "#/components/schemas/ClusterData"
+ }
+ }
+ },
+ "description": "The cluster data",
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Cluster has been created."
+ },
+ "400": {
+ "description": "Bad request parameter."
+ },
+ "403": {
+ "description": "You don't have admin permission to create the cluster."
+ },
+ "409": {
+ "description": "Cluster already exists."
+ },
+ "412": {
+ "description": "Cluster name is not valid."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Create a new cluster.",
+ "tags": [
+ "clusters"
+ ]
+ }
+ },
+ "/admin/v2/clusters/{cluster}/failureDomains": {
+ "get": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "getFailureDomains",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/FailureDomain"
+ },
+ "type": "object"
+ }
+ }
+ },
+ "description": "Get the cluster failure domains."
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "500": {
+ "description": "Internal server error"
+ }
+ },
+ "summary": "Get the cluster failure domains.",
+ "tags": [
+ "clusters"
+ ]
+ }
+ },
+ "/admin/v2/clusters/{cluster}/failureDomains/{domainName}": {
+ "delete": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "deleteFailureDomain",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "The failure domain name",
+ "in": "path",
+ "name": "domainName",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete the failure domain of the cluster successfully"
+ },
+ "403": {
+ "description": "Don't have admin permission or policy is read only"
+ },
+ "404": {
+ "description": "FailureDomain doesn't exist"
+ },
+ "412": {
+ "description": "Cluster doesn't exist"
+ },
+ "500": {
+ "description": "Internal server error"
+ }
+ },
+ "summary": "Delete the failure domain of the cluster",
+ "tags": [
+ "clusters"
+ ]
+ },
+ "get": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "getDomain",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "The failure domain name",
+ "in": "path",
+ "name": "domainName",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/FailureDomain"
+ }
+ }
+ },
+ "description": "Get a domain in a cluster"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "FailureDomain doesn't exist"
+ },
+ "412": {
+ "description": "Cluster doesn't exist"
+ },
+ "500": {
+ "description": "Internal server error"
+ }
+ },
+ "summary": "Get a domain in a cluster",
+ "tags": [
+ "clusters"
+ ]
+ },
+ "post": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "setFailureDomain",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "The failure domain name",
+ "in": "path",
+ "name": "domainName",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "*/*": {
+ "schema": {
+ "$ref": "#/components/schemas/FailureDomain"
+ }
+ }
+ },
+ "description": "The configuration data of a failure domain",
+ "required": true
+ },
+ "responses": {
+ "204": {
+ "description": "Set the failure domain of the cluster successfully."
+ },
+ "403": {
+ "description": "Don't have admin permission."
+ },
+ "404": {
+ "description": "Failure domain doesn't exist."
+ },
+ "409": {
+ "description": "Broker already exists in another domain."
+ },
+ "412": {
+ "description": "Cluster doesn't exist."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Set the failure domain of the cluster.",
+ "tags": [
+ "clusters"
+ ]
+ }
+ },
+ "/admin/v2/clusters/{cluster}/migrate": {
+ "get": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "getClusterMigration",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClusterData"
+ }
+ }
+ },
+ "description": "Return the cluster data."
+ },
+ "403": {
+ "description": "Don't have admin permission."
+ },
+ "404": {
+ "description": "Cluster doesn't exist."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Get the cluster migration configuration for the specified cluster.",
+ "tags": [
+ "clusters"
+ ]
+ },
+ "post": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "updateClusterMigration",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Is cluster migrated",
+ "in": "query",
+ "name": "migrated",
+ "required": true,
+ "schema": {
+ "type": "boolean"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "example": {
+ "brokerServiceUrl": "pulsar://pulsar.example.com:6651",
+ "serviceUrl": "http://pulsar.example.com:8080"
+ },
+ "schema": {
+ "$ref": "#/components/schemas/ClusterUrl"
+ }
+ }
+ },
+ "description": "The cluster url data",
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Cluster has been updated."
+ },
+ "400": {
+ "description": "Cluster url must not be empty."
+ },
+ "403": {
+ "description": "Don't have admin permission or policies are read-only."
+ },
+ "404": {
+ "description": "Cluster doesn't exist."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Update the configuration for a cluster migration.",
+ "tags": [
+ "clusters"
+ ]
+ }
+ },
+ "/admin/v2/clusters/{cluster}/namespaceIsolationPolicies": {
+ "get": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "getNamespaceIsolationPolicies",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/NamespaceIsolationData"
+ },
+ "type": "object"
+ }
+ }
+ },
+ "description": "Get the namespace isolation policies assigned to the cluster."
+ },
+ "403": {
+ "description": "Don't have admin permission."
+ },
+ "404": {
+ "description": "Cluster doesn't exist."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Get the namespace isolation policies assigned to the cluster.",
+ "tags": [
+ "clusters"
+ ]
+ }
+ },
+ "/admin/v2/clusters/{cluster}/namespaceIsolationPolicies/brokers": {
+ "get": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "getBrokersWithNamespaceIsolationPolicy",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "items": {
+ "$ref": "#/components/schemas/BrokerNamespaceIsolationData"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ }
+ },
+ "description": "Get list of brokers with namespace-isolation policies attached to them."
+ },
+ "403": {
+ "description": "Don't have admin permission."
+ },
+ "404": {
+ "description": "Namespace-isolation policies not found."
+ },
+ "412": {
+ "description": "Cluster doesn't exist."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Get list of brokers with namespace-isolation policies attached to them.",
+ "tags": [
+ "clusters"
+ ]
+ }
+ },
+ "/admin/v2/clusters/{cluster}/namespaceIsolationPolicies/brokers/{broker}": {
+ "get": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "getBrokerWithNamespaceIsolationPolicy",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "The broker name (<broker-hostname>:<web-service-port>)",
+ "example": "broker1:8080",
+ "in": "path",
+ "name": "broker",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BrokerNamespaceIsolationData"
+ }
+ }
+ },
+ "description": "Get a broker with namespace-isolation policies attached to it."
+ },
+ "403": {
+ "description": "Don't have admin permission."
+ },
+ "404": {
+ "description": "Namespace-isolation policies/ Broker not found."
+ },
+ "412": {
+ "description": "Cluster doesn't exist."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Get a broker with namespace-isolation policies attached to it.",
+ "tags": [
+ "clusters"
+ ]
+ }
+ },
+ "/admin/v2/clusters/{cluster}/namespaceIsolationPolicies/{policyName}": {
+ "delete": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "deleteNamespaceIsolationPolicy",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "The namespace isolation policy name",
+ "in": "path",
+ "name": "policyName",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Delete namespace isolation policy successfully."
+ },
+ "403": {
+ "description": "Don't have admin permission or policies are read only."
+ },
+ "404": {
+ "description": "Namespace isolation policy doesn't exist."
+ },
+ "412": {
+ "description": "Cluster doesn't exist."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Delete namespace isolation policy.",
+ "tags": [
+ "clusters"
+ ]
+ },
+ "get": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "getNamespaceIsolationPolicy",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "The name of the namespace isolation policy",
+ "in": "path",
+ "name": "policyName",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/NamespaceIsolationData"
+ }
+ }
+ },
+ "description": "Get the single namespace isolation policy assigned to the cluster."
+ },
+ "403": {
+ "description": "Don't have admin permission."
+ },
+ "404": {
+ "description": "Policy doesn't exist."
+ },
+ "412": {
+ "description": "Cluster doesn't exist."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Get the single namespace isolation policy assigned to the cluster.",
+ "tags": [
+ "clusters"
+ ]
+ },
+ "post": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "setNamespaceIsolationPolicy",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "The namespace isolation policy name",
+ "in": "path",
+ "name": "policyName",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "*/*": {
+ "schema": {
+ "$ref": "#/components/schemas/NamespaceIsolationData"
+ }
+ }
+ },
+ "description": "The namespace isolation policy data",
+ "required": true
+ },
+ "responses": {
+ "204": {
+ "description": "Set namespace isolation policy successfully."
+ },
+ "400": {
+ "description": "Namespace isolation policy data is invalid."
+ },
+ "403": {
+ "description": "Don't have admin permission or policies are read-only."
+ },
+ "404": {
+ "description": "Namespace isolation policy doesn't exist."
+ },
+ "412": {
+ "description": "Cluster doesn't exist."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Set namespace isolation policy.",
+ "tags": [
+ "clusters"
+ ]
+ }
+ },
+ "/admin/v2/clusters/{cluster}/peers": {
+ "get": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "getPeerCluster",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ }
+ },
+ "description": "Get the peer-cluster data for the specified cluster."
+ },
+ "403": {
+ "description": "Don't have admin permission."
+ },
+ "404": {
+ "description": "Cluster doesn't exist."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Get the peer-cluster data for the specified cluster.",
+ "tags": [
+ "clusters"
+ ]
+ },
+ "post": {
+ "description": "This operation requires Pulsar superuser privileges.",
+ "operationId": "setPeerClusterNames",
+ "parameters": [
+ {
+ "description": "The cluster name",
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "example": [
+ "cluster-a",
+ "cluster-b"
+ ],
+ "schema": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ }
+ },
+ "description": "The list of peer cluster names",
+ "required": true
+ },
+ "responses": {
+ "204": {
+ "description": "Cluster has been updated."
+ },
+ "403": {
+ "description": "Don't have admin permission or policies are read-only."
+ },
+ "404": {
+ "description": "Cluster doesn't exist."
+ },
+ "412": {
+ "description": "Peer cluster doesn't exist."
+ },
+ "500": {
+ "description": "Internal server error."
+ }
+ },
+ "summary": "Update peer-cluster-list for a cluster.",
+ "tags": [
+ "clusters"
+ ]
+ }
+ },
+ "/admin/v2/metadata/migration/start": {
+ "post": {
+ "operationId": "startMigration",
+ "parameters": [
+ {
+ "description": "Target metadata store URL",
+ "in": "query",
+ "name": "target",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Migration started successfully"
+ },
+ "400": {
+ "description": "Invalid target URL"
+ },
+ "409": {
+ "description": "Migration already in progress"
+ },
+ "500": {
+ "description": "Internal server error"
+ }
+ },
+ "summary": "Start metadata store migration",
+ "tags": [
+ "metadata-migration"
+ ]
+ }
+ },
+ "/admin/v2/metadata/migration/status": {
+ "get": {
+ "operationId": "getStatus",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/MigrationState"
+ }
+ }
+ },
+ "description": "Migration status retrieved successfully"
+ },
+ "500": {
+ "description": "Internal server error"
+ }
+ },
+ "summary": "Get current migration status",
+ "tags": [
+ "metadata-migration"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/grantPermissionsOnTopics": {
+ "post": {
+ "operationId": "grantPermissionsOnTopics",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "items": {
+ "$ref": "#/components/schemas/GrantTopicPermissionOptions"
+ },
+ "type": "array"
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "401": {
+ "description": "Don't have permission to administrate resources on this tenant"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "tenant/namespace/topic doesn't exist"
+ },
+ "500": {
+ "description": "Internal server error"
+ }
+ },
+ "summary": "Grant new permissions to a role on multi-topics.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/revokePermissionsOnTopics": {
+ "post": {
+ "operationId": "revokePermissionsOnTopics",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "items": {
+ "$ref": "#/components/schemas/RevokeTopicPermissionOptions"
+ },
+ "type": "array"
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "401": {
+ "description": "Don't have permission to administrate resources on this tenant"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "tenant/namespace/topic doesn't exist"
+ },
+ "500": {
+ "description": "Internal server error"
+ }
+ },
+ "summary": "Revoke new permissions to a role on multi-topics.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{cluster}/antiAffinity/{group}": {
+ "get": {
+ "operationId": "getAntiAffinityNamespaces",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "cluster",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "group",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "tenant",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ }
+ },
+ "description": "Get all namespaces that are grouped by the given anti-affinity group in a given cluster. This API can only be accessed by an admin of any of the existing tenants."
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "412": {
+ "description": "Cluster not exist/Anti-affinity group can't be empty."
+ }
+ },
+ "summary": "Get all namespaces that are grouped by the given anti-affinity group in a given cluster. This API can only be accessed by an admin of any of the existing tenants.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}": {
+ "get": {
+ "operationId": "getTenantNamespaces",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ }
+ },
+ "description": "Get the list of all the namespaces for a certain tenant."
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant doesn't exist"
+ }
+ },
+ "summary": "Get the list of all the namespaces for a certain tenant.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}": {
+ "delete": {
+ "operationId": "deleteNamespace",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "force",
+ "schema": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ {
+ "in": "query",
+ "name": "authoritative",
+ "schema": {
+ "default": false,
+ "type": "boolean"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "307": {
+ "description": "Current broker doesn't serve the namespace"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ },
+ "405": {
+ "description": "Broker doesn't allow forced deletion of namespaces"
+ },
+ "409": {
+ "description": "Namespace is not empty"
+ }
+ },
+ "summary": "Delete a namespace and all the topics under it.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "operationId": "getPolicies",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Policies"
+ }
+ }
+ },
+ "description": "Get the dump all the policies specified for a namespace."
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ }
+ },
+ "summary": "Get the dump all the policies specified for a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "put": {
+ "operationId": "createNamespace",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Policies"
+ }
+ }
+ },
+ "description": "Policies for the namespace"
+ },
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster doesn't exist"
+ },
+ "409": {
+ "description": "Namespace already exists"
+ },
+ "412": {
+ "description": "Namespace name is not valid"
+ }
+ },
+ "summary": "Creates a new namespace with the specified policies",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}/allowedClusters": {
+ "get": {
+ "operationId": "getNamespaceAllowedClusters",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ }
+ },
+ "description": "Get the allowed clusters for a namespace."
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ },
+ "412": {
+ "description": "Namespace is not global"
+ }
+ },
+ "summary": "Get the allowed clusters for a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "operationId": "setNamespaceAllowedClusters",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ }
+ },
+ "description": "List of allowed clusters",
+ "required": true
+ },
+ "responses": {
+ "400": {
+ "description": "The list of allowed clusters should include all replication clusters."
+ },
+ "403": {
+ "description": "The requester does not have admin permissions."
+ },
+ "404": {
+ "description": "The specified tenant, cluster, or namespace does not exist."
+ },
+ "409": {
+ "description": "A peer-cluster cannot be part of an allowed-cluster."
+ },
+ "412": {
+ "description": "The namespace is not global or the provided cluster IDs are invalid."
+ }
+ },
+ "summary": "Set the allowed clusters for a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}/allowedTopicPropertyKeysForMetrics": {
+ "delete": {
+ "operationId": "removeAllowedTopicPropertyKeysForMetrics",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Remove allowed topic property keys for metrics on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "operationId": "getAllowedTopicPropertyKeysForMetrics",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ }
+ },
+ "description": "Get allowed topic property keys for metrics for a namespace."
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace doesn't exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Get allowed topic property keys for metrics for a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "operationId": "setAllowedTopicPropertyKeysForMetrics",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ }
+ },
+ "description": "Set of allowed topic property keys for metrics",
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace doesn't exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Set allowed topic property keys for metrics for a namespace",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}/antiAffinity": {
+ "delete": {
+ "operationId": "removeNamespaceAntiAffinityGroup",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Remove anti-affinity group of a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "operationId": "getNamespaceAntiAffinityGroup",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ },
+ "description": "Get anti-affinity group of a namespace."
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ }
+ },
+ "summary": "Get anti-affinity group of a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "operationId": "setNamespaceAntiAffinityGroup",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ },
+ "description": "Anti-affinity group for the specified namespace",
+ "required": true
+ },
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ },
+ "412": {
+ "description": "Invalid antiAffinityGroup"
+ }
+ },
+ "summary": "Set anti-affinity group for a namespace",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}/autoSubscriptionCreation": {
+ "delete": {
+ "operationId": "removeAutoSubscriptionCreation",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ }
+ },
+ "summary": "Remove override of broker's allowAutoSubscriptionCreation in a namespace",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "operationId": "getAutoSubscriptionCreation",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AutoSubscriptionCreationOverrideImpl"
+ }
+ }
+ },
+ "description": "Get autoSubscriptionCreation info in a namespace"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or namespace doesn't exist"
+ }
+ },
+ "summary": "Get autoSubscriptionCreation info in a namespace",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "operationId": "setAutoSubscriptionCreation",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AutoSubscriptionCreationOverride"
+ }
+ }
+ },
+ "description": "Settings for automatic subscription creation"
+ },
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "400": {
+ "description": "Invalid autoSubscriptionCreation override"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ }
+ },
+ "summary": "Override broker's allowAutoSubscriptionCreation setting for a namespace",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}/autoTopicCreation": {
+ "delete": {
+ "operationId": "removeAutoTopicCreation",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ }
+ },
+ "summary": "Remove override of broker's allowAutoTopicCreation in a namespace",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "operationId": "getAutoTopicCreation",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AutoTopicCreationOverrideImpl"
+ }
+ }
+ },
+ "description": "Get autoTopicCreation info in a namespace"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or namespace doesn't exist"
+ }
+ },
+ "summary": "Get autoTopicCreation info in a namespace",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "operationId": "setAutoTopicCreation",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AutoTopicCreationOverride"
+ }
+ }
+ },
+ "description": "Settings for automatic topic creation",
+ "required": true
+ },
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "400": {
+ "description": "Invalid autoTopicCreation override"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ },
+ "406": {
+ "description": "The number of partitions should be less than or equal to maxNumPartitionsPerPartitionedTopic"
+ }
+ },
+ "summary": "Override broker's allowAutoTopicCreation setting for a namespace",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}/backlogQuota": {
+ "delete": {
+ "operationId": "removeBacklogQuota",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "backlogQuotaType",
+ "schema": {
+ "enum": [
+ "destination_storage",
+ "message_age"
+ ],
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Remove a backlog quota policy from a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "operationId": "setBacklogQuota",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "backlogQuotaType",
+ "schema": {
+ "enum": [
+ "destination_storage",
+ "message_age"
+ ],
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BacklogQuota"
+ }
+ }
+ },
+ "description": "Backlog quota for all topics of the specified namespace"
+ },
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ },
+ "412": {
+ "description": "Specified backlog quota exceeds retention quota. Increase retention quota and retry request"
+ }
+ },
+ "summary": "Set a backlog quota for all the topics on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}/backlogQuotaMap": {
+ "get": {
+ "operationId": "getBacklogQuotaMap",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "additionalProperties": {
+ "$ref": "#/components/schemas/BacklogQuotaImpl"
+ },
+ "type": "object"
+ }
+ }
+ },
+ "description": "Get backlog quota map on a namespace."
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Get backlog quota map on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}/bundles": {
+ "get": {
+ "operationId": "getBundlesData",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BundlesDataImpl"
+ }
+ }
+ },
+ "description": "Get the bundles split data."
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ },
+ "412": {
+ "description": "Namespace is not setup to split in bundles"
+ }
+ },
+ "summary": "Get the bundles split data.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}/clearBacklog": {
+ "post": {
+ "operationId": "clearNamespaceBacklog",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "authoritative",
+ "schema": {
+ "default": false,
+ "type": "boolean"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin or operate permission on the namespace"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Clear backlog for all topics on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}/clearBacklog/{subscription}": {
+ "post": {
+ "operationId": "clearNamespaceBacklogForSubscription",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "subscription",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "authoritative",
+ "schema": {
+ "default": false,
+ "type": "boolean"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin or operate permission on the namespace"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Clear backlog for a given subscription on all topics on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}/compactionThreshold": {
+ "delete": {
+ "description": "The backlog size is compared to the threshold periodically. A threshold of 0 disables automatic compaction",
+ "operationId": "deleteCompactionThreshold",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace doesn't exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Delete maximum number of uncompacted bytes in a topic before compaction is triggered.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "description": "The backlog size is compared to the threshold periodically. A threshold of 0 disables automatic compaction",
+ "operationId": "getCompactionThreshold",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "format": "int64",
+ "type": "integer"
+ }
+ }
+ },
+ "description": "Maximum number of uncompacted bytes in topics before compaction is triggered."
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace doesn't exist"
+ }
+ },
+ "summary": "Maximum number of uncompacted bytes in topics before compaction is triggered.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "put": {
+ "description": "The backlog size is compared to the threshold periodically. A threshold of 0 disables automatic compaction",
+ "operationId": "setCompactionThreshold",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "format": "int64",
+ "type": "integer"
+ }
+ }
+ },
+ "description": "Maximum number of uncompacted bytes in a topic of the specified namespace",
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace doesn't exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ },
+ "412": {
+ "description": "compactionThreshold value is not valid"
+ }
+ },
+ "summary": "Set maximum number of uncompacted bytes in a topic before compaction is triggered.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}/deduplication": {
+ "delete": {
+ "operationId": "removeDeduplication",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ }
+ },
+ "summary": "Remove broker side deduplication for all topics in a namespace",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "operationId": "getDeduplication",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "boolean"
+ }
+ }
+ },
+ "description": "Get broker side deduplication for all topics in a namespace"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ }
+ },
+ "summary": "Get broker side deduplication for all topics in a namespace",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "operationId": "modifyDeduplication",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "boolean"
+ }
+ }
+ },
+ "description": "Flag for disabling or enabling broker side deduplication for all topics in the specified namespace",
+ "required": true
+ },
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ }
+ },
+ "summary": "Enable or disable broker side deduplication for all topics in a namespace",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}/deduplicationSnapshotInterval": {
+ "get": {
+ "operationId": "getDeduplicationSnapshotInterval",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "description": "Get deduplicationSnapshotInterval config on a namespace."
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Get deduplicationSnapshotInterval config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "operationId": "setDeduplicationSnapshotInterval",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "description": "Interval to take deduplication snapshot per topic",
+ "required": true
+ },
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Set deduplicationSnapshotInterval config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}/delayedDelivery": {
+ "delete": {
+ "operationId": "removeDelayedDeliveryPolicies",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ }
+ },
+ "summary": "Delete delayed delivery messages config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "operationId": "getDelayedDeliveryPolicies",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DelayedDeliveryPolicies"
+ }
+ }
+ },
+ "description": "Get delayed delivery messages config on a namespace."
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Get delayed delivery messages config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "operationId": "setDelayedDeliveryPolicies",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DelayedDeliveryPolicies"
+ }
+ }
+ },
+ "description": "Delayed delivery policies for the specified namespace"
+ },
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ }
+ },
+ "summary": "Set delayed delivery messages config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}/dispatchRate": {
+ "delete": {
+ "operationId": "deleteDispatchRate",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Delete dispatch-rate throttling for all topics of the namespace",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "operationId": "getDispatchRate",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DispatchRate"
+ }
+ }
+ },
+ "description": "Get dispatch-rate configured for the namespace, null means dispatch-rate not configured, -1 means msg-dispatch-rate or byte-dispatch-rate not configured in dispatch-rate yet"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Get dispatch-rate configured for the namespace, null means dispatch-rate not configured, -1 means msg-dispatch-rate or byte-dispatch-rate not configured in dispatch-rate yet",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "operationId": "setDispatchRate",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DispatchRateImpl"
+ }
+ }
+ },
+ "description": "Dispatch rate for all topics of the specified namespace"
+ },
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ }
+ },
+ "summary": "Set dispatch-rate throttling for all topics of the namespace",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}/dispatcherPauseOnAckStatePersistent": {
+ "delete": {
+ "operationId": "removeDispatcherPauseOnAckStatePersistent",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Remove dispatcher pause on ack state persistent configuration for specified namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "operationId": "getDispatcherPauseOnAckStatePersistent",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "boolean"
+ }
+ }
+ },
+ "description": "Get dispatcher pause on ack state persistent config on a namespace."
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ }
+ },
+ "summary": "Get dispatcher pause on ack state persistent config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "operationId": "setDispatcherPauseOnAckStatePersistent",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Set dispatcher pause on ack state persistent configuration for specified namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}/encryptionRequired": {
+ "get": {
+ "operationId": "getEncryptionRequired",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "boolean"
+ }
+ }
+ },
+ "description": "Get message encryption required status in a namespace"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or namespace doesn't exist"
+ }
+ },
+ "summary": "Get message encryption required status in a namespace",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "operationId": "modifyEncryptionRequired",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "boolean"
+ }
+ }
+ },
+ "description": "Flag defining if message encryption is required",
+ "required": true
+ },
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Message encryption is required or not for all topics in a namespace",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}/entryFilters": {
+ "delete": {
+ "operationId": "removeNamespaceEntryFilters",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ },
+ "412": {
+ "description": "Invalid TTL"
+ }
+ },
+ "summary": "Remove entry filters for namespace",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "operationId": "getEntryFiltersPerTopic",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/EntryFilters"
+ }
+ }
+ },
+ "description": "Get maxConsumersPerSubscription config on a namespace."
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Get maxConsumersPerSubscription config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "operationId": "setEntryFiltersPerTopic",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/EntryFilters"
+ }
+ }
+ },
+ "description": "entry filters",
+ "required": true
+ },
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "400": {
+ "description": "Specified entry filters are not valid"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ }
+ },
+ "summary": "Set entry filters for namespace",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}/inactiveTopicPolicies": {
+ "delete": {
+ "operationId": "removeInactiveTopicPolicies",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Remove inactive topic policies from a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "operationId": "getInactiveTopicPolicies",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/InactiveTopicPolicies"
+ }
+ }
+ },
+ "description": "Get inactive topic policies config on a namespace."
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Get inactive topic policies config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "operationId": "setInactiveTopicPolicies",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/InactiveTopicPolicies"
+ }
+ }
+ },
+ "description": "Inactive topic policies for the specified namespace"
+ },
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ }
+ },
+ "summary": "Set inactive topic policies config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}/isAllowAutoUpdateSchema": {
+ "get": {
+ "operationId": "getIsAllowAutoUpdateSchema",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "boolean"
+ }
+ }
+ },
+ "description": "The flag of whether to allow auto update schema"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace doesn't exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "The flag of whether to allow auto update schema",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "operationId": "setIsAllowAutoUpdateSchema",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Allow replicator to auto update schema",
+ "in": "query",
+ "name": "allowAutoUpdateSchemaWithReplicator",
+ "schema": {
+ "type": "boolean"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "boolean"
+ }
+ }
+ },
+ "description": "Flag of whether to allow auto update schema",
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace doesn't exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Update flag of whether to allow auto update schema",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}/maxConsumersPerSubscription": {
+ "delete": {
+ "operationId": "removeMaxConsumersPerSubscription",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ },
+ "412": {
+ "description": "maxConsumersPerSubscription value is not valid"
+ }
+ },
+ "summary": "Set maxConsumersPerSubscription configuration on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "operationId": "getMaxConsumersPerSubscription",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "description": "Get maxConsumersPerSubscription config on a namespace."
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Get maxConsumersPerSubscription config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "operationId": "setMaxConsumersPerSubscription",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "description": "Number of maximum consumers per subscription",
+ "required": true
+ },
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ },
+ "412": {
+ "description": "maxConsumersPerSubscription value is not valid"
+ }
+ },
+ "summary": "Set maxConsumersPerSubscription configuration on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}/maxConsumersPerTopic": {
+ "delete": {
+ "operationId": "removeMaxConsumersPerTopic",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Remove maxConsumersPerTopic configuration on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "operationId": "getMaxConsumersPerTopic",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "description": "Get maxConsumersPerTopic config on a namespace."
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Get maxConsumersPerTopic config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "operationId": "setMaxConsumersPerTopic",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "description": "Number of maximum consumers per topic",
+ "required": true
+ },
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ },
+ "412": {
+ "description": "maxConsumersPerTopic value is not valid"
+ }
+ },
+ "summary": "Set maxConsumersPerTopic configuration on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}/maxProducersPerTopic": {
+ "delete": {
+ "operationId": "removeMaxProducersPerTopic",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Remove maxProducersPerTopic configuration on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "operationId": "getMaxProducersPerTopic",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "description": "Get maxProducersPerTopic config on a namespace."
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Get maxProducersPerTopic config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "operationId": "setMaxProducersPerTopic",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "description": "Number of maximum producers per topic",
+ "required": true
+ },
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ },
+ "412": {
+ "description": "maxProducersPerTopic value is not valid"
+ }
+ },
+ "summary": "Set maxProducersPerTopic configuration on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}/maxSubscriptionsPerTopic": {
+ "delete": {
+ "operationId": "removeMaxSubscriptionsPerTopic",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Remove maxSubscriptionsPerTopic configuration on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "operationId": "getMaxSubscriptionsPerTopic",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "description": "Get maxSubscriptionsPerTopic config on a namespace."
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Get maxSubscriptionsPerTopic config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "operationId": "setMaxSubscriptionsPerTopic",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "description": "Number of maximum subscriptions per topic",
+ "required": true
+ },
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ },
+ "412": {
+ "description": "maxUnackedMessagesPerSubscription value is not valid"
+ }
+ },
+ "summary": "Set maxSubscriptionsPerTopic configuration on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}/maxTopicsPerNamespace": {
+ "delete": {
+ "operationId": "removeMaxTopicsPerNamespace",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or namespace doesn't exist"
+ }
+ },
+ "summary": "Remove maxTopicsPerNamespace config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "operationId": "getMaxTopicsPerNamespace",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "description": "Get maxTopicsPerNamespace config on a namespace."
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or namespace does not exist"
+ }
+ },
+ "summary": "Get maxTopicsPerNamespace config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "operationId": "setMaxTopicsPerNamespace",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "description": "Number of maximum topics for specific namespace",
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or namespace doesn't exist"
+ }
+ },
+ "summary": "Set maxTopicsPerNamespace config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}/maxUnackedMessagesPerConsumer": {
+ "delete": {
+ "operationId": "removeMaxUnackedmessagesPerConsumer",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Remove maxUnackedMessagesPerConsumer config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "operationId": "getMaxUnackedMessagesPerConsumer",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "description": "Get maxUnackedMessagesPerConsumer config on a namespace."
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Get maxUnackedMessagesPerConsumer config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "operationId": "setMaxUnackedMessagesPerConsumer",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "description": "Number of maximum unacked messages per consumer",
+ "required": true
+ },
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ },
+ "412": {
+ "description": "maxUnackedMessagesPerConsumer value is not valid"
+ }
+ },
+ "summary": "Set maxConsumersPerTopic configuration on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}/maxUnackedMessagesPerSubscription": {
+ "delete": {
+ "operationId": "removeMaxUnackedmessagesPerSubscription",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Remove maxUnackedMessagesPerSubscription config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "operationId": "getMaxUnackedmessagesPerSubscription",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "description": "Get maxUnackedMessagesPerSubscription config on a namespace."
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ }
+ },
+ "summary": "Get maxUnackedMessagesPerSubscription config on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "operationId": "setMaxUnackedMessagesPerSubscription",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "description": "Number of maximum unacked messages per subscription",
+ "required": true
+ },
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace does not exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ },
+ "412": {
+ "description": "maxUnackedMessagesPerSubscription value is not valid"
+ }
+ },
+ "summary": "Set maxUnackedMessagesPerSubscription configuration on a namespace.",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}/messageTTL": {
+ "delete": {
+ "operationId": "removeNamespaceMessageTTL",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ },
+ "412": {
+ "description": "Invalid TTL"
+ }
+ },
+ "summary": "Remove message TTL in seconds for namespace",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "operationId": "getNamespaceMessageTTL",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "description": "Get the message TTL for the namespace"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ }
+ },
+ "summary": "Get the message TTL for the namespace",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "post": {
+ "operationId": "setNamespaceMessageTTL",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "description": "TTL in seconds for the specified namespace",
+ "required": true
+ },
+ "responses": {
+ "204": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Tenant or cluster or namespace doesn't exist"
+ },
+ "412": {
+ "description": "Invalid TTL"
+ }
+ },
+ "summary": "Set message TTL in seconds for namespace",
+ "tags": [
+ "namespaces"
+ ]
+ }
+ },
+ "/admin/v2/namespaces/{tenant}/{namespace}/offloadDeletionLagMs": {
+ "delete": {
+ "operationId": "clearOffloadDeletionLag",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation successful"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace doesn't exist"
+ },
+ "409": {
+ "description": "Concurrent modification"
+ }
+ },
+ "summary": "Clear the namespace configured offload deletion lag. The topics in the namespace will fallback to using the default configured deletion lag for the broker",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "get": {
+ "description": "A negative value denotes that deletion has been completely disabled. 'null' denotes that the topics in the namespace will fall back to the broker default for deletion lag.",
+ "operationId": "getOffloadDeletionLag",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "tenant",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "namespace",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "format": "int64",
+ "type": "integer"
+ }
+ }
+ },
+ "description": "Number of milliseconds to wait before deleting a ledger segment which has been offloaded from the Pulsar cluster's local storage (i.e. BookKeeper)"
+ },
+ "403": {
+ "description": "Don't have admin permission"
+ },
+ "404": {
+ "description": "Namespace doesn't exist"
+ }
+ },
+ "summary": "Number of milliseconds to wait before deleting a ledger segment which has been offloaded from the Pulsar cluster's local storage (i.e. BookKeeper)",
+ "tags": [
+ "namespaces"
+ ]
+ },
+ "put": {
+ "description": "A negative value disables the deletion completely.",
+ "operationId": "setOffloadDeletionLag",
+ "parameters": [
... 84771 lines suppressed ...