> For the complete documentation index, see [llms.txt](https://docs.skyone.cloud/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.skyone.cloud/english/skyone-studio/modules/settings-and-operations/module-settings/connectivity-rest.md).

# Connectivity: REST

### Overview <a href="#overview" id="overview"></a>

**REST connectivity** can be used with web services that utilize REST APIs, such as SAP Business One, Zoho CRM, iugu, and Google Fit.

If the system already has an API, **Skyone Studio** can use it directly—adding **rate limiting** and **security controls**, which simplifies integration with other products.

Skyone Studio works with the **JSON format** and supports the following HTTP request methods:

* **GET**
* **POST**
* **PUT**
* **PATCH**
* **DELETE**

***

**Authentication types**

If you choose the **REST** connectivity type, you will have the following **Authentication Type** options:

* **No Auth**: open connection, without any type of authentication;
* **Basic**: simple connection, with user and password;
* **Bearer Token:** connection that requires a token in JSON Web Token (JWT) format or other desired format;
* **OAuth 1**: connection with authentication in the OAuth 1.0 standard;
* **OAuth 2**: connection with authentication to the OAuth 2.0 standard;
* **Cookie**: connection that uses cookies to authenticate client requests and store user session information;
* **AWS**: connection with HMAC authentication, which allows access to AWS services;
* **OAuth2 JWT**: connection with authentication to the OAuth 2.0 standard and using a JWT token;
* **Header Authentication**: use of header information in a request.
* **CA Certificate**: connection that uses digital certificates issued by a Certificate Authority (CA) to validate identity and ensure secure communication.
* **mTLS**: connection that uses mutual TLS authentication, where both the client and the server must present valid certificates to establish secure communication.

***

#### How to connect an account <a href="#how-to-connect-an-account" id="how-to-connect-an-account"></a>

After defining the type of connectivity, the next step is to choose the **type of authentication**. Only after these settings have been made will you be able to add a new account, as well as select, edit or remove one of the previously registered accounts.

To add a connected account, click on "**Connected account"** and then "**Add connected account"**.

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

To continue with the configuration, click on the tab of the chosen **authentication type**:

{% hint style="danger" %}
Important: pay attention to the “**Host**” field in the **Connected Account** configuration, as the data will be concatenated with the operations configuration.
{% endhint %}

<details>

<summary>No Auth</summary>

When you choose the "**Add connected account**" option, the following modal will be displayed:

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

Fill in the details:

1. **Terminal** (optional): if you have a terminal set up, select it so that the connection is made through the corresponding **"Agent"**;
2. **Account name**: name of the registered account;
3. **Host**: IP address of the API;
4. **Port**: API port number.

After filling in the details, click on "**Create account**".

That's it! Your connected account has been created and can be used by other modules and flows, appearing among the options of accounts configured in both cases.

</details>

<details>

<summary>Basic</summary>

When you choose the "**Add connected account**" option, the following modal will be displayed:

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

Fill in the details:

1. **Terminal** (optional): if you have a terminal set up, select it so that the connection is made through the corresponding **"Agent"**;
2. **Account name**: name of the registered account;
3. **Host**: IP address of the API;
4. **Port**: API port number;
5. **User**;
6. **Password**.

After filling in the details, click on "**Create account**".

That's it! Your connected account has been created and can be used by other modules and flows, appearing among the options of accounts configured in both cases.

</details>

<details>

<summary>Bearer Token</summary>

When you choose the "**Add connected account**" option, the following modal will be displayed:

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

Fill in the details:

1. **Terminal** (optional): if you have a terminal set up, select it so that the connection is made through the corresponding **"Agent"**;
2. **Account name**: name of the registered account;
3. **Host**: IP address of the API;
4. **Port**: API port number;
5. **Token**: token created.

After filling in the details, click on "**Create account**".

That's it! Your connected account has been created and can be used by other modules and flows, appearing among the options of accounts configured in both cases.

</details>

<details>

<summary>OAuth 1</summary>

When you choose the "**Add connected account**" option, the following modal will be displayed:

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

Fill in the details:

1. **Terminal** (optional): if you have a terminal set up, select it so that the connection is made through the corresponding **"Agent"**;
2. **Account name**: name of the registered account
3. **Host**: IP address of the API
4. **Port**: API port number
5. **Client Key**: user required for authentication
6. **Client Secret**: password required for authentication
7. **Access token**: token used to access an API
8. **Token secret**: token obtained to grant a new access token without the user having to log in again
9. **Signature method**: security technique that uses HMAC-SHA1 to ensure authenticity.

After filling in the details, click on "**Create account**".

That's it! Your connected account has been created and can be used by other modules and flows, appearing among the options of accounts configured in both cases.

</details>

<details>

<summary>OAuth 2</summary>

When you choose the "**Add connected account**" option, the following modal will be displayed:

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

Fill in the details:

1. **Account name**: name of the registered account
2. **Host**: IP address of the API
3. **Port**: API port number
4. **Client ID**: user required for authentication
5. **Client Secret**: password required for authentication
6. **Access token**: token used to access an API
7. **Refresh token:** token obtained to grant a new access token without the user having to log in again
8. **Token exchange endpoint**: URL used to obtain tokens to authorize users
9. **Content type**: data format that will be transmitted in the request. By default, it is in JSON format, but can be changed to URL Encoded.

**Token payload parameters:**

* **Key**: identifier or name associated with a particular piece of information in the token payload.
* **Value**: data associated with the key, contextualizing the authentication information previously entered.

**Token header parameters**

* **Answer with the token**: JSON key that will return the token information in the body. By default, it's the Access Token (in this case, you don't need to enter it in the field), but in cases where it's another token (Zoho Token, for example) you need to specify it.
* **Answer key with refresh token**: JSON key that will return the Refresh Token information in the body.
* **Send token exchange parameters as query string**: if selected, causes the Refresh Token parameters to be sent as a query string.

