Referencia API REST

URL base: https://clicaven.com

Todas las solicitudes devuelven JSON. La autenticación usa claves API (Bearer).

OpenAPI : Descargar el esquema OpenAPI (JSON) — Importable en Postman, Insomnia o cualquier herramienta compatible con OpenAPI 3.

Autenticación

La API ClicAven usa claves API para la autenticación. Cada solicitud debe incluir su clave en el encabezado Authorization.

Comment obtenir une clé API
  1. Connectez-vous à votre compte ClicAven et accédez à la page Clés API
  2. Donnez un nom à votre clé et cliquez sur Créer
  3. Copiez la clé affichée — elle ne sera plus visible ensuite
Headers requeridos
Authorization: Bearer ca_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Las claves API no expiran por defecto. Puede revocarlas en cualquier momento desde la página Claves API. El acceso API está incluido en todos los planes, incluido el plan gratuito.

POST/api/links

Crea un nuevo enlace corto. Requiere una clave API válida.

Headers requeridos
Authorization: Bearer ca_votre_cle_api
Content-Type: application/json
Body de la solicitud
{
  "url": "https://example.com/une-url-tres-longue"
}
Respuesta (201 Created)
{
  "id": 42,
  "short_code": "aB3xYz",
  "short_url": "https://clicaven.com/aB3xYz",
  "original_url": "https://example.com/une-url-tres-longue",
  "clicks": 0,
  "created_at": "2026-04-18T12:00:00+00:00"
}
Ejemplo curl
curl -s -X POST https://clicaven.com/api/links \
  -H "Authorization: Bearer ca_votre_cle_api" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/page-longue?utm_source=api"}'

GET/api/links

Lista todos sus enlaces cortos. Requiere una clave API válida.

Ejemplo curl
curl -s https://clicaven.com/api/links \
  -H "Authorization: Bearer ca_votre_cle_api" | jq .
Respuesta (200 OK)
[
  {
    "id": 42,
    "short_code": "aB3xYz",
    "short_url": "https://clicaven.com/aB3xYz",
    "original_url": "https://example.com/page-longue",
    "clicks": 14,
    "created_at": "2026-04-18T12:00:00+00:00"
  }
]

GET/api/links/{id}

Obtiene los detalles de un enlace específico, incluido el contador de clics.

Ejemplo curl
curl -s https://clicaven.com/api/links/42 \
  -H "Authorization: Bearer ca_votre_cle_api" | jq .
Respuesta (200 OK)
{
  "id": 42,
  "short_code": "aB3xYz",
  "short_url": "https://clicaven.com/aB3xYz",
  "original_url": "https://example.com/page-longue",
  "clicks": 14,
  "created_at": "2026-04-18T12:00:00+00:00"
}

DELETE/api/links/{id}

Elimina definitivamente un enlace. La redirección quedará inmediatamente inactiva. Esta acción es irreversible.

Ejemplo curl
curl -s -X DELETE https://clicaven.com/api/links/42 \
  -H "Authorization: Bearer ca_votre_cle_api"
# → 204 No Content (éxito, sin cuerpo)

6. Códigos de error

Código HTTP Significado Causa frecuente
400Bad RequestURL faltante o no válida en el body
401UnauthorizedClave API faltante, expirada o inválida
403ForbiddenAcceso a un enlace de otro usuario
404Not FoundEl ID del enlace no existe
429Too Many RequestsCuota mensual de enlaces alcanzada (rate limit)
500Server ErrorError interno — contacte al soporte via /contact
Formato de error
{
  "error": "authentication_failed",
  "message": "Invalid or expired API key."
}

Ejemplos PHP y JavaScript

No necesita ningún SDK: la API es una simple API REST JSON. Aquí encontrará ejemplos listos para copiar en los lenguajes más habituales.

PHP
<?php
// ClicAven API — PHP example (no SDK needed)
$apiKey = 'ca_votre_cle_api';
$url    = 'https://example.com/une-url-tres-longue';

$ch = curl_init('https://clicaven.com/api/links');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST           => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: Bearer ' . $apiKey,
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode(['url' => $url]),
]);

$response = json_decode(curl_exec($ch), true);
curl_close($ch);

echo $response['shortUrl'];
// => https://clicaven.com/aB3xYz
JavaScript (Node.js / fetch)
const API_KEY = 'ca_votre_cle_api';

const res = await fetch('https://clicaven.com/api/links', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ url: 'https://example.com/une-url-tres-longue' }),
});

const link = await res.json();
console.log(link.shortUrl);
// => https://clicaven.com/aB3xYz
Enlace con slug personalizado (Pro+)
curl -s -X POST https://clicaven.com/api/links \
  -H "Authorization: Bearer ca_votre_cle_api" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/promo","customSlug":"ma-promo"}'
{
  "id": 43,
  "short": "rT9kWm",
  "customSlug": "ma-promo",
  "shortUrl": "https://clicaven.com/ma-promo",
  "url": "https://example.com/promo",
  "clickCount": 0,
  "createdAt": "2026-04-25T14:00:00+00:00"
}

Los slugs personalizados requieren un plan Pro o superior. De 3 a 60 caracteres, letras, números y guiones.

¿Preguntas sobre la API? Contáctenos. Consulte también la documentación general.