API 概要

Cliqer API の完全なドキュメントです。REST エンドポイントと WebSocket によるリアルタイム通信を扱います。
ベース URL
https://cliqer.io/apiすべての API エンドポイントは、接続先の Cliqer サーバーのベース URL からの相対パスです。
$BASE_URL をご利用の Cliqer インスタンスの URL(例::api-url)に置き換えてください。WebSocket の例では、$WS_URL を wss://cliqer.io に置き換えてください。TypeScript の例は相対パスを使用しているため、変更せずにそのまま動作します。認証
Cliqer は、POST /api/auth/login によって発行される httpOnly の セッション Cookie(session_token)で認証します。ブラウザーはこれを自動的に送信し、サーバー間のツールでは Cookie jar に保持します。Studio 8K および Enterprise のチームは、サーバー間の REST リクエスト用に API キー を発行することもでき、Authorization: Bearer cliqer_<key> として送信します(キーの管理には Studio 8K または Enterprise プランが必要です)。WebSocket は API キーを受け付けません。セッショントークンで接続してください。
# The session cookie is set by /api/auth/login and sent on every subsequent request
Cookie: session_token=YOUR_SESSION_TOKEN
# Or authenticate a server-to-server REST request with a team API key
Authorization: Bearer cliqer_<key>
一部のエンドポイントではセッションが不要です。たとえば POST /api/licenses/validate は公開エンドポイントです。
API セクション
リクエストのライフサイクル
エラーレスポンス
すべてのエンドポイントは、標準的なエラーレスポンスを返します:
| ステータス | 説明 |
|---|---|
400 | Bad Request:パラメーターが不足しているか無効です |
401 | Unauthorized:有効なセッション Cookie がありません |
403 | Forbidden:権限が不足しているか、許可されていないオリジンです |
404 | Not Found:リソースが見つかりません |
409 | Conflict:ライセンスのアクティベーションでシート数の上限に達した場合など |
429 | Too Many Requests:レート制限を超えました(Retry-After を参照) |
500 | Internal Server Error(サーバー内部エラー) |
エラーレスポンスの形式:
{
"statusCode": 400,
"statusMessage": "Description of the error"
}
レート制限
ほとんどのエンドポイントには、クライアント IP ごとにレート制限がかかります。制限は 3 つの階層に分かれ、いずれも 60 秒の固定ウィンドウ を使用します。リクエストが上限を超えると、サーバーは Retry-After: 60 ヘッダー付きで 429 Too Many Requests を返します。段階的・指数関数的なブロックは行われず、X-RateLimit-Remaining ヘッダーも返されません。
| ヘッダー | 説明 |
|---|---|
Retry-After | ウィンドウがリセットされるまでの秒数(60、429 の場合のみ送信) |
レート制限の階層
| 階層 | リクエスト数 / 60 秒 | 適用対象 |
|---|---|---|
| 厳格 | 5 | POST /api/licenses/validate とサインイン関連のエンドポイント(POST /api/auth/login、登録、パスワードリセット、パスキーおよび 2FA の各ステップ) |
| 標準 | 30 | GET /api/licenses/status、POST /api/licenses/deactivate、GET /api/auth/me、POST /api/auth/logout |
| 緩和 | 60 | リクエスト量の多い読み取り系エンドポイント |
2 つのエンドポイントでは、IP ではなく認証情報をキーとする 2 つ目の厳格制限が適用されるため、多数のアドレスから 1 つの対象に集中してリクエストを送り続けることはできません。POST /api/licenses/validate は license_key を、POST /api/auth/login はメールアドレスをキーとします。
429 が返されます。レート制限は、エンドポイントが処理を実行する前にサーバー自体で強制されます。