Skip to main content

HTTP Call Node

HTTP Call Node Screenshot

Overview

The HTTP Call Node allows you to make an HTTP call to a specified URL with a given method, headers, and body. This node is particularly useful when you need to interact with external APIs or services.

The HTTP Call Node uses the Fetch API to make HTTP requests. It supports all HTTP methods (GET, POST, PUT, DELETE, etc.) and allows you to specify custom headers and a request body.

caution

When using the default browser executor, you have to worry about CORS when making HTTP requests to external APIs. If the API you are trying to call does not support CORS to http://tauri.local (most do not), you will run into CORS problems. This can manifest as an error fetch failed in the output panel.

This can be worked around by using the Node executor in Rivet, which does not do CORS checks.

Inputs

The HTTP call node only has inputs when the Editor Settings are set to use input toggles. See that section for more information.

Example 1: Make a GET request to an API

  1. Create an HTTP Call Node and set the Method to GET and the URL to https://jsonplaceholder.typicode.com/todos/1.
  2. Run the graph. You should see all of the response data, such as the headers, response code, and body, in the output panel.

HTTP Call Node Example 1

Example 2: Make a POST request to an API

  1. Create an HTTP Call Node and set the Method to POST and the URL to https://jsonplaceholder.typicode.com/posts. Enable the "Use Input" toggle on the "Body" setting to enable the input port for Body.
  2. Create an Object Node and set the object to:
{
"title": "foo",
"body": "bar",
"userId": 1
}
  1. Create a To JSON Node and connect the Object Node to the Data input of the To JSON Node. Connect the To JSON Node to the Body input of the HTTP Call Node.
  2. Create an Extract Object Path Node and connect the JSON output of the HTTP Call Node to the Object input of the Extract Object Path Node. Set the Path to $.id.
  3. Run the graph. You should see the created ID of the post in the Extract Object Path Node's output panel.

HTTP Call Node Example 2

Error Handling

The HTTP Call Node errors when the request throws, the URL is invalid, or the final response violates Fail on non-2XX status code.

Enable Catch all request failures when you want failures to flow through node outputs instead of stopping the graph. The node will output Request failed as true and Request error as readable error text.

Enable Retry on non-200 when you want Rivet to repeat responses whose status code is not 200. Retry mode changes the existing Status Code, Request failed, and Request error outputs to arrays. Rivet does not create extra ad-hoc retry outputs; downstream nodes should read those same output ports.

FAQ

Q: Can I use the HTTP Call Node to make requests to any API?

A: Yes, you can use the HTTP Call Node to make requests to any API that supports the HTTP methods GET, POST, PUT, or DELETE.

Q: Can I use the HTTP Call Node to send JSON in the request body?

A: Yes, you can use a Text Node to create a JSON string and connect it to the Body input of the HTTP Call Node.

Q: Can I use the HTTP Call Node to handle API authentication?

A: Yes, you can include authentication headers in the Headers input of the HTTP Call Node. However, for security reasons, you should not hardcode sensitive information like API keys in your graphs. Instead, consider using a Context Node to securely pass in sensitive information from the host application.

See Also