> For the complete documentation index, see [llms.txt](https://docs.diaflow.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.diaflow.io/workflow-builder/nodes/built-in-tools/http-request-api.md).

# HTTP Request (API)

## HTTP Request (API)

### What does it do?

The **HTTP Request (API)** node sends data to another app or service. It then brings the reply back into your workflow.

Think of it like a courier. You prepare the message, send it out, and receive the response.

#### Smart features

* **Fills in dynamic values automatically**. Variables like `{{trigger.email}}` are resolved before the request runs.
* **Cleans up blank rows**. Empty header, parameter, and body rows are ignored.
* **Understands structured body values**. If a body value looks structured, Diaflow converts it for you.
* **Returns the cleanest possible response**. Structured replies stay structured. Other replies return as plain text.
* **Can try again after a failure**. You can add extra attempts and a delay between them.

<figure><img src="/files/wyHzQxXe9v4HrvfMugq3" alt=""><figcaption></figcaption></figure>

### Import cURL

Paste a cURL command to fill the request faster and avoid manual setup mistakes.

<figure><img src="/files/wzK4pggANTLEgbsa4Zy0" alt=""><figcaption></figcaption></figure>

### Real-World Business Value

* Send new leads from a form into your CRM automatically.
* Push approved orders into finance or fulfillment tools.
* Pull live account or ticket data before the next step runs.

### Step-by-Step Setup

* In **Method**, choose the action you need, such as **GET** or **POST**.
* In **URL**, paste the full address of the app or service.
* In **Headers**, add each required item as one **Key** and one **Value**.
* In **Parameters**, add any filters you want attached to the address.
* In **Payload (Body)**, add the fields you want to send.
* If you send a body, add **Content-Type** = `application/json` in **Headers**.
* In **Failure handling strategy**, choose whether to continue, stop, or retry.
* If you use retries, set **Max retry attempts** and **Delay**.

### The Transformation: Before & After

**Before**

<figure><img src="/files/HU0jZ4r7bzKySWe0FGHP" alt=""><figcaption></figcaption></figure>

**After**

<figure><img src="/files/hA1IY5ZLU29rhqAE5eko" alt=""><figcaption></figcaption></figure>

The actual reply from the other service is inside the inner **data** value. Use that value in later nodes.

### Tips & Warnings for First-Timers

#### Best practices

* Add **Content-Type** = `application/json` whenever you send a body.
* Keep requests focused. Smaller replies are faster and easier to reuse.
* Insert tokens and keys with variables instead of typing them into every flow.

#### Warnings

* Do not expect retries when **Failure handling** is set to **Skip** or **Stop flow**. Those modes return after the first failure.
* Do not use this node for file uploads or very large downloads. It is built for standard request and response data.
* Do not rely on this node for very slow services, self-signed certificates, or response-header based logic.

### Need help?

* Learn the basics in [How a node works](/getting-started/lets-start-with-the-basics/how-a-node-works.md)
* Build the full flow in [Create a workflow](/workflow-builder/create-a-workflow.md)
* Browse related nodes in [Component List](/workflow-builder/component-list.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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.diaflow.io/workflow-builder/nodes/built-in-tools/http-request-api.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.
