---
title: HTTP (legacy)
slug: http-legacy
image: https://make-cxp-documentation.ams3.cdn.digitaloceanspaces.com/apps-center-icons/PREVIEW_DEFAULT.png
docTags: 
createdAt: 2025-02-03T13:28:13.883Z
---

::::VerticalSplit{layout="left"}
:::VerticalSplitItem
::Image[**]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/CToHsKkMmyWJITyt8_JzK-20251030-181551.png" size="40" width="800" height="800" position="center" showCaption="false"}
:::

:::VerticalSplitItem
HTTP is the fundamental component of data transfer for the World Wide Web.&#x20;

With the HTTP (legacy) app in Make, you can download web pages, access files, make API calls, and trigger webhooks.
:::
::::

:::hint{type="info"}
Make now offers a new [HTTP](https://apps.make.com/http) app that simplifies the setup, ensures more secure keychain storage, and provides native pagination. The new version is marked as **Version 4**. If you need to switch back to the **HTTP (legacy)**, select **Version 3** from the drop-down.

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/9yJYeO4WyT3SGjzPNBAj4-20260313-135054.png" size="40" width="844" height="230" position="flex-start" showCaption="false"}

See [here](https://help.make.com/update-legacy-modules-with-new-modules) how to update legacy modules with new modules.
:::

# HTTP (legacy) modules

:::hint{type="success"}
You do not need to establish a connection to use most of the HTTP (Legacy) app modules.
:::

Select a module of the HTTP (legacy) app based on the authentication requirements of the resource you want to use. To use modules that require authentication, you have to create a connection first.

## Actions

:::ExpandableHeading
### Get a file

Downloads a file from a URL

| **Field** | **Description**                                                                                                            |
| --------- | -------------------------------------------------------------------------------------------------------------------------- |
| **URL**   | Enter the URL of the file you want to download. You can use the file (map the file data) in other modules in the scenario. |
:::

:::ExpandableHeading
### Make a Basic Auth request

Sends an HTTP request with basic authentication. The output bundle contains the HTTP response.

| **Field**                                                              | **Description**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Credentials**                                                        | Click Add to add your credentials (user name and password) for basic authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| **Evaluate all states as errors (except for 2xx and 3xx)**             | Use the response status to detect errors. Otherwise, the module reports only Make-related errors (like mapping errors or missing required values).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **URL**                                                                | Enter the request URL.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **Serialize URL**                                                      | Encodes the API call URL with the URL encoding (encoding special characters for example).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **Method**                                                             | Select the HTTP method you want to use:<br />- **GET**: to retrieve information for an entry.<br />- **POST**: to create a new entry.<br />- **PUT**: to update/replace an existing entry.<br />- **PATCH**: to make a partial entry update.<br />- **DELETE**: to delete an entry.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| **Headers**                                                            | Enter request [headers](https://en.wikipedia.org/wiki/List_of_HTTP_header_fields). For example, the response content type.<br /><br />The HTTP app requests do not have the [Accept header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept). If the HTTP request returns an unexpected response, try adding the `Accept: */*` header.<br />:inlineImage[]{src="https://api.archbee.com/api/optimize/yAufeXqD1oGWOPBNi5MAm-L0yYm-uPXmhdEhvF7o8dP-20250306-113942.png" alt="Header detail" caption size="80" width="690" height="654"}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **Query String**                                                       | Enter the query key-value pairs.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **Body type**                                                          | HTTP `body` contains the data transferred in an HTTP request.<br />- The **Raw** body type is suitable for most HTTP requests, even if the app documentation does not specify the data type.<br /><br />Specify the data format of the body content in the Content type field.<br />- The **Application/x-www-form-urlencoded** body type is to POST data using `application/x-www-form-urlencoded`.<br /><br />For `application/x-www-form-urlencoded`, the body of the HTTP request sent to the server is one query string. The keys and values are encoded in key-value pairs separated by `&` and with a `=` between the key and the value. For binary data, use the `multipart/form-data` body type instead.<br /><br />Example of the resulting HTTP request format: `field1=value1&field2=value2 `<br />- Use the **multipart/form-data** content type to send files in the HTTP request.<br /><br />Add fields to the request. Each field must contain a key-value pair:<br /><br />**Text:** Enter the key and value to send in the request body.<br />**File:** Enter the key, and specify the source file you want to send in the request body. Map the file you want to upload from the previous module (for example: **HTTP > Get a File** or **Google Drive > Download a File**), or enter the file name and file data manually. |
| **Parse response**                                                     | Enable to parse HTTP responses into bundles. With this option, you don't need to add the **Parse JSON** or **Parse XML** modules. Otherwise, the HTTP module returns the raw response data.<br />Before you can use parsed JSON or XML content, run the module once manually so that the module can recognize the response content and allow you to map it in subsequent modules.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **Timeout**                                                            | Specify the request timeout in seconds (1-300). Default: 40 seconds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| **Share cookies with other HTTP modules**                              | Enable to share cookies from the server with all HTTP modules in your Make.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Self-signed certificate**                                            | Upload your certificate if you want to use TLS using your self-signed certificate.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **Reject connections that use unverified (self-signed) certificates**  | Enable to reject connections that use unverified TLS certificates.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **Follow redirect**                                                    | Enable to follow URL redirects that return 3xx response statuses.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **Follow all redirect**                                                | Enable to follow URL redirects regardless of response statuses.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| **Disable serialization of multiple same query string keys as arrays** | Make handles multiple values for the same URL query string parameter key as arrays (e.g., `www.test.com?foo=bar&amp;foo=baz` will be converted to `www.test.com?foo[0]=bar&amp;foo[1]=baz`). Enable to deactivate this behavior.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **Request compressed content**                                         | Enable to request compression of the response data. Adds the `Accept-Encoding` header.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **Use Mutual TLS**                                                     | Select if you want to use mutual TLS (mTLS) for the HTTP request to ensure both the client and server authenticate each other using certificates.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
:::

:::ExpandableHeading
### Make a Client Certificate Auth request

Sends an HTTP(S) request to apps that require a client certificate authorization.

| **Field**                                                              | **Description**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Evaluate all states as errors (except for 2xx and 3xx)**             | Use the response status to detect errors. Otherwise, the module reports only Make-related errors (like mapping errors or missing required values).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **URL**                                                                | Enter the request URL.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **Serialize URL**                                                      | Encodes the API call URL with the URL encoding (encoding special characters for example).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **Method**                                                             | Select the HTTP method you want to use:<br />- **GET**: to retrieve information for an entry.<br />- **POST**: to create a new entry.<br />- **PUT**: to update/replace an existing entry.<br />- **PATCH**: to make a partial entry update.<br />- **DELETE**: to delete an entry.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| **Headers**                                                            | Enter request [headers](https://en.wikipedia.org/wiki/List_of_HTTP_header_fields). For example, the response content type.<br /><br />The HTTP app requests do not have the [Accept header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept). If the HTTP request returns an unexpected response, try adding the `Accept: */*` header.<br />:inlineImage[]{src="https://api.archbee.com/api/optimize/yAufeXqD1oGWOPBNi5MAm-L0yYm-uPXmhdEhvF7o8dP-20250306-113942.png" alt="Header detail" caption size="80" width="690" height="654"}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **Query String**                                                       | Enter the query key-value pairs.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **Body type**                                                          | HTTP `body` contains the data transferred in an HTTP request.<br />- The **Raw** body type is suitable for most HTTP requests, even if the app documentation does not specify the data type.<br /><br />Specify the data format of the body content in the Content type field.<br />- The **Application/x-www-form-urlencoded** body type is to POST data using `application/x-www-form-urlencoded`.<br /><br />For `application/x-www-form-urlencoded`, the body of the HTTP request sent to the server is one query string. The keys and values are encoded in key-value pairs separated by `&` and with a `=` between the key and the value. For binary data, use the `multipart/form-data` body type instead.<br /><br />Example of the resulting HTTP request format: `field1=value1&field2=value2 `<br />- Use the **multipart/form-data** content type to send files in the HTTP request.<br /><br />Add fields to the request. Each field must contain a key-value pair:<br /><br />**Text:** Enter the key and value to send in the request body.<br />**File:** Enter the key, and specify the source file you want to send in the request body. Map the file you want to upload from the previous module (for example: **HTTP > Get a File** or **Google Drive > Download a File**), or enter the file name and file data manually. |
| **Parse response**                                                     | Enable to parse HTTP responses into bundles. With this option, you don't need to add the **Parse JSON** or **Parse XML** modules. Otherwise, the HTTP module returns the raw response data.<br />Before you can use parsed JSON or XML content, run the module once manually so that the module can recognize the response content and allow you to map it in subsequent modules.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **Timeout**                                                            | Specify the request timeout in seconds (1-300). Default: 40 seconds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| **Share cookies with other HTTP modules**                              | Enable to share cookies from the server with all HTTP modules in your Make.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Self-signed certificate**                                            | Upload your certificate if you want to use TLS using your self-signed certificate.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **Reject connections that use unverified (self-signed) certificates**  | Enable to reject connections that use unverified TLS certificates.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **Follow redirect**                                                    | Enable to follow URL redirects that return 3xx response statuses.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **Follow all redirect**                                                | Enable to follow URL redirects regardless of response statuses.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| **Disable serialization of multiple same query string keys as arrays** | Make handles multiple values for the same URL query string parameter key as arrays (e.g., `www.test.com?foo=bar&amp;foo=baz` will be converted to `www.test.com?foo[0]=bar&amp;foo[1]=baz`). Enable to deactivate this behavior.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **Request compressed content**                                         | Enable to request compression of the response data. Adds the `Accept-Encoding` header.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **Use Mutual TLS**                                                     | Select if you want to use mutual TLS (mTLS) for the HTTP request to ensure both the client and server authenticate each other using certificates.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
:::

:::::ExpandableHeading
### Make an API Key Auth request

Sends an HTTPS request to a specified URL that requires API key authorization and processes the response.

The output bundle contains the HTTP response.

::::WorkflowBlock
:::WorkflowBlockItem
In the **Make an API key Auth request** module settings, click the **Add** button. The **Add a new keychain** window pops up.
:::

:::WorkflowBlockItem
Enter the following:

| **Field**                  | **Value**                                                                                                                                                               |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**                   | The label for your API key connection.                                                                                                                                  |
| **Key**                    | The API key to authorize the HTTP calls. If the API uses "Bearer" or "Token" authorization, add the word before the API key.<br />Example: `Bearer 1234-5678-abcd-efgh` |
| **API key placement**      | Select if you want the authorization in the request header or query string.                                                                                             |
| **API key parameter name** | The name of the parameter that contains the API key.                                                                                                                    |
:::

:::WorkflowBlockItem
Click **Create** to create the connection.
:::
::::

You created an API connection. You can now use the connection in the module.

Module settings:

| **Field**                                                              | **Description**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Evaluate all states as errors (except for 2xx and 3xx)**             | Use the response status to detect errors. Otherwise, the module reports only Make-related errors (like mapping errors or missing required values).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **URL**                                                                | Enter the request URL.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **Serialize URL**                                                      | Encodes the API call URL with the URL encoding (encoding special characters for example).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **Method**                                                             | Select the HTTP method you want to use:<br />- **GET**: to retrieve information for an entry.<br />- **POST**: to create a new entry.<br />- **PUT**: to update/replace an existing entry.<br />- **PATCH**: to make a partial entry update.<br />- **DELETE**: to delete an entry.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| **Headers**                                                            | Enter request [headers](https://en.wikipedia.org/wiki/List_of_HTTP_header_fields). For example, the response content type.<br /><br />The HTTP app requests do not have the [Accept header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept). If the HTTP request returns an unexpected response, try adding the `Accept: */*` header.<br />:inlineImage[]{src="https://api.archbee.com/api/optimize/yAufeXqD1oGWOPBNi5MAm-L0yYm-uPXmhdEhvF7o8dP-20250306-113942.png" alt="Header detail" caption size="80" width="690" height="654"}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **Query String**                                                       | Enter the query key-value pairs.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **Body type**                                                          | HTTP `body` contains the data transferred in an HTTP request.<br />- The **Raw** body type is suitable for most HTTP requests, even if the app documentation does not specify the data type.<br /><br />Specify the data format of the body content in the Content type field.<br />- The **Application/x-www-form-urlencoded** body type is to POST data using `application/x-www-form-urlencoded`.<br /><br />For `application/x-www-form-urlencoded`, the body of the HTTP request sent to the server is one query string. The keys and values are encoded in key-value pairs separated by `&` and with a `=` between the key and the value. For binary data, use the `multipart/form-data` body type instead.<br /><br />Example of the resulting HTTP request format: `field1=value1&field2=value2 `<br />- Use the **multipart/form-data** content type to send files in the HTTP request.<br /><br />Add fields to the request. Each field must contain a key-value pair:<br /><br />**Text:** Enter the key and value to send in the request body.<br />**File:** Enter the key, and specify the source file you want to send in the request body. Map the file you want to upload from the previous module (for example: **HTTP > Get a File** or **Google Drive > Download a File**), or enter the file name and file data manually. |
| **Parse response**                                                     | Enable to parse HTTP responses into bundles. With this option, you don't need to add the **Parse JSON** or **Parse XML** modules. Otherwise, the HTTP module returns the raw response data.<br />Before you can use parsed JSON or XML content, run the module once manually so that the module can recognize the response content and allow you to map it in subsequent modules.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **Timeout**                                                            | Specify the request timeout in seconds (1-300). Default: 40 seconds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| **Share cookies with other HTTP modules**                              | Enable to share cookies from the server with all HTTP modules in your Make.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Self-signed certificate**                                            | Upload your certificate if you want to use TLS using your self-signed certificate.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **Reject connections that use unverified (self-signed) certificates**  | Enable to reject connections that use unverified TLS certificates.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **Follow redirect**                                                    | Enable to follow URL redirects that return 3xx response statuses.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **Follow all redirect**                                                | Enable to follow URL redirects regardless of response statuses.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| **Disable serialization of multiple same query string keys as arrays** | Make handles multiple values for the same URL query string parameter key as arrays (e.g., `www.test.com?foo=bar&amp;foo=baz` will be converted to `www.test.com?foo[0]=bar&amp;foo[1]=baz`). Enable to deactivate this behavior.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **Request compressed content**                                         | Enable to request compression of the response data. Adds the `Accept-Encoding` header.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **Use Mutual TLS**                                                     | Select if you want to use mutual TLS (mTLS) for the HTTP request to ensure both the client and server authenticate each other using certificates.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
:::::

:::::ExpandableHeading
### Make an OAuth 2.0 request

Sends an HTTP(S) request to a specified URL that requires OAuth 2.0 authorization and processes the response.

In order to make HTTP(S) requests that require an OAuth 2.0 authorization, you need to create an OAuth connection first.

**Create an OAuth 2.0 Connection**

Make supports two flows:

- Authorization code: enter an **Authorize URL** and **Token URL** from the app API documentation.
- Implicit: enter the **Authorize URL** from the app API documentation.

**Prerequisites**

- An app account
- Access to a developer portal or settings
- A Redirect URL (sometimes called a Callback URL).

**Obtaining credentials in the app**

::::WorkflowBlock
:::WorkflowBlockItem
Create an OAuth client in the app that you want to connect with Make. To do this, enter the developer portal or settings.

1. Specify a **Redirect URI**: [`https://www.make.com/oauth/cb/oauth2`](https://www.make.com/oauth/cb/oauth2)
2. Obtain the **Client ID** and **Client Secret**. Sometimes the app calls them **App Key** and **App Secret**.
3. Save the Client ID and Client Secret in a safe place. You will need them when building a scenario in Make.
:::

:::WorkflowBlockItem
Find the **Authorize URL** and **Token URL** in the app API documentation. These are the addresses through which Make communicates with the app.
:::
::::

**Establishing the connection in Make**

Once you have your credentials from the app, you can enter them in the app's configuration in Make.

::::WorkflowBlock
:::WorkflowBlockItem
Go to a scenario.
:::

:::WorkflowBlockItem
Add the **HTTP - Make an OAuth 2.0 request** module.
:::

:::WorkflowBlockItem
Click **Create a connection**.
:::

:::WorkflowBlockItem
Optional: In the **Connection name** field, enter a name for the connection.
:::

:::WorkflowBlockItem
In the **Flow type&#x20;**&#x66;ield, select the flow.
:::

:::WorkflowBlockItem
In the **Scopes** field, add API scopes. Refer to the app API documentation to get scopes.
:::

:::WorkflowBlockItem
In the **Client ID** and **Client Secret** fields, enter the credentials you saved previously.
:::

:::WorkflowBlockItem
Click **Save** to create an OAuth 2.0 connection.
:::
::::

You have created an OAuth 2.0 connection. Now you can use the connection in the **Make an OAuth 2.0 request** module.

Check the advanced settings to create a connection:

| **Field**                       | **Description**                                                                                                                                                                                                                                                                                                                                                                                                                              |
| ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Scope separator**             | Select the separator for the list of scopes you entered above. Check the app API documentation for the format of the list of scopes.<br />If the separator is not set correctly, Make will be unable to create the connection, and you will receive an invalid scope error.                                                                                                                                                                  |
| **Authorize parameters**        | Enter additional authorization request parameters as a key-value pair:<br />- `response_type`: `code` for the **Authorization code** flow and `token` for the **Implicit** flow.<br />- `redirect_uri`: `https://www.integromat.com/oauth/cb/oauth2`<br />- `client_id`: The **Client ID** you entered when creating an account.                                                                                                             |
| **Access token parameters**     | Enter additional access token request parameters as key-value pairs.<br />Standard parameters:<br />- `grant_type`: `authorization_code`<br />- `redirect_uri`: `https://www.integromat.com/oauth/cb/oauth2`<br />- `client_id`: The **Client ID** you entered when creating an account.<br />- `client_secret`: The **Client Secret** you entered when creating the account.<br />- `code`: The code returned by the authorization request. |
| **Refresh token parameters**    | Enter the additional refresh token request paramters as key-value pairs.<br />Standard parameters:<br />- `grant_type`: `refresh_token`<br />- `refresh_token`: The Refresh token obtained together with the Access token.<br />- `client_id`: The **Client ID** you entered when creating the account.<br />- `client_secret`: The **Client Secret** you entered when creating the account.                                                 |
| **Custom Headers**              | Specify any custom headers to send in the request.                                                                                                                                                                                                                                                                                                                                                                                           |
| **Token placement**             | Select whether to send the token in the `header`, `query` string, or both.                                                                                                                                                                                                                                                                                                                                                                   |
| **Header token name**           | Enter the name of the authorization token in the header. Default: `Bearer`.                                                                                                                                                                                                                                                                                                                                                                  |
| **Query string parameter name** | Enter the name of the authorization token in the query string. Default: `access_token`.                                                                                                                                                                                                                                                                                                                                                      |

Module settings:

| **Field**                                                              | **Description**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Evaluate all states as errors (except for 2xx and 3xx)**             | Use the response status to detect errors. Otherwise, the module reports only Make-related errors (like mapping errors or missing required values).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **URL**                                                                | Enter the request URL.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **Serialize URL**                                                      | Encodes the API call URL with the URL encoding (encoding special characters for example).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **Method**                                                             | Select the HTTP method you want to use:<br />- **GET**: to retrieve information for an entry.<br />- **POST**: to create a new entry.<br />- **PUT**: to update/replace an existing entry.<br />- **PATCH**: to make a partial entry update.<br />- **DELETE**: to delete an entry.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| **Headers**                                                            | Enter request [headers](https://en.wikipedia.org/wiki/List_of_HTTP_header_fields). For example, the response content type.<br /><br />The HTTP app requests do not have the [Accept header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept). If the HTTP request returns an unexpected response, try adding the `Accept: */*` header.<br />:inlineImage[]{src="https://api.archbee.com/api/optimize/yAufeXqD1oGWOPBNi5MAm-L0yYm-uPXmhdEhvF7o8dP-20250306-113942.png" alt="Header detail" caption size="80" width="690" height="654"}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **Query String**                                                       | Enter the query key-value pairs.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **Body type**                                                          | HTTP `body` contains the data transferred in an HTTP request.<br />- The **Raw** body type is suitable for most HTTP requests, even if the app documentation does not specify the data type.<br /><br />Specify the data format of the body content in the Content type field.<br />- The **Application/x-www-form-urlencoded** body type is to POST data using `application/x-www-form-urlencoded`.<br /><br />For `application/x-www-form-urlencoded`, the body of the HTTP request sent to the server is one query string. The keys and values are encoded in key-value pairs separated by `&` and with a `=` between the key and the value. For binary data, use the `multipart/form-data` body type instead.<br /><br />Example of the resulting HTTP request format: `field1=value1&field2=value2 `<br />- Use the **multipart/form-data** content type to send files in the HTTP request.<br /><br />Add fields to the request. Each field must contain a key-value pair:<br /><br />**Text:** Enter the key and value to send in the request body.<br />**File:** Enter the key, and specify the source file you want to send in the request body. Map the file you want to upload from the previous module (for example: **HTTP > Get a File** or **Google Drive > Download a File**), or enter the file name and file data manually. |
| **Parse response**                                                     | Enable to parse HTTP responses into bundles. With this option, you don't need to add the **Parse JSON** or **Parse XML** modules. Otherwise, the HTTP module returns the raw response data.<br />Before you can use parsed JSON or XML content, run the module once manually so that the module can recognize the response content and allow you to map it in subsequent modules.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **Timeout**                                                            | Specify the request timeout in seconds (1-300). Default: 40 seconds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| **Share cookies with other HTTP modules**                              | Enable to share cookies from the server with all HTTP modules in your Make.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Self-signed certificate**                                            | Upload your certificate if you want to use TLS using your self-signed certificate.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **Reject connections that use unverified (self-signed) certificates**  | Enable to reject connections that use unverified TLS certificates.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **Follow redirect**                                                    | Enable to follow URL redirects that return 3xx response statuses.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **Follow all redirect**                                                | Enable to follow URL redirects regardless of response statuses.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| **Disable serialization of multiple same query string keys as arrays** | Make handles multiple values for the same URL query string parameter key as arrays (e.g., `www.test.com?foo=bar&amp;foo=baz` will be converted to `www.test.com?foo[0]=bar&amp;foo[1]=baz`). Enable to deactivate this behavior.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **Request compressed content**                                         | Enable to request compression of the response data. Adds the `Accept-Encoding` header.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **Use Mutual TLS**                                                     | Select if you want to use mutual TLS (mTLS) for the HTTP request to ensure both the client and server authenticate each other using certificates.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
:::::

:::ExpandableHeading
### Make a request

Creates an HTTP request and send it to a server. The output bundle contains the HTTP response. This is a universal module, best to use for resources that do not require authentication.

| **Field**                                                              | **Description**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Evaluate all states as errors (except for 2xx and 3xx)**             | Use the response status to detect errors. Otherwise, the module reports only Make-related errors (like mapping errors or missing required values).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **URL**                                                                | Enter the request URL.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **Serialize URL**                                                      | Encodes the API call URL with the URL encoding (encoding special characters for example).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **Method**                                                             | Select the HTTP method you want to use:<br />- **GET**: to retrieve information for an entry.<br />- **POST**: to create a new entry.<br />- **PUT**: to update/replace an existing entry.<br />- **PATCH**: to make a partial entry update.<br />- **DELETE**: to delete an entry.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| **Headers**                                                            | Enter request [headers](https://en.wikipedia.org/wiki/List_of_HTTP_header_fields). For example, the response content type.<br /><br />The HTTP app requests do not have the [Accept header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept). If the HTTP request returns an unexpected response, try adding the `Accept: */*` header.<br />:inlineImage[]{src="https://api.archbee.com/api/optimize/yAufeXqD1oGWOPBNi5MAm-L0yYm-uPXmhdEhvF7o8dP-20250306-113942.png" alt="Header detail" caption size="80" width="690" height="654"}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **Query String**                                                       | Enter the query key-value pairs.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **Body type**                                                          | HTTP `body` contains the data transferred in an HTTP request.<br />- The **Raw** body type is suitable for most HTTP requests, even if the app documentation does not specify the data type.<br /><br />Specify the data format of the body content in the Content type field.<br />- The **Application/x-www-form-urlencoded** body type is to POST data using `application/x-www-form-urlencoded`.<br /><br />For `application/x-www-form-urlencoded`, the body of the HTTP request sent to the server is one query string. The keys and values are encoded in key-value pairs separated by `&` and with a `=` between the key and the value. For binary data, use the `multipart/form-data` body type instead.<br /><br />Example of the resulting HTTP request format: `field1=value1&field2=value2 `<br />- Use the **multipart/form-data** content type to send files in the HTTP request.<br /><br />Add fields to the request. Each field must contain a key-value pair:<br /><br />**Text:** Enter the key and value to send in the request body.<br />**File:** Enter the key, and specify the source file you want to send in the request body. Map the file you want to upload from the previous module (for example: **HTTP > Get a File** or **Google Drive > Download a File**), or enter the file name and file data manually. |
| **Parse response**                                                     | Enable to parse HTTP responses into bundles. With this option, you don't need to add the **Parse JSON** or **Parse XML** modules. Otherwise, the HTTP module returns the raw response data.<br />Before you can use parsed JSON or XML content, run the module once manually so that the module can recognize the response content and allow you to map it in subsequent modules.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **User name**                                                          | Enter the user name to send the request with the basic auth.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| **Password**                                                           | Enter the password to send the request with the basic auth.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Timeout**                                                            | Specify the request timeout in seconds (1-300). Default: 40 seconds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| **Share cookies with other HTTP modules**                              | Enable to share cookies from the server with all HTTP modules in your Make.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Self-signed certificate**                                            | Upload your certificate if you want to use TLS using your self-signed certificate.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **Reject connections that use unverified (self-signed) certificates**  | Enable to reject connections that use unverified TLS certificates.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **Follow redirect**                                                    | Enable to follow URL redirects that return 3xx response statuses.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **Follow all redirect**                                                | Enable to follow URL redirects regardless of response statuses.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| **Disable serialization of multiple same query string keys as arrays** | Make handles multiple values for the same URL query string parameter key as arrays (e.g., `www.test.com?foo=bar&amp;foo=baz` will be converted to `www.test.com?foo[0]=bar&amp;foo[1]=baz`). Enable to deactivate this behavior.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **Request compressed content**                                         | Enable to request compression of the response data. Adds the `Accept-Encoding` header.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **Use Mutual TLS**                                                     | Select if you want to use mutual TLS (mTLS) for the HTTP request to ensure both the client and server authenticate each other using certificates.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |

This is an example of how to set up the **Make a request** module to send a `POST` request with the `body` in the JSON data format:

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/4gOGwudAt4767n8WYvb0n_uuid-1c286373-3c26-02f6-d6a4-f6c8f8a891f1.png" size="50" width="620" height="1060" position="flex-start" alt="Make a request module example" showCaption="false"}

To make sure your JSON is valid, use a JSON validator (for example: [https://jsonlint.com/](https://jsonlint.com/)) or use a **Create JSON** module to create the JSON.

Be careful when combining JSON data with mapping variables or function directly in the **Request content** field. Mixing JSON with mapping can lead to an invalid JSON structure.
:::

:::ExpandableHeading
### Resolve a target URL

Gets a direct URL to a resource instead of a redirect URL.

For example, links for sharing files in storage apps like Dropbox redirect you before you reach the target file. The module navigates through the redirect chain and returns the target URL.

Enter the URL you want to resolve. The output bundle contains the link to which the original URL redirects in the `location` [response header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location).

| **Field**  | **Description**                    |
| ---------- | ---------------------------------- |
| **URL**    | Enter the URL you want to resolve. |
| **Method** | Select the method you want to use. |
:::

## Feeders

:::ExpandableHeading
### Retrieve headers

Returns each header (name and value) from the specified HTTP module in a separate bundle.

| **Field**         | **Description**                                      |
| ----------------- | ---------------------------------------------------- |
| **Source Module** | Select the module you want to retrieve headers from. |
:::

# Generate JSON Web Tokens (JWT)

If you need to connect to an API or send messages that requires JWT authentication, you can create a JWT via the HTTP module using the HS256 or HS512 algorithms. Make allows creating a JWT with the help of custom or built-in functions.

:::::ExpandableHeading
## Generate a JWT with a custom function

:::hint{type="info"}
This feature is available to Enterprise customers.
:::

::::WorkflowBlock
:::WorkflowBlockItem
Go to **Functions** and create a custom function using the following body:

```text
function readableJWTencode(payload, secret, header = '{"alg":"HS256","typ":"JWT"}') {
    let formattedHeader = iml.replace(iml.replace(iml.replace(iml.base64(header), "=", ""), "+", "-"), "/", "_")
    let formattedPayload = iml.replace(iml.replace(iml.replace(iml.base64(payload), "=", ""), "+", "-"), "/", "_")
    let signature = iml.sha256(formattedHeader + "." + formattedPayload, "base64", secret)
    let formattedSignature = iml.replace(iml.replace(iml.replace(signature, "=", ""), "+", "-"), "/", "_")
    let jwt = formattedHeader + "." + formattedPayload + "." + formattedSignature
    return jwt
}
```

Replace **HS256** with **HS512** and **sha256** with **sha512** in the custom function above to create a HS512 JWT.

The example custom function has the **jwtEncode** name embedded onto the function body. If you want to use another name, change it in the body too.
:::

:::WorkflowBlockItem
Start your scenario with the **Set multiple variables&#x20;**&#x6D;odule and add the following:

| **Field**                  | **Value**                                                                                                      |
| -------------------------- | -------------------------------------------------------------------------------------------------------------- |
| **Item 1: Variable name**  | `header`                                                                                                       |
| **Item 1: Variable value** | `{"alg":"HS256","typ":"JWT"}`<br />Replace **HS256&#x20;**&#x77;ith **HS512&#x20;**&#x74;o create a HS512 JWT. |
| **Item 2: Variable name**  | `payload`                                                                                                      |
| **Item 2: Variable value** | `{"var1":1,"var2":"text"}`                                                                                     |
| **Item 3: Varible name**   | `secret`                                                                                                       |
| **Item 3: Variable value** | Enter your 256-bit or 512-bit secret.                                                                          |
:::

:::WorkflowBlockItem
Add another **Set multiple variables** module to generate the JWT.
:::

:::WorkflowBlockItem
Optional: In **Variable name**, enter the name for the token.
:::

:::WorkflowBlockItem
In **Variable value**, enter the following function: `{{jwtEncode(11.payload; 11.secret)}}`

Make sure to take into account the module number in the code. In the example above, the header, payload and secret are in the 11th module in the scenario. It may vary from one scenario to another.
:::
::::

If you run the scenario, you will receive the HS256 or HS512 JWT in the second module's output.

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/-vUc64OgJYY_tiwT1XN5X_uuid-c44b78ff-3281-5a3c-36de-78af3b321f0a.png" size="50" width="659" height="598" position="flex-start" alt="Second module's output" showCaption="false"}

You can connect to an API or send messages that requires JWT authentication.
:::::

:::::ExpandableHeading
## Generate a JWT with built-in functions

::::WorkflowBlock
:::WorkflowBlockItem
Start your scenario with the **Set multiple variables&#x20;**&#x6D;odule and add the following:

| **Field**                  | **Value**                                                                                                      |
| -------------------------- | -------------------------------------------------------------------------------------------------------------- |
| **Item 1: Variable name**  | `header`                                                                                                       |
| **Item 1: Variable value** | `{"alg":"HS256","typ":"JWT"}`<br />Replace **HS256&#x20;**&#x77;ith **HS512&#x20;**&#x74;o create a HS512 JWT. |
| **Item 2: Variable name**  | `payload`                                                                                                      |
| **Item 2: Variable value** | `{"var1":1,"var2":"text"}`                                                                                     |
| **Item 3: Varible name**   | `secret`                                                                                                       |
| **Item 3: Variable value** | Enter your 256-bit or 512-bit secret.                                                                          |
:::

:::WorkflowBlockItem
Add another **Set multiple variables** module to generate the HS256 or HS512 JWT.
:::

:::WorkflowBlockItem
Optional: In **Variable name**, enter the name for the token.
:::

:::WorkflowBlockItem
In **Variable value**, enter the following function: `{{5.header}}.{{5.payload}}.{{replace(replace(replace(sha256(5.header + "." + 5.payload; "base64"; 5.secret); "="; emptystring); "+"; "-"); "/"; "_")}}`

Use the `sha512` function to create a HS512 JWT.

Make sure to take into account the module number in the code. In the example above, the header, payload and secret are in the 5th module in the scenario. It may vary from one scenario to another.
:::
::::

If you run the scenario, you will receive the HS256 or HS512 JWT in the second module's output.

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/-vUc64OgJYY_tiwT1XN5X_uuid-c44b78ff-3281-5a3c-36de-78af3b321f0a.png" size="50" width="659" height="598" position="flex-start" caption="JWT.png" alt="JWT.png" showCaption="true"}

You can connect to an API or send messages that requires JWT authentication.
:::::

