> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.eis.it/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.eis.it/_mcp/server.

# Quickstart API

> Guida rapida alle API Hive con esempi cURL, JavaScript e Python per autenticarsi e inviare una richiesta autorizzata.

Questa guida usa `GET /v1/circuits/stats/count` come prima richiesta autenticata.

#### Recupera le credenziali

Genera l'API key in Hive da **Profilo utente > API Keys**. Riceverai un `clientId` e un `clientSecret`.

#### Ottieni un access token

```bash
curl --request POST \
  --url "https://api.eis.it/auth/api-key/login" \
  --header "Content-Type: application/x-www-form-urlencoded" \
  --data-urlencode "clientId=$EIS_CLIENT_ID" \
  --data-urlencode "clientSecret=$EIS_CLIENT_SECRET"
```

Leggi il campo `access_token` dalla risposta JSON.

#### Invia una richiesta autenticata

```bash
curl --request GET \
  --url "https://api.eis.it/v1/circuits/stats/count" \
  --header "Authorization: Bearer $EIS_ACCESS_TOKEN" \
  --header "Accept: application/json"
```

La risposta `200` contiene i contatori dei circuiti:

```json
{
  "active": 128,
  "ko": 2,
  "delivering": 11
}
```

## JavaScript

```javascript
const response = await fetch("https://api.eis.it/v1/circuits/stats/count", {
  headers: {
    Accept: "application/json",
    Authorization: `Bearer ${process.env.EIS_ACCESS_TOKEN}`,
  },
});

if (!response.ok) {
  throw new Error(`Hive API: HTTP ${response.status}`);
}

console.log(await response.json());
```

## Python

```python
import os
import requests

response = requests.get(
    "https://api.eis.it/v1/circuits/stats/count",
    headers={
        "Accept": "application/json",
        "Authorization": f"Bearer {os.environ['EIS_ACCESS_TOKEN']}",
    },
    timeout=30,
)
response.raise_for_status()
print(response.json())
```

Per i parametri e le risposte degli altri endpoint consulta la [reference completa](/api/reference).