# 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"
    }
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.api.persat.com.ar/como-usar-la-api/autenticacion.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
