# Pedir un código (https://docs.loybox.com.ar/es-419/api-reference/autenticacion/pedir-codigo)



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

Envía por correo un código de 6 dígitos para que el usuario final inicie sesión.

Si el correo no tiene cuenta en Loybox, la cuenta se crea al
[verificar el código](https://docs.loybox.com.ar/api-reference/autenticacion/verificar-codigo), no aquí.

<Callout title="Siempre responde 200">
  Responde `200` incluso si el correo no existe. Es **a propósito**: si respondiera
  distinto, cualquiera podría usar este endpoint para averiguar qué correos están
  registrados.

  En la UI esto significa que después de pedir el código muestras siempre el mismo
  mensaje ("te mandamos un código a tu correo") sin poder saber si la cuenta
  existía.
</Callout>

## 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>

No lleva `Authorization`: es el endpoint con el que arranca la sesión.

## Cuerpo
<Fields>
  <Field name="email" type="string" required="true">
    Correo del usuario. Tiene que tener formato válido.
  </Field>
</Fields>

## Ejemplo
```bash
curl -X POST https://loybox-public-api-752998171300.southamerica-west1.run.app/v1/auth/otp/request \
  -H "X-Commerce-Id: 87" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "ana@example.com"
  }'
```

```json
// 200 OK
{
  "message": "Código enviado"
}
```

## Reglas del código
* Vence a los **10 minutos**.
* Admite **5 intentos**.
* Pedir un código nuevo **invalida el anterior**.

## Errores
| Código | Cuándo                                                    |
| ------ | --------------------------------------------------------- |
| `422`  | Falta el header `X-Commerce-Id`, o el correo es inválido. |
