canonical: https://jentic.com/apis/ibm.com/mq-cloud-api

# IBM MQ Cloud API

IBM MQ on Cloud is the managed offering of IBM MQ that runs queue managers as a service on IBM Cloud, removing the need to operate the underlying virtual machines or storage. The MQ Cloud API exposes provisioning and management operations for queue managers, queue manager users, and applications attached to a service instance, so platform teams can spin up and tear down MQ environments through automation rather than the IBM Cloud console. It is suited to teams treating MQ as ephemeral or environment-scoped infrastructure.

## For AI agents

Provision and manage IBM MQ queue managers on IBM Cloud - create, configure, monitor, and tear down queue managers and their attached users and applications.

## Scope

Does not handle messaging itself, queue or channel administration, or MQTT - use for provisioning and managing IBM MQ on Cloud queue managers, users, and applications only.

## Capabilities

- Provision and tear down queue managers via /{serviceInstanceGuid}/queue_managers
- Inspect queue manager status via /{serviceInstanceGuid}/queue_managers/{queueManagerId}/status
- Manage users on a service instance via /{serviceInstanceGuid}/users
- Manage applications attached to a service instance via /{serviceInstanceGuid}/applications
- Look up the configuration of a specific queue manager by ID

## Use cases

### Environment Provisioning

Stand up a queue manager per environment (dev, staging, prod) on IBM MQ on Cloud as part of a broader infrastructure pipeline. POST to /{serviceInstanceGuid}/queue_managers to create the queue manager, then poll /{serviceInstanceGuid}/queue_managers/{queueManagerId}/status until it reaches a running state. Tear it down with DELETE on the same resource at the end of the environment lifecycle.

Example prompt: POST a new queue manager named QM_DEV to /{serviceInstanceGuid}/queue_managers, then poll /status every 30 seconds until it returns running.

### Queue Manager User Management

Provision queue manager users with the right role for an application or human operator. POST to /{serviceInstanceGuid}/users to add a user, then list /{serviceInstanceGuid}/users to confirm membership. This is the auth surface that pairs with downstream IBM MQ REST API messaging calls against the same queue manager.

Example prompt: Create a user named app_orders on /{serviceInstanceGuid}/users with the messaging role and confirm by listing the users on the service instance.

### Application Registration

Register an application with a service instance so it can connect to the queue manager with a known identity. The /{serviceInstanceGuid}/applications endpoint covers create and list operations, which makes it possible to script application onboarding alongside the queue manager itself rather than configuring it manually after provisioning.

Example prompt: POST a new application named order-service to /{serviceInstanceGuid}/applications and verify it is listed for the service instance.

### AI Agent Cloud MQ Operator

An AI agent uses Jentic to provision queue managers on demand for short-lived test environments, then tears them down when the test completes. Through Jentic, the agent searches by intent, loads the queue manager creation schema, and executes calls without holding the raw IAM bearer token. Typical agent integration is under one hour because the provisioning surface has only a handful of resources.

Example prompt: Search Jentic for 'create a queue manager on IBM MQ Cloud', load the schema, and create a queue manager named QM_TEST_RUN_42.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/{serviceInstanceGuid}/queue_managers` | List queue managers on a service instance |
| POST | `/{serviceInstanceGuid}/queue_managers` | Provision a new queue manager |
| GET | `/{serviceInstanceGuid}/queue_managers/{queueManagerId}` | Get a queue manager by ID |
| GET | `/{serviceInstanceGuid}/queue_managers/{queueManagerId}/status` | Get queue manager status |
| GET | `/{serviceInstanceGuid}/users` | List service instance users |
| GET | `/{serviceInstanceGuid}/applications` | List service instance applications |

## Key resources

- **Queue Managers** — Provision, inspect, and tear down queue managers
- **Users** — Manage queue manager users on a service instance
- **Applications** — Register applications attached to a service instance

## Why Jentic

- **Setup:** Wiring the IBM MQ Cloud API by hand means handling its bearer-token auth, choosing the right regional mq2.cloud.ibm.com host, and mapping its queue-manager provisioning routes yourself. Through Jentic you install once, import the IBM MQ Cloud API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** MQ Cloud puts the service instance and queue manager ids in the URL path (/{serviceInstanceGuid}/queue_managers/{queueManagerId}), so a rule can pin your agent to one service instance: it can read queue managers, users, and applications there. You choose the operations it may call, so provisioning a new queue manager is not included unless you add it.
- **Credential handling:** Your MQ Cloud token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list queue managers for a service instance' or 'check a queue manager's status', and Jentic returns the matching operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **IBM MQ REST API** — MQ Cloud provisions queue managers; the IBM MQ REST API administers and sends messages to those queue managers.
- **Azure Service Bus Management API** — Azure Service Bus is a fully-managed cloud messaging service; MQ Cloud is the IBM-platform equivalent.
- **IBM API Connect Management API** — API Connect publishes the APIs that may be backed by services running on IBM MQ Cloud.

## FAQ

### What authentication does the IBM MQ Cloud API use?

The MQ Cloud API uses HTTP bearer authentication with an IBM Cloud IAM token. Through Jentic, the IAM credential is stored in your Jentic One instance and the agent calls MQ Cloud via a scoped Jentic credential, never the raw IAM token.

### Can I provision a queue manager with this API?

Yes. POST to /{serviceInstanceGuid}/queue_managers to create a queue manager on a given service instance, then poll /{serviceInstanceGuid}/queue_managers/{queueManagerId}/status until the queue manager reaches a running state.

### How do I manage queue manager users and applications?

Use /{serviceInstanceGuid}/users to manage the human and service users on a queue manager and /{serviceInstanceGuid}/applications to register applications. The two together cover the identity surface the runtime MQ REST API expects.

### How do I provision MQ Cloud through Jentic?

Search Jentic for 'create a queue manager on IBM MQ Cloud', load the /{serviceInstanceGuid}/queue_managers schema, and execute. Install the SDK with pip install jentic and run the async search, load, execute pattern.

### Is the IBM MQ Cloud API the same as the IBM MQ REST API?

No. The MQ Cloud API provisions and manages queue managers as a managed service, while the IBM MQ REST API operates on a queue manager that already exists - administering queues and channels, and putting or getting messages.

### What are the rate limits for the IBM MQ Cloud API?

IBM Cloud applies account-level IAM-protected rate limits rather than a published per-endpoint limit. Treat 429 responses as backpressure and retry with exponential backoff, particularly when polling status endpoints during provisioning.

### Can I limit what my agent is allowed to do with the IBM MQ Cloud API?

Yes. Because you self-host Jentic One, your own rules decide which MQ Cloud operations and which stored credential the agent may use. Since the service instance and queue manager ids sit in the URL path (/{serviceInstanceGuid}/queue_managers/{queueManagerId}), you can pin the agent to a single service instance and grant only read access to its queue managers, users, and applications. Provisioning a new queue manager or tearing one down stays out of reach unless you explicitly add those operations.
