やること
- Settings → API keys からスコープ付きのAPIキーを発行する — トークンは一度しか表示されないため、すぐにコピーする。
- SDKの1回の呼び出しまたは
curlコマンド1つで、1分以内にリンクを短縮する。 - ミューテーションリクエストにべき等性キーを使用して、リトライ時に重複してリンクが作成されないようにする。
Elido APIは REST + JSON 形式で、OpenAPI 3.1 でドキュメント化されており、キーごとにレート制限が適用されます。TypeScript、Go、Python 向けに、APIをラップした公式の SDK を提供しています。@elido/mcp-server の MCP サーバーは、AIエージェントに対して同じインターフェースを公開します。
APIキーを発行する#
- Settings → API keys → Create key の順に進みます。
- 名前を選択します(使用するシステムに合わせた名前を推奨します:
zapier、internal-billing、marketing-cliなど)。 - スコープを選択します。一般的な4つのスコープは以下の通りです:
links:read— リンクの一覧取得および詳細確認。links:write— リンクの作成、更新、削除。analytics:read— クリックイベントのクエリ。webhooks:write— Webhook サブスクリプションの管理。
- Create をクリックします。キーは一度だけ表示されます。弊社側ではハッシュのみを保存しています。
キーを紛失した場合は、同じページから無効化(revoke)し、新しいキーを発行してください。無効化されたキーは、60秒以内にすべてのリージョンで拒否されるようになります。
TypeScript SDK クイックスタート#
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);
Go および Python SDK も同様の形式に従います。完全なリファレンスは /api を参照してください。
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"}'
レート制限#
Freeプランはキーあたり毎分60リクエスト、Proプランは毎分600リクエスト、Businessプランは毎分6000リクエストまでです。バースト(一時的な急増)は定常状態の制限の2倍まで許容されます。現在の状況はレスポンスヘッダーの X-RateLimit-Remaining で確認できます。
制限に達した場合、APIは 429 エラーと Retry-After を返します。SDKはデフォルトで指数バックオフによるリトライを実装しています。アプリケーション側で独自のリトライポリシーを管理する場合は、この機能をオフにしてください。
べき等性(Idempotency)#
データを変更するエンドポイントは Idempotency-Key ヘッダーを受け付けます。書き込み操作ごとに UUID を渡してください。レスポンスは24時間キャッシュされるため、ネットワークエラーや曖昧なタイムアウトによるリトライ時でも、二重に作成されることを防げます。
SDKは自動的にこのヘッダーを追加します。curl を直接使用している場合は、クライアント側でキーを生成し、すべてのリトライ時にそれを含めてください。
Webhooks#
ポーリングの代わりにリアルタイムの通知を受け取るには、Settings → Webhooks から Webhook を設定してください。link.created、link.clicked.aggregated、domain.verified イベントを HMAC 署名付きで配信します。