# API Reference v1 (Legacy)

Each device can send up to three API calls in a minute. If you reach the limit, you will receive an appropriate response code. Please check the response codes and send no more calls than the limit. Otherwise, your device may get banned for API calls.\
\
All calls require a `user_token` and some of them require a `device_token`.&#x20;

Token retrievals might have slight differences between agent versions. We strongly recommend upgrading the Agent to the latest version available.

### Data Format

* Endpoint payload data is in JSON format.
* Input parameters in Connect, such as project name, group, device, access tokens, etc., are case sensitive.

## User Token

The `user_token` can be found in the Settings category on Connect dashboard under your account.&#x20;

## Device Token

{% hint style="success" %}
**Connect Agent Compatibility**: The Connect Agent versions 7.0 and higher do not support Connect API v1. If your devices have Connect Agent 7.0 or higher and you want to use the API, use Connect API v2.
{% endhint %}

Devices with agent **5.4** and above, run the agent with the flag `--print-token` to receive the device token: `/etc/connect/service/ConnectAgent --print-token`

Here's a ready-to-use script to grab the device token:

{% tabs %}
{% tab title="Python" %}

```python
import subprocess

CONNECT_AGENT_PATH = "/etc/connect/service/ConnectAgent"
AGENT_FLAG_TO_GET_DEVICE_TOKEN = "--print-token"
 
user_token = "Your user token can be found in the Connect UI"
device_token = subprocess.check_output(CONNECT_AGENT_PATH + ” ” + AGENT_FLAG_TO_GET_DEVICE_TOKEN, shell=True)
```

{% endtab %}

{% tab title="Bash" %}

```
#! /bin/bash
/etc/connect/service/ConnectAgent --print-token
```

{% endtab %}
{% endtabs %}

Devices with agent **5.3** and below, `device_token` can be found in the file `/etc/connect/service/settings.json`&#x20;
