---
title: "Enviar OTP"
method: POST
path: "/api/v2/sessions/send_otp"
tags: ["Sesiones - V2"]
---

# Enviar OTP

`POST /api/v2/sessions/send_otp`

Envía un código OTP por SMS y WhatsApp.

Retorna `200` independientemente de si el teléfono está registrado o no (diseño anti-enumeración).
Un tiempo de espera de 2 minutos omite el envío silenciosamente sin cambiar el código de estado
— los códigos ya recibidos siguen siendo válidos por 1 hora.

Las respuestas de error indican condiciones excepcionales: `401` si el teléfono está en lista negra
permanente, `429` si se supera el límite de intentos de inicio de sesión (5/hora), `503` si el
proveedor de OTP falla.

## Request body

- object
  - `phone` string, required
  - `area_code` integer, required — Código de marcación internacional del país (ej. 57 para Colombia, 52 para México). No es un código ISO alfa-2.

## Response `200`

ok

- object
  - `message` string, required — Siempre retorna 'OTP sent' independientemente de si el teléfono está registrado o si hay un tiempo de espera activo (diseño anti-enumeración).

## Other responses

- `401` — unauthorized
- `429` — too many requests
- `503` — service unavailable

---

[API](https://skmtc.net/loggro/apis/documentos-electr-nicos.md) · [All operations](https://skmtc.net/loggro/apis/documentos-electr-nicos/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/loggro/documentos-electr-nicos/revisions/f390b90daf37/schema)
