> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usedragonfly.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Request builder

> Build and send HTTP requests from the Activity Bar, and read the response next to your code.

Dragonfly gives you a full request builder inside VS Code. Pick a method, set the URL, add what you need, and press **Send**. The response opens next to your code, so there is no second app to switch to.

<Frame caption="A request and its JSON response, side by side with your code.">
  <img src="https://mintcdn.com/saurabh-dc2af1a9/2Gj8GymSTIUjWURc/images/product-shot.png?fit=max&auto=format&n=2Gj8GymSTIUjWURc&q=85&s=b9534d8d1ede23f0c4ce32a2fe5a1de4" alt="Dragonfly request builder in the VS Code sidebar with the response shown next to the editor" width="4992" height="2544" data-path="images/product-shot.png" />
</Frame>

## Build a request

A request is made of these parts:

<CardGroup cols={2}>
  <Card title="Method and URL" icon="https://mintcdn.com/saurabh-dc2af1a9/2Gj8GymSTIUjWURc/icons/link.svg?fit=max&auto=format&n=2Gj8GymSTIUjWURc&q=85&s=6f8b8be32d7ecfbfedbcf64870de16ed" width="24" height="24" data-path="icons/link.svg">
    Choose GET, POST, PUT, PATCH or DELETE, and set the URL. Use `{{variables}}` from your environment anywhere in the URL.
  </Card>

  <Card title="Params" icon="https://mintcdn.com/saurabh-dc2af1a9/2Gj8GymSTIUjWURc/icons/list.svg?fit=max&auto=format&n=2Gj8GymSTIUjWURc&q=85&s=3020caa8d3538dc579601dc7aafb84cc" width="24" height="24" data-path="icons/list.svg">
    Add query parameters as key and value pairs. They are kept in sync with the URL.
  </Card>

  <Card title="Headers" icon="https://mintcdn.com/saurabh-dc2af1a9/2Gj8GymSTIUjWURc/icons/table.svg?fit=max&auto=format&n=2Gj8GymSTIUjWURc&q=85&s=94758c14cd5a619bda96916a1208e2f7" width="24" height="24" data-path="icons/table.svg">
    Set request headers such as `Content-Type` or `Accept`.
  </Card>

  <Card title="Body" icon="https://mintcdn.com/saurabh-dc2af1a9/2Gj8GymSTIUjWURc/icons/braces.svg?fit=max&auto=format&n=2Gj8GymSTIUjWURc&q=85&s=9f39528f5bcf6ac6c287fea9da728468" width="24" height="24" data-path="icons/braces.svg">
    Send a JSON or raw body for methods that take one.
  </Card>

  <Card title="Auth" icon="https://mintcdn.com/saurabh-dc2af1a9/2Gj8GymSTIUjWURc/icons/key.svg?fit=max&auto=format&n=2Gj8GymSTIUjWURc&q=85&s=b62bc9f43d67291a01a5a078641eec3e" width="24" height="24" data-path="icons/key.svg">
    Add Bearer, API key or Basic auth. See [Authentication](/guides/authentication).
  </Card>

  <Card title="Send" icon="https://mintcdn.com/saurabh-dc2af1a9/2Gj8GymSTIUjWURc/icons/send.svg?fit=max&auto=format&n=2Gj8GymSTIUjWURc&q=85&s=69a30bfeab2d908aaffe8c67adb796bc" width="24" height="24" data-path="icons/send.svg">
    Run the request and read the response inline.
  </Card>
</CardGroup>

## Read the response

When a request returns, Dragonfly shows the response next to your code with:

* **Status** of the response
* **Size** of the payload
* **Timing** for how long the request took

The body is rendered so you can read JSON responses clearly.

## Reuse a request

Save any request into a collection to keep it around, then open or resend it whenever you need it. Every request you send is also saved to [Request history](/guides/request-history) automatically.

<Tip>
  Need the same request in a script? Copy it out as cURL, Node.js, Python, Go, PHP, Java or Rust. See [Copy as code](/guides/code-export).
</Tip>
