---
title: "Enviar OTP"
method: POST
path: "/api/v1/sessions/send_otp"
tags: ["Autenticación y Sesiones"]
---

# Enviar OTP

`POST /api/v1/sessions/send_otp`

## Request

- Base URL: `https://aos.ayenda.co`
- URL: `https://aos.ayenda.co/api/v1/sessions/send_otp`
- Auth: none required

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.dev/loggro/apis/pms-api-v1.md) - [All operations](https://skmtc.dev/loggro/apis/pms-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/loggro/apis/pms-api-v1/revisions/42f79a85a9d1?raw)
