サインイン

API 概要

Cliqer と連携するための API の完全なドキュメント

Client API は API アドオン です。Presenter、Studio HD、Studio 4K では購入でき、Studio 8K と Enterprise には含まれています。REST エンドポイントへの無人のサーバー間アクセスに使う長期有効な API キー は、Studio 8K および Enterprise プランで発行できます。詳しくは API キー認証 をご覧ください。プランを比較。

Cliqer API の完全なドキュメントです。REST エンドポイントと WebSocket によるリアルタイム通信を扱います。

ベース URL

https://cliqer.io/api

すべての API エンドポイントは、接続先の Cliqer サーバーのベース URL からの相対パスです。

コード例:curl/Python/Go の例では、$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 セクション

認証

ログイン、セッションのローテーション、セキュリティのベストプラクティス。

WebSocket リアルタイム

リモートのプレゼンリモコンのように、独自のソフトウェアからルームを操作できます。スライド、タイマー、レーザーポインター、ホストへのメッセージに対応します。

ライセンス

ライセンスの検証、アクティベーション、デバイス管理。

リクエストのライフサイクル

エラーレスポンス

すべてのエンドポイントは、標準的なエラーレスポンスを返します:

ステータス説明
400Bad Request:パラメーターが不足しているか無効です
401Unauthorized:有効なセッション Cookie がありません
403Forbidden:権限が不足しているか、許可されていないオリジンです
404Not Found:リソースが見つかりません
409Conflict:ライセンスのアクティベーションでシート数の上限に達した場合など
429Too Many Requests:レート制限を超えました(Retry-After を参照)
500Internal 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 秒適用対象
厳格5POST /api/licenses/validate とサインイン関連のエンドポイント(POST /api/auth/login、登録、パスワードリセット、パスキーおよび 2FA の各ステップ)
標準30GET /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 はメールアドレスをキーとします。

階層の上限を超えると、60 秒のウィンドウが終わるまで 429 が返されます。レート制限は、エンドポイントが処理を実行する前にサーバー自体で強制されます。