Ce que vous allez faire
- Émettre une clé API avec les portées appropriées depuis Settings → API keys — le jeton n'est affiché qu'une seule fois, copiez-le immédiatement.
- Raccourcir un lien avec un seul appel SDK ou une commande
curlen moins d'une minute. - Utiliser des clés d'idempotence sur les requêtes de mutation pour que les réessais ne créent jamais de doublons.
L'API Elido est de type REST + JSON, documentée via OpenAPI 3.1, et limitée en débit par clé. Nous proposons des SDK de première main pour TypeScript, Go, et Python qui l'encapsulent. Le serveur MCP dans @elido/mcp-server expose la même surface aux agents IA.
Générer une clé API#
- Settings → API keys → Create key.
- Choisissez un nom (nous recommandons le système qui va l'utiliser :
zapier,internal-billing,marketing-cli). - Choisissez les portées (scopes). Les quatre plus courantes sont :
links:read— lister et inspecter les liens.links:write— créer, mettre à jour, supprimer des liens.analytics:read— interroger les événements de clic.webhooks:write— gérer les abonnements aux webhooks.
- Cliquez sur Create. La clé ne s'affiche qu'une seule fois — nous ne stockons qu'un hash.
Si vous perdez une clé, révoquez-la depuis la même page et générez-en une nouvelle. Les clés révoquées sont rejetées dans un délai de 60 secondes dans toutes les régions.
Démarrage rapide avec le SDK 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);
Les SDK Go et Python suivent la même structure. Référence complète sur /api.
Démarrage rapide avec 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"}'
Limites de débit#
Le forfait gratuit permet 60 requêtes par minute par clé. Pro : 600/min. Business : 6000/min. Le pic (burst) est de 2× la limite de régime permanent ; l'en-tête de réponse X-RateLimit-Remaining vous indique où vous en êtes.
Si vous atteignez la limite, l'API renvoie une erreur 429 avec Retry-After défini. Les SDK implémentent par défaut une stratégie de réessai avec repli exponentiel (exponential-backoff) — désactivez-le si votre application gère sa propre politique de réessai.
Idempotence#
Les points de terminaison de mutation acceptent un en-tête Idempotency-Key. Passez un UUID par écriture prévue ; nous mettons la réponse en cache pendant 24 heures afin que les réessais (erreurs réseau, délais d'attente ambigus) ne créent pas de doublons.
Les SDK ajoutent l'en-tête automatiquement. Si vous utilisez curl directement, générez la clé côté client et incluez-la à chaque réessai.
Webhooks#
Pour des notifications en temps réel plutôt que par interrogation (polling), configurez des webhooks sous Settings → Webhooks — nous transmettons les événements link.created, link.clicked.aggregated, et domain.verified avec des signatures HMAC.