openapi: 3.1.0 info: title: IBM MQ Administration REST Channels Topics API description: REST API for administering and monitoring IBM MQ queue managers, queues, topics, subscriptions, and channels. Provides programmatic access to manage MQ objects and retrieve status information. version: '2.0' contact: name: IBM Support url: https://www.ibm.com/mysupport email: support@ibm.com license: name: IBM License url: https://www.ibm.com/terms servers: - url: https://{host}:{port}/ibmmq/rest/v2 description: IBM MQ REST API v2 variables: host: default: localhost description: Hostname of the MQ web server port: default: '9443' description: HTTPS port of the MQ web server security: - basicAuth: [] - tokenAuth: [] tags: - name: Topics description: Manage and query topic objects paths: /admin/qmgr/{qmgrName}/topic: get: operationId: listTopics summary: IBM MQ List topics description: Retrieve a list of administrative topic objects defined on a queue manager, with optional filtering. tags: - Topics parameters: - $ref: '#/components/parameters/qmgrName' - $ref: '#/components/parameters/ibmMqRestCsrfToken' - name: name in: query description: Filter topics by name (supports wildcard *) schema: type: string - name: attributes in: query description: Comma-separated list of attributes to return schema: type: string responses: '200': description: Topics retrieved successfully content: application/json: schema: type: object properties: topic: type: array items: $ref: '#/components/schemas/Topic' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' post: operationId: createTopic summary: IBM MQ Create a topic description: Create a new administrative topic object on the specified queue manager. tags: - Topics parameters: - $ref: '#/components/parameters/qmgrName' - $ref: '#/components/parameters/ibmMqRestCsrfToken' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TopicCreateRequest' responses: '201': description: Topic created successfully '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '409': description: Topic already exists /admin/qmgr/{qmgrName}/topic/{topicName}: get: operationId: getTopic summary: IBM MQ Get topic details description: Retrieve detailed information about a specific administrative topic object. tags: - Topics parameters: - $ref: '#/components/parameters/qmgrName' - $ref: '#/components/parameters/topicName' - $ref: '#/components/parameters/ibmMqRestCsrfToken' - name: attributes in: query description: Comma-separated list of attributes to return schema: type: string responses: '200': description: Topic details retrieved content: application/json: schema: type: object properties: topic: type: array items: $ref: '#/components/schemas/Topic' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' patch: operationId: updateTopic summary: IBM MQ Update a topic description: Modify attributes of an existing administrative topic object. tags: - Topics parameters: - $ref: '#/components/parameters/qmgrName' - $ref: '#/components/parameters/topicName' - $ref: '#/components/parameters/ibmMqRestCsrfToken' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TopicUpdateRequest' responses: '200': description: Topic updated successfully '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' delete: operationId: deleteTopic summary: IBM MQ Delete a topic description: Delete an administrative topic object from the queue manager. tags: - Topics parameters: - $ref: '#/components/parameters/qmgrName' - $ref: '#/components/parameters/topicName' - $ref: '#/components/parameters/ibmMqRestCsrfToken' responses: '204': description: Topic deleted successfully '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: schemas: TopicCreateRequest: type: object required: - name - topicString properties: name: type: string description: Name of the topic object topicString: type: string description: The topic string general: type: object properties: description: type: string TopicUpdateRequest: type: object properties: general: type: object properties: description: type: string durableSubscriptions: type: string enum: - allowed - notAllowed Topic: type: object properties: name: type: string description: Name of the administrative topic object topicString: type: string description: The topic string associated with this topic object type: type: string description: Topic type general: type: object description: General topic attributes properties: description: type: string description: Description of the topic durableSubscriptions: type: string enum: - allowed - notAllowed description: Whether durable subscriptions are allowed defaultPutResponse: type: string description: Default put response type Error: type: object properties: error: type: array items: type: object properties: type: type: string description: Error type msgId: type: string description: Message identifier explanation: type: string description: Explanation of the error action: type: string description: Suggested action responses: Unauthorized: description: Authentication required or credentials invalid content: application/json: schema: $ref: '#/components/schemas/Error' BadRequest: description: Invalid request parameters or body content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: Requested resource not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: ibmMqRestCsrfToken: name: ibm-mq-rest-csrf-token in: header required: false description: CSRF token required for state-changing operations schema: type: string topicName: name: topicName in: path required: true description: Name of the administrative topic object schema: type: string qmgrName: name: qmgrName in: path required: true description: Name of the queue manager schema: type: string securitySchemes: basicAuth: type: http scheme: basic description: HTTP Basic authentication with MQ user credentials tokenAuth: type: apiKey in: cookie name: LtpaToken2 description: LTPA token-based authentication via login endpoint externalDocs: description: IBM MQ REST API Documentation url: https://www.ibm.com/docs/en/ibm-mq/latest?topic=api-rest