REST API v1.0 Acceso Público (CORS *)

Documentación de la API

Crea enlaces acortados, personaliza alias, define tiempos de expiración y consulta estadísticas de visitas desde tus terminales o aplicaciones.

Base URL https://short.290102.xyz
Uso rápido desde consola / Terminal (Texto Plano)

Si agregas format=text (o envías la cabecera Accept: text/plain), la API devuelve únicamente la URL acortada, lista para usar en tuberías (pipes) de bash:

curl -s "https://short.290102.xyz/api/shorten?url=https://ejemplo.com&format=text"

Ejemplos de Integración

Selecciona tu entorno o lenguaje para ver el código de ejemplo listo para copiar.

POST /api/shorten
curl -s -X POST https://short.290102.xyz/api/shorten \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://290102.xyz/descargas",
    "alias": "descargas",
    "ttl": 86400
  }'
Respuesta JSON (HTTP 200):
{
  "ok": true,
  "shortUrl": "https://short.290102.xyz/descargas",
  "slug": "descargas",
  "targetUrl": "https://290102.xyz/descargas",
  "expiresAt": 1792559582,
  "createdAt": 1792473182
}

Parámetros Aceptados (/api/shorten)

La API acepta tanto JSON en POST, formularios codificados, como parámetros en URL (GET).

Parámetro Tipo Requerido Descripción
url string Sí La URL de destino completa (debe iniciar con http:// o https://).
alias / customSlug string No Alias deseado (2 a 32 caracteres alfanuméricos). Si se omite, se genera uno corto Base62.
ttl / ttlSeconds number No Tiempo de vida en segundos. Por defecto 2592000 (30 días). Mínimo 300 (5m), máximo 31536000 (1 año).
format string No Si se pasa format=text, la API responde únicamente la URL en texto plano (ideal para scripts de terminal).

Códigos de Estado y Respuestas de Error

Código Error Causa
200 OK - Enlace acortado con éxito o consulta de estadísticas correcta.
302 Found - Redirección al destino con cabeceras de caché Edge.
400 Bad Request invalid_url La URL no inicia con http:// o https://, o intenta acortar el propio dominio.
404 Not Found not_found El alias no existe o ha expirado.
409 Conflict slug_taken El alias personalizado ya se encuentra en uso activo por otro enlace.
Volver a la página principal del Acortador