Use RabbitMQ 's Management HTTP API to publish and inspect messages, manage queue topology, and check broker health. Messages are published to exchanges and routed through bindings into queues.
The default acknowledgement mode requeues messages after reading them, so an inspection workflow can leave messages available to other consumers.
Before you start
The management plugin must be enabled and reachable from Sim. It listens on port 15672 by default and is separate from the AMQP port (5672). Self-hosted brokers enable it with rabbitmq-plugins enable rabbitmq_management; managed providers expose it as a management or console URL.
The management URL must use https unless the broker is on a loopback host. Credentials travel on every request as HTTP basic auth, so plain http to a remote broker would put them on the wire in the clear — Sim rejects it rather than sending them.
The user you authenticate as needs the management tag at minimum, plus read and write permissions on the virtual host you target. Administrative operations require broader permissions.
Publishing and reading messages over the HTTP API is convenient but not a high-throughput transport — RabbitMQ opens a new connection per request. It is well suited to workflow-rate traffic, inspection, and operational automation; a service consuming thousands of messages per second should use an AMQP client instead.
Queue statistics such as message and consumer counts are collected on an interval , so a queue declared moments ago may report them as empty until the broker's next sample.
Reading messages is bounded per call so one retrieval cannot exceed Sim's response limit. A batch is capped at 50 messages, payloads are truncated (each message reports whether it was), and a large batch shortens payloads further. AMQP properties and headers are returned in full — the broker offers no way to truncate them — so retrieving several messages carrying very large headers may still hit the limit; lower the count if that happens.
Connect agents to a RabbitMQ broker through its Management HTTP API. Publish messages to exchanges, read messages off queues, declare queues, exchanges, bindings, and policies, and inspect broker health, queue depth, consumers, connections, and cluster nodes. Works with self-hosted brokers and managed offerings such as CloudAMQP as long as the management plugin is reachable.
Publish a message to a RabbitMQ exchange with a routing key. Reports whether the message was routed to at least one queue.
Inputs and outputsParameter Type Required Description hoststring Yes RabbitMQ Management API base URL, e.g. https://rabbit.example.com:15672 . Must use https unless the broker is on a loopback host. usernamestring Yes RabbitMQ username passwordstring Yes RabbitMQ password vhoststring No Virtual host to operate on. Defaults to / exchangestring No Exchange to publish to. Leave empty to publish to the default exchange, which routes by queue name. Empty is a valid value, so this is not required. routingKeystring Yes Routing key. When publishing to the default exchange this is the target queue name. payloadstring Yes Message body to publish payloadEncodingstring No How the payload is encoded: string (default) or base64 propertiesstring No AMQP basic properties as a JSON object, e.g. {"delivery_mode":2,"content_type":"application/json"} headersstring No Message headers as a JSON object, e.g. {"source":"sim"}
Parameter Type Description routedboolean Whether the message was routed to at least one queue. False means no binding matched and the message was dropped. exchangestring Exchange the message was published to routingKeystring Routing key the message was published with
Retrieve messages from a RabbitMQ queue. Defaults to requeueing the messages so they stay available to real consumers.
Inputs and outputsParameter Type Required Description hoststring Yes RabbitMQ Management API base URL, e.g. https://rabbit.example.com:15672 . Must use https unless the broker is on a loopback host. usernamestring Yes RabbitMQ username passwordstring Yes RabbitMQ password vhoststring No Virtual host to operate on. Defaults to / queuestring Yes Queue to read messages from countnumber No Maximum number of messages to retrieve, from 1 to 50. Defaults to 1 ackmodestring No How retrieved messages are handled: ack_requeue_true (default, leaves messages in the queue), ack_requeue_false (removes them), reject_requeue_true, or reject_requeue_false encodingstring No auto (default) returns readable text where possible, base64 always returns base64 truncatenumber No Truncate payloads longer than this many bytes. Defaults to 50000, capped at 1000000, and lowered further at high counts so the whole batch stays inside the response limit. Each message reports whether it was truncated
Parameter Type Description queueNamestring Queue the messages were read from countnumber Number of messages retrieved messagesarray Retrieved messages, empty when the queue holds nothing
List queues in a RabbitMQ virtual host with their depth, consumer count, and configuration.
Inputs and outputsParameter Type Required Description hoststring Yes RabbitMQ Management API base URL, e.g. https://rabbit.example.com:15672 . Must use https unless the broker is on a loopback host. usernamestring Yes RabbitMQ username passwordstring Yes RabbitMQ password vhoststring No Virtual host to operate on. Defaults to / pagenumber No Page of results to return, starting at 1 pageSizenumber No Queues per page, from 1 to 500. Defaults to 50 namestring No Filter queues whose name contains this value useRegexboolean No Treat the name filter as a regular expression
Parameter Type Description queuesarray Queues in the virtual host countnumber Number of queues returned on this page totalCountnumber Total queues in the virtual host before filtering pagenumber Page number returned pageCountnumber Total number of pages
Read a single RabbitMQ queue, including its depth, consumer count, and declaration settings.
Inputs and outputsParameter Type Required Description hoststring Yes RabbitMQ Management API base URL, e.g. https://rabbit.example.com:15672 . Must use https unless the broker is on a loopback host. usernamestring Yes RabbitMQ username passwordstring Yes RabbitMQ password vhoststring No Virtual host to operate on. Defaults to / queuestring Yes Queue name to read
Parameter Type Description queueobject The requested queue
Declare a RabbitMQ queue. Declaring a queue that already exists with the same settings succeeds without changing it.
Inputs and outputsParameter Type Required Description hoststring Yes RabbitMQ Management API base URL, e.g. https://rabbit.example.com:15672 . Must use https unless the broker is on a loopback host. usernamestring Yes RabbitMQ username passwordstring Yes RabbitMQ password vhoststring No Virtual host to operate on. Defaults to / queuestring Yes Name of the queue to declare durableboolean No Whether the queue survives a broker restart. Defaults to true autoDeleteboolean No Delete the queue when its last consumer disconnects. Defaults to false argumentsstring No Queue arguments as a JSON object, e.g. {"x-queue-type":"quorum","x-message-ttl":60000}
Parameter Type Description queueNamestring Name of the declared queue vhoststring Virtual host the queue was declared in createdboolean Whether the declaration succeeded
Delete a RabbitMQ queue and every message still in it. Can be guarded so the delete only happens when the queue is unused or empty.
Inputs and outputsParameter Type Required Description hoststring Yes RabbitMQ Management API base URL, e.g. https://rabbit.example.com:15672 . Must use https unless the broker is on a loopback host. usernamestring Yes RabbitMQ username passwordstring Yes RabbitMQ password vhoststring No Virtual host to operate on. Defaults to / queuestring Yes Name of the queue to delete ifUnusedboolean No Only delete the queue when it has no consumers ifEmptyboolean No Only delete the queue when it holds no messages
Parameter Type Description queueNamestring Name of the deleted queue vhoststring Virtual host the queue was deleted from deletedboolean Whether the queue was deleted
Discard every ready message in a RabbitMQ queue while leaving the queue itself in place.
Inputs and outputsParameter Type Required Description hoststring Yes RabbitMQ Management API base URL, e.g. https://rabbit.example.com:15672 . Must use https unless the broker is on a loopback host. usernamestring Yes RabbitMQ username passwordstring Yes RabbitMQ password vhoststring No Virtual host to operate on. Defaults to / queuestring Yes Name of the queue to purge
Parameter Type Description queueNamestring Name of the purged queue vhoststring Virtual host the queue belongs to purgedboolean Whether the queue was purged
List exchanges in a RabbitMQ virtual host with their type and declaration settings.
Inputs and outputsParameter Type Required Description hoststring Yes RabbitMQ Management API base URL, e.g. https://rabbit.example.com:15672 . Must use https unless the broker is on a loopback host. usernamestring Yes RabbitMQ username passwordstring Yes RabbitMQ password vhoststring No Virtual host to operate on. Defaults to / pagenumber No Page of results to return, starting at 1 pageSizenumber No Exchanges per page, from 1 to 500. Defaults to 50 namestring No Filter exchanges whose name contains this value useRegexboolean No Treat the name filter as a regular expression
Parameter Type Description exchangesarray Exchanges in the virtual host countnumber Number of exchanges returned on this page totalCountnumber Total exchanges in the virtual host before filtering pagenumber Page number returned pageCountnumber Total number of pages
Read a single RabbitMQ exchange and the settings it was declared with.
Inputs and outputsParameter Type Required Description hoststring Yes RabbitMQ Management API base URL, e.g. https://rabbit.example.com:15672 . Must use https unless the broker is on a loopback host. usernamestring Yes RabbitMQ username passwordstring Yes RabbitMQ password vhoststring No Virtual host to operate on. Defaults to / exchangestring No Exchange name to read. Leave empty for the default exchange, which is a valid value, so this is not required
Parameter Type Description exchangeobject The requested exchange
Declare a RabbitMQ exchange. Declaring an exchange that already exists with the same settings succeeds without changing it.
Inputs and outputsParameter Type Required Description hoststring Yes RabbitMQ Management API base URL, e.g. https://rabbit.example.com:15672 . Must use https unless the broker is on a loopback host. usernamestring Yes RabbitMQ username passwordstring Yes RabbitMQ password vhoststring No Virtual host to operate on. Defaults to / exchangestring Yes Name of the exchange to declare exchangeTypestring No Routing behaviour: direct (exact routing key, default), topic (wildcard patterns), fanout (every bound queue), or headers (match on binding arguments) durableboolean No Whether the exchange survives a broker restart. Defaults to true autoDeleteboolean No Delete the exchange once its last binding is removed. Defaults to false internalboolean No Internal exchanges cannot be published to directly, only bound from another exchange. Defaults to false argumentsstring No Exchange arguments as a JSON object, e.g. {"alternate-exchange":"unrouted"} to capture messages that match no binding
Parameter Type Description exchangeNamestring Name of the declared exchange vhoststring Virtual host the exchange was declared in createdboolean Whether the declaration succeeded
Delete a RabbitMQ exchange and every binding attached to it. Publishers targeting it will fail afterwards.
Inputs and outputsParameter Type Required Description hoststring Yes RabbitMQ Management API base URL, e.g. https://rabbit.example.com:15672 . Must use https unless the broker is on a loopback host. usernamestring Yes RabbitMQ username passwordstring Yes RabbitMQ password vhoststring No Virtual host to operate on. Defaults to / exchangestring Yes Name of the exchange to delete ifUnusedboolean No Only delete the exchange when nothing is bound to it
Parameter Type Description exchangeNamestring Name of the deleted exchange vhoststring Virtual host the exchange was deleted from deletedboolean Whether the exchange was deleted
List the bindings that route messages into a RabbitMQ queue, including the implicit default-exchange binding.
Inputs and outputsParameter Type Required Description hoststring Yes RabbitMQ Management API base URL, e.g. https://rabbit.example.com:15672 . Must use https unless the broker is on a loopback host. usernamestring Yes RabbitMQ username passwordstring Yes RabbitMQ password vhoststring No Virtual host to operate on. Defaults to / queuestring Yes Queue whose bindings should be listed
Parameter Type Description queueNamestring Queue the bindings route into bindingsarray Bindings targeting the queue. The entry with an empty source is the implicit default-exchange binding countnumber Number of bindings returned
List everything an exchange routes to, so you can see which routing keys reach which queues.
Inputs and outputsParameter Type Required Description hoststring Yes RabbitMQ Management API base URL, e.g. https://rabbit.example.com:15672 . Must use https unless the broker is on a loopback host. usernamestring Yes RabbitMQ username passwordstring Yes RabbitMQ password vhoststring No Virtual host to operate on. Defaults to / exchangestring No Exchange whose outgoing bindings should be listed. Leave empty for the default exchange, which is a valid value, so this is not required
Parameter Type Description exchangeNamestring Exchange the bindings originate from bindingsarray Bindings routing out of the exchange. An empty list means nothing it publishes can be delivered countnumber Number of bindings returned
Bind a queue or another exchange to a RabbitMQ exchange so messages matching a routing key are routed to it.
Inputs and outputsParameter Type Required Description hoststring Yes RabbitMQ Management API base URL, e.g. https://rabbit.example.com:15672 . Must use https unless the broker is on a loopback host. usernamestring Yes RabbitMQ username passwordstring Yes RabbitMQ password vhoststring No Virtual host to operate on. Defaults to / exchangestring Yes Source exchange to bind from queuestring Yes Destination queue, or destination exchange when binding exchange to exchange destinationTypestring No Whether the destination is a queue (default) or an exchange. Exchange-to-exchange bindings chain routing between exchanges routingKeystring No Routing key the binding matches. Topic exchanges accept wildcards such as orders.* argumentsstring No Binding arguments as a JSON object. Headers exchanges match on these, e.g. {"x-match":"all","type":"invoice"}
Parameter Type Description exchangestring Source exchange the binding reads from queueNamestring Destination queue the binding routes into routingKeystring Routing key the binding matches propertiesKeystring Broker identifier addressing the new binding createdboolean Whether the binding was created
Remove a binding so an exchange stops routing its matching messages to that destination.
Inputs and outputsParameter Type Required Description hoststring Yes RabbitMQ Management API base URL, e.g. https://rabbit.example.com:15672 . Must use https unless the broker is on a loopback host. usernamestring Yes RabbitMQ username passwordstring Yes RabbitMQ password vhoststring No Virtual host to operate on. Defaults to / exchangestring Yes Source exchange the binding reads from destinationstring Yes Destination queue or exchange the binding routes to destinationTypestring No Whether the destination is a queue (default) or an exchange propertiesKeystring Yes Broker identifier for the binding, taken from List Bindings or Create Binding. It is the routing key for a simple binding, ~ for an empty routing key, and a hashed value when the binding has arguments
Parameter Type Description exchangestring Source exchange the binding read from destinationstring Destination the binding routed to propertiesKeystring Broker identifier of the deleted binding deletedboolean Whether the binding was deleted
Read broker-wide RabbitMQ status: version, cluster name, object totals, queue depth totals, and message rates.
Inputs and outputsParameter Type Required Description hoststring Yes RabbitMQ Management API base URL, e.g. https://rabbit.example.com:15672 . Must use https unless the broker is on a loopback host. usernamestring Yes RabbitMQ username passwordstring Yes RabbitMQ password vhoststring No Virtual host to operate on. Defaults to /
Parameter Type Description rabbitmqVersionstring RabbitMQ version running on the node productNamestring Broker product name productVersionstring Broker product version erlangVersionstring Erlang runtime version clusterNamestring Name of the cluster nodestring Node that served the request objectTotalsobject Counts of brokers objects ↳ connections number Open connections ↳ channels number Open channels ↳ exchanges number Declared exchanges ↳ queues number Declared queues ↳ consumers number Registered consumers queueTotalsobject Aggregate queue depth across the broker ↳ messages number Total messages across all queues ↳ messages_ready number Messages ready for delivery ↳ messages_unacknowledged number Delivered but unacknowledged messages messageStatsjson Broker-wide message counters and rates, e.g. publish and confirm totals
Run one of the broker health checks and report whether it passed. A failing check is a normal result, not a tool error.
Inputs and outputsParameter Type Required Description hoststring Yes RabbitMQ Management API base URL, e.g. https://rabbit.example.com:15672 . Must use https unless the broker is on a loopback host. usernamestring Yes RabbitMQ username passwordstring Yes RabbitMQ password vhoststring No Virtual host to operate on. Defaults to / checkstring No Which check to run: alarms (cluster-wide resource alarms, default), local-alarms, virtual-hosts, node-is-quorum-critical, port-listener, protocol-listener, or certificate-expiration portnumber No Port to verify a listener on. Required for the port-listener check protocolstring No Protocol to verify a listener for, e.g. amqp, amqp/ssl, mqtt, stomp, or http. Required for the protocol-listener check withinnumber No How far ahead to look for expiring certificates. Required for the certificate-expiration check unitstring No Unit for the certificate-expiration window: days, weeks, months (default), or years
Parameter Type Description checkstring The health check that was run healthyboolean True when the check reported status ok statusstring Raw status reported by the broker: ok or failed reasonstring Explanation the broker gave, present on failures and on some passes detailsjson Full check body, including check-specific fields such as the ports or protocols found
List the cluster nodes with memory, disk, file-descriptor, and alarm state. A fired alarm blocks publishers broker-wide.
Inputs and outputsParameter Type Required Description hoststring Yes RabbitMQ Management API base URL, e.g. https://rabbit.example.com:15672 . Must use https unless the broker is on a loopback host. usernamestring Yes RabbitMQ username passwordstring Yes RabbitMQ password vhoststring No Virtual host to operate on. Defaults to /
Parameter Type Description nodesarray Cluster nodes and their resource headroom countnumber Number of nodes in the cluster
List the virtual hosts on the broker with their message totals, so you can discover which scopes exist.
Inputs and outputsParameter Type Required Description hoststring Yes RabbitMQ Management API base URL, e.g. https://rabbit.example.com:15672 . Must use https unless the broker is on a loopback host. usernamestring Yes RabbitMQ username passwordstring Yes RabbitMQ password vhoststring No Virtual host to operate on. Defaults to /
Parameter Type Description vhostsarray Virtual hosts the authenticated user can see countnumber Number of virtual hosts returned
List client connections to the broker with their user, state, and channel count. Connections are cluster-wide, not scoped to one virtual host.
Inputs and outputsParameter Type Required Description hoststring Yes RabbitMQ Management API base URL, e.g. https://rabbit.example.com:15672 . Must use https unless the broker is on a loopback host. usernamestring Yes RabbitMQ username passwordstring Yes RabbitMQ password vhoststring No Virtual host to operate on. Defaults to / pagenumber No Page of results to return, starting at 1 pageSizenumber No Connections per page, from 1 to 500. Defaults to 50 namestring No Filter connections whose name contains this value useRegexboolean No Treat the name filter as a regular expression
Parameter Type Description connectionsarray Open client connections countnumber Number of connections returned on this page totalCountnumber Total connections before filtering pagenumber Page number returned pageCountnumber Total number of pages
List open channels with their prefetch limit and unacknowledged message count, which is where stalled consumers show up. Channels are cluster-wide, not scoped to one virtual host.
Inputs and outputsParameter Type Required Description hoststring Yes RabbitMQ Management API base URL, e.g. https://rabbit.example.com:15672 . Must use https unless the broker is on a loopback host. usernamestring Yes RabbitMQ username passwordstring Yes RabbitMQ password vhoststring No Virtual host to operate on. Defaults to / pagenumber No Page of results to return, starting at 1 pageSizenumber No Channels per page, from 1 to 500. Defaults to 50 namestring No Filter channels whose name contains this value useRegexboolean No Treat the name filter as a regular expression
Parameter Type Description channelsarray Open channels countnumber Number of channels returned on this page totalCountnumber Total channels before filtering pagenumber Page number returned pageCountnumber Total number of pages
List the consumers subscribed in a virtual host. An empty result for a queue with a backlog means nothing is processing it.
Inputs and outputsParameter Type Required Description hoststring Yes RabbitMQ Management API base URL, e.g. https://rabbit.example.com:15672 . Must use https unless the broker is on a loopback host. usernamestring Yes RabbitMQ username passwordstring Yes RabbitMQ password vhoststring No Virtual host to operate on. Defaults to /
Parameter Type Description consumersarray Consumers currently subscribed in the virtual host countnumber Number of consumers returned
List the policies in a virtual host. Policies are how dead-lettering, TTLs, and length limits get applied to matching queues and exchanges.
Inputs and outputsParameter Type Required Description hoststring Yes RabbitMQ Management API base URL, e.g. https://rabbit.example.com:15672 . Must use https unless the broker is on a loopback host. usernamestring Yes RabbitMQ username passwordstring Yes RabbitMQ password vhoststring No Virtual host to operate on. Defaults to /
Parameter Type Description policiesarray Policies defined in the virtual host countnumber Number of policies returned
Create or replace a RabbitMQ policy, applying settings such as dead-lettering, TTLs, or length limits to every queue or exchange whose name matches a pattern.
Inputs and outputsParameter Type Required Description hoststring Yes RabbitMQ Management API base URL, e.g. https://rabbit.example.com:15672 . Must use https unless the broker is on a loopback host. usernamestring Yes RabbitMQ username passwordstring Yes RabbitMQ password vhoststring No Virtual host to operate on. Defaults to / policyNamestring Yes Name of the policy. Reusing an existing name replaces that policy patternstring Yes Regular expression matched against queue or exchange names, e.g. ^orders. to match every name starting with orders. definitionstring Yes Settings to apply, as a JSON object, e.g. {"dead-letter-exchange":"dlx","message-ttl":86400000,"max-length":10000} prioritynumber No Priority, defaulting to 0. When several policies match a resource only the highest-priority one applies — they do not merge applyTostring No What the policy applies to: queues (default), classic_queues, quorum_queues, streams, exchanges, or all
Parameter Type Description policyNamestring Name of the created policy vhoststring Virtual host the policy applies in createdboolean Whether the policy was created or replaced
Delete a RabbitMQ policy. Every queue and exchange it matched immediately loses the settings it applied.
Inputs and outputsParameter Type Required Description hoststring Yes RabbitMQ Management API base URL, e.g. https://rabbit.example.com:15672 . Must use https unless the broker is on a loopback host. usernamestring Yes RabbitMQ username passwordstring Yes RabbitMQ password vhoststring No Virtual host to operate on. Defaults to / policyNamestring Yes Name of the policy to delete
Parameter Type Description policyNamestring Name of the deleted policy vhoststring Virtual host the policy applied in deletedboolean Whether the policy was deleted