API リファレンス
プロパティ
プロパティは1つの製品のサイトとリポジトリをまとめたものです。これらのエンドポイントは、総合スコア、各ツールのスコア、全ツールの検出結果をまとめたリスト、次にやるべきことを返します。
プロパティはアプリのプロパティで作成します。API は読み取り専用で、読み取り専用キーを含むどのキーでも使えます。チームのキーではチームのプロパティが見えます。
プロパティ一覧
GET
/api/v1/propertiesキーのチーム (または所有者) のすべてのプロパティとツール別スコア。
レスポンス
json
{
"properties": [
{
"id": "cm9prop...",
"name": "Acme Store",
"category": "ecommerce",
"client": null,
"score": 76,
"lastScannedAt": "2026-11-12T09:30:00.000Z",
"openTasks": 4,
"targets": [
{ "target": "shop.acme.com", "kind": "site" },
{ "target": "acme/storefront", "kind": "repo" }
],
"tools": [
{ "tool": "audit", "score": 86, "change": 3, "scanned": 1, "of": 1, "at": "2026-11-12T09:30:00.000Z" },
{ "tool": "security", "score": 54, "change": -12, "scanned": 1, "of": 1, "at": "2026-11-10T08:00:00.000Z" }
]
}
]
}プロパティを取得
GET
/api/v1/properties/{id}30日間の推移、統合された問題、次のステップを含む1つのプロパティ。
パスパラメータ
| フィールド | 説明 |
|---|---|
idstring必須 | 一覧から取得したプロパティの ID。 |
レスポンス
json
{
"id": "cm9prop...",
"name": "Acme Store",
"score": 76,
"trend": [{ "day": "2026-11-12", "score": 76 }],
"issues": [
{
"title": "Missing Content-Security-Policy",
"severity": "high",
"tools": ["security", "audit"],
"targets": ["shop.acme.com"],
"places": 1,
"task": { "id": "cm9task...", "status": "open", "assignee": "Sam Lee" },
"url": "https://www.scanverra.com/security-scan/cm9scan...?finding=..."
}
],
"nextSteps": [
{ "kind": "secretsLive", "tool": "security", "target": "shop.acme.com", "url": "https://www.scanverra.com/security-scan?url=..." }
],
"packs": [
{
"ref": "checkout-security",
"name": "Checkout security",
"official": true,
"pass": false,
"passed": 5,
"total": 7,
"rules": [
{ "kind": "minScore", "tool": "security", "expected": 85, "actual": 50, "pass": false }
]
}
]
}フィールド
| フィールド | 説明 |
|---|---|
scorenumber | null任意 | 総合ヘルス。各ツールのスコアをプロパティの対象全体で平均し、さらにツールを均等に平均したもの。まだ何もスキャンしていない場合は null。 |
tools[]object[]任意 | プロパティをスキャンしたツールごとのエントリ: スコア、前回スキャンからの変化、スキャンした対象の数 (of のうち scanned)、日時。 |
issues[]object[]任意 | 全ツールの最新スキャンの検出結果を統合したもの。2つのツールが同じ問題を報告した場合は1件になり、tools に両方、places に出現回数が入ります。 |
issues[].taskobject | null任意 | 誰かに割り当てられている場合、その問題の未完了の修正タスク。 |
nextSteps[]object[]任意 | 次にスキャンまたは修正すべきこと (緊急度順、種類は下記)。url は対象が入力済みの該当ページを開きます。 |
packs[]object[]任意 | プロパティにインストールされたポリシーパック (マーケットプレイスから)。それぞれ最新スキャンに対してチェックされます: pass、合格したルール数 (total 中 passed)、各ルールのしきい値 (expected) と現在値 (actual)。公式パックの名前は英語です。 |
trend[]object[]任意 | 過去30日間の日ごとの総合スコア。 |
次のステップの種類
nextSteps はツールを横断して判断するため、あるツールの検出結果が、別のツールで可能なスキャンや修正を示します。
secretsLiveリポジトリにシークレットが漏洩: 公開サイトから何が見えるか確認。
regression前回スキャンからツールのスコアが10ポイント以上低下。
run360ほとんどのツールがまだサイトを確認していない。
headersInCode公開サイトにセキュリティヘッダーが不足し、そのリポジトリがプロパティに含まれている。
neverScannedある対象で一度も実行されていないツールがある。
stale対象の最新スキャンが30日以上前。
linkRepoサイトはあるがリポジトリがない。
addSiteリポジトリはあるがサイトがない。
例
curl https://www.scanverra.com/api/v1/properties \ -H "X-API-Key: $SCANVERRA_API_KEY"