API & SDKs. Build on Elido, in any language.
API REST complète, SDK TypeScript, Go et Python, plus un serveur MCP pour les flux de travail des agents IA. Les limites de débit varient selon le forfait ; les clés API sont limitées à l'espace de travail avec des ensembles de permissions granulaires.
- TypeScript, Go, and Python SDKs — all open-source
- OpenAPI 3.1 spec with interactive docs
- MCP server for Claude and AI agent workflows
- Per-scope API keys with plan-based rate limits
Official SDKs
Four SDKs. One API surface.
Every SDK is generated from the same OpenAPI 3.1 spec — when the API ships, the SDKs update the same day. TypeScript types, Go interfaces, and Python dataclasses stay in sync automatically.
Typed request/response objects. Works in Node.js, Cloudflare Workers, Vercel Edge, and Deno.
npm install @elido/sdkIdiomatic Go with context propagation and zero-allocation hot paths for high-throughput services.
go get github.com/elidoapp/elido-goSync and async (asyncio) clients. Typed with Pydantic v2 models. Available on PyPI.
pip install elido-sdkModel Context Protocol server — connect Elido link management to Claude, ChatGPT, Cursor, and any MCP-compatible AI agent.
npx @elido/mcp-serverAPI reference
OpenAPI 3.1. Interactive. Always current.
The OpenAPI spec at /openapi.json is the source of truth for every endpoint, parameter, and response shape. SDK types are generated from it — no drift, no hand-maintained stubs.
- Downloadable spec/openapi.json — machine-readable JSON
- Interactive referenceAuthenticated calls from the browser
- Postman collectionAuto-generated from the OpenAPI spec
- SDK generationTypes built from spec on every release
- 90-day deprecationBreaking changes flagged well in advance
- POST
/v1/linksCreate a short link - GET
/v1/links/{id}Retrieve a link by ID - PATCH
/v1/links/{id}Update link destination or metadata - DELETE
/v1/links/{id}Archive or delete a link - GET
/v1/linksList links (cursor-paginated) - POST
/v1/bulk/linksBulk-create up to 500 links
X-RateLimit-Remaining
X-RateLimit-Reset
Rate limits
Limits that scale with your plan.
Token-bucket rate limiting per workspace per API key. Burst allowances let you spike 10x for up to 5 seconds — so a batch link-creation job at the start of a campaign never hits the wall.
- X-RateLimit-Limit / Remaining / Reset headers on every response
- SDK auto-retries with exponential backoff on 429
- Bulk endpoints have separate, higher limits
- Per-scope keys — analytics read-only keys don't burn write quota
- Custom limits for high-volume enterprise workloads — contact sales
What you can do
- API REST avec spécification OpenAPI 3.1
- SDK TypeScript, Go et Python
- Serveur MCP pour Claude, ChatGPT, Cursor
- Clés API limitées à l'espace de travail avec permissions par portée
- Webhooks pour la livraison d'événements asynchrones
- API interne gRPC (edge → core)
Ce que la pile API Elido offre aux développeurs
Une spécification OpenAPI et quelques SDK sont le minimum. Les capacités ci-dessous couvrent les détails qui comptent lors de la création d'intégrations de production.
Spécification OpenAPI 3.1, collection Postman et référence interactive — chaque point de terminaison est documenté avec des exemples
Chaque point de terminaison de l'API Elido est documenté dans la spécification OpenAPI 3.1, disponible sur /docs/api-reference et sous forme de fichier JSON téléchargeable sur /openapi.json. La spécification est la source de vérité — les types SDK en sont générés, il n'y a donc pas de décalage entre la référence et le SDK. La référence API interactive vous permet d'effectuer des appels authentifiés directement depuis le navigateur (collez votre clé API, choisissez l'espace de travail, appelez le point de terminaison). Une collection Postman est générée automatiquement à partir de la spécification OpenAPI et liée depuis chaque page de documentation. Le journal des modifications de l'API est versionné aux côtés du journal principal — les changements majeurs font l'objet d'un préavis de suppression de 90 jours avec un guide de migration avant d'être effectifs.
SDK TypeScript, Go et Python — générés à partir de la spécification OpenAPI, mis à jour à chaque sortie de l'API
Le SDK TypeScript (@elido/sdk) est publié sur npm et couvre toute la surface de l'API avec des objets de requête et de réponse typés. Il prend en charge Node.js et les runtimes edge (Cloudflare Workers, Vercel Edge, Deno). Le SDK Go (github.com/elidoapp/elido-go) est un code Go idiomatique avec propagation de contexte et des chemins critiques sans allocation pour une utilisation à haut débit. Le SDK Python (elido-python, disponible sur PyPI) comprend des clients synchrones et asynchrones (asyncio). Les trois SDK sont générés à partir de la même spécification OpenAPI à l'aide d'un générateur personnalisé — les mises à jour sont expédiées le jour même de la sortie de l'API. Des SDK maintenus par la communauté pour Ruby et PHP existent ; ils sont répertoriés dans la documentation mais ne sont pas officiellement pris en charge. Si votre langage n'est pas couvert, la spécification OpenAPI est le chemin le plus rapide pour construire un client.
Clés API d'espace de travail avec permissions par portée — clés distinctes pour l'analyse en lecture seule, la gestion des liens ou l'administration
Les clés API sont limitées à l'espace de travail (pas à l'utilisateur) et incluent un ensemble de permissions défini au moment de la création de la clé. Portées : links:read, links:write, links:delete, analytics:read, campaigns:read, campaigns:write, webhooks:manage, domains:manage, workspace:admin. Les intégrations d'analyse en lecture seule doivent utiliser une clé avec uniquement analytics:read. Les pipelines CI/CD qui créent des liens doivent utiliser links:write. Les opérations d'administration nécessitent workspace:admin. Les clés peuvent être renouvelées individuellement sans révoquer les autres clés — le renouvellement génère une nouvelle valeur de clé, l'ancienne valeur est invalidée immédiatement. Les clés ne sont affichées qu'une seule fois à la création ; Elido stocke un HMAC de la clé, pas le texte en clair. Pour les équipes utilisant le provisionnement SCIM, les clés de compte de service sont recommandées par rapport aux clés API personnelles pour les intégrations de production.
Serveur MCP Elido : connectez la gestion des liens à Claude, ChatGPT, Cursor et tout agent IA compatible MCP
Le serveur MCP Elido (@elido/mcp-server, publié sur npm) implémente le Model Context Protocol et expose la gestion des liens Elido sous forme d'outils appelables par les agents IA. Outils pris en charge : create_link, get_link, update_link, list_links, get_analytics, create_campaign, list_campaigns. Le serveur MCP s'authentifie avec une clé API d'espace de travail et limite l'accès aux outils selon les permissions de la clé. Intégrez-le dans la boucle d'utilisation d'outils de Claude, les plugins ChatGPT (appel de fonctions), le contexte IA de Cursor ou tout runtime compatible MCP. Exemple de cas d'utilisation : un assistant IA qui prend un brief en langage naturel ('créez cinq liens pour ce lancement de produit, un par canal, avec les UTM du modèle de campagne de lancement du T2') et appelle create_link cinq fois avec les bons paramètres dérivés du brief. Le serveur MCP est auto-hébergeable ou s'exécute en tant que binaire npx pour le développement local.
Limites de débit par forfait — Gratuit 60/min, Pro 300/min, Business 1 000/min — plus allocations de rafale
Les limites de débit de l'API s'appliquent par espace de travail et par clé API : Gratuit 60 requêtes/minute, Pro 300/minute, Business 1 000/minute. Les allocations de rafale vous permettent de dépasser la limite jusqu'à 5 secondes (10x la limite de débit) avant que la limitation stricte ne s'active. Les en-têtes de limite de débit sont inclus dans chaque réponse : X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset (horodatage Unix). Les SDK incluent une tentative automatique avec retrait exponentiel sur les réponses 429 — vous n'avez pas besoin d'implémenter cela vous-même. Pour les opérations en vrac (création de liens, export d'analyses), préférez les points de terminaison en vrac (POST /bulk, exports planifiés) aux appels API par élément — les points de terminaison en vrac ont des limites distinctes et plus élevées. Si votre cas d'utilisation nécessite un débit soutenu supérieur aux limites Business (par exemple, un redirecteur à haut volume auto-hébergé appelant l'API d'Elido pour le remplissage du cache), contactez le service commercial pour une limite personnalisée.
Équipes de développeurs construisant sur l'API Elido
Les noms sont des espaces réservés — de vraies études de cas clients seront publiées ici dès qu'elles seront disponibles.
“Les types du SDK TypeScript sont générés à partir de la spécification OpenAPI — quand Elido publie une nouvelle version de l'API, nous mettons à jour la version du paquet et TypeScript nous indique immédiatement si notre intégration utilise un champ obsolète. Pas d'erreurs d'exécution surprises.”
“Nous avons connecté le serveur MCP Elido à Claude pour permettre à notre équipe de contenu de créer et taguer des liens de campagne depuis une interface de chat. L'installation a pris 20 minutes. L'équipe de contenu crée maintenant 40 % de tickets de support en moins pour l'ingénierie concernant les tâches de gestion de liens.”
“Le SDK Go avec propagation de contexte s'intègre directement dans notre maillage de services. Nous créons des liens courts pour les pages de suivi d'expédition côté serveur, au moment de la création de l'expédition — le SDK gère les tentatives et le retrait de limite de débit de manière transparente.”
API & SDK Elido vs API Bitly vs API Rebrandly
Les trois proposent des API REST. Les différences résident dans la qualité des SDK, les limites de débit, la disponibilité de la spécification OpenAPI et le support MCP/agent IA.
| Feature | Elido | API Bitly | API Rebrandly |
|---|---|---|---|
| Spécification OpenAPI / Swagger | OpenAPI 3.1 — téléchargeable, source de vérité pour les SDK | Spécification Swagger disponible | Spécification OpenAPI disponible |
| SDK officiels | TypeScript, Go, Python — générés à partir de la spécification | SDK officiels JavaScript et Python | SDK JavaScript uniquement |
| Limite de débit (Business) | 1 000 requêtes/min avec rafale | Forfait Enterprise : varie selon le contrat | 500 requêtes/min (Business) |
| Serveur MCP pour agents IA | Oui — @elido/mcp-server sur npm | Non disponible | Non disponible |
| Permissions de clé API par portée | Oui — 9 portées, affectation par clé | Lecture seule vs lecture-écriture uniquement | Contrôle de portée limité |
| Livraison de Webhook | Signé HMAC-SHA256, tentative auto, mode SIEM | Non disponible | Non disponible |
| API interne gRPC | Oui — edge à core, appels internes à faible latence | REST uniquement | REST uniquement |
Questions sur l'API & les SDK
L'API est-elle versionnée ? Comment fonctionnent les changements majeurs ?
Oui. La version actuelle est la v1, accessible via /v1/... Les changements majeurs sont annoncés dans le journal des modifications avec une fenêtre d'obsolescence de 90 jours avant que l'ancien comportement ne soit supprimé. Les ajouts non disruptifs (nouveaux champs, nouveaux paramètres optionnels) sont publiés sans changement de version. La version de l'API est stable ; si la v2 est un jour introduite, la v1 fonctionnera en parallèle pendant au moins 12 mois. La spécification OpenAPI sur /openapi.json reflète toujours la version stable actuelle.
Quelle méthode d'authentification l'API utilise-t-elle ?
Authentification par jeton Bearer : incluez votre clé API dans l'en-tête Authorization sous la forme 'Bearer elido_sk_...'. La valeur de la clé n'est affichée qu'une seule fois à la création. Pour les appels de webhooks de serveur à serveur d'Elido vers votre système, Elido signe le corps de la requête avec HMAC-SHA256 en utilisant un secret partagé — vérifiez l'en-tête X-Elido-Signature sur votre gestionnaire de webhook. Les identifiants clients OAuth2 sont disponibles pour les intégrations partenaires où la distribution de clés API d'espace de travail n'est pas pratique — contactez-nous pour l'intégration partenaire OAuth2.
Le SDK TypeScript fonctionne-t-il dans Cloudflare Workers et les runtimes edge ?
Oui. Le SDK TypeScript utilise l'API fetch (disponible dans tous les runtimes edge modernes) et évite les API spécifiques à Node.js (pas de fs, pas de http, pas de Buffer). Il est testé sur Cloudflare Workers, Vercel Edge Functions et Deno Deploy. Si vous exécutez le SDK dans un environnement edge contraint, utilisez le chemin d'importation léger (@elido/sdk/edge) qui exclut les utilitaires CLI et les modules spécifiques à Node.js du bundle.
Comment utiliser le serveur MCP avec Claude ou ChatGPT ?
Pour Claude : ajoutez le serveur MCP à votre fichier claude_desktop_config.json avec votre clé API comme variable d'environnement — la documentation MCP d'Elido propose un bloc de configuration à copier-coller. Pour ChatGPT (appel de fonctions) : le serveur MCP expose un manifeste d'outils JSON Schema sur /.well-known/mcp.json que vous pouvez importer dans la configuration des actions de votre GPT. Pour Cursor : ajoutez le serveur MCP comme outil local dans les paramètres de Cursor avec npx @elido/mcp-server. Toutes les configurations nécessitent une clé API Elido valide avec les portées pertinentes.
Quel est le modèle de pagination pour les points de terminaison de liste ?
Tous les points de terminaison de liste utilisent une pagination basée sur un curseur. La réponse inclut un champ next_cursor (null s'il n'y a plus de pages). Passez la valeur du curseur comme paramètre de requête cursor lors de la requête suivante. La taille de page par défaut est de 50 ; le maximum est de 200. La pagination par curseur est stable — l'ajout ou la suppression d'enregistrements entre les pages ne provoque pas de saut ou de répétition d'éléments, contrairement à la pagination par décalage. Les SDK incluent un assistant d'auto-pagination qui renvoie les éléments un par un, indépendamment des limites de page.
Puis-je utiliser l'API pour gérer plusieurs espaces de travail à partir d'un seul client ?
Oui. Les clés API sont limitées à l'espace de travail, mais vous pouvez détenir des clés pour plusieurs espaces de travail. Le préfixe du point de terminaison de l'API est /v1/workspaces/{workspace_id}/... — passez l'ID de l'espace de travail cible. Si vous construisez un outil de gestion multi-espace de travail (par exemple, un portail d'agence gérant les espaces de travail des clients), vous détiendrez une clé API par espace de travail. Les identifiants partenaires OAuth2 avec une portée multi-espace de travail sont disponibles pour les intégrations de plateforme — contactez le service commercial.
Quelle est la limite de débit sur le forfait gratuit et comment est-elle appliquée ?
Forfait gratuit : 60 requêtes par minute et par espace de travail. La limite de débit est appliquée au niveau de la passerelle API avec un algorithme de seau à jetons (token bucket). Lorsque le seau est vide, l'API renvoie une erreur HTTP 429 avec un en-tête Retry-After indiquant quand le prochain jeton sera disponible. Les SDK respectent automatiquement Retry-After sur les réponses 429. Notez que les points de terminaison en vrac ont des limites distinctes — le point de terminaison de création de liens en vrac compte pour une seule requête, quel que soit le nombre de liens dans la charge utile.
Existe-t-il un bac à sable ou un environnement de test ?
Oui — passez l'en-tête X-Elido-Sandbox: true à n'importe quelle requête API pour l'exécuter dans l'environnement de bac à sable. Les requêtes de bac à sable créent de réels objets dans une partition d'espace de travail isolée (liens, campagnes, etc.), mais le trafic de redirection n'est pas servi depuis l'edge de production. Utilisez le bac à sable pour les tests d'intégration et les pipelines CI/CD. Les objets du bac à sable ne sont pas décomptés de vos quotas de liens ou de clics de votre forfait. Le bac à sable est réinitialisé toutes les 24 heures — ne dépendez pas des données du bac à sable pour une utilisation en production.
Keep reading
Livraison d'événements sortants signés HMAC — le complément asynchrone de l'API synchrone.
La ressource API que vous appellerez le plus — créez, mettez à jour et interrogez des liens courts par programmation.
Interrogez les événements de clic et les agrégats via l'API d'analyse — les mêmes données que le tableau de bord ClickHouse.
La page de solution orientée développeur — REST, SDK, webhooks et aperçu de l'expérience développeur.
Prêt à essayer ?
Commencez avec le forfait gratuit, passez à la version supérieure lorsque vous avez besoin d'un domaine personnalisé.