Autentícate con una API key, crea enlaces cortos con marca, genera contraseñas de un solo uso y valídalas. Se irán agregando más endpoints a medida que la plataforma se expanda.
Todos los endpoints se sirven desde una sola URL base. Cada solicitud necesita tu API key en el header clave-api-x y las solicitudes JSON usan Content-Type: application/json.
https://cpt.cx
x-api-key: YOUR_API_KEY Content-Type: application/json
curl -X POST "https://cpt.cx/shortlink/public-generate" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "BBC News",
"url": "https://www.bbc.com/news",
"domain": "cpt.cx",
"tags": ["News", "BBC"]
}'Cada endpoint público se autentica con una API key enviada en el header clave-api-x. Las keys están limitadas a tu cuenta, los dominios registrados y los proveedores configurados para tus canales. Trata las keys como secretos — nunca las incluyas en código del lado del cliente.
x-api-key: YOUR_API_KEY
Crea enlaces cortos con tu marca en cualquier dominio registrado en tu cuenta. Usa el endpoint individual para un enlace, o el endpoint batch para generar muchos en una sola solicitud — ideal para campañas de SMS, RCS, WhatsApp y email.
name — string, requeridourl — string, requerido, debe usar http o httpsdomain — string, requerido, debe ser un dominio registrado en tu cuentatags — array de strings, opcionalusername / password — opcional, deben enviarse como par para proteger el enlace con contraseña{
"name": "BBC News",
"url": "https://www.bbc.com/news",
"domain": "cpt.cx",
"tags": ["News", "BBC"]
}{
"name": "BBC News",
"shortUrl": "https://cpt.cx/RRRRRF",
"createdDate": "2025-07-02T15:38:02.95Z",
"expiryDate": "2025-08-01T15:38:02.95Z"
}La expiración por defecto es de 30 días desde la creación.
Envía un array JSON de objetos de enlace corto. Cada elemento usa los mismos campos y reglas de validación que el endpoint individual. La respuesta contiene un resumen más un resultado por cada elemento de entrada.
[
{
"name": "BBC News",
"url": "https://www.bbc.com/news",
"domain": "cpt.cx"
},
{
"name": "Facebook",
"url": "https://www.facebook.com",
"domain": "cpt.cx",
"tags": ["News", "World"]
}
]{
"summary": { "successCount": 2, "failedCount": 0 },
"results": [
{
"name": "BBC News",
"shortUrl": "https://cpt.cx/RRRRRT",
"createdDate": "2025-07-02T15:42:05Z",
"expiryDate": "2025-08-01T15:42:05Z"
},
{
"name": "Facebook",
"shortUrl": "https://cpt.cx/RRRRRa",
"createdDate": "2025-07-02T15:42:05Z",
"expiryDate": "2025-08-01T15:42:05Z"
}
]
}Genera contraseñas de un solo uso para entrega por SMS o email y valídalas más tarde con el otpId devuelto. El valor del OTP nunca es devuelto por la API — se entrega al destinatario y se almacena solo como hash con un TTL.
channel — requerido, email o smsprovider — requerido, el proveedor configurado para ese canal en tu cuenta (p. ej. generic, twilio, sendgrid)destination — requerido, dirección de email o número telefónico en formato E.164type — requerido, numeric o alphanumericlength — requerido, entre 4 y 12expiresInSeconds — requerido, debe ser mayor a 0{
"channel": "email",
"provider": "generic",
"destination": "test@example.com",
"type": "alphanumeric",
"length": 8,
"expiresInSeconds": 300
}{
"otpId": "51a6fcc7-efc8-4e69-8bc1-ebb999befb2c",
"destination": "test@example.com",
"createdAt": "2025-09-10T14:05:41Z",
"expiresAt": "2025-09-10T14:10:41Z"
}Envía el otpId devuelto por /otp/generate junto con el valor del OTP que el usuario ingresó. Una validación exitosa consume el OTP — los códigos son de un solo uso.
{
"otpId": "c4f8814c-7a9d-4e13-b7d8-d4e66d272611",
"otp": "z4dGyBPQ"
}{
"success": true,
"message": "OTP validated successfully."
}Tras repetidos intentos fallidos, la validación devolverá Demasiados intentos fallidos. Vuelve a intentarlo más tarde. hasta que expire el bloqueo temporal.
Los errores de validación se devuelven con mensajes descriptivos como Formato URL no válido. o Proveedor no encontrado para este cliente y canal.. Los siguientes detalles aún no están documentados públicamente — trátalos como pendientes y contáctanos si necesitas una respuesta definitiva para uso en producción:
Archivos para agentes de IA, crawlers LLM, generación de clientes API y descubrimiento técnico. Enlazados desde el <head> del sitio y robots.txt para descubrimiento fiable.
Aprovisionaremos las keys, registraremos tus dominios y configuraremos tus proveedores — normalmente en un día.