İçerik Kataloğu
Katalog, public API'nin her yerinde kullanılan kategori, modül ve konu tanımlayıcıları için doğruluk kaynağıdır. POST /assignments'ı çağırmadan, özel kurs öğeleri oluşturmadan veya uyumluluk yanıtlarını yorumlamadan önce tanımlayıcıları buradan arayın. Gerekli kapsam: content:read.
Uç noktalar
| Method | Path | Kapsam | Amaç |
|---|---|---|---|
GET | /api/public/v1/content/categories | content:read | Tüm üst seviye kategoriler. |
GET | /api/public/v1/content/categories/{'{'}categoryId{'}'}/topics | content:read | Bir kategori içindeki tüm konular, modül ve CWE bilgisi ile. |
GET | /api/public/v1/content/cwes/{'{'}cweId{'}'}/topics | content:read | Bir CWE id'sini onu kapsayan konuların listesine çözer. |
Kategorileri listele
Kurumunuz için görünen her kategoriyi döner. Kategoriler uyumluluk uç noktalarında kullanılan dört OWASP ailesini yansıtır — web, api, mobile, client.
GET /api/public/v1/content/categories
Authorization: Bearer scs_live_…Yanıt
{
"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" }
]
}Örnek
curl -sS \
-H "Authorization: Bearer $SCH_API_KEY" \
https://api.limeplate.com/api/public/v1/content/categoriesBir kategorideki konuları listele
Verilen kategoriye bağlanan her konuyu, üst modülü ve SARIF eşlemesi için kullanılan CWE seti ile birlikte döner. categoryId yukarıdaki dörtten biri değilse 404 category_not_found döner.
GET /api/public/v1/content/categories/web/topics
Authorization: Bearer scs_live_…Yanıt
{
"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"]
}
]
}topicId,POST /assignments'a ve özel kurs öğelerine ilettiğiniz değerdir.moduleId, uyumluluk framework detay yanıtlarında kullanılanmoduleIdile eşleşir; böylece iki uç noktayı client tarafında join'leyebilirsiniz.moduleTitle, bir OWASP modülü altında gruplanmamış konular içinnullolabilir (nadir; geçici içerik için ayrılmıştır).
Örnek
curl -sS \
-H "Authorization: Bearer $SCH_API_KEY" \
https://api.limeplate.com/api/public/v1/content/categories/api/topicsBir CWE'yi konulara çöz
Verilen bir CWE tanımlayıcısı için onu kapsayan her konuyu döner. SARIF içeri alımının dahili olarak kullandığı aramayla aynıdır — tam bir raporu içeri almadan bir bulguyu eğitime eşlemek istediğinizde doğrudan çağırın.
GET /api/public/v1/content/cwes/CWE-89/topics
Authorization: Bearer scs_live_…Kabul edilen CWE formatları
{'{'}cweId{'}'} yol segmenti sunucu tarafında normalize edilir. Aşağıdakilerin hepsi aynı şekilde çözülür:
89cwe-89CWE-89external/cwe/cwe-89
Yanıtın cwe alanı her zaman normalize edilmiş kanonik formu (CWE-89) yankılar. Bilinmeyen CWE'ler 404 yerine count: 0 ve boş bir topics dizisi ile 200 döner — böylece client'ın eşlenmemiş ID'leri özel olarak işlemesi gerekmez.
Yanıt
{
"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)"
}
]
}Örnek
curl -sS \
-H "Authorization: Bearer $SCH_API_KEY" \
https://api.limeplate.com/api/public/v1/content/cwes/external/cwe/cwe-79/topicsTanımlayıcı kararlılığı
Kategori, modül ve konu tanımlayıcıları kararlı dizgilerdir — bir kez yayımlandıktan sonra değişmezler. Mevcut modüller altına yeni konular ve mevcut kategoriler altına yeni modüller eklenebilir ama entegrasyonları sağlam tutmak için yeniden adlandırmadan kaçınılır. Bir konu emekliye ayrılırsa, tanımlayıcı korunur ve konu geri dönüştürülmek yerine katalogdan gizlenir.