Endpoints públicos
Endpoints accesibles sin autenticación. Sirven a la página de registro.
Estado de registro
Sección titulada «Estado de registro»GET /api/v1/public/registration-statusIndica si el registro de nuevas agencias está abierto. La página de alta lo usa para mostrar el formulario o un aviso de “registro cerrado”.
Respuesta 200
{ "open": true }| Campo | Tipo | Descripción |
|---|---|---|
open | boolean | true si se aceptan nuevos registros. |
Alta de cuenta (signup)
Sección titulada «Alta de cuenta (signup)»POST /api/v1/public/signupContent-Type: application/jsonProvisiona un tenant nuevo y su usuario propietario. Devuelve el tenant y
un token de sesión, y además fija ese token como cookie HttpOnly.
Cuerpo de la petición
{ "email": "owner@miagencia.com", "password": "una-contraseña-segura", "companyName": "Mi Agencia de Viajes", "sector": "travel_agency", "country": "ES"}| Campo | Tipo | Reglas |
|---|---|---|
email | string | Email válido. Será el del propietario. |
password | string | Debe cumplir la política de contraseñas. |
companyName | string | Entre 2 y 120 caracteres. |
sector | string | Sector de la empresa (valor de catálogo). |
country | string | Código de país (ISO, p. ej. ES). |
Respuesta 201
{ "tenant": { "id": "…", "name": "Mi Agencia de Viajes", "slug": "…" }, "ownerUserId": "uuid-del-propietario", "sessionToken": "jwt…", "sessionExpiresAt": "2026-06-05T12:00:00.000Z", "redirectUrl": "https://<slug>.wayla.pro/setup"}| Campo | Tipo | Descripción |
|---|---|---|
tenant | object | El tenant recién creado (incluye id, name, slug). |
ownerUserId | string (UUID) | El usuario propietario creado. |
sessionToken | string | JWT de sesión. También se fija como cookie HttpOnly. |
sessionExpiresAt | string (ISO 8601) | Caducidad de la sesión. |
redirectUrl | string (URL) | Adónde llevar al usuario tras el alta (la configuración inicial). |