Docs/APIとWebhook/API概要

API概要

SecureCodingHubパブリックREST APIを使用すると、管理UIをスクレイピングすることなく、独自のシステムからユーザーをプロビジョニングし、課題を作成し、スキャナの検出結果を取り込み、イベントを購読できます。

APIを使用すべきタイミング

SecureCodingHubを別のダッシュボードではなくインフラの一部として動作させたい場合に、パブリックAPIを使用してください。一般的な統合は以下のとおりです:

  • CI/CDパイプライン — CodeQL、Snyk、Semgrep、または任意のSASTツールからのSARIF出力をフィードし、コミット作成者向けにターゲットを絞ったトレーニング課題を自動作成します。
  • HR / IdP同期 — 採用時にユーザーをプロビジョニングし、退職時に無効化します。SCIMと併用可能です。
  • チケッティングとSOAR — 開発者が必須課題に失敗した際にJiraチケットを起票したり、証明書の期限切れ時にPagerDutyインシデントを呼び出します。
  • カスタムレポート — 進捗と監査データを独自のBIツール (Looker、Metabase、Tableau) に取り込みます。
  • ホワイトラベルダッシュボード — 完了統計を社内ポータルに埋め込みます。

ベースURLとバージョン管理

すべてのパブリックエンドポイントは、パスにバージョンを固定した単一のベースURLからアクセスできます:

https://api.limeplate.com/api/public/v1

v1コントラクトは安定しています。破壊的変更は新しいパスでv2として提供され、新しいメジャーバージョンの一般提供開始後、v1は少なくとも12か月利用可能です。

2つのサーフェス、1つのプラットフォーム

app.securecodinghub.com下の管理Webアプリとapi.limeplate.com/api/public/v1下のパブリックAPIは意図的に分離されています。異なる認証方式、異なるレート制限ポリシー、異なる識別子規約を使用します。内部エンドポイント (/api/sch/...) は予告なく変更される可能性があります。このセクションで文書化されているエンドポイントのみが保証されています。

30秒ツアー

新しい統合のフローはほとんどの場合次のようになります:

1

組織 → APIキーの管理コンソールでAPIキーを作成します。必要なスコープ (users:readassignments:writeなど) のみを付与してください。

2

scs_live_…トークンをコピーします。トークンは作成時に1回のみ表示されます — 直ちにシークレットマネージャーに保存してください。

3

任意のエンドポイントにAuthorization: Bearer scs_live_…を送信して最初の呼び出しを行います。

4

SecureCodingHub内で発生するイベント (課題完了、SARIF実行の取り込みなど) については、Webhookエンドポイントを購読し、各配信のHMAC署名を検証してください。

最初のリクエスト

この呼び出しは、APIキーを所有する組織のメタデータを返します。新しいトークンを発行した後に推奨されるヘルスチェックです:

curl https://api.limeplate.com/api/public/v1/org \
  -H "Authorization: Bearer scs_live_yourkeyhere"

成功レスポンスは次のようになります:

{
  "id": "e188fc87-1334-48bd-84d7-5e3e64cecb52",
  "name": "Acme Corp",
  "slug": "acme",
  "domain": "acme.com",
  "plan": "growth",
  "maxSeats": 500,
  "trialExpiresAt": null,
  "isActive": true,
  "createdAt": "2026-01-12T08:42:11Z"
}

規約

トピック規約
トランスポートHTTPSのみ。プレーンHTTPリクエストはエッジで拒否されます。
エンコーディングJSONリクエストおよびレスポンスボディ。すべてのPOST、PATCHでContent-Type: application/json
ケーシングすべてのフィールド名はリクエスト、レスポンス (およびWebhookペイロード) の両方でcamelCaseを使用します。
タイムスタンプISO 8601 UTC文字列 (2026-05-29T13:45:12Z)。
識別子すべてのリソースIDはRFC 4122 v4 UUIDです。
空のボディ操作を確認するだけのエンドポイントは{ "message": "..." }とともに200 OKを返します。
冪等性必要な箇所 (例: SARIF取り込み) では、冪等性は別のヘッダーではなく、リクエスト内の自然識別子をキーとします。

OpenAPI仕様

すべてのパブリックエンドポイントを記述したOpenAPI 3.0ドキュメントは、同じホストから配信されます:

https://api.limeplate.com/openapi/v1.json

そのURLをPostman、Insomnia、Stoplight、または任意のコード生成ツール (openapi-generator@hey-api/openapi-ts、NSwag) に直接貼り付けて、型付きクライアントをスキャフォールドできます。

サポートとステータス

運用上の問題、破壊的変更、廃止通知は、組織に登録されたメールアドレスに送信されます。統合に関する質問やバグレポートについては、失敗した呼び出しから取得できる場合はリクエストX-Request-Idヘッダーを添えてsupport@securecodinghub.comまでお問い合わせください — トリアージが劇的に高速化されます。