> 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/studio/nodes/action-nodes/http-request-api.md).

# HTTP Request (API)

Connect your workflow to external apps and services by sending requests and receiving structured results.

## 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="https://3864624312-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRdo1pkMnofwxf3lpWftw%2Fuploads%2FeSj2jGF3d37MZgGkmJQ3%2Fcursorful-video-1778813697395.gif?alt=media&amp;token=aceaac76-868f-46c7-8e7d-29c9077372e6" alt=""><figcaption></figcaption></figure>

### Import cURL

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

<figure><img src="https://3864624312-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRdo1pkMnofwxf3lpWftw%2Fuploads%2FFZcC5xTMIBoA9HDPaWsO%2FCap%202026-06-03%20at%2017.20.35.gif?alt=media&amp;token=4b27b9d7-b05f-4d6c-91cd-5cb2ca21444c" 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="https://3864624312-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRdo1pkMnofwxf3lpWftw%2Fuploads%2FhFZdZmDScms5gegz7hrt%2Frounded-image%20(84).png?alt=media&amp;token=9a8bc39d-b06a-499b-aba7-7c7230e8d52b" alt=""><figcaption></figcaption></figure>

**After**

<figure><img src="https://3864624312-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRdo1pkMnofwxf3lpWftw%2Fuploads%2FxjACW8YWuzQD7Si2l6I1%2Frounded-image%20(85).png?alt=media&amp;token=a0c20690-b928-49fa-8263-0643860add82" 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](/studio/lets-start-with-the-basics/how-a-node-works.md)
* Build the full flow in [Create a workflow](/studio/manage-a-workflow/create-a-workflow.md)
* Browse related nodes in [Component List](/studio/component-list.md)
