---
title: RabbitMQ API Integration on Truto
slug: rabbitmq
category: Application Development
canonical: "https://truto.one/integrations/detail/rabbitmq/"
---

# RabbitMQ API Integration on Truto



**Category:** Application Development  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 131 tools for RabbitMQ that AI agents can call directly.

- **list_all_rabbit_mq_aliveness_tests** — Run the RabbitMQ aliveness test, a deprecated HTTP API health check equivalent to the no-op node_health_check command that publishes and consumes a test message. Returns: routed. This endpoint has been deprecated since 2021 and is a no-op starting with RabbitMQ 4.1.0.
- **list_all_rabbit_mq_overviews** — Get RabbitMQ overview information describing the whole system, including cluster identity, node, RabbitMQ/Erlang versions, object totals, message statistics, listeners, contexts, exchange types, and rate sample-retention policies. Returns: churn_rates, cluster_name, contexts, erlang_full_version, erlang_version, exchange_types, listeners, management_version, message_stats, node, object_totals,…
- **list_all_rabbit_mq_cluster_names** — Get the name identifying a RabbitMQ cluster. Returns: name, hashing_algorithm, password_hash, tags.
- **rabbit_mq_cluster_names_bulk_update** — Update the name identifying a RabbitMQ cluster by providing a new cluster name. Returns: name, tags, default_queue_type, protected_from_deletion. Required: name.
- **list_all_rabbit_mq_nodes** — List all nodes in the RabbitMQ cluster together with their metrics. Returns: name, type, uptime, processors, running, applications, auth_mechanisms, and cluster_links.
- **rabbit_mq_nodes_get_memory** — Get a memory usage breakdown of a specific RabbitMQ cluster node. Returns: memory, tags, default_queue_type, protected_from_deletion. Required: node_id.
- **get_single_rabbit_mq_node_by_id** — Get metrics for an individual RabbitMQ cluster node by name. Returns: oauth_enabled, oauth_client_id, oauth_provider_url. Required: id.
- **list_all_rabbit_mq_definitions** — Export cluster-wide RabbitMQ definitions — all exchanges, queues, bindings, users, vhosts, permissions, topic permissions, policies, parameters, and global parameters. Returns: bindings, exchanges, policies, queues, rabbit_version, users, vhosts, permissions, topic_permissions, global_parameters.
- **create_a_rabbit_mq_definition** — Import cluster-wide RabbitMQ definitions by uploading a Definition object. Definitions are merged with existing server state; conflicting immutable objects are ignored and mutable objects are overwritten. Returns an empty 204 response on success.
- **rabbit_mq_definitions_get_vhost** — Export RabbitMQ definitions for a single virtual host, including its exchanges, queues, bindings, policies, and parameters. Returns: bindings, exchanges, policies, queues, rabbit_version, tags, default_queue_type, protected_from_deletion. Required: vhost.
- **rabbit_mq_definitions_import_vhost** — Import vhost-specific RabbitMQ definitions by uploading a definitions object for a single virtual host. Definitions are merged with existing server state; conflicting immutable objects are ignored and mutable objects are overwritten. Returns an empty 204 response on success. Required: vhost.
- **list_all_rabbit_mq_feature_flags** — List all feature flags in a RabbitMQ cluster and their state. Returns: routed.
- **list_all_rabbit_mq_deprecated_features** — List all deprecated features in a RabbitMQ cluster and their current state. Returns an array of deprecated feature objects, each with the feature name and its state. No required parameters.
- **list_all_rabbit_mq_deprecated_features_useds** — List deprecated features that are currently used in the RabbitMQ cluster. Returns a list of deprecated feature usage records. No required parameters.
- **list_all_rabbit_mq_connections** — List all open RabbitMQ connections across every virtual host. Returns for each connection: name, node, state, user, vhost, peer_host, peer_port, channels, send_oct, recv_oct, connected_at. Use pagination parameters; this endpoint can otherwise produce very large responses. Default page size is 100, maximum 500. Non-AMQP connections may omit many connection-level statistics.
- **rabbit_mq_connections_list_vhost** — List the open RabbitMQ connections in a specific virtual host. Returns the same fields as the list method. Required: vhost. Use pagination parameters; this endpoint can otherwise produce very large responses. Default page size is 100, maximum 500. Non-AMQP connections may omit many connection-level statistics.
- **rabbit_mq_connections_list_by_username** — List all open RabbitMQ connections that authenticated using a specific username. Returns: name, node, recv_oct, send_oct, and connection-level statistics. Required: username. Non-AMQP connections may omit many connection-level statistics.
- **rabbit_mq_connections_delete_by_username** — Close all RabbitMQ connections authenticated by a specific username. Returns an empty 204 response on success. Required: username.
- **get_single_rabbit_mq_connection_by_id** — Get metrics for an individual RabbitMQ connection by name. Returns: name, node, user, vhost, peer_host, peer_port, channels, state, send_oct, recv_oct, connected_at. Required: id (the connection name, which must be percent-encoded). Non-AMQP connections may omit many connection-level statistics.
- **delete_a_rabbit_mq_connection_by_id** — Close a specific RabbitMQ connection by id. Returns an empty 204 response on success. Required: id.
- **list_all_rabbit_mq_channels** — List all open RabbitMQ channels. Returns: routed. Default page size is 100, maximum supported page size is 500.
- **rabbit_mq_channels_list_by_connection** — List all open channels for a specific RabbitMQ connection. Returns: connection_details, message_stats, tags, default_queue_type, protected_from_deletion. Required: connection. Default page size is 100, maximum supported page size is 500.
- **rabbit_mq_channels_list_vhost** — List all open channels in a specific RabbitMQ virtual host. Returns channel records including connection_details (owning connection info) and message_stats (message counts such as publish, deliver, and ack). Required: vhost. Default page size is 100, maximum supported page size is 500.
- **get_single_rabbit_mq_channel_by_id** — Get details about an individual RabbitMQ channel by id. Returns the channel object including connection_details, message_stats, deliveries, and consumer_details. Required: id.
- **list_all_rabbit_mq_consumers** — List all RabbitMQ consumers across all virtual hosts. Returns: arguments, routed. Default page size is 100, maximum supported page size is 500.
- **rabbit_mq_consumers_list_vhost** — List all RabbitMQ consumers in a specific virtual host. Returns: arguments, tags, default_queue_type, protected_from_deletion. Required: vhost. The default virtual host name must be percent-encoded as %2F.
- **list_all_rabbit_mq_exchanges** — List all RabbitMQ exchanges across all virtual hosts. Returns: arguments, auto_delete, durable, incoming, internal, message_stats, name, outgoing, type, user_who_performed_action, vhost.
- **update_a_rabbit_mq_exchange_by_id** — Declare (create or redeclare) an exchange in RabbitMQ by providing its type and properties. Returns an empty 201 response when a new exchange is created, or an empty 204 response when an existing exchange is redeclared. Required: vhost, id.
- **delete_a_rabbit_mq_exchange_by_id** — Delete an exchange in RabbitMQ. Set if_unused to true to make the operation a no-op if the exchange is still bound to a queue or used as a source by another exchange. Returns an empty 204 response on success. Required: vhost, id.
- **rabbit_mq_exchanges_publish** — Publish a message to a RabbitMQ exchange via the HTTP API. Returns: routed. Required: vhost, exchange, routing_key, payload, payload_encoding, properties. The HTTP API is inefficient for publishing; prefer a messaging protocol for production use.
- **rabbit_mq_exchanges_list_vhost** — List all exchanges in a RabbitMQ virtual host. Returns each exchange with name, type, durable, auto_delete, internal, arguments, vhost, and user_who_performed_action. Required: vhost.
- **rabbit_mq_exchanges_list_bindings_source** — List all bindings in which a given RabbitMQ exchange is the source. Returns: arguments, destination, destination_type, properties_key, routing_key, source, vhost, tags, default_queue_type, protected_from_deletion. Required: vhost, exchange.
- **rabbit_mq_exchanges_list_bindings_destination** — List all bindings in which a given RabbitMQ exchange is the destination. Returns: arguments, destination, destination_type, properties_key, routing_key, source, vhost, tags, default_queue_type, protected_from_deletion. Required: vhost, exchange.
- **get_single_rabbit_mq_exchange_by_id** — Get metrics of an individual RabbitMQ exchange by id within a virtual host. Returns: arguments, auto_delete, durable, incoming, internal, message_stats, name, outgoing, type, user_who_performed_action, vhost. Required: vhost, id.
- **list_all_rabbit_mq_queues** — List all RabbitMQ queues across all virtual hosts with a reduced set of fields. Returns: arguments, auto_delete, backing_queue_status, consumer_details, consumer_utilisation, consumers, deliveries, durable, effective_policy_definition, exclusive, exclusive_consumer_tag, garbage_collection, head_message_timestamp, idle_since, incoming, memory, message_bytes, message_bytes_paged_out,…
- **update_a_rabbit_mq_queue_by_id** — Declare (create or update) a RabbitMQ queue by id within a specific virtual host. Returns an empty 201 or 204 response on success. Required: vhost, id. Body accepts auto_delete, durable, arguments, and node.
- **delete_a_rabbit_mq_queue_by_id** — Delete a RabbitMQ queue by id within a specific virtual host. Returns an empty 204 response on success. Required: vhost, id. The if-empty and if-unused params (both default to true) make deletion conditional on the queue being empty and unused.
- **rabbit_mq_queues_list_bindings** — List all bindings for a specific RabbitMQ queue. Returns: arguments, destination, destination_type, properties_key, routing_key, source, vhost, tags, default_queue_type, protected_from_deletion. Required: vhost, queue.
- **rabbit_mq_queues_purge** — Purge all messages in Ready state from a RabbitMQ queue. Returns an empty 204 response on success. Required: vhost, queue.
- **rabbit_mq_queues_get_messages** — Get messages from a RabbitMQ queue by posting a consume request. Returns an array of messages each with payload, routing_key, exchange, message_count, payload_bytes, payload_encoding, properties, and redelivered flag. Required: vhost, queue. Intended for development and troubleshooting only, not for production use.
- **rabbit_mq_queues_list_vhost** — List all queues in a RabbitMQ virtual host with full metrics. Returns: arguments, auto_delete, backing_queue_status, consumer_details, consumer_utilisation, consumers, deliveries, durable, effective_policy_definition, exclusive, exclusive_consumer_tag, garbage_collection, head_message_timestamp, idle_since, incoming, memory, message_bytes, message_bytes_paged_out, message_bytes_persistent,…
- **get_single_rabbit_mq_queue_by_id** — Get metrics for a single RabbitMQ queue by id. Returns: arguments, auto_delete, backing_queue_status, consumer_details, consumer_utilisation, consumers, deliveries, durable, effective_policy_definition, exclusive, exclusive_consumer_tag, garbage_collection, head_message_timestamp, idle_since, incoming, memory, message_bytes, message_bytes_paged_out, message_bytes_persistent, message_bytes_ram,…
- **rabbit_mq_queues_action** — Trigger an action on a RabbitMQ queue. Returns an empty 204 response on success. Required: vhost, queue, action.
- **list_all_rabbit_mq_queues_detaileds** — List all RabbitMQ queues with full detailed metrics including message counts, consumer info, and runtime statistics. Returns: name, vhost, durable, auto_delete, exclusive, state, node, arguments, consumers, consumer_utilisation, exclusive_consumer_tag, messages, messages_ready, messages_unacknowledged, messages_persistent, messages_ram, messages_paged_out, messages_ready_ram,…
- **list_all_rabbit_mq_bindings** — List all RabbitMQ bindings across all virtual hosts. Returns: arguments, destination, destination_type, properties_key, routing_key, source, vhost. Default page size is 100, maximum 500.
- **rabbit_mq_bindings_list_vhost** — List all RabbitMQ bindings in a specific virtual host. Returns: arguments, tags, default_queue_type, protected_from_deletion. Required: vhost. Default page size is 100, maximum 500.
- **rabbit_mq_bindings_list_exchange_queue** — List all RabbitMQ bindings between a specific exchange and queue. Returns: arguments, destination, destination_type, properties_key, routing_key, source, vhost, tags, default_queue_type, protected_from_deletion. Required: vhost, exchange, queue. An exchange and queue can be bound together multiple times, so the list may contain several bindings for the same pair.
- **rabbit_mq_bindings_create_exchange_queue** — Bind a queue to an exchange in RabbitMQ. Returns a 201 with a Location header containing the URI of the newly created binding; no response body. Required: vhost, exchange, queue. Both body fields (routing_key, arguments) are optional.
- **rabbit_mq_bindings_get_exchange_queue_props** — Get an individual RabbitMQ binding between a specific exchange and queue by its properties key. Returns: arguments, destination, destination_type, properties_key, routing_key, source, vhost, tags, default_queue_type, protected_from_deletion. Required: vhost, exchange, queue, props. The props value is the properties_key field from a bindings listing response.
- **rabbit_mq_bindings_delete_exchange_queue_props** — Delete an individual binding between an exchange and a queue in RabbitMQ. The props path segment is the synthesised binding name (the properties_key from a bindings listing response). Returns an empty 204 response on success. Required: vhost, exchange, queue, props.
- **rabbit_mq_bindings_list_exchange_exchange** — List all exchange-to-exchange bindings between a source and destination exchange in a RabbitMQ virtual host. Returns: arguments, tags, default_queue_type, protected_from_deletion. Required: vhost, source, destination.
- **rabbit_mq_bindings_create_exchange_exchange** — Create a new exchange-to-exchange binding in RabbitMQ by POSTing to the binding factory URI. The request body optionally accepts routing_key and arguments. No response body is returned; the Location header contains the URI of the newly declared binding. Required: vhost, source, destination.
- **rabbit_mq_bindings_get_exchange_exchange_props** — Get the details of a specific exchange-to-exchange binding in RabbitMQ by its properties key. The props path segment is the synthesised binding name (the properties_key from a bindings listing response). Returns: source, destination, destination_type, routing_key, arguments, properties_key, vhost, tags, default_queue_type, protected_from_deletion. Required: vhost, source, destination, props.
- **rabbit_mq_bindings_delete_exchange_exchange_props** — Delete an exchange-to-exchange binding in RabbitMQ by its properties key. The props path segment is the synthesised binding name (the properties_key from a bindings listing response). Returns an empty 204 response on success. Required: vhost, source, destination, props.
- **list_all_rabbit_mq_vhosts** — List all virtual hosts in the RabbitMQ cluster. Returns: message_stats, messages, messages_details, messages_ready, messages_ready_details, messages_unacknowledged, messages_unacknowledged_details, name, recv_oct, recv_oct_details, send_oct, send_oct_details, tracing, cluster_state, description, tags, default_queue_type, protected_from_deletion. Default page size is 100, maximum supported page…
- **update_a_rabbit_mq_vhost_by_id** — Create or update a RabbitMQ virtual host by id with optional metadata (description, tags, default_queue_type, protected_from_deletion, tracing). All metadata fields are optional. Returns an empty 204 response on success (201 when creating a new vhost). Required: id.
- **delete_a_rabbit_mq_vhost_by_id** — Delete a RabbitMQ virtual host by id. The vhost must not be deletion-protected. Returns an empty 204 response on success. Required: id.
- **rabbit_mq_vhosts_start** — Start or restart a RabbitMQ virtual host on the cluster node. Doing this explicitly is almost never necessary as nodes ensure all vhosts are started after cluster formation. Returns an empty 204 response on success. Required: name.
- **rabbit_mq_vhosts_list_users** — List users with permissions in a specific RabbitMQ virtual host. Returns: configure, read, user, vhost, write, tags, default_queue_type, protected_from_deletion. Required: name.
- **get_single_rabbit_mq_vhost_by_id** — Get a single RabbitMQ virtual host by name. Returns: message_stats, messages, messages_details, messages_ready, messages_ready_details, messages_unacknowledged, messages_unacknowledged_details, name, recv_oct, recv_oct_details, send_oct, send_oct_details, tracing, cluster_state. Required: id (the vhost name).
- **list_all_rabbit_mq_users** — List all RabbitMQ users in the internal data store. Returns: configure, read, user, vhost, write. Only includes internal users, not LDAP or other backend users.
- **update_a_rabbit_mq_user_by_id** — Create or update a RabbitMQ user by id. A password or password_hash must be provided in the body. Returns an empty 201 or 204 response on success. Required: id.
- **delete_a_rabbit_mq_user_by_id** — Delete a RabbitMQ user by id. Returns an empty 204 response on success. Required: id.
- **rabbit_mq_users_list_permissions** — List all permissions for a given RabbitMQ user across virtual hosts. Returns: configure, read, user, vhost, write. Required: user.
- **get_single_rabbit_mq_user_by_id** — Get a single RabbitMQ user by id from the internal data store. Returns: hashing_algorithm, name, password_hash, tags, default_queue_type, protected_from_deletion. Required: id.
- **rabbit_mq_users_list_topic_permissions** — List a RabbitMQ user's topic exchange permissions across all virtual hosts. Returns: exchange, read, user, vhost, write, users. Required: user.
- **list_all_rabbit_mq_users_without_permissions** — List RabbitMQ users that have no permissions on any virtual host and could be safely deleted. Returns: hashing_algorithm, name, password_hash, tags.
- **create_a_rabbit_mq_users_bulk_delete** — Bulk delete a list of RabbitMQ users by username. Returns an empty 204 response on success. Required: users.
- **list_all_rabbit_mq_user_limits** — List per-user limits for all users in RabbitMQ. Returns: user, name, value.
- **rabbit_mq_user_limits_list_user** — List per-user limits for a specific user in RabbitMQ. Returns: tags, default_queue_type, protected_from_deletion. Required: user.
- **rabbit_mq_user_limits_set** — Set a per-user limit in RabbitMQ. The user_limit_id path element refers to the limit name (max-connections or max-channels). Required: user, user_limit_id, value. Returns an empty 204 response on success.
- **delete_a_rabbit_mq_user_limit_by_id** — Clear a per-user limit in RabbitMQ. Required: user, id. Returns an empty 204 response on success.
- **list_all_rabbit_mq_permissions** — List all user permissions in the RabbitMQ cluster. Returns: configure, read, write, user, vhost.
- **rabbit_mq_permissions_list_vhost** — List all user permissions for a specific virtual host in RabbitMQ. Returns: tags, default_queue_type, protected_from_deletion. Required: vhost.
- **get_single_rabbit_mq_permission_by_id** — Get a single user's permissions in a specific virtual host in RabbitMQ. Returns: configure, read, write, user, vhost, tags, default_queue_type, protected_from_deletion. Required: vhost, id.
- **update_a_rabbit_mq_permission_by_id** — Grant or update a user's permissions in a specific virtual host in RabbitMQ. Returns an empty 204 response on success. Required: vhost, id, configure, write, read. All three permission patterns must be explicitly provided.
- **delete_a_rabbit_mq_permission_by_id** — Revoke a user's permissions in a specific virtual host in RabbitMQ. Returns an empty 204 response on success. Required: vhost, id.
- **list_all_rabbit_mq_topic_permissions** — List all topic exchange permissions in the RabbitMQ cluster. Returns: exchange, write, read, configure.
- **rabbit_mq_topic_permissions_list_vhost** — List all topic exchange permissions for a specific virtual host in RabbitMQ. Returns: write, read, configure, oauth_enabled, oauth_client_id, oauth_provider_url. Required: vhost.
- **get_single_rabbit_mq_topic_permission_by_id** — Get a user's topic exchange permissions in a specific virtual host in RabbitMQ. Returns: tags, default_queue_type, protected_from_deletion. Required: vhost, id.
- **update_a_rabbit_mq_topic_permission_by_id** — Grant or update a user's topic exchange permission in a specific virtual host in RabbitMQ. Returns: write, read, configure. Required: vhost, id, exchange, write, read, configure.
- **delete_a_rabbit_mq_topic_permission_by_id** — Revoke a user's topic exchange permissions in a specific virtual host in RabbitMQ. Returns an empty 204 response on success. Required: vhost, id.
- **list_all_rabbit_mq_parameters** — List RabbitMQ runtime parameters across all virtual hosts in the cluster. Returns: component, vhost, name, pattern, apply-to, definition.
- **rabbit_mq_parameters_list_vhost_component** — List RabbitMQ runtime parameters for a specific component in a specific virtual host. Returns: routed. Required: component, vhost.
- **get_single_rabbit_mq_parameter_by_id** — Get an individual runtime parameter in RabbitMQ by component, virtual host, and parameter name. Returns: tags, default_queue_type, protected_from_deletion. Required: component, vhost, id.
- **rabbit_mq_parameters_set** — Create or update a runtime parameter in RabbitMQ by component, vhost, and parameter name. The request body structure is component-specific. Returns an empty 204 response on success. Required: component, vhost, parameter_id.
- **delete_a_rabbit_mq_parameter_by_id** — Delete a runtime parameter in RabbitMQ by component, vhost, and id. Returns an empty 204 response on success. Required: component, vhost, id.
- **rabbit_mq_parameters_list_component** — List RabbitMQ runtime parameters for a specific component across all virtual hosts in the cluster. Returns: routed. Required: component.
- **list_all_rabbit_mq_global_parameters** — List all global runtime parameters in the RabbitMQ cluster. Returns: name, value.
- **get_single_rabbit_mq_global_parameter_by_id** — Get a single global runtime parameter by id in RabbitMQ. Returns: name, value, tags, default_queue_type, protected_from_deletion. Required: id.
- **rabbit_mq_global_parameters_set** — Set (create or update) a global runtime parameter in RabbitMQ. The value can be a string or an arbitrary JSON object. Required: global_parameter_id, name, value.
- **delete_a_rabbit_mq_global_parameter_by_id** — Clear (delete) a global runtime parameter in RabbitMQ by id. Returns an empty 204 response on success. Required: id.
- **list_all_rabbit_mq_policies** — List RabbitMQ policies across all virtual hosts in the cluster. Returns: routed.
- **rabbit_mq_policies_list_vhost** — List RabbitMQ policies in a specific virtual host. Returns: routed. Required: vhost. The virtual host name must be percent-encoded (e.g. / becomes %2F).
- **get_single_rabbit_mq_policy_by_id** — Get a single RabbitMQ policy definition by vhost and policy name. Returns: tags, default_queue_type, protected_from_deletion. Required: vhost, id. The virtual host name must be percent-encoded (e.g. / becomes %2F).
- **rabbit_mq_policies_set** — Create or update a RabbitMQ policy in a given virtual host. Returns an empty 204 response on success. Required: vhost, policy_id. Body keys pattern, definition, priority, and apply-to are all mandatory. Only one policy applies per resource at a time; conflicting priorities must be avoided.
- **delete_a_rabbit_mq_policy_by_id** — Delete a RabbitMQ policy by id from a given virtual host. Returns an empty 204 response on success. Required: vhost, id.
- **list_all_rabbit_mq_operator_policies** — List RabbitMQ operator policies across all virtual hosts in the cluster. Returns: routed.
- **rabbit_mq_operator_policies_list_vhost** — List RabbitMQ operator policies in a specific virtual host. Returns: routed. Required: vhost. The vhost name must be percent-encoded.
- **get_single_rabbit_mq_operator_policy_by_id** — Get a single operator policy in RabbitMQ by its name within a virtual host. Returns: routed. Required: vhost, id.
- **rabbit_mq_operator_policies_set** — Set (create or update) an operator policy in RabbitMQ for a specific virtual host. All body keys — pattern, definition, priority, and apply-to — are mandatory. Only one policy applies to a queue, stream, or exchange at a time; conflicting priorities must be avoided. Returns an empty 204 response on success. Required: vhost, operator_policy_id.
- **delete_a_rabbit_mq_operator_policy_by_id** — Delete an operator policy from a specific RabbitMQ virtual host. Returns an empty 204 response on success. Required: vhost, id.
- **list_all_rabbit_mq_vhost_limits** — List all virtual host limits configured across the RabbitMQ cluster. Returns: routed.
- **rabbit_mq_vhost_limits_list_vhost** — List virtual host limits configured for a specific RabbitMQ virtual host. Returns: routed. Required: vhost.
- **get_single_rabbit_mq_vhost_limit_by_id** — Get a specific RabbitMQ virtual host limit by vhost and limit name. Returns: routed. Required: vhost, id.
- **rabbit_mq_vhost_limits_set** — Set or update a per-vhost limit in RabbitMQ. The vhost_limit_id identifies the limit type (max-connections or max-queues). Returns an empty 204 response on success. Required: vhost, vhost_limit_id, value.
- **delete_a_rabbit_mq_vhost_limit_by_id** — Clear (remove) a RabbitMQ virtual host limit by vhost and limit name. Returns an empty 204 response on success. Required: vhost, id.
- **list_all_rabbit_mq_federation_links** — List all federation links and their status across all virtual hosts in a RabbitMQ cluster. Returns the attributes object containing federation link status fields. The rabbitmq_federation_management plugin must be enabled for this endpoint to be available.
- **rabbit_mq_federation_links_list_vhost** — List federation link status for a specific virtual host in RabbitMQ. Returns: pattern, definition, priority, apply-to. Requires the rabbitmq_federation_management plugin to be enabled. Required: vhost.
- **list_all_rabbit_mq_stream_connections** — List all open RabbitMQ stream protocol connections. Returns for each connection: name, node, state, user, vhost, peer_host, peer_port, channels, send_oct, recv_oct, connected_at. Use pagination parameters; this endpoint can otherwise produce very large responses. Default page size is 100, maximum 500. Requires the rabbitmq_stream_management plugin to be enabled.
- **rabbit_mq_stream_connections_list_vhost** — List the open RabbitMQ stream connections in a specific virtual host. Returns the same fields as the list method. Required: vhost. Use pagination parameters; this endpoint can otherwise produce very large responses. Default page size is 100, maximum 500. Requires the rabbitmq_stream_management plugin to be enabled.
- **get_single_rabbit_mq_stream_connection_by_id** — Get an individual RabbitMQ stream connection by name within a virtual host. Returns: name, node, state, user, vhost, peer_host, peer_port, channels, send_oct, recv_oct, connected_at. Required: vhost, id (the connection name, percent-encoded). Requires the rabbitmq_stream_management plugin to be enabled.
- **delete_a_rabbit_mq_stream_connection_by_id** — Close an individual RabbitMQ stream connection. Optionally set the X-Reason header to record why it was closed. Returns an empty 204 response on success. Required: vhost, id (the connection name, percent-encoded). Requires the rabbitmq_stream_management plugin to be enabled.
- **rabbit_mq_stream_connections_list_publishers** — List the publishers on a given RabbitMQ stream connection. Required: vhost, connection (the stream connection name). Requires the rabbitmq_stream_management plugin to be enabled.
- **rabbit_mq_stream_connections_list_consumers** — List the consumers on a given RabbitMQ stream connection. Required: vhost, connection (the stream connection name). Use pagination parameters; this endpoint can otherwise produce very large responses. Default page size is 100, maximum 500. Requires the rabbitmq_stream_management plugin to be enabled.
- **list_all_rabbit_mq_stream_publishers** — List known RabbitMQ stream publishers across all stream protocol connections. Returns publisher objects with their node, stream, and connection information. Requires the rabbitmq_stream_management plugin to be enabled.
- **rabbit_mq_stream_publishers_list_vhost** — List known stream publishers for all stream protocol connections in a specific virtual host in RabbitMQ. Returns a list of publisher objects for the given virtual host. Required: vhost. Requires the rabbitmq_stream_management plugin to be enabled.
- **rabbit_mq_stream_publishers_list_stream** — List known RabbitMQ publishers to a specific stream across all stream protocol connections in a virtual host. Returns a list of publisher objects. Required: vhost, stream. Requires the rabbitmq_stream_management plugin to be enabled.
- **list_all_rabbit_mq_stream_consumers** — List all RabbitMQ stream consumers across all virtual hosts. Returns a list of stream consumer objects. Requires the rabbitmq_stream_management plugin to be enabled. Default page size is 100, maximum 500.
- **rabbit_mq_stream_consumers_list_vhost** — List stream consumers in a specific virtual host in RabbitMQ. Returns a list of stream consumer records for the given vhost. Required: vhost. Requires the rabbitmq_stream_management plugin to be enabled.
- **list_all_rabbit_mq_rebalance_queues** — Trigger an asynchronous rebalance of all queues in all RabbitMQ vhosts. The operation runs in the background — inspect RabbitMQ logs for success or failure status. Returns an empty 204 response on success.
- **list_all_rabbit_mq_whoamis** — Get information about the currently authenticated RabbitMQ user. Returns: name, tags, default_queue_type, protected_from_deletion.
- **list_all_rabbit_mq_auths** — List RabbitMQ OAuth 2 authentication configuration details. Returns: oauth_enabled, oauth_client_id, oauth_provider_url.
- **list_all_rabbit_mq_extensions** — List registered extensions to the RabbitMQ management plugin. Returns a list of extension objects describing each registered management plugin extension.
- **rabbit_mq_health_checks_check_certificate_expiration** — Check whether TLS certificates used by TLS-enabled listeners on a RabbitMQ node are expiring within the given time window. Returns an empty 200 response on success; responds 503 if any certificate has expired. Required: within, unit. Valid units: days, weeks, months, years.
- **rabbit_mq_health_checks_check_port_listener** — Check if a RabbitMQ node has an active listener on the given port. Responds 200 OK if there is an active listener on the given port, otherwise 503 Service Unavailable. Returns an empty 200 response on success. Required: port.
- **rabbit_mq_health_checks_check_protocol_listener** — Check if a RabbitMQ node has active listeners for the given protocol(s). Responds 200 OK if all given protocols have active listeners, otherwise 503 Service Unavailable. Returns an empty 200 response on success. Required: protocols. Multiple protocols may be separated by commas. Valid protocol names: amqp, mqtt, stomp, web-mqtt, web-stomp; add an 's' suffix for encrypted variants (e.g. amqps,…
- **list_all_rabbit_mq_shovels** — List all shovels across the RabbitMQ cluster, both static and dynamic. Returns for each shovel: name, vhost, type, state, reason, node, timestamp. Requires the rabbitmq_shovel_management plugin. Static shovels have no vhost and are visible only to administrators; dynamic shovels follow virtual-host permissions.
- **rabbit_mq_shovels_list_vhost** — List the shovels in a specific RabbitMQ virtual host. Returns for each shovel: name, vhost, type, state, reason, node, timestamp. Required: vhost. Requires the rabbitmq_shovel_management plugin. Static shovels have no vhost and are visible only to administrators; dynamic shovels follow virtual-host permissions.
- **get_single_rabbit_mq_shovel_by_id** — Get a single RabbitMQ shovel by name within a virtual host. Returns: name, vhost, type, state, reason, node, timestamp. Required: vhost, id (the shovel name). Requires the rabbitmq_shovel_management plugin. Static shovels have no vhost and are visible only to administrators; dynamic shovels follow virtual-host permissions.
- **rabbit_mq_shovels_restart** — Restart a running RabbitMQ shovel in place, without deleting and recreating it. Issued as a DELETE against the shovel's /restart path; the shovel itself is not removed. Returns an empty 204 response on success. Required: vhost, name. Requires the rabbitmq_shovel_management plugin. Static shovels have no vhost and are visible only to administrators; dynamic shovels follow virtual-host permissions.

## How it works

1. **Link your customer's RabbitMQ account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach RabbitMQ.** The Proxy API is a 1-to-1 mapping of the RabbitMQ API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Ship a RabbitMQ integration for observability platforms** — Let your users connect their RabbitMQ clusters so your APM or incident management product can poll queue depth, unacknowledged messages, and node memory to detect worker bottlenecks before they page an SRE.
- **Power FinOps and resource cleanup workflows** — Cost optimization tools can surface idle queues, orphaned exchanges, and zero-consumer resources across a customer's vhosts, then offer safe one-click cleanup using RabbitMQ's built-in `if-unused` guards.
- **Automate ephemeral environments for CI/CD** — Preview environment and internal developer platform products can provision isolated vhosts, exchanges, queues, and bindings on pull request open, then tear the whole namespace down when the PR merges.
- **Run security and compliance audits on messaging infrastructure** — CSPM and SOC2 automation tools can pull user permissions, topic permissions, and protocol listener health to flag orphaned accounts, overly broad access, or unencrypted AMQP endpoints.
- **Enable configuration backup, restore, and cluster migration** — Backup and DR products can export full definitions (exchanges, queues, bindings, policies, users) as a JSON blueprint and import them into another cluster for migrations, disaster recovery, or environment cloning.

## What you can build

- **Real-time queue health dashboard** — Render `messages_ready`, `messages_unacknowledged`, consumer counts, and consumer utilisation per queue using the detailed queues endpoint, refreshed on your own polling cadence.
- **Topology and data flow visualizer** — Map exchanges to queues via exchange and queue bindings endpoints to render a live graph of how messages route through a customer's cluster.
- **One-click definitions export and restore** — Let users snapshot an entire vhost or cluster (exchanges, queues, bindings, policies, users) and re-import it into another environment with a single action.
- **Automated dead resource cleanup** — Identify long-idle queues and unused exchanges, then delete them safely with `if-unused` conditions, or purge queues that have accumulated stale messages.
- **User and permission auditor** — List users without permissions, enumerate per-vhost and topic permissions, and bulk-delete orphaned accounts to enforce access hygiene.
- **Auto-remediation actions for on-call** — Trigger queue actions, force-close stuck connections or channels, and restart shovels directly from your incident response workflows.

## FAQs

### How do end users authenticate their RabbitMQ instance?

RabbitMQ's Management HTTP API uses basic auth against a management user. Your users provide the cluster's management URL plus username and password, and Truto handles credential storage and request signing on every call.

### Does this work with self-hosted RabbitMQ, CloudAMQP, and AWS MQ?

Yes. Any RabbitMQ deployment that exposes the Management HTTP API on a reachable endpoint works, including self-hosted clusters, CloudAMQP, and Amazon MQ for RabbitMQ. Users just supply the management URL and credentials for that cluster.

### How fresh is queue and connection data?

Truto proxies requests directly to the RabbitMQ Management API, so data is real-time on each call. There is no intermediate cache, meaning polling frequency is entirely up to your application and the customer's cluster load tolerance.

### Can I publish messages or is this read-only?

It is not read-only. In addition to listing queues, exchanges, connections, and consumers, you can publish to exchanges, purge queues, get messages from queues, trigger queue actions, delete connections, and restart shovels.

### Can I provision new vhosts, users, and queues programmatically?

Yes. You can create and delete vhosts, set user permissions and topic permissions, apply policies and operator policies, set vhost and user limits, and create bindings between exchanges and queues — everything needed for dynamic tenant or environment provisioning.

### Are there rate limits to worry about?

RabbitMQ itself does not impose API rate limits, but the management plugin runs in-process on the broker, so aggressive polling can add load. We recommend batching requests, using the detailed queues endpoint instead of per-queue calls, and tuning poll intervals per cluster size.

## Related reading

- [Connect RabbitMQ to ChatGPT: Manage Nodes, Queues, and Permissions](https://truto.one/blog/connect-rabbitmq-to-chatgpt-manage-nodes-queues-and-permissions/) — Learn how to connect RabbitMQ to ChatGPT using a managed MCP server. This step-by-step guide covers handling vhost encoding, massive payloads, and agent tool calling.
- [Connect RabbitMQ to Claude: Monitor Cluster Health and Stream Data](https://truto.one/blog/connect-rabbitmq-to-claude-monitor-cluster-health-and-stream-data/) — Learn how to connect RabbitMQ to Claude using a managed MCP server. Monitor cluster health, triage stuck queues, and automate DevOps tasks with AI agents.
- [Connect RabbitMQ to AI Agents: Automate Flows and Exchange Config](https://truto.one/blog/connect-rabbitmq-to-ai-agents-automate-flows-and-exchange-config/) — Learn how to connect RabbitMQ to AI agents using Truto's /tools endpoint to automate queue provisioning, exchange configuration, and monitor cluster health.
