# Using NATS

- [NATS Tools](https://docs.nats.io/using-nats/nats-tools.md)
- [nats](https://docs.nats.io/using-nats/nats-tools/nats_cli.md)
- [nats bench](https://docs.nats.io/using-nats/nats-tools/nats_cli/natsbench.md)
- [nk](https://docs.nats.io/using-nats/nats-tools/nk.md)
- [nsc](https://docs.nats.io/using-nats/nats-tools/nsc.md)
- [Basics](https://docs.nats.io/using-nats/nats-tools/nsc/basics.md)
- [Streams](https://docs.nats.io/using-nats/nats-tools/nsc/streams.md)
- [Services](https://docs.nats.io/using-nats/nats-tools/nsc/services.md)
- [Signing Keys](https://docs.nats.io/using-nats/nats-tools/nsc/signing_keys.md)
- [Revocation](https://docs.nats.io/using-nats/nats-tools/nsc/revocation.md)
- [Managed Operators](https://docs.nats.io/using-nats/nats-tools/nsc/managed.md)
- [nats-top](https://docs.nats.io/using-nats/nats-tools/nats_top.md)
- [Tutorial](https://docs.nats.io/using-nats/nats-tools/nats_top/nats-top-tutorial.md)
- [Developing With NATS](https://docs.nats.io/using-nats/developer.md)
- [Anatomy of a NATS application](https://docs.nats.io/using-nats/developer/anatomy.md)
- [Connecting](https://docs.nats.io/using-nats/developer/connecting.md)
- [Connecting to the Default Server](https://docs.nats.io/using-nats/developer/connecting/default_server.md)
- [Connecting to a Specific Server](https://docs.nats.io/using-nats/developer/connecting/specific_server.md)
- [Connecting to a Cluster](https://docs.nats.io/using-nats/developer/connecting/cluster.md)
- [Connection Name](https://docs.nats.io/using-nats/developer/connecting/name.md)
- [Authenticating with a User and Password](https://docs.nats.io/using-nats/developer/connecting/userpass.md)
- [Authenticating with a Token](https://docs.nats.io/using-nats/developer/connecting/token.md)
- [Authenticating with an NKey](https://docs.nats.io/using-nats/developer/connecting/nkey.md)
- [Authenticating with a Credentials File](https://docs.nats.io/using-nats/developer/connecting/creds.md)
- [Encrypting Connections with TLS](https://docs.nats.io/using-nats/developer/connecting/tls.md)
- [Setting a Connect Timeout](https://docs.nats.io/using-nats/developer/connecting/connect_timeout.md)
- [Ping/Pong Protocol](https://docs.nats.io/using-nats/developer/connecting/pingpong.md)
- [Turning Off Echo'd Messages](https://docs.nats.io/using-nats/developer/connecting/noecho.md)
- [Miscellaneous functionalities](https://docs.nats.io/using-nats/developer/connecting/misc.md)
- [Automatic Reconnections](https://docs.nats.io/using-nats/developer/connecting/reconnect.md)
- [Disabling Reconnect](https://docs.nats.io/using-nats/developer/connecting/reconnect/disable.md)
- [Set the Number of Reconnect Attempts](https://docs.nats.io/using-nats/developer/connecting/reconnect/max.md)
- [Avoiding the Thundering Herd](https://docs.nats.io/using-nats/developer/connecting/reconnect/random.md)
- [Pausing Between Reconnect Attempts](https://docs.nats.io/using-nats/developer/connecting/reconnect/wait.md)
- [Listening for Reconnect Events](https://docs.nats.io/using-nats/developer/connecting/reconnect/events.md)
- [Buffering Messages During Reconnect Attempts](https://docs.nats.io/using-nats/developer/connecting/reconnect/buffer.md)
- [Monitoring the Connection](https://docs.nats.io/using-nats/developer/connecting/events.md)
- [Listen for Connection Events](https://docs.nats.io/using-nats/developer/connecting/events/events.md)
- [Slow Consumers](https://docs.nats.io/using-nats/developer/connecting/events/slow.md)
- [Receiving Messages](https://docs.nats.io/using-nats/developer/receiving.md)
- [Synchronous Subscriptions](https://docs.nats.io/using-nats/developer/receiving/sync.md)
- [Asynchronous Subscriptions](https://docs.nats.io/using-nats/developer/receiving/async.md)
- [Unsubscribing](https://docs.nats.io/using-nats/developer/receiving/unsubscribing.md)
- [Unsubscribing After N Messages](https://docs.nats.io/using-nats/developer/receiving/unsub_after.md)
- [Replying to a Message](https://docs.nats.io/using-nats/developer/receiving/reply.md)
- [Wildcard Subscriptions](https://docs.nats.io/using-nats/developer/receiving/wildcards.md)
- [Queue Subscriptions](https://docs.nats.io/using-nats/developer/receiving/queues.md)
- [Draining Messages Before Disconnect](https://docs.nats.io/using-nats/developer/receiving/drain.md)
- [Receiving Structured Data](https://docs.nats.io/using-nats/developer/receiving/structure.md)
- [Sending Messages](https://docs.nats.io/using-nats/developer/sending.md)
- [Including a Reply Subject](https://docs.nats.io/using-nats/developer/sending/replyto.md)
- [Request-Reply Semantics](https://docs.nats.io/using-nats/developer/sending/request_reply.md)
- [Caches, Flush and Ping](https://docs.nats.io/using-nats/developer/sending/caches.md)
- [Sending Structured Data](https://docs.nats.io/using-nats/developer/sending/structure.md)
- [Building Services](https://docs.nats.io/using-nats/developer/services.md)
- [JetStream](https://docs.nats.io/using-nats/developer/develop_jetstream.md)
- [JetStream Model Deep Dive](https://docs.nats.io/using-nats/developer/develop_jetstream/model_deep_dive.md)
- [Managing Streams and consumers](https://docs.nats.io/using-nats/developer/develop_jetstream/streams.md)
- [Consumer Details](https://docs.nats.io/using-nats/developer/develop_jetstream/consumers.md)
- [Publishing to Streams](https://docs.nats.io/using-nats/developer/develop_jetstream/publish.md)
- [Using the Key/Value Store](https://docs.nats.io/using-nats/developer/develop_jetstream/kv.md)
- [Using the Object Store](https://docs.nats.io/using-nats/developer/develop_jetstream/object.md)
- [Tutorials](https://docs.nats.io/using-nats/developer/tutorials.md)
- [Advanced Connect and Custom Dialer in Go](https://docs.nats.io/using-nats/developer/tutorials/custom_dialer.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.nats.io/using-nats.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
