Docs/APIとWebhook/コンプライアンス

コンプライアンス

同じトレーニングデータに対する2つの並列カバレッジビュー。OWASPビューは、4つのOWASP Top 10ファミリ (Web、API、Mobile、Client) に対してワークフォースをスコア付けします。規制ビューは、各コントロールをその基礎CWEにマップすることで、同じトレーニングを外部標準 (PCI DSS、ISO/IEC 27001、SOC 2) に対してスコア付けします。必要なスコープ: compliance:read

エンドポイント

メソッドパススコープ目的
GET/api/public/v1/compliance/summarycompliance:read4つのフレームワークすべてのOWASPカバレッジ集計。
GET/api/public/v1/compliance/frameworks/{'{'}frameworkId{'}'}compliance:read1つのOWASPフレームワークのモジュールごとの内訳。
GET/api/public/v1/compliance/regulatory/summarycompliance:read規制フレームワークのカバレッジ集計。
GET/api/public/v1/compliance/regulatory/{'{'}frameworkId{'}'}compliance:read1つの規制フレームワークのコントロールごとの内訳。

カバレッジの計算方法

適格ユーザーは、ロールがorg_adminでないアクティブな組織メンバーです。ユーザーは、過去windowDays (365) 以内にpassingScore (70) 以上のスコアの練習試行を少なくとも1回行った場合、そのトピックでトレーニング済みとしてカウントされます。リスクアイテム (OWASPモジュールまたは規制コントロール) は、それでトレーニング済みの適格ユーザーの割合が組織のcoverageThresholdPercentを超えると、ステータスがcoveredに切り替わります — デフォルトは80、管理UIから50から100の間で設定可能です。

フレームワーク識別子

タイプ識別子タイトル
OWASPwebOWASP Top 10 (Web)
OWASPapiOWASP API Security Top 10
OWASPmobileOWASP Mobile Top 10
OWASPclientOWASP Client-Side Top 10
規制pci-dssPCI DSS v4.0 — Requirement 6.2.4
規制iso-27001ISO/IEC 27001:2022 — Annex A secure development
規制soc-2SOC 2 — Trust Services Criteria (TSC 2017)

OWASPサマリー

OWASPフレームワークごとに1エントリ。ダッシュボードタイル用に使用してください。

GET /api/public/v1/compliance/summary
Authorization: Bearer scs_live_…

レスポンス

{
  "frameworks": [
    {
      "frameworkId": "web",
      "title": "OWASP Top 10 (Web)",
      "totalRiskItems": 10,
      "coveredRiskItems": 7,
      "partialRiskItems": 2,
      "noActivityRiskItems": 1,
      "noContentRiskItems": 0,
      "eligibleUsers": 142,
      "trainedUsers": 118,
      "coveragePercent": 83.1,
      "avgScore": 86.4
    },
    {
      "frameworkId": "api",
      "title": "OWASP API Security Top 10",
      "totalRiskItems": 10,
      "coveredRiskItems": 5,
      "partialRiskItems": 3,
      "noActivityRiskItems": 2,
      "noContentRiskItems": 0,
      "eligibleUsers": 142,
      "trainedUsers": 91,
      "coveragePercent": 64.1,
      "avgScore": 79.2
    }
  ],
  "passingScore": 70,
  "coverageThresholdPercent": 80,
  "windowDays": 365,
  "generatedAt": "2026-05-29T13:42:11.318Z"
}
  • covered + partial + noActivity + noContent = totalRiskItems
  • noContentは、そのリスクアイテムのトレーニングをまだ提供していないことを意味します — ワークフォースの失敗ではなく、既知のギャップとして扱ってください。
  • avgScoreはウィンドウ内の合格試行の平均で、0–100スケールで表されます。

curl -sS \
  -H "Authorization: Bearer $SCH_API_KEY" \
  https://api.limeplate.com/api/public/v1/compliance/summary

OWASPフレームワーク詳細

1つのフレームワークを掘り下げます — モジュールごとのリスクアイテムを、それぞれ構成トピックとCWEとともに返します。web | api | mobile | client以外の識別子には404 framework_not_foundを返します。

GET /api/public/v1/compliance/frameworks/web
Authorization: Bearer scs_live_…

レスポンス

