# Connections

APIs usually use authentication or authorization to limit access to their endpoints.

Make provides a list of the most common types of connections with prefilled code that can be edited for your needs. In general, you will only need to change the URLs and names of the parameters.

<div align="left"><figure><img src="https://1562974717-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNS0mCBwODiYtOVXjc6qf%2Fuploads%2Fgit-blob-f5ccf6d53e84bc450fd3ba8d69a53e6c2334054f%2Fcreate_new_connection.png?alt=media" alt="" width="378"><figcaption></figcaption></figure></div>

## Types of connections

* [Basic connection](https://developers.make.com/custom-apps-documentation/app-components/connections/basic-connection)
* [JWT](https://developers.make.com/custom-apps-documentation/app-components/connections/jwt)
* [OAuth 1.0](https://developers.make.com/custom-apps-documentation/app-components/connections/oauth1)
* [OAuth 2.0](https://developers.make.com/custom-apps-documentation/app-components/connections/oauth2)

## Common data

When you use an OAuth connection, an ID and secret are generated for your user. To store them, you should use the common data inside the connection.

Once the app is approved, the common data is locked and can't be changed due to security reasons.

Inside the connection, common data can be accessed by the `common.variable` IML expression.

Common data is encrypted when stored in Make.

## Reserved words in connections

Reserved words are variables used internally by Make. Using reserved words for the parameter `name` key can lead to unexpected results. Avoid using a reserved word.

Make reserved words are:

* `accountName`: name of the connection used by the app module,
* `teamID`: ID of the team to which the active user is currently assigned.

If you use a Make reserved word for the `name` key of a parameter, the value stored in the internal Make parameter will be used by your parameter too.

Consider the following configuration of a connection. The parameter labeled `Account Name` has the `name` key set to preserved word `accountName`.

{% tabs %}
{% tab title="Code example" %}

```json
[
    {
        "name": "apiKey",
        "type": "password",
        "label": "API Key",
        "editable": true,
        "required": true
    },
    {
        "name": "accountName", // reserved word used here!
        "type": "text",
        "label": "Account name",
        "editable": true,
        "required": true
    }
]
```

{% hint style="info" %}
The code above leads to mirroring the value from the default `Connection name` parameter into a parameter labeled `Account name`. The value `accountName` is set by Make to the name of the created connection.
{% endhint %}
{% endtab %}

{% tab title="Duplication of the connection name value" %}

<div align="left"><figure><img src="https://1562974717-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNS0mCBwODiYtOVXjc6qf%2Fuploads%2Fgit-blob-7020190f3ed68765e00095ebd256217cd5b6dea4%2Fconnections_reservedwords.png?alt=media" alt="" width="338"><figcaption></figcaption></figure></div>
{% endtab %}
{% endtabs %}
