POST - Query API Genel Bakış Sorgu API'si, filtreleme ve sıralama yetenekleriyle nesneleri aramak için kullanılan API'dir. Bu, TheHive 4 tarafından tanıtılan ve yeni veri modeli için optimize edilmiş bir API'dir. TheHive, önceden tanımlanmış arama Sorguları listesiyle birlikte gelir: listOrganisation listUser listAlert listCase Sorgu API isteğinin gövdesi aşağıdaki alanlara sahip bir nesne olmalıdır: query required: farklı türlerde işlemlerden oluşan bir dizi: Seçim: gerekli nesnelerin listesi tanımlayıcıya göre nesne Filtreleme: isteğe bağlı Sıralama: isteğe bağlı Sayfalandırma: isteğe bağlı excludeFields isteğe bağlı: alan adlarından oluşan bir dizi. Örnekler Basit Liste: { "query": [ { "_name": "listOrganisation" } ] } Filtreli liste: { "query": [ { "_name": "listOrganisation" }, { "_name": "filter", "_eq": { "_field": "name", "_value": "admin" } } ] } Sayfalandırmalı liste: Admin adı verilen organizasyonları listeler, yükselen _updatedAt değerine göre sıralanır, ilk 15 öğeyi görüntülemek için sayfalandırılır. { "query": [ { "_name": "listOrganisation" }, { "_name": "filter", "_eq": { "_field": "name", "_value": "admin" } }, { "_name": "sort", "_fields": [ { "_updatedAt": "asc" } ] }, { "_name": "page", "from": 0, "to": 15 } ] } Zincirleme sorgular: Kimliği ~1234 olan vaka için gözlemlenebilirleri listeleyin { "query": [ { "_name": "getCase", "idOrName": "~1234" }, { "_name": "observables" }, { "_name": "page", "from": 0, "to": 15 } ] } Alanları hariç tutun: { "query": [ { "_name": "listCase" } ], "excludeFields": ["description", "summary"] } Filtreler Mevcut filtreler: _and : {"_and": [...other filters] } _or : {"_or": [...other filters] } _not : {"_not": { other filter } } _any : {"_any": null}   herhangi bir varlıkla eşleşir _lt : {"_lt": {"_field": "", "_value": } daha az _gt : {"_gt": {"_field": "", "_value": } daha büyük _lte : {"_lte": {"_field": "", "_value": }   eşit veya daha az _gte : {"_gte": {"_field": "", "_value": } daha büyük veya eşit _ne : {"_ne": {"_field": "", "_value": }   eşit değil _eq : {"_eq": {"_field": "", "_value": } eşit _is : {"_is": {"_field": "", "_value": } aynı şekilde _eq _startsWith : {"_startsWith": {"_field": "", "_value": ""} dizesi ile başlar _endsWith : {"_endsWith": {"_field": "", "_value": ""} dizesi ile biter _id : {"_id": "~123"} kimliğe göre filtrele _between : {"_between": {"_field": "", "_from": , "_to": }} aralık filtresi, from kapsayıcıdır, to özeldir, her ikisi de zorunludur _in : {"_in": {"_field": "", "_values": [, ...] }} alan bu değerlerden biridir _contains : {"_contains": ""} bir nesne bu alanı içeriyorsa _like : {"_like": {"_field": "", "_value": ""} alan (veya dizin türüne bağlı olarak bir sözcük) alt dizeyi içerir _match : {"_match": {"_field": "", "_value": ""} alan şu kelimeyi içerir  Sıralama Kullanım: {"_name": "sort", "fields": [ {"": "" }, ... ]} Yön( direction ),  asc  veya desc  olabilir. Sayfalama ve Ek Veriler Basit sayfalama: {"_name": "page", "from": 0, "to": 30} Nesne ile ek veri iste: {"_name": "page", "from": 0, "to": 30, "extraData": ["shareCount", "contributors"] } Nesnenin extraData alanı, seçilen alanları içeren bir JSON nesnesini içerecektir. Kullanılabilir ek veriler, istenen varlığa bağlıdır. Yanıtlar