WebSphere MQ REST API

REST API for IBM MQ messaging operations including sending and receiving messages, queue management, and monitoring. Supports both administration and messaging endpoints for point-to-point and publish-subscribe patterns.

OpenAPI Specification

websphere-mq-rest-api.yml Raw ↑
openapi: 3.1.0
info:
  title: IBM MQ REST API
  description: >-
    REST API for IBM MQ messaging operations including sending and receiving
    messages, queue management, topic management, and monitoring. Supports both
    administration and messaging endpoints for point-to-point and
    publish-subscribe patterns. The API provides two main categories: the
    administrative REST API for managing MQ objects and the messaging REST API
    for sending and receiving messages.
  version: 9.3.0
  license:
    name: IBM International License Agreement
    url: https://www.ibm.com/legal/terms
  contact:
    name: IBM Support
    url: https://www.ibm.com/mysupport
externalDocs:
  description: IBM MQ REST API Documentation
  url: https://www.ibm.com/docs/en/ibm-mq/9.3?topic=api-rest-reference
servers:
- url: https://localhost:9443/ibmmq/rest/v2
  description: IBM MQ REST API v2 Server
security:
- basicAuth: []
- tokenAuth: []
tags:
- name: Queue Manager
  description: Queue manager administration
- name: Queues
  description: Queue administration and management
- name: Messages
  description: Message operations - send and receive
- name: Topics
  description: Topic administration for publish/subscribe
- name: Subscriptions
  description: Subscription management
- name: Channels
  description: Channel administration
- name: Monitoring
  description: Monitoring and status information
- name: Authentication
  description: Authentication and authorization
