# Request-Reply Walkthrough

NATS supports [request-reply](/nats-concepts/core-nats/reqreply.md) messaging. In this tutorial you explore how to exchange point-to-point messages using NATS.

## Prerequisites

If you have not already done so, you need to [install](/nats-concepts/what-is-nats/walkthrough_setup.md) the `nats` CLI Tool and optionally, the nats-server on your machine.

## Walkthrough

Start two terminal sessions. These will be used to run the NATS request and reply clients.

### In one terminal, run the reply client listener

```bash
nats reply help.please 'OK, I CAN HELP!!!'
```

You should see the message: *Listening on \[help.please]*

This means that the NATS receiver client is listening for request messages on the "help.please" subject. In NATS, the receiver is a subscriber.

### In the other terminal, run the request client

```bash
nats request help.please 'I need help!'
```

The NATS requestor client makes a request by sending the message "I need help!" on the “help.please” subject.

The NATS receiver client receives the message, formulates the reply ("OK, I CAN HELP!!!"), and sends it to the inbox of the requester.


---

# 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/nats-concepts/core-nats/reqreply/reqreply_walkthrough.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.
