Inhaltskatalog
Der Katalog ist die Quelle der Wahrheit für die Kategorie-, Modul- und Topic-Kennzeichner, die überall sonst in der Public API verwendet werden. Schlagen Sie Kennzeichner hier nach, bevor Sie POST /assignments aufrufen, Elemente für benutzerdefinierte Kurse erstellen oder Compliance-Antworten interpretieren. Erforderlicher Geltungsbereich: content:read.
Endpunkte
| Methode | Pfad | Geltungsbereich | Zweck |
|---|---|---|---|
GET | /api/public/v1/content/categories | content:read | Alle Top-Level-Kategorien. |
GET | /api/public/v1/content/categories/{'{'}categoryId{'}'}/topics | content:read | Alle Topics innerhalb einer Kategorie, mit Modul- und CWE-Informationen. |
GET | /api/public/v1/content/cwes/{'{'}cweId{'}'}/topics | content:read | Eine CWE-ID zur Liste von Topics auflösen, die sie abdecken. |
Kategorien auflisten
Gibt jede sichtbare Kategorie für Ihre Organisation zurück. Kategorien spiegeln die vier OWASP-Familien wider, die in den Compliance-Endpunkten verwendet werden — web, api, mobile, client.
GET /api/public/v1/content/categories
Authorization: Bearer scs_live_…Antwort
{
"count": 4,
"categories": [
{ "categoryId": "web", "title": "OWASP Top 10 (Web)" },
{ "categoryId": "api", "title": "OWASP API Security Top 10" },
{ "categoryId": "mobile", "title": "OWASP Mobile Top 10" },
{ "categoryId": "client", "title": "OWASP Client-Side Top 10" }
]
}Beispiel
curl -sS \
-H "Authorization: Bearer $SCH_API_KEY" \
https://api.limeplate.com/api/public/v1/content/categoriesTopics in einer Kategorie auflisten
Gibt jedes Topic zurück, das zur gegebenen Kategorie aufrollt, jedes annotiert mit seinem übergeordneten Modul und der CWE-Menge, die für SARIF-Mapping verwendet wird. Gibt 404 category_not_found zurück, wenn die categoryId nicht eine der vier oben ist.
GET /api/public/v1/content/categories/web/topics
Authorization: Bearer scs_live_…Antwort
{
"categoryId": "web",
"categoryTitle": "OWASP Top 10 (Web)",
"count": 2,
"topics": [
{
"topicId": "sql-injection",
"title": "SQL Injection",
"moduleId": "a03-injection",
"moduleTitle": "A03: Injection",
"cwes": ["CWE-89"]
},
{
"topicId": "xss-reflected",
"title": "Reflected Cross-Site Scripting",
"moduleId": "a03-injection",
"moduleTitle": "A03: Injection",
"cwes": ["CWE-79", "CWE-80"]
}
]
}topicIdist der Wert, den Sie anPOST /assignmentsund an Elemente von benutzerdefinierten Kursen übergeben.moduleIdentspricht dermoduleId, die in den Compliance-Framework-Detailantworten verwendet wird, sodass Sie die zwei Endpunkte clientseitig joinen können.moduleTitlekann für Topics, die nicht unter einem OWASP-Modul gruppiert sind,nullsein (selten; reserviert für Ad-hoc-Inhalte).
Beispiel
curl -sS \
-H "Authorization: Bearer $SCH_API_KEY" \
https://api.limeplate.com/api/public/v1/content/categories/api/topicsEine CWE zu Topics auflösen
Bei gegebener CWE-Kennung wird jedes Topic zurückgegeben, das sie abdeckt. Dies ist derselbe Lookup, den die SARIF-Aufnahme intern verwendet — rufen Sie ihn direkt auf, wenn Sie einen Befund einer Schulung zuordnen möchten, ohne einen vollständigen Bericht aufzunehmen.
GET /api/public/v1/content/cwes/CWE-89/topics
Authorization: Bearer scs_live_…Akzeptierte CWE-Formate
Das {'{'}cweId{'}'}-Pfadsegment wird serverseitig normalisiert. Alle der folgenden werden identisch aufgelöst:
89cwe-89CWE-89external/cwe/cwe-89
Das cwe-Feld der Antwort gibt immer die normalisierte kanonische Form (CWE-89) wieder. Unbekannte CWEs geben 200 mit count: 0 und einem leeren topics-Array zurück — nicht 404 — sodass der Client keine unmappten IDs sonderbehandeln muss.
Antwort
{
"cwe": "CWE-89",
"count": 1,
"topics": [
{
"topicId": "sql-injection",
"title": "SQL Injection",
"moduleId": "a03-injection",
"moduleTitle": "A03: Injection",
"categoryId": "web",
"categoryTitle": "OWASP Top 10 (Web)"
}
]
}Beispiel
curl -sS \
-H "Authorization: Bearer $SCH_API_KEY" \
https://api.limeplate.com/api/public/v1/content/cwes/external/cwe/cwe-79/topicsKennzeichner-Stabilität
Kategorie-, Modul- und Topic-Kennzeichner sind stabile Strings — sie werden sich nach der Veröffentlichung nicht ändern. Neue Topics können unter bestehenden Modulen hinzugefügt werden, und neue Module unter bestehenden Kategorien, aber Umbenennungen werden vermieden, um Integrationen widerstandsfähig zu halten. Wenn ein Topic jemals zurückgezogen wird, wird die Kennung bewahrt und das Topic aus dem Katalog ausgeblendet, statt recycelt zu werden.