paths:
  /admin/qmgr:
    get:
      operationId: listQueueManagers
      summary: List Queue Managers
      description: Returns a list of queue managers that the REST API can interact with.
      tags:
      - Queue Manager
      responses:
        '200':
          description: List of queue managers
          content:
            application/json:
              schema:
                type: object
                properties:
                  qmgr:
                    type: array
                    items:
                      $ref: '#/components/schemas/QueueManager'
              examples:
                Listqueuemanagers200Example:
                  summary: Default listQueueManagers 200 response
                  x-microcks-default: true
                  value:
                    qmgr:
                    - name: Example Title
                      state: running
                      version: example_value
                      platform: example_value
                      commandLevel: 10
                      connectionCount: 10
                      description: A sample description.
                      maximumMessageLength: 10
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /admin/qmgr/{qmgrName}:
    get:
      operationId: getQueueManager
      summary: Get Queue Manager Details
      description: Returns details of a specific queue manager.
      tags:
      - Queue Manager
      parameters:
      - $ref: '#/components/parameters/qmgrName'
      - name: attributes
        in: query
        description: Comma-separated list of attributes to return
        schema:
          type: string
        example: example_value
      responses:
        '200':
          description: Queue manager details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueueManager'
              examples:
                Getqueuemanager200Example:
                  summary: Default getQueueManager 200 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    state: running
                    version: example_value
                    platform: example_value
                    commandLevel: 10
                    connectionCount: 10
                    description: A sample description.
                    maximumMessageLength: 10
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /admin/qmgr/{qmgrName}/queue:
    get:
      operationId: listQueues
      summary: List Queues
      description: Returns a list of queues on the specified queue manager.
      tags:
      - Queues
      parameters:
      - $ref: '#/components/parameters/qmgrName'
      - name: name
        in: query
        description: Queue name filter with wildcard support
        schema:
          type: string
        example: Example Title
      - name: type
        in: query
        description: Queue type filter
        schema:
          type: string
          enum:
          - local
          - alias
          - remote
          - model
          - cluster
        example: local
      - name: attributes
        in: query
        description: Comma-separated list of attributes to return
        schema:
          type: string
        example: example_value
      responses:
        '200':
          description: List of queues
          content:
            application/json:
              schema:
                type: object
                properties:
                  queue:
                    type: array
                    items:
                      $ref: '#/components/schemas/Queue'
              examples:
                Listqueues200Example:
                  summary: Default listQueues 200 response
                  x-microcks-default: true
                  value:
                    queue:
                    - name: Example Title
                      type: local
                      description: A sample description.
                      maxDepth: 10
                      maxMessageLength: 10
                      currentDepth: 10
                      inhibitPut: true
                      inhibitGet: true
                      persistence:
                        default: persistent
                      cluster:
                        name: Example Title
                        workloadRank: 10
                        workloadPriority: 10
                      status:
                        currentDepth: 10
                        openInputCount: 10
                        openOutputCount: 10
                        lastGetDateTime: '2026-01-15T10:30:00Z'
                        lastPutDateTime: '2026-01-15T10:30:00Z'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createQueue
      summary: Create a Queue
      description: Creates a new queue on the specified queue manager.
      tags:
      - Queues
      parameters:
      - $ref: '#/components/parameters/qmgrName'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QueueCreate'
            examples:
              CreatequeueRequestExample:
                summary: Default createQueue request
                x-microcks-default: true
                value:
                  name: Example Title
                  type: local
                  description: A sample description.
                  maxDepth: 10
                  maxMessageLength: 10
                  persistence:
                    default: persistent
      responses:
        '201':
          description: Queue created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Queue'
              examples:
                Createqueue201Example:
                  summary: Default createQueue 201 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    type: local
                    description: A sample description.
                    maxDepth: 10
                    maxMessageLength: 10
                    currentDepth: 10
                    inhibitPut: true
                    inhibitGet: true
                    persistence:
                      default: persistent
                    cluster:
                      name: Example Title
                      workloadRank: 10
                      workloadPriority: 10
                    status:
                      currentDepth: 10
                      openInputCount: 10
                      openOutputCount: 10
                      lastGetDateTime: '2026-01-15T10:30:00Z'
                      lastPutDateTime: '2026-01-15T10:30:00Z'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '409':
          description: Queue already exists
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Createqueue409Example:
                  summary: Default createQueue 409 response
                  x-microcks-default: true
                  value:
                    error:
                    - type: example_value
                      msgId: '500123'
                      explanation: example_value
                      action: example_value
                      message: example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /admin/qmgr/{qmgrName}/queue/{queueName}:
    get:
      operationId: getQueue
      summary: Get Queue Details
      description: Returns details of a specific queue.
      tags:
      - Queues
      parameters:
      - $ref: '#/components/parameters/qmgrName'
      - $ref: '#/components/parameters/queueName'
      - name: status
        in: query
        description: Include queue status information
        schema:
          type: boolean
          default: false
        example: true
      - name: attributes
        in: query
        description: Comma-separated list of attributes to return
        schema:
          type: string
        example: example_value
      responses:
        '200':
          description: Queue details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Queue'
              examples:
                Getqueue200Example:
                  summary: Default getQueue 200 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    type: local
                    description: A sample description.
                    maxDepth: 10
                    maxMessageLength: 10
                    currentDepth: 10
                    inhibitPut: true
                    inhibitGet: true
                    persistence:
                      default: persistent
                    cluster:
                      name: Example Title
                      workloadRank: 10
                      workloadPriority: 10
                    status:
                      currentDepth: 10
                      openInputCount: 10
                      openOutputCount: 10
                      lastGetDateTime: '2026-01-15T10:30:00Z'
                      lastPutDateTime: '2026-01-15T10:30:00Z'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    patch:
      operationId: updateQueue
      summary: Update Queue Attributes
      description: Updates attributes of an existing queue.
      tags:
      - Queues
      parameters:
      - $ref: '#/components/parameters/qmgrName'
      - $ref: '#/components/parameters/queueName'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QueueUpdate'
            examples:
              UpdatequeueRequestExample:
                summary: Default updateQueue request
                x-microcks-default: true
                value:
                  description: A sample description.
                  maxDepth: 10
                  maxMessageLength: 10
                  inhibitPut: true
                  inhibitGet: true
      responses:
        '200':
          description: Queue updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Queue'
              examples:
                Updatequeue200Example:
                  summary: Default updateQueue 200 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    type: local
                    description: A sample description.
                    maxDepth: 10
                    maxMessageLength: 10
                    currentDepth: 10
                    inhibitPut: true
                    inhibitGet: true
                    persistence:
                      default: persistent
                    cluster:
                      name: Example Title
                      workloadRank: 10
                      workloadPriority: 10
                    status:
                      currentDepth: 10
                      openInputCount: 10
                      openOutputCount: 10
                      lastGetDateTime: '2026-01-15T10:30:00Z'
                      lastPutDateTime: '2026-01-15T10:30:00Z'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteQueue
      summary: Delete a Queue
      description: Deletes a queue from the queue manager.
      tags:
      - Queues
      parameters:
      - $ref: '#/components/parameters/qmgrName'
      - $ref: '#/components/parameters/queueName'
      - name: purge
        in: query
        description: Purge messages before deleting
        schema:
          type: boolean
          default: false
        example: true
      responses:
        '204':
          description: Queue deleted
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /messaging/qmgr/{qmgrName}/queue/{queueName}/message:
    post:
      operationId: sendMessage
      summary: Send a Message to a Queue
      description: Sends a message to the specified queue on the queue manager.
      tags:
      - Messages
      parameters:
      - $ref: '#/components/parameters/qmgrName'
      - $ref: '#/components/parameters/queueName'
      - name: ibm-mq-md-correlationId
        in: header
        description: Correlation ID for the message
        schema:
          type: string
        example: '500123'
      - name: ibm-mq-md-expiry
        in: header
        description: Message expiry in tenths of a second
        schema:
          type: integer
        example: 10
      - name: ibm-mq-md-persistence
        in: header
        description: Message persistence
        schema:
          type: string
          enum:
          - persistent
          - nonPersistent
        example: persistent
      - name: ibm-mq-md-replyTo
        in: header
        description: Reply-to queue name
        schema:
          type: string
        example: example_value
      requestBody:
        required: true
        content:
          text/plain:
            schema:
              type: string
            examples:
              SendmessageRequestExample:
                summary: Default sendMessage request
                x-microcks-default: true
                value: example_value
          application/json:
            schema:
              type: object
            examples:
              SendmessageRequestExample:
                summary: Default sendMessage request
                x-microcks-default: true
                value: {}
          application/xml:
            schema:
              type: string
            examples:
              SendmessageRequestExample:
                summary: Default sendMessage request
                x-microcks-default: true
                value: example_value
      responses:
        '201':
          description: Message sent
          headers:
            ibm-mq-md-messageId:
              description: Message ID of the sent message
              schema:
                type: string
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    get:
      operationId: browseMessages
      summary: Browse Messages on a Queue
      description: Non-destructively browses messages on the specified queue.
      tags:
      - Messages
      parameters:
      - $ref: '#/components/parameters/qmgrName'
      - $ref: '#/components/parameters/queueName'
      - name: limit
        in: query
        description: Maximum number of messages to browse
        schema:
          type: integer
          default: 10
        example: 10
      - name: ibm-mq-md-messageId
        in: header
        description: Filter by message ID
        schema:
          type: string
        example: '500123'
      - name: ibm-mq-md-correlationId
        in: header
        description: Filter by correlation ID
        schema:
          type: string
        example: '500123'
      responses:
        '200':
          description: Messages browsed
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Message'
              examples:
                Browsemessages200Example:
                  summary: Default browseMessages 200 response
                  x-microcks-default: true
                  value:
                  - messageId: '500123'
                    correlationId: '500123'
                    putDateTime: '2026-01-15T10:30:00Z'
                    persistence: persistent
                    replyToQueue: example_value
                    replyToQueueManager: example_value
                    expiry: 10
                    body: example_value
                    format: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: receiveMessage
      summary: Receive (destructively Get) a Message
      description: Destructively gets a message from the specified queue.
      tags:
      - Messages
      parameters:
      - $ref: '#/components/parameters/qmgrName'
      - $ref: '#/components/parameters/queueName'
      - name: wait
        in: query
        description: Wait time in milliseconds for a message
        schema:
          type: integer
        example: 10
      - name: ibm-mq-md-messageId
        in: header
        description: Filter by message ID
        schema:
          type: string
        example: '500123'
      - name: ibm-mq-md-correlationId
        in: header
        description: Filter by correlation ID
        schema:
          type: string
        example: '500123'
      responses:
        '200':
          description: Message received
          headers:
            ibm-mq-md-messageId:
              schema:
                type: string
            ibm-mq-md-correlationId:
              schema:
                type: string
          content:
            text/plain:
              schema:
                type: string
              examples:
                Receivemessage200Example:
                  summary: Default receiveMessage 200 response
                  x-microcks-default: true
                  value: example_value
            application/json:
              schema:
                type: object
              examples:
                Receivemessage200Example:
                  summary: Default receiveMessage 200 response
                  x-microcks-default: true
                  value: {}
        '204':
          description: No message available
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /messaging/qmgr/{qmgrName}/topic/{topicString}/message:
    post:
      operationId: publishMessage
      summary: Publish a Message to a Topic
      description: Publishes a message to the specified topic string.
      tags:
      - Messages
      parameters:
      - $ref: '#/components/parameters/qmgrName'
      - name: topicString
        in: path
        required: true
        description: Topic string to publish to
        schema:
          type: string
        example: example_value
      requestBody:
        required: true
        content:
          text/plain:
            schema:
              type: string
            examples:
              PublishmessageRequestExample:
                summary: Default publishMessage request
                x-microcks-default: true
                value: example_value
          application/json:
            schema:
              type: object
            examples:
              PublishmessageRequestExample:
                summary: Default publishMessage request
                x-microcks-default: true
                value: {}
      responses:
        '201':
          description: Message published
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /admin/qmgr/{qmgrName}/topic:
    get:
      operationId: listTopics
      summary: List Topics
      description: Returns a list of administrative topic objects on the queue manager.
      tags:
      - Topics
      parameters:
      - $ref: '#/components/parameters/qmgrName'
      - name: name
        in: query
        description: Topic name filter
        schema:
          type: string
        example: Example Title
      responses:
        '200':
          description: List of topics
          content:
            application/json:
              schema:
                type: object
                properties:
                  topic:
                    type: array
                    items:
                      $ref: '#/components/schemas/Topic'
              examples:
                Listtopics200Example:
                  summary: Default listTopics 200 response
                  x-microcks-default: true
                  value:
                    topic:
                    - name: Example Title
                      topicString: example_value
                      description: A sample description.
                      type: local
                      durableSubscriptions: allowed
                      publish: allowed
                      subscribe: allowed
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createTopic
      summary: Create a Topic
      description: Creates a new administrative topic object.
      tags:
      - Topics
      parameters:
      - $ref: '#/components/parameters/qmgrName'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TopicCreate'
            examples:
              CreatetopicRequestExample:
                summary: Default createTopic request
                x-microcks-default: true
                value:
                  name: Example Title
                  topicString: example_value
                  description: A sample description.
                  type: local
      responses:
        '201':
          description: Topic created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Topic'
              examples:
                Createtopic201Example:
                  summary: Default createTopic 201 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    topicString: example_value
                    description: A sample description.
                    type: local
                    durableSubscriptions: allowed
                    publish: allowed
                    subscribe: allowed
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /admin/qmgr/{qmgrName}/topic/{topicName}:
    get:
      operationId: getTopic
      summary: Get Topic Details
      description: Returns details of a specific administrative topic object.
      tags:
      - Topics
      parameters:
      - $ref: '#/components/parameters/qmgrName'
      - name: topicName
        in: path
        required: true
        description: Topic object name
        schema:
          type: string
        example: example_value
      responses:
        '200':
          description: Topic details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Topic'
              examples:
                Gettopic200Example:
                  summary: Default getTopic 200 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    topicString: example_value
                    description: A sample description.
                    type: local
                    durableSubscriptions: allowed
                    publish: allowed
                    subscribe: allowed
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteTopic
      summary: Delete a Topic
      description: Deletes an administrative topic object.
      tags:
      - Topics
      parameters:
      - $ref: '#/components/parameters/qmgrName'
      - name: topicName
        in: path
        required: true
        schema:
          type: string
        example: example_value
      responses:
        '204':
          description: Topic deleted
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /admin/qmgr/{qmgrName}/subscription:
    get:
      operationId: listSubscriptions
      summary: List Subscriptions
      description: Returns a list of subscriptions on the queue manager.
      tags:
      - Subscriptions
      parameters:
      - $ref: '#/components/parameters/qmgrName'
      responses:
        '200':
          description: List of subscriptions
          content:
            application/json:
              schema:
                type: object
                properties:
                  subscription:
                    type: array
                    items:
                      $ref: '#/components/schemas/Subscription'
              examples:
                Listsubscriptions200Example:
                  summary: Default listSubscriptions 200 response
                  x-microcks-default: true
                  value:
                    subscription:
                    - id: abc123
                      name: Example Title
                      topicString: example_value
                      destination: example_value
                      type: admin
                      durability: durable
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /admin/qmgr/{qmgrName}/subscription/{subscriptionId}:
    get:
      operationId: getSubscription
      summary: Get Subscription Details
      description: Returns details of a specific subscription.
      tags:
      - Subscriptions
      parameters:
      - $ref: '#/components/parameters/qmgrName'
      - name: subscriptionId
        in: path
        required: true
        description: Subscription identifier
        schema:
          type: string
        example: '500123'
      responses:
        '200':
          description: Subscription details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Subscription'
              examples:
                Getsubscription200Example:
                  summary: Default getSubscription 200 response
                  x-microcks-default: true
                  value:
                    id: abc123
                    name: Example Title
                    topicString: example_value
                    destination: example_value
                    type: admin
                    durability: durable
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteSubscription
      summary: Delete a Subscription
      description: Deletes a subscription from the queue manager.
      tags:
      - Subscriptions
      parameters:
      - $ref: '#/components/parameters/qmgrName'
      - name: subscriptionId
        in: path
        required: true
        schema:
          type: string
        example: '500123'
      responses:
        '204':
          description: Subscription deleted
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /admin/qmgr/{qmgrName}/channel:
    get:
      operationId: listChannels
      summary: List Channels
      description: Returns a list of channels on the specified queue manager.
      tags:
      - Channels
      parameters:
      - $ref: '#/components/parameters/qmgrName'
      - name: name
        in: query
        description: Channel name filter
        schema:
          type: string
        example: Example Title
      - name: type
        in: query
        description: Channel type filter
        schema:
          type: string
          enum:
          - sender
          - receiver
          - server
          - requester
          - serverConnection
          - clusterSender
          - clusterReceiver
          - amqp
        example: sender
      responses:
        '200':
          description: List of channels
          content:
            application/json:
              schema:
                type: object
                properties:
                  channel:
                    type: array
                    items:
                      $ref: '#/components/schemas/Channel'
              examples:
                Listchannels200Example:
                  summary: Default listChannels 200 response
                  x-microcks-default: true
                  value:
                    channel:
                    - name: Example Title
                      type: sender
                      description: A sample description.
                      connectionName: example_value
                      transmissionQueue: example_value
                      status:
                        state: running
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createChannel
      summary: Create a Channel
      description: Creates a new channel on the queue manager.
      tags:
      - Channels
      parameters:
      - $ref: '#/components/parameters/qmgrName'

# --- truncated at 32 KB (49 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/websphere/refs/heads/main/openapi/websphere-mq-rest-api.yml