[V9.1.0 Jul 2018]

GET

Use the HTTP GET method with the qmgr resource to request basic information and status information about queue managers.

The information that is returned is similar to the information that is returned by the dspmq (display queue managers) control command, the DISPLAY QMSTATUS MQSC command, and the Inquire Queue Manager Status PCF command.

Resource URL

https://host:port/ibmmq/rest/v2/admin/qmgr/{qmgrName}
Note: If you are using a version of IBM® MQ earlier than IBM MQ 9.1.5 you must use the v1 resource URL instead. That is, you must substitute v1 where the URL uses v2. For example, the first part of the URL is as follows: https://host:port/ibmmq/rest/v1/
qmgrName
Optionally specifies the name of the queue manager to query.
You can specify a remote queue manager as the qmgrName. If you specify a remote queue manager, you must configure a gateway queue manager. For more information, see Remote administration using the REST API.
If you specify a remote queue manager, only the following attributes are returned:
  • name
  • started
  • channelInitiatorState
  • ldapConnectionState
  • connectionCount
  • publishSubscribeState
The queue manager name is case-sensitive.
If the queue manager name includes a forward slash, a period, or a percent sign, these characters must be URL encoded:
  • A forward slash (/) must be encoded as %2F.
  • A percent sign (%) must be encoded as %25.
  • A period (.) must be encoded as %2E.

You can use HTTP instead of HTTPS if you enable HTTP connections. For more information about enabling HTTP, see Configuring HTTP and HTTPS ports.

Optional query parameters

attributes={extended|*|extended.attributeName,...}
[UNIX, Linux, Windows][MQ Appliance]This parameter is only available on the IBM MQ Appliance, UNIX, Linux®, and Windows.
This parameter is not valid if you specify a remote queue manager in the resource URL.
extended
Specifies that all extended attributes are retrieved.
*
Specifies all attributes. This parameter is equivalent to extended.
extended.attributeName,...
Specifies a comma-separated list of extended attributes to return.
For example, to return the installationName attribute, specify extended.installationName.
For a full list of extended attributes, see Extended attributes for queue managers.
status={status|*|status.attributeName,...}
status
Specifies that all status attributes are returned.
*
Specifies all attributes. This parameter is equivalent to status.
status.attributeName,...
Specifies a comma-separated list of queue manager status attributes to return.
The queue manager must be running to return the status attributes.
For example, to return the connectionCount attribute, specify status.connectionCount.
For a full list of status attributes, see Status attributes for queue managers.
state=state
Specifies that only queue managers with the specified state are returned. The following values are valid values:
On all platforms:
  • running
  • ended
[UNIX, Linux, Windows]On UNIX, Linux, and Windows:
  • endedImmediately
  • endedPreemptively
  • endedUnexpectedly
  • starting
  • quiescing
  • endingImmediately
  • endingPreemptively
  • beingDeleted
  • stateNotAvailable
  • runningAsStandby
  • runningElsewhere
You can specify the state=state optional query parameter only if you do not specify a queue manager name within the resource URL. That is, you cannot request information about a specific queue manager in a specific state.

Request headers

The following headers must be sent with the request:
Authorization
This header must be sent if you are using basic authentication. For more information, see Using HTTP basic authentication with the REST API.
The following headers can optionally be sent with the request:
ibm-mq-rest-gateway-qmgr
This header specifies the queue manager that is to be used as the gateway queue manager. The gateway queue manager is used to connect to a remote queue manager. For more information, see Remote administration using the REST API.

Request body format

None.

Security requirements

The caller must be authenticated to the mqweb server and must be a member of one or more of the MQWebAdmin, MQWebAdminRO, or MQWebUser roles. For more information about security for the administrative REST API, see IBM MQ Console and REST API security.

If token based security is used, the LTPA token that is used to authenticate the user must be provided with the request as a cookie. For more information about token-based authentication, see Using token-based authentication with the REST API.

When the status optional query parameter is specified, the ability to issue certain PCF commands is required. If only a subset of the status attributes is to be returned, only the permissions for the corresponding PCF commands are required. The security principal of the caller must be granted the ability to issue the following PCF commands for the specified queue manager:
  • [UNIX, Linux, Windows][MQ Appliance]On the IBM MQ Appliance, UNIX, Linux, and Windows:
    • To return the started, channelInitatorState, ldapConnectionState, or connectionCount attributes, authority to issue the MQCMD_INQUIRE_Q_MGR_STATUS PCF command must be granted.
    • To return the publishSubscribeState attribute, authority to issue the MQCMD_INQUIRE_PUBSUB_STATUS PCF command must be granted.
  • [z/OS]On z/OS®:
    • To return the started attribute, authority to issue the MQCMD_INQUIRE_LOG PCF command must be granted.
    • To return the channelInitiatorState attribute, authority to issue the MQCMD_INQUIRE_CHANNEL_INIT PCF command must be granted.
    • To return the connectionCount attribute, authority to issue the MQCMD_INQUIRE_CONNECTION PCF command must be granted.
    • To return the publishSubscribeState attribute, authority to issue the MQCMD_INQUIRE_PUBSUB_STATUS PCF command must be granted.

