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

# Autenticación API

> Referencia técnica para autenticación con la API de Neuracall

## Método de Autenticación

La API utiliza **Bearer Token** authentication con tokens JWT emitidos por Auth0.

## Flujo de Autenticación

1. Envia tus credenciales (`client_id` y `client_secret`) al endpoint `/v1/auth`
2. Recibe un token JWT con tiempo de expiración
3. Incluye el token en el header `Authorization` de todas las solicitudes
4. Renueva el token antes de que expire

## Header de Autorizacion

```
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
```

## Scopes Disponibles

Los tokens incluyen scopes que determinan los permisos de tu aplicación:

| Scope                              | Endpoints                                             | Operaciónes            |
| ---------------------------------- | ----------------------------------------------------- | ---------------------- |
| `read:call-analysis-requests`      | `GET /v1/call-analysis`, `GET /v1/call-analysis/{id}` | Listar y ver análisis  |
| `write:call-analysis-request`      | `POST /v1/call-analysis`                              | Crear análisis         |
| `read:call-analysis-audio`         | `GET /v1/call-analysis/{id}/audio-file`               | Descargar audio        |
| `read:call-analysis-transcription` | `GET /v1/call-analysis/{id}/transcription`            | Ver transcripciónes    |
| `read:prompt-template`             | `GET /v1/models`, `GET /v1/models/{id}`               | Ver modelos            |
| `write:prompt-template`            | `POST /v1/models`, `PUT /v1/models/{id}`              | Crear/editar modelos   |
| `read:call-analysis-stats`         | `GET /v1/stats/*`                                     | Acceder a estadísticas |

## Errores de Autenticación

### 401 Unauthorized

**Causas comunes:**

* Credenciales invalidas
* Token expirado
* Token malformado
* Header Authorization ausente

```json theme={null}
{
  "code": "001-001-0001",
  "message": "Invalid credentials"
}
```

### 403 Forbidden

**Causa:** El token no tiene el scope requerido para la operación.

```json theme={null}
{
  "code": "001-001-0003",
  "message": "Insufficient permissions"
}
```

## Duración del Token

Los tokens tienen una duración limitada indicada por `expires_at` (timestamp Unix). Solicita un nuevo token antes de la expiración para evitar interrupciones.

<Card title="Ver endpoint de autenticación" icon="arrow-right" href="/api-reference/auth/obtain-token">
  Documentación completa del endpoint /v1/auth
</Card>
