API & SDK. Build on Elido, in any language.
フルREST API、TypeScript、Go、Python SDKに加え、AIエージェントのワークフロー用MCPサーバーを提供。レート制限はプランに応じてスケールし、APIキーはきめ細かな権限セットを備えたワークスペーススコープです。
- 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
- OpenAPI 3.1仕様のREST API
- TypeScript、Go、Python SDK
- Claude、ChatGPT、Cursor向けMCPサーバー
- スコープごとの権限を備えたワークスペーススコープのAPIキー
- 非同期イベント配信用のWebhooks
- gRPC内部API (エッジ → コア)
ElidoのAPIスタックが開発者に提供するもの
OpenAPI仕様とSDKはあくまで基本に過ぎません。以下の機能は、本番環境での統合を構築する際に重要となる詳細を網羅しています。
OpenAPI 3.1仕様、Postmanコレクション、インタラクティブなリファレンス — すべてのエンドポイントが例付きでドキュメント化されています
ElidoのすべてのAPIエンドポイントは、/docs/api-reference で公開されている OpenAPI 3.1仕様、および /openapi.json からダウンロード可能なJSONファイルにドキュメント化されています。この仕様が唯一の真実(Source of Truth)であり、SDKの型はこの仕様から生成されるため、リファレンスとSDKの間で乖離が生じることはありません。インタラクティブなAPIリファレンスを使用すると、ブラウザから直接ワークスペースに対して認証済みコールを実行できます(APIキーを貼り付け、ワークスペースを選択し、エンドポイントを呼び出すだけです)。各エンドポイントのドキュメントページからは、OpenAPI仕様から自動生成された Postman コレクションにリンクされています。APIの変更履歴はメインの変更履歴と共にバージョン管理されており、破壊的変更については削除の90日前に移行ガイドと共に非推奨通知が行われます。
TypeScript、Go、Python SDK — OpenAPI仕様から生成され、APIリリースごとに更新されます
TypeScript SDK (@elido/sdk) は npm で公開されており、型定義されたリクエストおよびレスポンスオブジェクトでAPIの全領域をカバーしています。Node.js とエッジランタイム (Cloudflare Workers, Vercel Edge, Deno) の両方をサポートしています。Go SDK (github.com/elidoapp/elido-go) は、コンテキストの伝播と、高スループット用途向けにゼロアロケーションのホットパスを備えた慣用的な Go です。Python SDK (elido-python, PyPIで利用可能) には、同期と非同期 (asyncio) の両方のクライアントが含まれています。3つのSDKはすべて同じ OpenAPI 仕様からカスタムジェネレーターを使用して生成されており、APIリリースと同日にアップデートが提供されます。Ruby と PHP のコミュニティメンテナンスによるSDKも存在しますが、ドキュメントには記載されているものの公式にはサポートされていません。お使いの言語がカバーされていない場合は、OpenAPI 仕様がクライアント構築への最短ルートです。
スコープごとの権限を備えたワークスペースAPIキー — 分析専用、リンク管理用、管理者用などでキーを分離可能
APIキーはワークスペーススコープ(ユーザースコープではない)であり、キー作成時に定義された権限セットが含まれます。スコープ:links:read, links:write, links:delete, analytics:read, campaigns:read, campaigns:write, webhooks:manage, domains:manage, workspace:admin。閲覧専用の分析統合には analytics:read のみのキーを使用してください。リンクを作成するCI/CDパイプラインには links:write を使用します。管理者操作には workspace:admin が必要です。各キーは他のキーを無効にすることなく個別にローテーションでき、ローテーションにより新しいキー値が生成されると、古い値は即座に無効化されます。キーは作成時に一度だけ表示されます。Elidoはキーの平文ではなく、キーの HMAC を保存します。SCIMでプロビジョニングされたチームには、本番環境の統合用に個人用APIキーではなくサービスアカウントキーの使用を推奨します。
Elido MCPサーバー: リンク管理をClaude、ChatGPT、Cursor、およびあらゆるMCP互換のAIエージェントに接続
Elido MCPサーバー (@elido/mcp-server, npmで公開) は Model Context Protocol を実装しており、Elidoのリンク管理をAIエージェントから呼び出し可能なツールとして公開します。サポートされているツール:create_link, get_link, update_link, list_links, get_analytics, create_campaign, list_campaigns。MCPサーバーはワークスペースAPIキーで認証し、ツールのアクセス範囲をキーの権限に制限します。Claudeのツール使用ループ、ChatGPTプラグイン(関数呼び出し)、CursorのAIコンテキスト、またはあらゆるMCP互換のランタイムに組み込んでください。ユースケース例:自然言語の指示(「この製品発表用に、チャネルごとに5つのリンクを作成し、Q2発表キャンペーンテンプレートからUTMを設定して」)を受け取り、指示から導き出された適切なパラメータで create_link を5回呼び出すAIアシスタント。MCPサーバーはセルフホスト可能で、ローカル開発用に npx バイナリとしても実行できます。
プラン別のレート制限 — Free 60回/分、Pro 300回/分、Business 1,000回/分 — さらにバースト許容量も
APIレート制限は、ワークスペースごと、APIキーごとに適用されます:Freeは毎分60リクエスト、Proは毎分300リクエスト、Businessは毎分1,000リクエスト。バースト許容量により、ハードリミットがかかる前に最大5秒間、レート制限の10倍まで超過することができます。すべてのレスポンスにはレート制限ヘッダーが含まれます:X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset (Unixタイムスタンプ)。SDKには 429 レスポンスに対する指数バックオフ付きの自動リトライ機能が含まれているため、ご自身で実装する必要はありません。一括操作(リンク作成、分析エクスポート)については、アイテムごとのAPIコールではなく、一括エンドポイント(POST /bulk、スケジュールされたエクスポート)を優先してください。一括エンドポイントには個別のより高い制限が設定されています。Businessプランの制限を超える持続的なスループットが必要なユースケース(例:キャッシュ投入のためにElidoのAPIを呼び出すセルフホスト型の高ボリュームリダイレクター)については、カスタム制限について営業までお問い合わせください。
Elido APIで構築を行う開発チーム
名称はプレースホルダーです。実際のカスタマーケーススタディは、公開され次第ここに掲載されます。
“TypeScript SDKの型は OpenAPI 仕様から生成されています。Elidoが新しいAPIバージョンをリリースした際にパッケージを更新すると、統合で非推奨のフィールドを使用しているかどうかが TypeScript によって即座に判明します。ランタイムエラーに驚かされることはありません。”
“Elido MCPサーバーを Claude に接続し、コンテンツチームがチャットインターフェースからキャンペーンリンクの作成とタグ付けを行えるようにしました。セットアップは20分でした。現在、コンテンツチームからエンジニアリングへのリンク管理に関するサポートチケットは40%減少しています。”
“コンテキスト伝播を備えた Go SDK は、当社のサービスメッシュに直接適合します。出荷作成の時点でサーバー側で配送追跡ページ用の短縮リンクを作成していますが、SDKがリトライとレート制限のバックオフを透過的に処理してくれます。”
Elido API & SDK vs Bitly API vs Rebrandly API
3社ともREST APIを提供していますが、SDKの品質、レート制限、OpenAPI仕様の有無、MCP/AIエージェント対応に違いがあります。
| Feature | Elido | Bitly API | Rebrandly API |
|---|---|---|---|
| OpenAPI / Swagger 仕様 | OpenAPI 3.1 — ダウンロード可能、SDKの唯一の真実 | Swagger 仕様が利用可能 | OpenAPI 仕様が利用可能 |
| 公式SDK | TypeScript, Go, Python — 仕様から生成 | JavaScript および Python の公式SDK | JavaScript SDK のみ |
| レート制限 (Business) | 毎分 1,000 リクエスト(バーストあり) | Enterpriseプラン:契約により異なる | 毎分 500 リクエスト (Business) |
| AIエージェント向けMCPサーバー | あり — npm の @elido/mcp-server | なし | なし |
| スコープごとのAPIキー権限 | あり — 9つのスコープ、キーごとの割り当て | 閲覧専用 vs 読み書き専用のみ | 限定的なスコープ制御 |
| Webhook 配信 | HMAC-SHA256 署名、自動リトライ、SIEM モード | なし | なし |
| gRPC 内部 API | あり — エッジからコアへの低遅延内部コール | REST のみ | REST のみ |
API & SDK に関する質問
APIはバージョン管理されていますか?破壊的変更はどのように扱われますか?
はい。現在のバージョンは v1 で、/v1/... からアクセスできます。破壊的変更は、古い動作が削除される90日前に移行ガイドと共に変更履歴で発表されます。非破壊的な追加(新しいフィールド、新しいオプションパラメータなど)は、バージョンの更新なしでリリースされます。APIバージョンは安定しており、将来 v2 が導入された場合でも、v1 は少なくとも12か月間並行して稼働します。/openapi.json の OpenAPI 仕様は常に現在の安定バージョンを反映しています。
APIではどのような認証方法が使用されますか?
Bearerトークン認証を使用します。Authorization ヘッダーに 'Bearer elido_sk_...' としてAPIキーを含めてください。キーの値は作成時に一度だけ表示されます。Elidoからお客様のシステムへのサーバー間 Webhook コールの場合は、Elidoが共有シークレットを使用して HMAC-SHA256 でリクエストボディに署名します。Webhook ハンドラーで X-Elido-Signature ヘッダーを検証してください。ワークスペースAPIキーの配布が実用的でないパートナー統合向けには、OAuth2 クライアント資格情報も利用可能です。OAuth2 パートナーのオンボーディングについてはお問い合わせください。
TypeScript SDKは Cloudflare Workers やエッジランタイムで動作しますか?
はい。TypeScript SDK は、最新のすべてのエッジランタイムで使用可能な fetch API を使用しており、Node.js 専用の API(fs, http, Buffer など)を避けています。Cloudflare Workers, Vercel Edge Functions, Deno Deploy でテスト済みです。制限のあるエッジ環境でSDKを実行する場合は、バンドルからCLIユーティリティや Node.js 専用モジュールを除外した軽量なインポートパス (@elido/sdk/edge) を使用してください。
MCPサーバーを Claude や ChatGPT で使用するにはどうすればよいですか?
Claude の場合:APIキーを環境変数として設定し、claude_desktop_config.json に MCPサーバーを追加します。Elido MCPドキュメントにコピー&ペースト可能な設定ブロックがあります。ChatGPT(関数呼び出し)の場合:MCPサーバーは /.well-known/mcp.json で JSON Schema ツールマニフェストを公開しており、これを GPT のアクション設定にインポートできます。Cursor の場合:npx @elido/mcp-server を使用して、Cursor の設定で MCPサーバーをローカルツールとして追加します。すべての設定には、関連するスコープを持つ有効な Elido APIキーが必要です。
リストエンドポイントのページネーションモデルはどうなっていますか?
すべてのリストエンドポイントはカーソルベースのページネーションを使用します。レスポンスには next_cursor フィールドが含まれます(これ以上のページがない場合は null)。次回のリクエスト時に cursor クエリパラメータとしてその値を渡してください。デフォルトのページサイズは50で、最大は200です。カーソルベースのページネーションは安定しており、オフセットベースのページネーションとは異なり、ページ間でレコードの追加や削除が発生してもアイテムがスキップされたり重複したりすることはありません。SDKには、ページの境界を意識せずにアイテムを1つずつ取得できる自動ページネーションヘルパーが含まれています。
1つのクライアントから複数のワークスペースをAPIで管理できますか?
はい。APIキーはワークスペーススコープですが、複数のワークスペースのキーを保持することができます。APIエンドポイントのプレフィックスは /v1/workspaces/{workspace_id}/... となっており、対象のワークスペースIDを渡します。クライアントのワークスペースを管理する代理店ポータルのようなマルチワークスペース管理ツールを構築する場合は、ワークスペースごとに1つのAPIキーを保持することになります。クロスワークスペーススコープを持つ OAuth2 パートナー資格情報については、プラットフォーム統合向けに提供可能です。営業までお問い合わせください。
Freeプランのレート制限はどうなっていますか?また、どのように適用されますか?
Freeプランは、ワークスペースごとに毎分60リクエストです。レート制限は、APIゲートウェイでトークンバケットアルゴリズムを使用して適用されます。バケットが空になると、APIは HTTP 429 を返し、次のトークンが利用可能になるタイミングを示す Retry-After ヘッダーを含めます。SDKは 429 レスポンス時の Retry-After を自動的に尊重します。なお、一括エンドポイントには個別の制限があります。例えばリンクの一括作成エンドポイントは、ペイロードに含まれるリンクの数に関わらず、1リクエストとしてカウントされます。
サンドボックスやテスト環境はありますか?
はい。任意のAPIリクエストに X-Elido-Sandbox: true ヘッダーを渡すと、サンドボックス環境に対して実行されます。サンドボックスリクエストは、サンドボックス化されたワークスペースパーティション内に実際のオブジェクト(リンク、キャンペーンなど)を作成しますが、リダイレクトトラフィックは本番エッジからは提供されません。統合テストやCI/CDパイプラインにはサンドボックスを使用してください。サンドボックスのオブジェクトは、プランのリンク数やクリック数のクォータにはカウントされません。サンドボックスは24時間ごとにリセットされるため、本番用データをサンドボックスに依存させないでください。