[UNIX, Linux, Windows]On UNIX, Linux, and Windows, you can grant authority to security principals to use IBM MQ resources by using the setmqaut command. For more information, see setmqaut (grant or revoke authority).

[z/OS]On z/OS, see Setting up security on z/OS.

Response status codes

200
Queue manager information retrieved successfully.
400
Invalid data provided.
For example, invalid queue manager specified.
401
Not authenticated.
The caller must be authenticated to the mqweb server and must be a member of one or more of the MQWebAdmin, MQWebAdminRO, or MQWebUser roles. For more information, see Security requirements.
404
Queue manager does not exist.
500
Server issue or error code from IBM MQ.

Response headers

The following headers are returned with the response:
Content-Type
This header is returned with a value of application/json;charset=utf-8.
ibm-mq-rest-gateway-qmgr
This header is returned if a remote queue manager is specified in the resource URL. The value of this header is the name of the queue manager that is used as the gateway queue manager.

Response body format

The response is in JSON format in UTF-8 encoding. The response contains an outer JSON object that contains a single JSON array called qmgr. Each element in the array is a JSON object that represents information about a queue manager. Each JSON object contains the following attributes:

name
String.
The queue manager name.
state
String.
This attribute is not returned if the queue manager that is specified in the resource URL is a remote queue manager.
One of the following values:
On all platforms:
  • running
  • ended
[UNIX, Linux, Windows]On UNIX, Linux, and Windows:
  • endedImmediately
  • endedPreemptively
  • endedUnexpectedly
  • starting
  • quiescing
  • endingImmediately
  • endingPreemptively
  • beingDeleted
  • stateNotAvailable
  • runningAsStandby
  • runningElsewhere

The following objects can be included in the JSON object that represents information about a queue. Which objects and attributes are returned depends on the URL that was specified for the request:

status
Contains attributes that are related to status information for the queue manager.
extended
[UNIX, Linux, Windows][MQ Appliance]These attributes are only available on the IBM MQ Appliance, UNIX, Linux, and Windows.
These attributes are not returned if the queue manager that is specified in the resource URL is a remote queue manager.
Contains extended attributes.
For more information, see Response body attributes for queue managers.

If an error occurs, the response body contains an error message. For more information, see REST API error handling.

[UNIX, Linux, Windows]

Examples for UNIX, Linux, and Windows

The following examples use the v2 resource URL. If you are using a version of IBM MQ earlier than IBM MQ 9.1.5 you must use the v1 resource URL instead. That is, in the resource URL, substitute v1 where the example URL uses v2.

  • The following example gets basic information about all queue managers. The following URL is used with the HTTP GET method:
    https://localhost:9443/ibmmq/rest/v2/admin/qmgr
    The following JSON response is returned:
    {
        "qmgr": [{
            "name": "QM_T1",
            "state": "endedImmediately"
        }, {
           "name": "RESTQM0",
           "state": "endedUnexpectedly"
        }]
    }
    
  • The following example gets extended information about the queue manager QM_T1. The following URL is used with the HTTP GET method:
    https://localhost:9443/ibmmq/rest/v2/admin/qmgr/QM_T1?attributes=extended
    The following JSON response is returned:
    {
        "qmgr": [{
            "extended": {
               "installationName": "Installation1",
               "isDefaultQmgr": false,
               "permitStandby": "notApplicable"
            },
            "name": "QM_T1",
            "state": "endedImmediately"
        }]
    }
    
  • The following example gets specific information about all queue managers. The following URL is used with the HTTP GET method:
    https://localhost:9443/ibmmq/rest/v2/admin/qmgr?attributes=extended.permitStandby
    The following JSON response is returned:
    {
        "qmgr": [{
            "extended": {
                "permitStandby": "notApplicable"
            },
            "name": "QM_T1",
            "state": "endedImmediately"
        }, {
            "extended": {
                "permitStandby": "notApplicable"
            },
            "name": "RESTQM0",
            "state": "endedUnexpectedly"
        }]
    }
    
  • [V9.1.0 Jul 2018]The following example gets status for the queue manager QM1. The following URL is used with the HTTP GET method:
    http://localhost:9443/ibmmq/rest/v2/admin/qmgr/QM1?status=*
    The following JSON response is returned:
    {
        "qmgr": 
        [{
            "name": "QM1",
            "state": "running",
            "status":
            {
                "started":"2016-11-08T11:02:29.000Z",
                "channelInitiatorState":"running",
                "ldapConnectionState":"disconnected",
                "connectionCount":23,
                "publishSubscribeState":"running"
            }
        }]
    }
    
[z/OS]

Examples for z/OS

The following examples use the v2 resource URL. If you are using a version of IBM MQ earlier than IBM MQ 9.1.5 you must use the v1 resource URL instead. That is, in the resource URL, substitute v1 where the example URL uses v2.

  • The following example gets basic information about all queue managers. The following URL is used with the HTTP GET method:
    https://REST.example.com:9443/ibmmq/rest/v2/admin/qmgr
    The following JSON response is returned:
    {
        "qmgr": [{
            "name": "MQ5B",
            "state": "ended"
        }]
    }