> ## Documentation Index
> Fetch the complete documentation index at: https://api-docs.voicecheap.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Autenticazione

> Scopri come autenticarti con l'API VoiceCheap

# Autenticazione

L'API VoiceCheap utilizza chiavi API per l'autenticazione. Tutte le richieste API devono includere la tua chiave API nell'intestazione `x-api-key`.

## Ottenere la tua chiave API

<Steps>
  <Step title="Accedi a VoiceCheap">
    Vai su [app.voicecheap.ai](https://app.voicecheap.ai) e accedi al tuo account.
  </Step>

  <Step title="Vai alla pagina API">
    Vai alla pagina **API** su [app.voicecheap.ai/page-api](https://app.voicecheap.ai/page-api).
  </Step>

  <Step title="Genera chiave API">
    Fai clic su **Crea nuova chiave** e assegna un nome alla tua chiave. La tua chiave API completa verrà visualizzata una sola volta: copiala e conservala in modo sicuro immediatamente.
  </Step>
</Steps>

<Warning>
  **Importante: salva subito la tua chiave**

  La tua chiave API completa viene visualizzata **solo una volta** al momento della creazione. Dopo aver chiuso la finestra modale, vedrai solo una versione mascherata (`vc_abc...xyz`). Se perdi la tua chiave, dovrai eliminarla e crearne una nuova.
</Warning>

## Limiti della chiave API

* Puoi creare un **massimo di 5 chiavi API** per account
* Ogni chiave può essere denominata per una facile identificazione (ad es. "Produzione", "Sviluppo")
* Le chiavi possono essere eliminate in qualsiasi momento dalla pagina API

## Utilizzo della tua chiave API

Includi la tua chiave API nell'intestazione `x-api-key` con ogni richiesta:

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://api.voicecheap.ai/v1/translate \
    -H "x-api-key: vc_your-api-key-here" \
    -F "file=@video.mp4" \
    -F "targetLanguage=spanish"
  ```

  ```typescript TypeScript theme={null}
  const formData = new FormData();
  formData.append('file', videoFile);
  formData.append('targetLanguage', 'spanish');

  const response = await fetch('https://api.voicecheap.ai/v1/translate', {
    method: 'POST',
    headers: {
      'x-api-key': 'vc_your-api-key-here'
    },
    body: formData
  });

  const data = await response.json();
  ```

  ```javascript JavaScript theme={null}
  const formData = new FormData();
  formData.append('file', videoFile);
  formData.append('targetLanguage', 'spanish');

  const response = await fetch('https://api.voicecheap.ai/v1/translate', {
    method: 'POST',
    headers: {
      'x-api-key': 'vc_your-api-key-here'
    },
    body: formData
  });

  const data = await response.json();
  ```

  ```python Python theme={null}
  import requests

  files = {'file': open('video.mp4', 'rb')}
  data = {'targetLanguage': 'spanish'}
  headers = {'x-api-key': 'vc_your-api-key-here'}

  response = requests.post(
      'https://api.voicecheap.ai/v1/translate',
      headers=headers,
      files=files,
      data=data
  )
  ```
</CodeGroup>

## Requisiti

<Warning>
  **È richiesto un abbonamento a pagamento**

  L'accesso all'API richiede un abbonamento a pagamento attivo. Gli account gratuiti non possono utilizzare l'API. Se tenti di utilizzare l'API senza un abbonamento valido, riceverai un errore `403 Forbidden`.
</Warning>

## Sicurezza della chiave API

<CardGroup cols={2}>
  <Card title="Mantienila segreta" icon="lock">
    Non esporre mai la tua chiave API nel codice lato client, in repository pubblici o in qualsiasi posizione accessibile pubblicamente.
  </Card>

  <Card title="Usa variabili d'ambiente" icon="shield">
    Memorizza la tua chiave API in variabili d'ambiente o in un gestore di segreti sicuro.
  </Card>

  <Card title="Ruota regolarmente" icon="rotate">
    Ruota periodicamente le tue chiavi API, specialmente se sospetti che possano essere state compromesse.
  </Card>

  <Card title="Monitora l'utilizzo" icon="eye">
    Tieni traccia del tuo utilizzo dell'API per rilevare eventuali accessi non autorizzati.
  </Card>
</CardGroup>

## Risposte di errore

Se l'autenticazione fallisce, riceverai uno dei seguenti errori:

| Codice di stato | Codice errore            | Descrizione                                                     |
| --------------- | ------------------------ | --------------------------------------------------------------- |
| 401             | `MISSING_API_KEY`        | L'intestazione `x-api-key` non è stata fornita                  |
| 401             | `INVALID_API_KEY_FORMAT` | La chiave API non utilizza il prefisso `vc_` previsto           |
| 401             | `INVALID_API_KEY`        | La chiave API fornita non è valida                              |
| 403             | `API_ACCESS_REQUIRED`    | L'accesso all'API non è abilitato per questo account            |
| 403             | `SUBSCRIPTION_REQUIRED`  | L'accesso all'API richiede un abbonamento a pagamento attivo    |
| 403             | `INSUFFICIENT_CREDITS`   | Il tuo account non ha crediti sufficienti per questa operazione |

## Esempio di risposta di errore

```json theme={null}
{
  "code": "INVALID_API_KEY",
  "message": "The provided API key is invalid. Please check your API key and try again."
}
```
