{
    "components": {
        "schemas": {
            "LookupData": {
                "properties": {
                    "brokerId": {
                        "type": "string"
                    },
                    "brokerUrl": {
                        "type": "string"
                    },
                    "brokerUrlSsl": {
                        "type": "string"
                    },
                    "brokerUrlTls": {
                        "type": "string"
                    },
                    "httpUrl": {
                        "type": "string"
                    },
                    "httpUrlTls": {
                        "type": "string"
                    },
                    "nativeUrl": {
                        "type": "string"
                    }
                },
                "type": "object"
            }
        }
    },
    "info": {
        "description": "This provides the REST API for lookup operations",
        "license": {
            "name": "Apache 2.0",
            "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
        },
        "title": "Pulsar Lookup REST API",
        "version": "v2"
    },
    "openapi": "3.0.1",
    "paths": {
        "/lookup/v2/topic/{topic-domain}/{tenant}/{namespace}/{topic}": {
            "get": {
                "operationId": "lookupTopicAsync",
                "parameters": [
                    {
                        "in": "path",
                        "name": "topic-domain",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "in": "path",
                        "name": "tenant",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "in": "path",
                        "name": "namespace",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "in": "path",
                        "name": "topic",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "in": "query",
                        "name": "authoritative",
                        "schema": {
                            "default": false,
                            "type": "boolean"
                        }
                    },
                    {
                        "in": "query",
                        "name": "listenerName",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "in": "header",
                        "name": "X-Pulsar-ListenerName",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/LookupData"
                                }
                            }
                        },
                        "description": "Get the owner broker of the given topic."
                    },
                    "307": {
                        "description": "Current broker doesn't serve the namespace of this topic"
                    }
                },
                "summary": "Get the owner broker of the given topic.",
                "tags": [
                    "lookup"
                ]
            }
        },
        "/lookup/v2/topic/{topic-domain}/{tenant}/{namespace}/{topic}/bundle": {
            "get": {
                "operationId": "getNamespaceBundle",
                "parameters": [
                    {
                        "in": "path",
                        "name": "topic-domain",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "in": "path",
                        "name": "tenant",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "in": "path",
                        "name": "namespace",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "in": "path",
                        "name": "topic",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        },
                        "description": "Get the namespace bundle which the given topic belongs to."
                    },
                    "403": {
                        "description": "Don't have admin permission"
                    },
                    "405": {
                        "description": "Invalid topic domain type"
                    }
                },
                "summary": "Get the namespace bundle which the given topic belongs to.",
                "tags": [
                    "lookup"
                ]
            }
        }
    },
    "servers": [
        {
            "url": "http://localhost:8080"
        }
    ]
}
