# Autenticación

La autenticación para poder acceder a los datos es por medio de un API key.&#x20;

{% hint style="danger" %}
&#x20;El API key no debe ser utilizado <mark style="color:red;">**NUNCA**</mark> desde el lado del cliente, es decir desde el navegador mediante javascript. Está diseñada para ser utlizado únicamente desde el lado servidor. Incluir el API key en el código javascript es muy inseguro ya que es visible fácilmente por cualquiera que acceda al sitio web.
{% endhint %}

{% hint style="danger" %}
Desde la API, se pueden realizar acciones sin restricción alguna de permisos. Muchas de estas acciones <mark style="color:red;">**no se pueden deshacer**</mark>, como es el caso de borrar un cliente y todo su historial.
{% endhint %}

## Uso del API key

Para realizar llamados a la API utilizando el API key debemos incluir el siguiente encabezado HTTP en cada pedido que realicemos:

```
Authorization: Bearer YOUR_API_KEY
```

Ejemplo para obtener el listado de clientes, suponiendo que nuestra Api key sea: `YOUR_API_KEY`

```
curl --location --request GET "https://api.persat.com.ar/v1/clients \
  --header "Authorization: Bearer YOUR_API_KEY"
```

## Mensajes de error

En caso que la key no sea correcta o que no este creada aún, recibirá un mensaje de este estilo.

```json
{
    "success": false,
    "error": {
        "status": 401,
        "type": "UNAUTHORIZED",
        "userMessage": "La api key utilizada es incorrecta"
    }
}
```
