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

# HTTP Request

> Make HTTP calls to any external API or web endpoint from an orchestration

# HTTP Request

The **HTTP Request** node makes HTTP calls to any external API or web endpoint. It supports all standard HTTP methods, custom headers, query parameters, multiple body formats, and a wide range of authentication types.

<img src="https://mintcdn.com/subverse-611dde60/UZLalX8VX2i72yfQ/images/agentverse/http-request-action-node.png?fit=max&auto=format&n=UZLalX8VX2i72yfQ&q=85&s=d2b3efd43e78665b3360824e3faabb54" alt="HTTP Request Node" width="794" height="1352" data-path="images/agentverse/http-request-action-node.png" />

***

## Use Cases

* Call a REST API that does not have a dedicated Orchestration integration
* Interact with internal services or microservices
* Fetch data from a third-party API and pass it to downstream nodes
* Trigger webhooks on external platforms

***

## Node Reference

### Parameters

| Parameter | Type | Required | Description |
| - | - | - | - |
| **Method** | Select | Yes | HTTP method: `GET`, `POST`, `PUT`, `PATCH`, `DELETE`, `HEAD`, `OPTIONS` |
| **URL** | String | Yes | The full URL of the endpoint |
| **Send Headers** | Boolean | No | Enable to add custom request headers |
| **Send Query Parameters** | Boolean | No | Enable to add query string parameters to the URL |
| **Body Type** | Select | No | Format of the request body (for POST/PUT/PATCH) |
| **Body** | String / JSON / Form | No | The request body payload |
| **Options — Timeout** | Number | No | Request timeout in milliseconds (default: `30000`, max: `300000`) |
| **Options — Follow Redirects** | Boolean | No | Whether to follow HTTP redirects (default: enabled) |
| **Options — Ignore SSL Issues** | Boolean | No | Skip SSL certificate verification (use with caution) |
| **Options — Response Format** | Select | No | How to parse the response: `autodetect`, `json`, `text`, or `base64` (default: `autodetect`) |
| **Options — Full Response** | Boolean | No | Return status code, headers, and body instead of just the body (default: disabled) |
| **Options — Ignore Response Code** | Boolean | No | Don't throw on 4xx/5xx — handle the error response yourself (default: disabled) |

### Body Types

| Type | Description |
| - | - |
| `JSON` | Send body as `application/json` |
| `Form Data (URL Encoded)` | Send body as `application/x-www-form-urlencoded` |
| `Form Data (Multipart)` | Send body as `multipart/form-data` (for file uploads) |
| `Raw / Binary` | Send raw string or binary body |

***

## Response Format

Use **Response Format** to control how the node parses the API response:

| Format | When to use |
| - | - |
| `Autodetect` | Let the node choose based on the `Content-Type` header |
| `JSON` | Force parsing as JSON |
| `Text` | Return the response as a plain string |
| `Base64` | Return binary data (images, PDFs, audio) as a Base64 string |

**Tip:** Choose `Base64` when you need to pass binary files to downstream nodes such as **Send Email** attachments or file upload actions.

## Output Data

By default, the node returns the parsed response body:

```json theme={null}
{
  "users": [
    { "id": 1, "name": "Alice" },
    { "id": 2, "name": "Bob" }
  ]
}
```

When **Full Response** is enabled:

```json theme={null}
{
  "statusCode": 200,
  "statusMessage": "OK",
  "headers": {
    "content-type": "application/json"
  },
  "body": { ... }
}
```

When **Response Format** is set to `Base64`:

```json theme={null}
{
  "data": "iVBORw0KGgoAAAANSUhEUgAAAA..."
}
```

Reference fields in downstream nodes:

```
{{ httpRequest.users[0].name }}
{{ httpRequest.statusCode }}
```

***

## Pagination

For APIs that return paginated results, enable **Pagination** under Options:

| Setting | Description |
| - | - |
| **Pagination Type** | `Page Number`, `Offset`, or `Cursor-Based` |
| **Max Items** | Stop paginating after this many total items |

***

## Related Nodes

* [Respond to Webhook](./respond-to-webhook) — Return an HTTP response from an orchestration
* [Conditions](./conditions) — Branch based on HTTP response status or body
* [Send Email](./email) — Attach binary data fetched via HTTP Request

<Tip>
  Combine **HTTP Request** (Base64 response format) with **Send Email** to fetch a document from an API and email it as an attachment.
</Tip>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.