# Renovar el token (https://docs.loybox.com.ar/api-reference/autenticacion/renovar-token)



<Endpoint method="POST" path="/v1/auth/refresh" auth="none" />

Devuelve un nuevo token de acceso a partir del token de refresco obtenido al
[verificar el código](https://docs.loybox.com.ar/api-reference/autenticacion/verificar-codigo), sin
necesidad de pedirle al usuario un código nuevo.

Es lo que hace que la sesión se sienta continua: cuando una llamada a
[Mi cuenta](https://docs.loybox.com.ar/api-reference/mi-cuenta) devuelve `401`, renovás y reintentás.

## Headers [#headers]

<Fields>
  <Field name="X-Commerce-Id" type="integer" location="header" required="true">
    Id del comercio que integra la API. Todas las respuestas quedan limitadas a
    este comercio.
  </Field>
</Fields>

## Cuerpo [#cuerpo]

<Fields>
  <Field name="refresh" type="string" required="true">
    El token de refresco que devolvió
    [verificar el código](https://docs.loybox.com.ar/api-reference/autenticacion/verificar-codigo).
  </Field>
</Fields>

## Respuesta [#respuesta]

<Fields>
  <Field name="access" type="string" required="true">
    El token de acceso nuevo.
  </Field>

  <Field name="expires_in" type="integer | null">
    Segundos de validez del token nuevo.
  </Field>
</Fields>

```bash
curl -X POST https://loybox-public-api-752998171300.southamerica-west1.run.app/v1/auth/refresh \
  -H "X-Commerce-Id: 87" \
  -H "Content-Type: application/json" \
  -d '{
    "refresh": "eyJhbGciOiJIUzI1NiIs..."
  }'
```

```json
// 200 OK
{
  "access": "eyJhbGciOiJIUzI1NiIs...",
  "expires_in": 3600
}
```

<Callout type="info" title="No devuelve un refresh nuevo">
  La respuesta trae sólo el `access`. El `refresh` que ya tenías sigue siendo el
  válido: guardalo y seguí usándolo.
</Callout>

## Errores [#errores]

| Código | Cuándo                                                       |
| ------ | ------------------------------------------------------------ |
| `401`  | El token de refresco es inválido o venció.                   |
| `422`  | Falta el header `X-Commerce-Id`, o falta el campo `refresh`. |

Un `401` acá quiere decir que la sesión terminó de verdad: hay que volver a
[pedir un código](https://docs.loybox.com.ar/api-reference/autenticacion/pedir-codigo).
