> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.meetgail.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.meetgail.com/_mcp/server.

# HTTP Request

> Calls an external service over the web and returns its status, body, and headers for later steps to use.

The HTTP Request node makes a call to an outside service and hands the response
back to your workflow: the status code, the body, and the headers. It is the
general-purpose way to talk to any system that has a web API, whether you are
looking up a record, pushing an update, or triggering something elsewhere.

## When to use it

* You need to pull data from another system mid-run, such as a policyholder's
  account details from your agency management system.
* You want to send information out to a service, like posting a new record or
  kicking off a process in another tool.
* You need to react to whatever the service returns, for example retrying,
  branching, or notifying someone when a call comes back with an error.

## Inputs

| Field            | What it's for                                                                                | Example                                              |
| ---------------- | -------------------------------------------------------------------------------------------- | ---------------------------------------------------- |
| URL              | The web address of the service you are calling.                                              | `https://api.example-crm.com/v1/accounts/sarah-chen` |
| HTTP Method      | The kind of call to make: get data, create, update, or delete.                               | `GET`                                                |
| Headers          | Extra information sent with the request, such as an authorization token or the content type. | `Authorization: Bearer ...`                          |
| Query Parameters | Values added to the end of the URL to filter or shape what comes back.                       | `status = active`                                    |
| Body             | The data you send along, most often when creating or updating a record.                      | A JSON record of the new contact                     |

Any of these can be written as an [expression](/platform/workflows/core-concepts/expressions/using-expressions-in-nodes)
so the call adapts to earlier steps, and secrets like API keys can be pulled in
without hard-coding them (see [Secrets](/platform/workflows/core-concepts/secrets)).

## Outputs

| Field            | What you get back                                                                                                                                                                 |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Status code      | The result code of the call. Codes in the 200s mean success; 400 and above mean the service reported a problem. A code of `0` means the request never reached the service at all. |
| Response body    | The content the service sent back, usually a record or a message.                                                                                                                 |
| Response headers | The headers the service returned, such as content type or rate-limit hints.                                                                                                       |

## Example

Marcus Johnson submits a new quote request. A workflow calls the agency's
management system to pull his existing account before deciding how to route the
request. The HTTP Request node is set to `GET` the account URL, with an
authorization token supplied from a secret. A later
[Conditional](/platform/workflows/node-reference/logic-and-flow/conditional) step reads
the status code: if it comes back in the 200s the run continues with his account
data, and if it comes back `404` the run branches to create a fresh contact
instead.

![The HTTP Request node configuration panel, showing the URL, HTTP method, and headers.](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/gail.docs.buildwithfern.com/4cb73c229849db0db1a2a012eadcfa19482e70c139cff4147ae611f458f722be/docs/pages/platform/workflows/assets/web-and-http-http-request.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260823%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260823T232859Z&X-Amz-Expires=604800&X-Amz-Signature=ee144be24bad2c0cdd9dc68336c93eb7b4cea6a0f904622d6b978c18edef6bf7&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

This node never stops the run on its own, even when a call fails. It always
hands back a result so you stay in control. Follow it with a
[Check](/platform/workflows/node-reference/logic-and-flow/check) or
[Conditional](/platform/workflows/node-reference/logic-and-flow/conditional) that reads
the status code, and treat `0` as "the service could not be reached."

## Related nodes

#### [Web Search](/platform/workflows/node-reference/web-and-http/web-search)

Find pages on the public web instead of calling a known API.

#### [Agent](/platform/workflows/node-reference/ai/agent)

Hand the response to an agent to summarize or pull out key fields.

#### [Conditional](/platform/workflows/node-reference/logic-and-flow/conditional)

Branch the run based on the status code that came back.

#### [Check](/platform/workflows/node-reference/logic-and-flow/check)

Turn the response into a single labeled outcome.