**Parameters in the request header after authentication:**

* **Key**: Name of the parameter that will be sent in the GET call Clients on a Resource Server. For example: Authorization.
* **Value**: Associated data that will be needed to transmit or authenticate access. For example: Bearer <>token\</>
* **Use mTLS account:** By enabling this option, you will be able to select a previously configured account. If you have not yet configured one, please refer to the registration instructions in the [mTLS](#mtls) section below.

After filling in the details, click on "**Create account**".

That's it! Your connected account has been created and can be used by other modules and flows, appearing among the options of accounts configured in both cases.

</details>

<details>

<summary>Cookie</summary>

When you choose the "**Add connected account**" option, the following modal will be displayed:

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

Fill in the details:

1. **Terminal** (optional): if you have a terminal set up, select it so that the connection is made through the corresponding **"Agent"**;
2. **Account name**: name of the registered account;
3. **Host**: IP address of the API;
4. **Port**: API port number;
5. **Authentication endpoint**: URL used to authenticate the user;
6. **Cookie** (optional): content of the cookie
7. **Body** (optional): content of the request body needed to generate the cookie.

After filling in the details, click on "**Create account**".

That's it! Your connected account has been created and can be used by other modules and flows, appearing among the options of accounts configured in both cases.

</details>

<details>

<summary>AWS</summary>

When you choose the "**Add connected account**" option, the following modal will be displayed:

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

Fill in the details:

1. **Account name**: name of the registered account;
2. **Host**: IP address of the API;
3. **Port**: API port number;
4. **AWS Access Key ID**: AWS account user;
5. **AWS Secret Access Key**: AWS account password;
6. **AWS Service**: AWS service you wish to use. Examples: s3, ses, ecs2;
7. **AWS region**: region within the AWS nomenclature. Examples: us-east-1, ap-southeast-1.

After filling in the details, click on "**Create account**".

That's it! Your connected account has been created and can be used by other modules and flows, appearing among the options of accounts configured in both cases.

</details>

<details>

<summary>OAuth2 JWT</summary>

When you choose the "**Add connected account**" option, the following modal will be displayed:

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

Fill in the details:

* **Account name**: name of the registered account;
* **Host**: IP address of the API;
* **Port** (optional): API port number;
* **Private Key**: click to upload a private key file (.pem);
* **Authentication URL**: URL for requesting the authentication token;
* **.JWT expiration time (s)**: time before the JWT token expires (in seconds)
* **Content type**: data format that will be transmitted in the request. By default, it is in JSON format, but can be changed to URL Encoded.
* **Parameters in the JWT payload** - parameters that can be entered (KEY and VALUE fields):
  * **iss** (issuer): issuer of the token
  * **aud** (audience): recipient of the token, represents the application that will use it
  * **scope**: scope of data requested
* **Parameters in the body of the token request** - parameters that can be entered (KEY and VALUE fields):
  * authorization: enter the value of the authorization token here
  * **Response key:** token
* **Parameters in the request header after authentication** - parameters that can be entered (KEY and VALUE fields):
  * **authorization**: enter the value of the authorization token here

After filling in the details, click on "**Create account**".

That's it! Your connected account has been created and can be used by other modules and flows, appearing among the options of accounts configured in both cases.

</details>

<details>

<summary>Header Authentication</summary>

When you choose the "**Add connected account**" option, the following modal will be displayed:

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

Fill in the details:

* **Account name**: name of the registered account;
* **Host**: IP address of the API;
* **Port** (optional): port number of the API;

**Header options:**

* **Key**: Name of the parameter that will be sent
* **Value**: Associated data that will be needed to transmit or authenticate access.

After filling in the details, click on "**Create account**".

That's it! Your connected account has been created and can be used by other modules and flows, appearing among the options of accounts configured in both cases.

</details>

<details>

<summary>CA Certificate </summary>

When you choose the "**Add connected account**" option, the following modal will be displayed:

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

Fill in the information as follows:\
**Account Name**: the registered account name;\
**Host**: the API IP address;\
**Port (optional)**: the API port number;

Add the **CA Certificate**.\
Once all the fields are filled in, click **"Create Account."**

That's it! Your connected account has been created and can now be used by other modules and workflows. It will appear among the configured account options in both cases.

</details>

<details>

<summary>mTLS </summary>

When selecting the **"Add connected account"** option, the following modal will be displayed:

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

Fill in the required fields as follows:

* **Account name**: the registered account name
* **Host**: API IP address
* **Port**: API port number
* **Client certificate**: upload the client certificate signed by the CA (.crt file)
* **Client private key**: upload the private key corresponding to the client certificate (.key file)
* **Intermediate certificate**: upload the root or intermediate CA certificate that signed the server certificate (.crt file)

After filling in the information, click **"Create account"**.\
Done! Your connected account has been created and can now be used by other modules and flows, appearing among the configured account options in both cases.

</details>

Finally, click on "**Save changes"** to configure your module settings.

{% hint style="warning" %}
Important: after saving the changes, it will no longer be possible to change the Connectivity type and/or Authentication type.
{% endhint %}

Next step: [Create operations for the module](/english/skyone-studio/modules/settings-and-operations/operations.md)

Read also:&#x20;

[Connected accounts management](/english/skyone-studio/modules/settings-and-operations/module-settings/connected-account-management.md)

[REST Module Output Consolidation](/english/skyone-studio/how-to/rest-module-output-consolidation.md)

[How to use the Data Engine Proxy](/english/skyone-studio/data-management/engine/how-to-use-the-data-engine-proxy.md)


---

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

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.skyone.cloud/english/skyone-studio/modules/settings-and-operations/module-settings/connectivity-rest.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
