Lo que harás
- Emitir una clave de API con alcances definidos desde Configuración → API keys; el token se muestra solo una vez, cópialo de inmediato.
- Acortar un enlace con una llamada al SDK o con un único comando
curlen menos de un minuto. - Usar claves de idempotencia en las solicitudes mutantes para que los reintentos nunca creen enlaces duplicados.
La API de Elido es REST + JSON, está documentada con OpenAPI 3.1 y tiene límites de velocidad por clave. Ofrecemos SDKs oficiales para TypeScript, Go y Python que la envuelven. El servidor MCP en @elido/mcp-server expone la misma superficie para agentes de IA.
Emitir una clave de API#
- Configuración → API keys → Create key.
- Elige un nombre (recomendamos el sistema que la va a utilizar:
zapier,internal-billing,marketing-cli). - Elige los alcances. Los cuatro comunes:
links:read— listar e inspeccionar enlaces.links:write— crear, actualizar y eliminar enlaces.analytics:read— consultar eventos de clics.webhooks:write— gestionar suscripciones a webhooks.
- Haz clic en Create. La clave se muestra una sola vez; solo almacenamos un hash.
Si pierdes una clave, revócala desde la misma página y emite una nueva. Las claves revocadas se rechazan en un plazo de 60 segundos en todas las regiones.
Inicio rápido con el SDK de TypeScript#
import { ElidoClient } from "@elido/sdk";
const client = new ElidoClient({ apiKey: process.env.ELIDO_API_KEY! });
const link = await client.links.create({
destination: "https://acme.com/spring-sale",
slug: "spring-2026",
});
console.log(link.short_url);
Los SDKs de Go y Python siguen la misma estructura. Referencia completa en /api.
Inicio rápido con curl#
curl -X POST https://api.elido.app/v1/links \
-H "Authorization: Bearer $ELIDO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"destination":"https://acme.com/spring-sale","slug":"spring-2026"}'
Límites de velocidad#
El nivel gratuito obtiene 60 solicitudes por minuto por clave. Pro: 600/min. Business: 6000/min. El ráfaga (burst) es el doble del límite de estado estable; el encabezado de respuesta X-RateLimit-Remaining te indica tu estado actual.
Si alcanzas el límite, la API devuelve 429 con Retry-After configurado. Los SDKs implementan el reintento con retroceso exponencial (exponential-backoff) por defecto; desactívalo si tu aplicación gestiona su propia política de reintentos.
Idempotencia#
Los puntos finales de mutación aceptan un encabezado Idempotency-Key. Pasa un UUID por cada escritura prevista; almacenamos la respuesta en caché durante 24 horas para que los reintentos (errores de red, tiempos de espera ambiguos) no creen duplicados.
Los SDKs añaden el encabezado automáticamente. Si utilizas curl directamente, genera la clave en el lado del cliente e inclúyela en cada reintento.
Webhooks#
Para recibir notificaciones en tiempo real en lugar de realizar sondeos, configura webhooks en Configuración → Webhooks: enviamos los eventos link.created, link.clicked.aggregated y domain.verified con firmas HMAC.