{
  "frameworkId": "web",
  "title": "OWASP Top 10 (Web)",
  "summary": {
    "frameworkId": "web",
    "title": "OWASP Top 10 (Web)",
    "totalRiskItems": 10,
    "coveredRiskItems": 7,
    "partialRiskItems": 2,
    "noActivityRiskItems": 1,
    "noContentRiskItems": 0,
    "eligibleUsers": 142,
    "trainedUsers": 118,
    "coveragePercent": 83.1,
    "avgScore": 86.4
  },
  "riskItems": [
    {
      "moduleId": "a01-broken-access-control",
      "title": "A01: Broken Access Control",
      "status": "covered",
      "topicsCount": 4,
      "eligibleUsers": 142,
      "trainedUsers": 124,
      "coveragePercent": 87.3,
      "avgScore": 88.1,
      "topics": [
        {
          "topicId": "idor",
          "title": "Insecure Direct Object References",
          "trainedUsers": 121,
          "totalAttempts": 318,
          "avgScore": 87.6,
          "cwes": ["CWE-639", "CWE-285"]
        }
      ]
    }
  ],
  "passingScore": 70,
  "coverageThresholdPercent": 80,
  "windowDays": 365,
  "generatedAt": "2026-05-29T13:42:11.318Z"
}
  • statuscoveredpartialno-activityno-contentのいずれか。
  • totalAttemptsはウィンドウ内の失敗試行を含みます。trainedUsersは少なくとも1回合格試行のあるユーザーのみをカウントします。

curl -sS \
  -H "Authorization: Bearer $SCH_API_KEY" \
  https://api.limeplate.com/api/public/v1/compliance/frameworks/api

規制サマリー

OWASPサマリーと同じ形状ですが、規制フレームワーク用です。各エントリにはversionsubtitleが含まれており、標準の識別句を直接レンダリングできます。

GET /api/public/v1/compliance/regulatory/summary
Authorization: Bearer scs_live_…

レスポンス

{
  "frameworks": [
    {
      "frameworkId": "pci-dss",
      "title": "PCI DSS",
      "version": "v4.0",
      "subtitle": "Payment Card Industry Data Security Standard — Requirement 6 (Secure Systems and Software)",
      "totalControls": 6,
      "coveredControls": 4,
      "partialControls": 1,
      "noActivityControls": 1,
      "noContentControls": 0,
      "eligibleUsers": 142,
      "trainedUsers": 105,
      "coveragePercent": 73.9,
      "avgScore": 84.7
    },
    {
      "frameworkId": "iso-27001",
      "title": "ISO/IEC 27001",
      "version": "2022",
      "subtitle": "Annex A controls — secure development and application security",
      "totalControls": 6,
      "coveredControls": 5,
      "partialControls": 1,
      "noActivityControls": 0,
      "noContentControls": 0,
      "eligibleUsers": 142,
      "trainedUsers": 117,
      "coveragePercent": 82.4,
      "avgScore": 86.0
    }
  ],
  "passingScore": 70,
  "coverageThresholdPercent": 80,
  "windowDays": 365,
  "generatedAt": "2026-05-29T13:42:11.318Z"
}

curl -sS \
  -H "Authorization: Bearer $SCH_API_KEY" \
  https://api.limeplate.com/api/public/v1/compliance/regulatory/summary

規制フレームワーク詳細

コントロールごとの内訳。各コントロールには、標準が公開しているそのままの上流説明と、トレーニングをコントロールにマップするために使用したCWEセットが含まれます。不明な識別子には404 regulatory_framework_not_foundを返します。

GET /api/public/v1/compliance/regulatory/pci-dss
Authorization: Bearer scs_live_…

レスポンス

{
  "frameworkId": "pci-dss",
  "title": "PCI DSS",
  "version": "v4.0",
  "subtitle": "Payment Card Industry Data Security Standard — Requirement 6 (Secure Systems and Software)",
  "summary": {
    "frameworkId": "pci-dss",
    "title": "PCI DSS",
    "version": "v4.0",
    "subtitle": "Payment Card Industry Data Security Standard — Requirement 6 (Secure Systems and Software)",
    "totalControls": 6,
    "coveredControls": 4,
    "partialControls": 1,
    "noActivityControls": 1,
    "noContentControls": 0,
    "eligibleUsers": 142,
    "trainedUsers": 105,
    "coveragePercent": 73.9,
    "avgScore": 84.7
  },
  "controls": [
    {
      "controlId": "6.2.4.a",
      "title": "Injection Attacks",
      "description": "Address attacks that inject untrusted data into commands or queries (Req 6.2.4.a).",
      "cwes": ["CWE-89", "CWE-78", "CWE-79", "CWE-94", "CWE-611", "CWE-917", "CWE-918"],
      "status": "covered",
      "topicsCount": 7,
      "eligibleUsers": 142,
      "trainedUsers": 128,
      "coveragePercent": 90.1,
      "avgScore": 88.6,
      "topics": [
        {
          "topicId": "sql-injection",
          "title": "SQL Injection",
          "trainedUsers": 131,
          "totalAttempts": 402,
          "avgScore": 89.4,
          "cwes": ["CWE-89"]
        }
      ]
    }
  ],
  "passingScore": 70,
  "coverageThresholdPercent": 80,
  "windowDays": 365,
  "generatedAt": "2026-05-29T13:42:11.318Z"
}

curl -sS \
  -H "Authorization: Bearer $SCH_API_KEY" \
  https://api.limeplate.com/api/public/v1/compliance/regulatory/iso-27001