From a2626ae9d88420500f98119b3d13bba61f0322d0 Mon Sep 17 00:00:00 2001 From: seanobrienmsft <152664976+seanobrienmsft@users.noreply.github.com> Date: Mon, 8 Apr 2024 10:57:31 -0700 Subject: [PATCH] Add additional plugins to Published Plugins folder --- .../CrowdSecTI/Images/configure-api-key.png | Bin 0 -> 35330 bytes .../CrowdSecTI/Images/create-api-key.png | Bin 0 -> 62261 bytes .../CrowdSecTI/Images/crowdsec-logo-128.png | Bin 0 -> 10438 bytes .../Images/enable-crowdsec-plugin.png | Bin 0 -> 22472 bytes .../CrowdSecTI/crowdsecTI_manifest.yaml | 30 + .../CrowdSecTI/crowdsecTI_smoke.yaml | 475 + .../Published Plugins/CrowdSecTI/readme.md | 47 + .../CywareRespond/CywareRespond_manifest.yaml | 34 + .../Published Plugins/CywareRespond/README.md | 145 + .../configure-cyware-respond-plugin.png | Bin 0 -> 176449 bytes .../cyware-respond-plugin-on-copilot.png | Bin 0 -> 68198 bytes .../images/test-cyware-respond-plugin.png | Bin 0 -> 203576 bytes .../GreynoiseCommunity_Manifest.yaml | 25 + .../GreynoiseCommunity_OpenAPI.yaml | 73 + .../images/GreyNoiseCommunity_plugin.png | Bin 0 -> 39539 bytes .../images/GreyNoiseCommunity_settings.png | Bin 0 -> 27333 bytes .../GreyNoiseCommunity/readme.md | 33 + .../GreyNoiseEnterprise_manifest.yaml | 28 + .../GreynoiseEnterprise_OpenAPI.yaml | 159 + .../images/GreyNoiseEnterprise_plugin.png | Bin 0 -> 42856 bytes .../images/GreyNoiseEnterprise_settings.png | Bin 0 -> 27128 bytes .../GreyNoiseEnterprise/readme.md | 56 + .../CoPilotOpenAPISpec.yaml | 19027 ++++++++++++++++ .../Netskope-Copilot-Plugin/README.md | 55 + .../Netskope-Copilot-Plugin/manifest.yaml | 25 + .../Published Plugins/SGNL/images/config.png | Bin 0 -> 13 bytes .../SGNL/images/plugin-manager.png | Bin 0 -> 13 bytes Plugins/Published Plugins/SGNL/readme.md | 38 + .../Published Plugins/SGNL/sgnl_manifest.yaml | 14 + Plugins/Published Plugins/Tanium/README.md | 32 +- .../Published Plugins/Tanium/manifest.json | 38 +- .../Tanium/pluginVersion.json | 86 - .../ValenceSecurity_manifest.yaml | 19 + .../images/ValenceSecurity_plugin.png | Bin 0 -> 53833 bytes .../images/ValenceSecurity_settings.png | Bin 0 -> 25538 bytes .../ValenceSecurity/readme.md | 45 + 36 files changed, 20367 insertions(+), 117 deletions(-) create mode 100644 Plugins/Published Plugins/CrowdSecTI/Images/configure-api-key.png create mode 100644 Plugins/Published Plugins/CrowdSecTI/Images/create-api-key.png create mode 100644 Plugins/Published Plugins/CrowdSecTI/Images/crowdsec-logo-128.png create mode 100644 Plugins/Published Plugins/CrowdSecTI/Images/enable-crowdsec-plugin.png create mode 100644 Plugins/Published Plugins/CrowdSecTI/crowdsecTI_manifest.yaml create mode 100644 Plugins/Published Plugins/CrowdSecTI/crowdsecTI_smoke.yaml create mode 100644 Plugins/Published Plugins/CrowdSecTI/readme.md create mode 100644 Plugins/Published Plugins/CywareRespond/CywareRespond_manifest.yaml create mode 100644 Plugins/Published Plugins/CywareRespond/README.md create mode 100644 Plugins/Published Plugins/CywareRespond/images/configure-cyware-respond-plugin.png create mode 100644 Plugins/Published Plugins/CywareRespond/images/cyware-respond-plugin-on-copilot.png create mode 100644 Plugins/Published Plugins/CywareRespond/images/test-cyware-respond-plugin.png create mode 100644 Plugins/Published Plugins/GreyNoiseCommunity/GreynoiseCommunity_Manifest.yaml create mode 100644 Plugins/Published Plugins/GreyNoiseCommunity/GreynoiseCommunity_OpenAPI.yaml create mode 100644 Plugins/Published Plugins/GreyNoiseCommunity/images/GreyNoiseCommunity_plugin.png create mode 100644 Plugins/Published Plugins/GreyNoiseCommunity/images/GreyNoiseCommunity_settings.png create mode 100644 Plugins/Published Plugins/GreyNoiseCommunity/readme.md create mode 100644 Plugins/Published Plugins/GreyNoiseEnterprise/GreyNoiseEnterprise_manifest.yaml create mode 100644 Plugins/Published Plugins/GreyNoiseEnterprise/GreynoiseEnterprise_OpenAPI.yaml create mode 100644 Plugins/Published Plugins/GreyNoiseEnterprise/images/GreyNoiseEnterprise_plugin.png create mode 100644 Plugins/Published Plugins/GreyNoiseEnterprise/images/GreyNoiseEnterprise_settings.png create mode 100644 Plugins/Published Plugins/GreyNoiseEnterprise/readme.md create mode 100644 Plugins/Published Plugins/Netskope-Copilot-Plugin/CoPilotOpenAPISpec.yaml create mode 100644 Plugins/Published Plugins/Netskope-Copilot-Plugin/README.md create mode 100644 Plugins/Published Plugins/Netskope-Copilot-Plugin/manifest.yaml create mode 100644 Plugins/Published Plugins/SGNL/images/config.png create mode 100644 Plugins/Published Plugins/SGNL/images/plugin-manager.png create mode 100644 Plugins/Published Plugins/SGNL/readme.md create mode 100644 Plugins/Published Plugins/SGNL/sgnl_manifest.yaml delete mode 100644 Plugins/Published Plugins/Tanium/pluginVersion.json create mode 100644 Plugins/Published Plugins/ValenceSecurity/ValenceSecurity_manifest.yaml create mode 100644 Plugins/Published Plugins/ValenceSecurity/images/ValenceSecurity_plugin.png create mode 100644 Plugins/Published Plugins/ValenceSecurity/images/ValenceSecurity_settings.png create mode 100644 Plugins/Published Plugins/ValenceSecurity/readme.md diff --git a/Plugins/Published Plugins/CrowdSecTI/Images/configure-api-key.png b/Plugins/Published Plugins/CrowdSecTI/Images/configure-api-key.png new file mode 100644 index 0000000000000000000000000000000000000000..7943ba58e0029876cc33a85b71552ba82bdef50e GIT binary patch literal 35330 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≺xR{Zy$H_lxL)zl(0 z)8p8o?3s%b+OKc_)Q_{r#m45XldpWkP=WC|kb)Pk17eZd4xM4tw6tljp~w7Kef&j- z)l;jbbAChY-}F%y=g%=yohBNPo}T_f&{*@hDuLfsr1cf81PnV?^{v=Qi8)^6=C=pz z6}|R|+7A+|2IXFAjE`eRp0>8WdXU{5KX0kmLpEuZvnJP?8n5Z8aM z!E&+6urg>eWjC7bsO%|Jv%4(;4y7CZ_K-HT8Bt&FgY&;x7u8=19~&Q+jePb7nxCI9 z?sK9jC$|uCOTsTFFK@C+ky+~ImmQ-9tfUugY}CB z{4rBj9@x(gt>WW1@b;*UUlq<6IQ)WzixqfFUh6?|ztxw-sDSG?iW&!{ zw+`TW9u8|2Yh25|tK=Md)wo}8=zQ=ZVep^_H1FU4_Zq5^GuY^UK}0MqE31MO!OwHh z^7B^#UvnjFO;aPt_bnR6}Nkez!cvePwxyYYG&Q=v>+oRqeIp# zaBawS)!^n`Y!sj%GPvG3Y&gcwp#)36c>o&)*Jjqx=;CMtWsSLd>)A8LhnptvR7qYQ z;bamx#sw%V-hY?I6Fj(MapV0DPVcQ-_H+)py3!uZQhL|U+J8u z0?XMd6Vc>)LUY2v&dOeDRP`ASQY52Bx5U5JqS`tT0jH7h5wpU2?d1F7MX>IZNdQ+W zh(3UK4Rw9r!qxp*I(W$fhet=pIAQ7xlC3V0JqHO+*Yo0lUb#(3p|4MtCBO7FZdny7 zV~ObZ<dB4?iI9F0EPJ~68_GalGwpYOJ!qTbZvm8Ye*-ll(NS8Xm4MXx?) zzD7{v2K-2Q9xSb^hQg<-yDtfp1By6>>(nDR_k*~;u0FBV6~>0P z3hDa*u|%v&Aca|3S-GU7g1fr8abAM_{Bfb;0FaQ!Pa8G3QF7bgJ*l_rIc$vkVcvO- z85krcPNS!T%bBP&uk-Jdx<>kk)z^y%?wshUK048N)kTQA?2oBbFV~_8jxnExUiM1B zl56~S5@e*M1Ct)^p1bR+J%-d$2Cvtm1AKOCn~Cn>Zn9Lwyi8X zzDph-_+DRq!RAQ7P7{zw1t`k*=o#OS<{%jgLO(9?6_37}033~=PJF*X4ViU@zorF) zV9j2`E8*FscP$DDvli!h`HF{umbzx%Q;B=RQ>?Slqp`}DsX5e1PdEo2y)xv>@$V#_ z9F$W~(9{;tR#O|E7*Tkqz_zMiYTS%K**Q9P%-!`n5;5uC-94H8loA#7qNc4A?Fq6P zs3saU&^t8LK}bb1tb{T6q>`qbDl|XUt@h^cU%CvTsH3+rnUxikl$fHMF)!HRx*rXcmSQ z+#&&A%<3!n;!kK@V&dnF7D1htt2FqhuDlwK0ol2U*=9@oo+bfKiuZPSJimzQmc0^O zGai!l_t*TFmsevasMPZhb#Q%sec)Bf?SCcanq1KUR`vJydDzb-$0ozDwdj&L-@2BZ z>mB#p2}5=YCZBZE&|F>NFCIR5vg$s!g`ErdDB8WYv~{sDx;8eZ>F(}+=bJuTPY+B& zl9yNUoH0sNySJxDl6@iR<~$D%4LwnnW7LA+kZi?Z-ZNTd&S z-<};J*}1$!ET6j=7lg%LKQL#tCA~?^Ncyz6XNemc8xy0k9uL_d4?MEduCkkvdHKYo z`44__@EZT^VVXpMM6Hub6LA(J9FOB0T2x`+`g^4|?jsYUt~Kl3cE=vpEN?XwWyPW~ zyKyJchYl3PYNxWJI!!r6x>c(|HG@OHzv%NhlWtb$Xb>VS7)3ZT1vl$n#b$Ec;ys;bVS_WW2)T?g%6%M=W4Pi ze^6`!*xv&?`MZC->d;4&LQ9muoQ2r-?pI`1(NeU%ougUH8gVOqkf|=n$;-aR!R50` zOH}FO$+8v8qvc{1T6oU=j(c@Vy(`}&RXVb~u?S?dmBgXlZFlSAV_mi7$qv3C2ByE;Xzp zNgIqO3}VxI89LemqGG18@%^=a#*FC!<#`D~b2Ib0Z`visuKQz>(#0$s+N~w^d_e)M z++}4}IXQcK1cXRZ;dRVJ2a>9(%xC+2Th!C#zPDH^R_@$H*5!Ep8zbWiUM43yTe|7n zy{34DYQ}P0wi9Aw&gr$w?cb{h49|DvU;n5^Onm=+vonk`KR36*zB|K%x4nGGr|sy|D&3b*E~Xx+|FF+Fm$P#BJNSSp$7eEsDks zmFqW;(N7ZZ;lC3v<9koU^QtAO#_2B-SfBiJ z^Au`xcn{ey$GrgYD( z>BJyPi=g&l+se7CfWLtC@YD9z=W-XybJfiX@6 zG{@QH6~;SD-ET$xd$!3oK!g9edxFzYSBK~Mqw32u?*zX6vvA|)J{ji}0t$tG2(WW3 zDVg=Q)0_SMOoyKMXnlVB8$0mf`W22hJ)czgRM`TPW@8KK9nMjr3^-tE9wHA^SVQd{ z>OJz5@`xq?pO~o1<3&ONw7U}avpSi_L$iMT*zJFqXQJWl4}(Hw9OtU>hlv#zC)=!h zyXJbwvFI4~_|L7FP77=6wGip4DPfY}ge^#{9D}g1FgLeJ3(d0uB1t51J-<%$3lc^W zwGyFF%LA2KPDTI$#u8j+tv`iV9jzQ#Kct-$^~cis`JPaUIsa<$b}cojtMyq4DRp9y zkTAXe-TD{zZn$He*;O98^70DmpyPVuKis7M@K{-_2gh=((8#jbJ=L(& zD!>ovl*&LQt~r@A07qF%b$_-0%>1xxbG%^O!$ZHyOz-!`vX4*wnsVB{h|hZDFg-|x z`RqorbOvcIPOytsb0O`Ec4((Z!)x%nj=IfBfCiWo-Ks|qkB*KH4LN^sOTe#%5x4ID zbJR0#$7S5K9FijB(FUv(OpjUi8^Kb?08$t)o4OZW?R5QS=egHb&Qa?(q7pNk{DK1g zI`!;<6p>WnxRWf9`??CsL_Tx0u}RO)pDJ-k;%AR1$NGhw*I3L56dM`Z&P-1yT>HMQ z;LkNe?wfP0AlCX`!mD0pq#TFzYUCZ}xPzhB?j z_)7%#b{v8IB<ZM5&og_p7ki&+~N9a|0zJ#K1s5H2kzXF{T@tn2_*T{txg8 zY+5{OT3S_AWi%3Qy8x6~3Tmx~zRfp^!Ka`C`bJB>0{@To>u-yhMorSrpE_s@Rph@JND~D?Cf~$38)Lc-yMn; zIp`#z+P|!biODZ6cJcB$ESd8J^gACvS(-S0wq=x)L!6h1EzU9+?q2bzj70m#S~MO; zE#GD~ryqSd7#1B>eij+9alz??L2Zo{cOt^K3UvxQUcJNn9PRtH5)ye|^@oFiGTk-w z!>^%QU}9pX+CJKEy}dWSRW>|oJA*VB>bW!Lw6dX=A1yCqm2>F3)3Ceym)UJx>K#(u zSmP(2J4Cr-PlM-CK6n59oFBuilp+=kZ!_CFl(a6@s}nOZe;NeJmK>+tQ86*Rb~}xK zfrY2_U`AS*)2 z2hc-90J(M)CGy@w5Zoj3CV2!_vwOU~eNBHJdm$woQSCUzgBc3S%Uid8^M0#f3P;dlsKve_7(_g#ky5i=VRS()16yt%N}=x_v<_t74;pP+yiDbGBH94 zc(Nv1ybwSQY6c*$qySjbB_J$Hj$vdT4jA^c`{XV)4{60$RSUJzoGAsm`X2_XW3f+l z*cPSJN4%ZdI+^=Yd7b(T$i!$=JP!LmefdWH%vMB1NRGif_Z|gJsp6XQY?jxQ-)yBN zyP$n-3+weVeMa$2wXC$v4yGnIi*u>vQKHs_|Nfz$C2#-o7?w%N;bt1le!Rfy?c3Fu zPTFP$E6obt%2#MImgukjt6KT-TasT^xbLl^;HAGchAiCf*L{7nLGUmDQ(_(uK$?Dy z?Z*20kK968=pMn|@bGX`jiX7e*IAOmqtNyxW~DmkjSqu6bI)wY$3{jJ6cq!gkI!4$ zdjS-D>GdKyNzkwEzUW-@_3L9PDShJqr3DynIH7fZT$mm27=;vf@>i9UYnDJ26&ICP zRHWUyetmzr9enPohG#K6D+?Q8=n!s$9U*OV)>e0R5z z@8J%nROLdzp{S_fZeYvu^72nXCzKy7qC1Q=GAwL!vd#e0gqo>xbZ~HJU)nP>GpD^c zqZK+$Q_P6XTry@(ZT8}Zb^RwOs3UGPm;6jk(@pdBf`*MiX#1imy^Ip_Rg=wV$L;fT z;;5)^kaF`ufPID7C0;;d}P|=Y(~OvmOpJPbnyw z7#W+-J?(b|Pu8t1EUb>PqfUK!QQOni0^9=13JOhrYdh0~RJKzyuD2|{mBe}}R^w)m z7XD=Z{&IWF#dUmiTuEM@AmI8Bs3z`R6Ri{8y9a_&DdD4)WI50WJ1S!snfcO1$M%KCjjJ>G|=_RO@_GP(4!L z%4+rEAuUeQ%lWh`AV(JzsbWWbm-^}s)P{!x!e~~O*MF_u2ke3GY1c3yzUn{xdDh+d z1czysbX$H82%4bVw*k8d(kp<1sKr;0YS%xNHw$&N)Ncyjj|)$0HaiNCm8@`@Z?no; zdz$pVAdij7zgteRmz#eyBtl{3fI{5wD6fmbtV@;MNRQ+V%raF~CpxAJT~40cX!Z2d z>k1?m!QoIq42eau#xObSq+*8~($WH?Q9NC^H`02-L)TFm8H<3NyC8b1Ip5FfU9d^n z+{R722Kb|3qoeuG?4M_SO zzhq_A)6mF_NZMMDqOZlQPnOwv{vPmV5x?-j!Kk0C`feQq!cNzWgX5)-+g4AwY-ps) zcOr)i{PQ!&j|beEo&8!qDPnrY%*qODqHm{$Mn)(_yi}X?2%)4@gxf; z&YGX^glRn5L%AQG?u|64JJxAvq5r1o%qnNn2#X*l&UaV=d!IHd;$o@HKm0)aq)S4D3;XR44t_F>U! ztCmjENxaKNgrq7xP*4;B;K@KDAL(dx!0}A%{cC`=ruY`N3bd>6YguS?FGx^1b!*pq zvH|`wbdYACc^`Oq~{eX)}pxT~t*BziA;9g9)=t+V(O;8=> z_EUTtxB-@?Y29sj_aVw=Hz)k-_JfIePkNNZ^Q#N8@$JWk{ zOaIki|G3tV=U%6~!($t~yga<&VPQ10d(@()>R_Va!F-cnF9%oUD`JonA|*W|vID&> zG!H>Ys(0TW$*N-}wz0MCOA;^i$NSV}%(lu#I$-J)s~v8hpQLa*6qHA+gX-qg0r~2H zi5xU1j$P%MWQk8z0bu7-Ma)-00$SIhJFU6IcJA77$cA_#OgFr%W)3(%3&Hg*KL_*< zN{Lc%WMo8LOKYmqduyc-ZE^oyBA=S9tncyc+3Z|lJm=pWWG#n__y{}fhfPpJQc@0n z{wx`A)wk=#Yuz7J>~l8KPC-FIxk+hd6$hYue6cR0pF*g7uJT+D>VnO7%L3+g?J<*s z&10b(u^Y=$NAKJdsjsuir#;@5hh2V$KdadeX>uO;5tu7PPjA1?wl;Uss$Dwdw3807 z$I;p7Ot@Y9)Ks~_gx&1eP=(g?mZ}yzReJiL+}1n6a?OF?K36MuG}Jf=7F)NQ(W#ec zPTB9OYALdtu`n_$x6Y?zWHCq^iGx8gMMgFg0nV4yn8va+6eH&(ws*e<&$81snY+`R&x2)gA)|SOVoMkFF{-_FMRF>M-p&hDPJi zH7aU>Kndo7oAp2KQj?7r`4U9rG*^)AcHcn2v8%h=W-`kg)QSGeT6#vMsvYh;q^1yo zSy)(Ta#-td9>enjFcN@(cJ?Twdh$fTbD|H{P~q3RD(-tC+%WEd$yao9bNh|op3XiP zqu>R#4qm|iX|W@;$|_$DR4f~JI&@UBE-@>YtYGU+4-g=_k?I%u%~ab7+OH2cV1T|w zyHvL%FHbi)+;wal%W?hm+G9!N`i=@$&X7ysw|wPqghNG^lf} z2c)Cdu;V`R11lF#t(S#gulTv%kLccVaQHIeaNiMZ_am-{w2cXZTXV-8S{=$mABqn? z{GMItUee+yTo-r`h5o}|MX9L6a7&Ef8TaYb`k&}z`x%=61s$ELYJz9{hoi%-(p8Tk z3u|#kH6!@}$^a1j4^hqUn|Gcah$M2jw(b6D?F9auot<@RdQt`ob#51GIN716E7OII zqHA*e!ZYr9zDMsIZK0X3Bp9EBW@cnmJ7T(v9qsIvmX~Y)8zza81OD1`5vNgX@wSY` z_u;cJIGi-JT^6Mb>YW^z%(^-{Dk`c^uOE?<(~^^$I3MBf5HT_5J{sQo31ld9C+~+F zg;dn8oBW8VB}h&WDTvQ5B!yjfVCn6gMs*|<6w*+TaC?@VSIYM`GZjUWh(LR2!%;DsqG24AEK4 z{%9|F$PX5vt%SNQ3`N<+4|I04pUpSL zINA4p_I4di7Hx&O;3)CnIy;I!*zau;~We>!xq9v0w9T@}XIonWIfc zf7WW6j88YKs0g>vP8%D)U%ew!?EQW7+_l%F(TgH&*K)s&0913tXa=Xchg(|2Ft=l( zW8B@``1tr@V`H1@$YB!AK&JqcxE{?Nq?Pn1xp!aB5|o@}WMsfAz(?g+<&bk3Mfvdw zF=VASG$3*Sj&>YZ7b!X%St*pdO;}k~#*_gl9YKfL^`!79fqd%|$G7P}zjr>R*}KAb zzS^sSg^PM<3-B`2eL^CYQ|h5@8l>eJhVsfp#1vJI1_e^=k9X$PtI7p-?WF<8VyS#8 zBF4Ha?_qfLqA9TYG2{m{b_0m(wx?<^ZEeecamb1yq8KQ598XG&%+1Z6<{Pu~v(Mtf zN%e)W{YeBdxyorG-YeydF9uCOqFn^!8c>EOp#Uj}2h3w-PjD8NmVsZz(rTR5nh1k} zn(BA9{d(8Vhs})(CyMZ^#$kB#!yxy@0n}dc?Sk#99{iT7n{g5>32oRY{*kWcu=*?&i4@`&-kjB=Q-CezE*TG+ zwyq|(WpSPC{G?NJVZ(C^2M2Sl^$XDQjTPY_F521|*Gqy__qNxLu&}c3oxx5-9DxK<*lk(YTX6FN=)Ocng#inht~!~kqhigR>q^dv@XUlj`~@xN zX7qe?5!<7MYoMkZybgAeEBU26?h3!}ICi3@scHDisU)yY&%ntd>3IUEi7Co zEIc)(rg8B zuy1#e)I?n4?`xtdQ)}21Hn^H;Q+p|&KP0s{c)(6}? ze6M);^0Y>;x|-$+CyE0oN!5)BZ+;wE(CwWsLx>Z5n~22Y(sAdDg+)cMKe6PVqP*-| z{WG4T$5>yA^MW=iLt?GQWnR7^Ouc`2S=0;SU}#3{n5Gh8xGf+XK`AE@#?&FRtzW}e zZ0NmXqL_6*E-qH2%4utLvC*r2^D9^I>|0Mk9ZSoVprcLB%zb$Y&SQ(m5x!fJg!k$^ zTCMx{v+qiN#JqERhy6q^OGxDx>Do~49?Ax0+@h+LNkBC8KigWg-oV>zC za~+30Ak4xYttU)sZB2kxEyFFCu8fO8SX_p=%g~OeUe)gf97evv{&f27g-7V&rZT1~ zde_JAFY3awKj=p~6_5sZhQ!u-={<_vuJ(5f1Kl%(a32NP{s z3}98b>4U}#Y`7lX$Ypt`v#iarqWzFw7boad?WDL(gd$;>qglKCiJX{QcmkR$roLl)SL_&GX`yH~;BW zNs)){IC9#>bG^vWrfvwQk;pQ|*KgX|nmS<|Cd<@!8V^( zGC0|u%*ZJa@%^)yRI~GlII?qVy3EgR@JUWioVS>z8?X)z!s{TatI%*`HBi%&PJq&YFAy?(B$tt}uRusM-$uIct} zVbmJRXYpTiNs34brjn74$F`@pUBWr=_kE`u2Z)r0XmxdcuyI_b`+z7UdTxtHW6z2|S;RLLUZ7PqSK)4MB#8ce zD>g2+y2wP_?LSFN%WNPRVq#*hIeg#bdLY8Vp%f*zO#A5c&k{3T&%nU(!@GwM@4k~) zy6=BQx7@Dicx3(i#np{ZQEFWnu#Z9(u$_FbFfT6N z(rKt0(^h>1g-XxNOgZRRsK41wb9(A(t(?T?7#0}lt?Jx0YW)U4d8;^fvZD4f?f%?1 zzt0fMNsEuE9~%reP(yyGnxqZt^flwFiw%s0R;ug{f>hEZRFD!H3?zGJmtd`oQ65V@ z?zn|DE})kj=x^6kQqod;^Ze1S9>S0Kyys-Vh|U&WkR4L6xzBHB(&Xc}+qDN)#wwf& z)NL4U^2t-ao%Xhjd1* z`W4?PsB3B_^P1a+=7eW&ZN9gwu^$eDGYuy6-%5J@d}wTpWuS@b>H3<%XRyDFj&P$F zHmc5Qt-2v+H34f^Ulespj<&}$ZMCTWR?2yX&>D~K>ibl`pD!XH-t!it<9YQ;x5|I? ztE5b+N!4ZRx5zC4CqnJncxV1kG_(ct)&l!e%RPNx(yT+we|K>WereD=Tl5f z0ASUz!eVxHPXTfC;R!VsKd^uygWQ@X549mr8=G4 zXT7RXaVChAtf6W2mJ|5NElv<`foni!1Y@9 zTn=4w?Ov2imMk85d}zT0ByfAa!MvcaE#p8ncy5noQV~;7t``>MJsLibQ^Z{uu3T{# zy^4n)y16S994AZ)ZEORiO1J1E%F*8smt!D7`A{=)d`BV?(MUERa!Emfbt33J-kMul zlr$b?4j1GWV5>xI&Ck>HUysfa133)oWg2e)O@GpwDEVDT^EdF)D3j95O|{6?{!(A^ z69Xq7pXrWb(U*Pi?i_8!q@-;7t~pk85K>dyf+}iaB2r|mk~|oC^Zd9#4TXID<2wSu z`9x7SgG$h;jHG+$3V(Ry#?Q~U+0bzCl!iDvC!1J}N=4-xlI)0$mux>lWfT7`Qp396 z;0k>S^pwZA(E~VIej|N6Zfl;E^*XUSIweL!{iyt95>7y;RF!3!Et=ysH00jBa!-_U z3ekgmJM(qsU^=2zPBYUL?M1gj?-QwjurS-K;?${sJn|>ytZ7krqFj)N?-w`iFQ<(j zcPDUW_o*Aj9Y+48J1?ng1QD#!_4-X@NeXVZq1kbC;?I{mM4L0RT3U>3OvjVKF;EM0 z%kfM_YdW6;&cBUVFMFE;u1$|yq@`{j8q_=cYioN99jwKd8Zl?s%}W3bN-bcq&~MGhR)q=#oS-exh>q!9@K$h7*>-m+z|QB^^TXeE6{4X&l#%mrvwTV?&Bd_I$p zri`J2@za1Co^>cG)Yp-fRZ8;xG3f5>)(();CjU(Br2K&&ryEXS*0pv5A!OYQ+feCGxmVfYjp7;dZ;xP*>N`uQCMwV-u>@yQuc# z{a;QmMVLH#`t)?1X4f&fktf-%b_lL*OzvRC!gJUPUY-n>FgVd+JKQ)$f>4rIR@2sA z6nV;9Q9j|=b8%JfG82J3_K0Iod?xyn8QVV-7WQDYCl17T--nbP;UWZn)J&#&>8f6r zzjlDzBsB2+SK@w1I4Fn64ULW))jK<$UOa5_+@X>1SoEDiAQ07Szy5#}qkh~&!gEpA zLQ`|4C+_pxR8T=H$YXIe`hi4JHq(hoH=}RBn42XdBTX&rPshWCWZ%7N?X)bMAi~bf3=O?z=vfI$`}y)> z?NU0XBci&zGS9G^fqUz6~D(f0fup;kmY*HmWO)Z5SC9ghyT+uVk%gaHl2bsn9Cq-vGrgGMpHOtE4(66KgRDIC$P% zWx5P7J{)w!n!IV>+P-YBI<_C4u8`JrbAz>z8&Ol6o72;@GB7g6FL7Oh=IECUCIk&G zqdFQ=tsT<^K3WE4(EUG4x!)o$BT|J}@%@sZW!XfoiR5^|gR_tf9Dt9) z{x)65zCu_AtlFwJa|fC38_kv(f?^j$Apy8cHr6;#c7N%&jM*9fYK<>n{C!?m#s^tY zfQ&BZiMY&q8l;52+1jy7NI#jRh!0YmUYI`eo#M9QT(1`BCfK zcR~%c!=N*3WU|W(J?~d?L>WON>Im*Z-Hyk)ff8bYx4pQ@^1bQy3PyEz2kTt#3Tu3o#fFI@LW1BfLq=ELI`fTBK!_I9M!mHr;)r`VU$_=<1SrdxVj2b6iVXyUFX!)<&nlohIHJYGG#2 z;K#zlc3#S;xYnO~bj0EI^XJd;k&vD)=b=#t?R<6CYBHAerzihQ3jl$HX#bAJ)t`Wz zbj)z|XLp740Tyddi!sR7ceSlUCq3m; z_2}L~`CjXnYkG78ZH%3$UvVoh%ZuOdj2y;Ctr44>>GJZJW^iJv|A3hg4}%g{TwL51 zx=<17J~ua}sa02^++aIijhh|~*xeO9*-=S-H2_Lzi}vB2OAb>%C$g(Y52p^ai;QO) zbRs|D&q-fu&rHc5e~dI3X>zceVpLO8>*(k($yb!h^V(aIO@rUPt`%aGXcp?f38*-o zy=dHO@eBw?hTn3n4^~-O^F48r&oj)lrLw-BkBL4?C&W3^r@ zY(Po1GL@s%JAd=`oo`|_Wz`aXi|?DXMn-wzaz~hrN8p;xhELWC(dpNJs7ecf)IjN? zNQ?FsS9%=`Y7pDIVW88I{42QM>O8FS*emH2{Q88>4FfcVq}U)O)^MGNfG~mJq2V^ojo<&vF0?vx7hCqG^{%l(f`2dJ8Ml%=h8b*~{iV`$wr8y<3 z(FqArG_B?K-hyD{rcb6%$+Y+h9kwgS#!MJ4fz=SiePs;}-muAEnR^7B*b{_h-9raU z{_(!Uuzg1&wLsB9W>wWbIj-f95im1$5Gx+Dupm6y_cebmo5SBQGecenwgRq=S19u{ zBM1b)RQ@t(|1&oIza69Em+wEk&w*nCZ{>Pp{P)y9ep$W=ft&%z1&(yG-GVkfV{;eB ziq~2-g=&;lyJwe#Ni}07+jI@81_r+9RMhRDpj*8S=wd;?)wJwk5-@GeTNlMaX>NpO7-Klq^l zn&=LQiF*~Yno?o)=ROK=SIis{rdJ1i60qGL+8lS%RauM{^*iyu@fVUq|AB9F*>~^L z85$vDN0pj@DM}ehrI;p&i+ak)f>s0m>HKQm*4^af6e3!Y)Ac{C3UO>lo1{2b5poI`cO86xX&RE zH#e~&Lk-L+Rn%3cnsI#F_HY{$0J@;-8vM?W9tVF=@u6nUcx!hD@{yJv*DVW;P*zS7 zC>reU-k8XgjWk9HmYCF-UsMyNh-_?Z;^rzs;hI`nx%~;=BfWOpcweoef_KS$mh;I| zpxFt!ytr6zHdUUSY(GU<{_^5sGg@ARwTU6htxzNKU#1B?w5CEJ%=?L9&S~AUT5~IW&?bH42hLlbej>+zm9L zoA?j*d8gjHRrl3Buj;obs?fISHP>8oj`5|*LPZsO4xOilKI+d_-os3oYVWQmRoYD< z%ZuiJNH}A=Q#v~@7e7z7iwPj5A4V7C78Lv~ZHvL|VJDcm$#QVIQWcD zaq3~w!0AK$02#?6#=#*XLhwX`_?ei*r^2Qq_8qBQF#TQJ#?P}_XwjIb><0%D-CbRj z?8FyHZ$P^qxrc2CdbO}7a&9auBjZk8eqLT|boBPlzekIuaRZ7mf_&R{nX~t!v;Na; z?Cj^ock_)5`+M6Gj6j$5duE||*89NSb9?C_NQ_}}F^tzgk@or{t!2^N%!FKpl7mCx zQi#_)u;tM)F@=SNL9IW2d^Rgg9N%Kdr-Ln@(Xho!!eeKpH=o+=U|Z@$Puv%g6B*7R zm8V;OTz!RRcYW-D^PYW2R;Yf>-gR;3=dPNX&wBbl^E45uiLm(>? z(=5LCE5%(UB{`*i{POH7n&8RF&(FWRKEeNL>D$Nc?eBPD#QW&L8HyR-&v18GiC-G& zmtW2U9TaQC`m0wKPrUax&T{w%`00$Qb3_QjT0nYFP(WFZ9rGQ+P@+{W{qw5N?{`5^ z4)U~~{jc9!6}F6CLnUcH#|-~QBz&61^NHubd`F&?yTv)ESbNj{IH~!;-S^i!*1w2} zse=D7cDpnr@J)BE0fX5coiKhzPQ}jryXo(Y%hoqd+Vox1sGYFYq|E1ki`HWUsB8Gm zyG8hGI_=E6*Wl)V3rS{9`*4T(r0+fv(V@REZP?oSGNBedC5`DAT3R-6XVkHg}R@?QDdtrt~d~zhFz!*M9O?ggNbbyrJY3Skr4yUz7#0cz21_p=^V0f3O z9apC!A~J#IBtn+8vm+|7$#g=Kz|6oq9T&x<*}BNi#%fPlMT{4`O++*ngli%gN5C&1 zViCz~7a&|u_qrW}UV*E*_U0@1|I-!!KMv4;@N)GRTMojsN=@Z3FDSzsr?1AiQL)B4 zc}iy#6g1>#fKD{#b?ufNJb6AG4YlxRyml=)Ik{lVqF66VSw&7xMzJn3m_06}wBR%i zD&yBI+ve*Sb#-^`cI|hUBc44U;)*pq<3M?B@cw;`!2vQ)C~}G7Iy5xYw9q|s?9qhV z+62E(iT;n7DF+>`;6u!Xow9oVkF_gRmD;ik3exkk3?yyft{tkv|IyTB>%R-P_H|5j zM>Y)ZCpS~N8}l(<;y#4?Fq5_r1x#PXBjGw&S=pl>J%WjGffa6cxSaspD{ku38qW6` zC8dV?AczWvH%jTrgP^}LGbIMsvCySB7Zdd#LL)#1Lcy%2AjYruX_Hx>F+$zht(`WY zahihzmh9~8%-Fk!?bnbx7l@wy0puPZ|2d#Jtpg<(Bf-!yGLn#RhEk(E7;`#>KQjVP zJ-;xg?#$D!YpWC%8L29>cLqMjGcsXX5{0l`6S+H)Q%2AJ;rITp6a8QJ@zDPg(GP5X zvFUpo8g!hVSx1=uq>x>lvhVR_c)^<~^lbKYipS{b6MJ76`p{cKH+2QSuPj&M7UV!ku2AK9YH%F8lLNw8y-uUpK=bI9r|mi?T}Cycm8SEIrBBmc_+Iko+dIvDMEB6Rwj7{o=XRI@svc^TtQY>AvPop7eA>X_=F!R{#Oe zMj0MXX5z)^$?Cjz_RSN|6NzYO7%B_yUZ0}$IUu3mtaGcM(;LX zr@rhb%Bex#1j~VMx63UPL7d__ReiMgqPcF-HwCB@Qk+tM5F9_@?$U?_U9#v8wJ@OCushI)#GcV2b1jo{&sp|v%s$Pl%BS(E-QJR=bpi%M-vUT zVSer@S)nvs`gLJ`m6Ctp-+PBCvtn`(_Ow)O4h_R9jsE1l5wqEc@8898Ig7e22OBkGn4dOff5nPtot>Eq;lv3ck&wzuwkv>&Rn zvtp&mNhi^}DW+M(*y_FIAd(DP@x7%Xzd#>+O|r($PIEZ@Lup%dT?J;8gFI+EZwWJ8 z`{jPe&6}DGytZ2{%4va1{lDPWU%okvKK6{lYX1r;6x+MnyQyYgWFTCal{HlE)RK?D zU{WXH%RHPe&%)TNYjAcZ#!C9vw7n*mzPh%q7@w%wbV36o-O$xlH6EMMLaODl9(J^sx$e>1p)B zcs45Sl41JR?u6&^JXc?2--TixL!~6OZw*rkv}x;{bwUnca?R52mv3+Hj0SkGgX;Cw ztxth@E31mMV!PuC9 zqW+No5&RMf2wkUs87Ck6=x578pt^nbx809tPHJAMF-CCe6fdmFEP~|X$`u#xxSE%! zsW|=d_$p9(QueM!0$UN9Dm*yR4tZ5)cUm z!V4UsyEZzY9+FL~sIcL69KOm}?Qmf0w{wcq5pgsVj{K9pmjs9JvmGGU*%d>2cVK1I*J*_IW z@-m?3jbY1KLjKl;m5K7<9rDcV%)A^}D)NeNAN~{f^i)}a^60!!p$v2^>X#u6gju36 z-Sg+;)1r*%e<<=!If!oxBHn35YncDVGO+!_GMrYs__HQvUTih(4xl#upPHlpp!WYi zd#V4&mv6;+#dW6=lU{PTE-otyjwfbuPLpQ!7UDHZ;7~3>9oYQQBFw`>gT0y>@Os}l zK7s+#Ls43RN?61B33Lj_teVajd_LUb$Bkp^I;gmohLIDn{F<1vv9fYHC-x&0t-!go zhn2FPDDL37^(nA{9zTV{0gFvHTCS*|Y*=rR4}z=@4qr9cHMX{q#b%9ngQWkKP7!mB z=d*Zcv}4I*SZ7dap@7E)25Unjz{>CF-q|wUli8uwNH1kj@Z#;uH^8A;gdQ47ihM2p;aZ~FdhAhsT#c43*PvUcVlVs)k!r6)_9e zP>2w7ULUuZuC3~1r6UtjN`BV$+42A(0RjwQRMb%o>D%SZckV)Ql;A`yo1KxBc{D?R zmgs>@6uLA8CViP>mneU~4lPMQLc=T@n?2?IfkDf}_{((LXt%+I6^zPQr}YCVPe?M! z)7bHF#h$t#&)1zNdJ}wSs>MrsdrliqP>2h-Lf8vgKOm(O;1zVOU!lE0=iRY~!SjBV zHyoVL=Z1aY!WG(k4Mwt#^1-N3UDJN(+H++8wQ!w6+O#^SE6O9Y<~Y7QZ4LcLNEC?G ziM)9JdCdM3jNyNHF1#;LyqxWMP;Yr&gQJ=W+RfRyonx=AM4c=2crB(5|CJTXGjDH! zTx+vr9twc@k$^-2#pY1@kzeidx(W*a2(L$~Jh5(r-z<(2!`8>BQzz>x>mJ8a)%v^=R2wM(aUEof(*4{^aneILEmHO+7 zc7GnuC(ovrOD^VBzSa8~hI++K5Fe&P`_4=T~CZiw3EL2@- zi}M)r*VyiukVQpBMc<~oFpSt+=51Pyt=|$K4vHa}>GZ*AFaPQGk`a2UsjIFybN+2z zP1+M_;g7WZ&iI^-z`#1O%B1Tw3U|m)-rUl)vNDSpDzq*wDYel(JQ&DwFa6zf^~Dl_#a=s_Gvoew(cq>`1~Yn zb+V};^u*DbYAj}=X($FEvw>!=F)-z+srA=-+2Sw!xwAYH6}UgL0|`jUlID}88&G`b z{_*yqgM(d%wHjb3y>py|k`kvtS$)O24}4@1y?rgf`g&hI^nLWkD4aeaG4ZO3y=+c; z`a9G2`{MLP?ooGHl+xO|y9yzyt)e0}*MjTh$LE#7{M_7pslP79aMRGyFzLoTV-@$= zQcwHC*WKfwKnH1(H+zRMPop#o1~D3eL^=soWA17+uP=>Xj%Iin>v!rt-*vZ>h$>_O6CM39ndj}LMO_!3p4QuaQyBO4J zF`W*ewD-EIEjQUFq5a0YP6h)v*ut6T*5Y}Dcu-A)-gDo++-+{oWMcp^h0VlMS9vv# z{EfiB7B(e(eRXM8U2SxxYOqhFVN5Fo1&6u{j}FfUElmWF8W#_bAFgU}QMq(xgeTzA zRe5=fPhB>+wURVvl$l!K3)#By55y6S&r}{Pp_fXnUx$g7HbWqshTn3b zj18hT;BHq~n%4ZVP%=>;=!h$Fbadp_b4vkORnQ)|8Vf!v~oni_>= z?h`tfoSY=;*!9KS5EiO=hp;yo%650VlB{_TE!KAeFAwT zuo+(eH~N#1U6fHym88Q83t-m8%xsNSRh^$+4rnw&s>dZH zP||NUw0`rjUQ@{Wv8!LR*qQ9G`-}IX<`DQ(_tvDoIjx$R4fStq6f->;-NO{>$%(Lu z5RisHroXnt7m;Gb>{$&tQzc!3VFZnh`@E%2enE!3ysRv(l*P)&+^`F~m<4-KH+T$= zy3BuTf^C+n2y5{YwCYgFaH0qk^Q?m z{x`P%KkR$|{mTgoNCk6c$ld(_UlJQ`bza43b@~xaHwTLLexNGdQ1r~8WhmL5Od0$8 z5Q~|pD*Rv!N|UNt@1tx{{lC&s^$rs*gh;=s@_`CP8a*DvImdY{)H!(X)_KY8#ujA? z+H5YpYDNek?F!C>&4h|ODlwMo`u6X}mT=|){w@dA)!2%Bw4JEenzZ&#`E`)q3vW+{ zP^&Og=i8WhERW}cRG3#e%`YH8+=~@9IOKak7dV@OF+ajvySqt-+tQ*clJ|cqhcNE ziHMH9PAkoMM-6rLk5<=rDl0utrW?I|eHm{`nW?{i4w$GntWw;DCErvU&rciO_Fng( zhaa(P#082zExFc#wy$Fb|}!AoIdQ-Del-Btc%_y${;I#EML7SMQO`rdYRM@-A@ zx0Q9`HwAN)rHx1rg$i{`ZTkILzB~jd7k)+;>O7Qws>KpUQ|gQA_I-C)JC4|0=?x8p z*d3o2SZ>DAN-NLdv%ZX?-|hB7R}oLYf}Rd)_l-^aD_6d|Ew6zjW9(jk0v}U=$avi{ zr89Q-u&T6u1!}TS%8m(MfEs?lPt{=@GZ8W=U1P3hW@d8cR~ST18W(J|^v6v)P|1R( zefZ)FBn&BnRtSs2#HW)VlkU&A^_xQk*ZY8Q_Gd^>G`9kks7!5O;(FOVSodOVE}3~y z>QAUWA%!RZVpu=I)4fQyyrJabSx9YnTddgL=3#1nYOhm!=l1QlfmtF-I``~chi6+L zk8R8sFYDtYsrCqfWypUt?@mceh>;9Lkwc1-M!M(#qu$+a)q_&}6TeRa4j zS3^U>oAKsweGvrK&X{sgL`A0h1N|)g*?bQH0fh_pfJzyDO1MFGLr&U@-flb4=O$S>`B1{|0X@m@` zysgWvBzdsbe!vc{r_T#AoBnvo1t43clEf z677v*@w4I{mjIYhikB4RFM+ZOYNa2zo;9`x2Bv>~nUHOWG`Vw^`Nnm1)6^_qIdjB2 zLgejRjFglyiSq*D5RgL9)>_a1VS@EORh9a)7{;jnbQ#rlseFGe7yOk zs7R>6=#~B@C$oJQ9=jlEzL$Alk;v4F3e6Uhbzwav4ez5~CV%aCbX!+jS62rGu?%P> z(RvVeff2SF`bag@bpf*1^`=!zR2l;yce+qNX$YSEt0rb1gz;O93qQ&fvco{>6vcIT zZ%qXpRnY$*t*z^fj#`g=4{MxGuCw1vDg^RYj~=H{WM=>RWD?j!wA~C9w?1ZiS>KTm zV7u(>*EC$QDexx3_lsh-i%!Sh3-Vjmn(CC z4@Ri;zPu~i{0n(##sTy*FE2k&fZ3@4^b4iPV2;uIQkHNo{i@NXuCM6_XNWd*TRZWp zj|KActXk(sl;FY{{7;2Ju0KzIz_0(dW`Q^1`A0JJ-*DUi!~Wab&6Tu>O40AF!#`X_ z7w8o`%MoCo*$q{q6OHz*fjS%K=$30_g3o8C#oXJTN$|DP<~&duF7xSv)Hq)aj*Wxs z;;(-D^|M@>S|`MP@)pzhPQGjH!o~Ub*&`5w=UzKet2ZIlR`JZ6X`MeJ1m?8MPabo0ltc`8Z$g zz}4U1pFC&|0AX0kk?yk(L>d-x;Lw_-AaDP|#T{q$yl!;N4SNZ-k0(SOxS-~uqwO@e zqUeyGC>}5bw#0H>@RFPwo0tb{%T(8&B};)`V+y1#xxE#c8GUh$c>HF^g*&RJ$hDL$F6;mXBEY9bTW`8%^hXeo^i2} z&fmbvMYr16R35^9^(QndDq#5?bHj)@Zwr&{U`D>e#O7ZV<(*Hcsg0$Zz4;hQmX7Xj zQMX6 zLW*KC5D$O-Q+#3bwIn@4&8%~uWlg1NcO|JEW6Jf@Wn5A^s5*{>kOOV;k4?eK7*YQahiEW zk>4zRf81!v2D=&@Y$!#`>6ln)-m-h$hSF7z>Q!U6Q445XDQV-;YP zY)RsCPX{dE^8qr|7QN7!4BJ4^D`=!?h7hsbuQ79*<@vGv;ZS?M!yE`&KT8Yz7;3dP zTG52#V(~;&^@@;yAoD1ah*LcBj~t|#IDJ?T0hdz zaA|8eS6M4@=xt{+^4)eVC&E@MC6hTsuV!Yyxo4o~`F-EixEh7ubz)lFsgUbznnk)a zwU>xH=R2jls6=l!RiWtM%`b@P9q#MvSj>t;g&IgybFi^dYVnB*#)2u3pVi&el#+nx zLHFy{8ILF`@4>)#FQT@w<~%iD0Amp{U)WYy?8Z-SBno-P<|U5y$y_Qj5XG)fi&{0K zg__}{kMk!2FFKlCFlcViYJ*a2f4+aj^rXJnI6}0>0672|=~>rHmq*KNU0$6alTtC% zN@=g2*BdB|QDuiSY&yD$cpnDJr1;tuR2VNuLKv>Rr*VI+_N&hfxMI0|U$^~VWH31( z(_2=k#F-W0E9D8$QqU3v0e*SwQ)sO_zP0-aNg5=p^@L^kgdXS1vU%w4MkBS`nJ;Q?b4Ns^v!>-P!_^efKF>=s6w7;09+*-ShE&=a3K zwj#!k5Pv#KgG?fwV&}HdRm`!QU7DnibVYpQ@1JOW#AMwv6xQc$Y`B)UXC}*-*K&O> zIL3NGH=Tb&y>8YMi`E?LtB@(pQZ(;Ml4>>j1uaX3-DE~#q02;v0z^alg$k%WR#7Qd z%icv`=+DKL+fE*CMr8xQ(xibXESx~tC7rHd&3Dh?y%VdQ(Ve4%5wXkk($ad|=n|v%in^5}SMXNY zsSD;xX_kYnk%9Z9^d84EnJmg_E=!|MfR|2rtv83>sC!KamOMJ2D&h;QW2Q#l64l7` zOvNLM0`20?l7~m`IO;t*Vc~nMuje+5`m~!0^&PyKP7A-r3&#i>GeO_pNI1vAda7La z4mo*ms}ae|$6>?YU3Alq&nl;h)f=s^c(`x{uPIMS)=m9tstf$MjdV~0kPA|cns#a{ za@okdk7*6t1-Q2KA*$4Ut>+IHfpTz@kL{eSb`qchds?|Vp-`<3>4)#$JvuLP*)3Vn z>VedO6Zi~#w!WWy{z5^QO|oP)RqQQh(e~y2h4taON`MwwP|4c0FOC;>R$bR8%+V)B zX9GxibZbA2NPhfdcbDG`wLUZk2Bh(Y(AAdk8xk%HYxLgxkdIQNQ(Sg`RkbkjtqaZ! zwnvN+dhh5Ud{vX1ZrEPXK1zTW+tiJkInk< z4waaFlI!AS0p7kU$XEUQ0)8F$t&AzRP*N1xN>0~Btl!_|Gt8I}D_?4LV=T(lXKa!3%Wv38qK4yevj`DK*XT3->alCB{9g z^7r4bNU4G3UvMK9+|(W&ea@p-Ee@L@JU2goeu2cPwUIjA9m~Np@7}2os;_E4zp7GG zQHUL{YnlE87?|`xy0+8Fj|&jG`=A~vUFJ;4Ll;eX9d5h#53NJywwX?EUmrAXq@IW1 zdlKNr6k_W)p`8jFA5V^@cIH5fVc} z@;x2p+rP3Xqmt`;vfX$X+fk@A5%hA}w#g{~6GLxA?KI26{0)cSm;bToU z1TWA-*Kx&-O@sQZ*R%yJ^}aVUTL;+XSsC@h5l}K6TH-$Y_W{mI%ulN9y!yhyN=t7l zFego)!G^1A*=a%Il5c8c?gPQ5~my_YK9d5mks6`W; zA@AS4e`#zS)Oyg&1@@oMljyJcFSC{A=jH;NjA62YEF>&doG`C&o~-J74LZ*v{mYl* zE|+P0;W1YXi2jU=@#B69Sy@@4F&rIKSBd=+-aS2av;(vbcVj{vp&Oq>bK}@E<|Rbn zO%QwcnF3ONgO*la8tlkP6*fhNMF#IZc8H@z!20hO(haD$l+V7`bb2X(*?qIAcDseb zQwRTg5^6y(vNSw=3I~UUyVYRWQc`0RD{K}KsLf5lq71868fe90H?p{lly{Ool{z2` zKwYM)rN*+qeJS4?IClUkaKb!1JnVdC;H>4oQzKXgblLWk5;&25h*3%Np99(FzNv;~8d2<+h<_ zQ9kze(Q3la#wS6o4YjVrU!U}?k%crBpJ>Fy$Ip4quMCB*PDqIJ)O^3Ec>mQi!-o%l z&Tq+BIKehDcp1*p$aDBA;md&ERD67mesiaEqa{48tPJTB`!VoitR&<@r^2Xs9~{=W zX{xJ7AD`$7TK5z`^6XE90BZgmgRTdP`s){}H&^Pvkbq=9IZ{>oNsWC1c}1fTG^BF! zNKCDYM8TAZeQ712cY`;H0EPf)i$A3kqakRp%xU zHv{+qF{_9aF**r{5>2=Ut3v#?w|G|P&JFnTTh!TJX5PQc*ZFR^~{ zysjD$K`+U)?2KR5%?wLp;dKQ~>m$KVa13H*2-OfDuLIJ9OZbku$GI-p==)k=+7%RJ z$}uA?6o%D~?gA@gQ16qHlr&c2r>O3{U8xYKgYm`w?N6S@(t7Qx%7YirfFFUNT80n) z6}E$xbHkf{aiOotM4WpJ+uPekP7H(8m0T;fi_gSy#2!w4p~U&jux$pmqNF~1j|nbv zi=YeDSnh9sfs|Oo8cF(8gU9}Z?;kx1l+BEke>oEfM59<3{!XSSF z^WzKC-x2pDjyje$DNLy4P*+b=QK*T1S1!^2J&mSIexA(Zc~gpIag{yfLprP%2jjJD zrR~zvbso;TOZTzkO$yY>DO2^n_12r|46FXaC#$>Bflah>WQ`Y3S2~D}?CR=@Noi1< zlVhN+bY{u*^~SDi9hBw*i$!eR)Anlz+mpT<_i)iw ze?7ZH-qgZ!Z7-EmDFRCzc1DZyxZdioCi079Y)3+W8vN!;;i(xS4_bTj_6(Y_J=F}3 zMZ1IRlOrx;?T(9OVkB{hcNL*cDAgQ4@mw|)lI*`4fRq@R^O-2EuRH3cVDWUtx=u~i zfA458^+bIB{8=?O@)qvIKut2-?Qr8K&ke)zaf!*=pnO#s<=u}<`1!LblCibBn%FD~Gb3b~ltE&*ya)4hh z-3}KS4TNLrNQ`3rr4Qf7=^;IE%>!jw))(S&^b(%i8{aYIC%>m*H~C(P-QLcVrG}Mi zJndL2V%`4Y*mM$Lm0Ddt9#nXS(g+id6{(T+)55SRv=wS#h^D;W^bOj$!d+K7XG<;@!|y%x*LLy z);RFbPRc}YWF0M}<~6iwgE@5a>;*%lkJDk#F^rvHfg!3^DFsqB3!Ybhs1jUmc`jr% znyp33ID>nQGebdLRs-T!{*JC$4-VZi0|}4sR8Ci9fuYJPUtQnd9<6cm1jf9x^J&s^ z0eaC_Jv|TK18a8C9S=96i)Lu#xlmDh{#Zk^2OvG%wwO)~A7&jgxFy5vuY2sJGLV5P zvgKFvCx%lice-uRx|&CLSNAl5`9Qc_d7 zJ3B79<59T4Kt(I`eJe{18Ldh{m=CMQ8NDI|S-NXn* zOR!!S{saClxV`h1G$RN?9HF3<0nE<5;XAMYU_Nm5&@YVFS(!7!mGcVl&*KPs+-`^Q zy(P1>FsfO11+0ed=bAm+sTpNQ{8I!GU-sC*90i10p$E#p<(NHlX&B}$X;gux;NpKv zL>ebYMLA7J;+$LBB&uC{`}2*BY$fe>IbY7ct8uK6tSc!gNiH(*By7cOW4A{x!RM^7 zw9wrTErlmjgg*pdZ4!YER_NAJXJ@l}UfN!(MCUCb;aM{Yc>nRy)NQkK#3UDOp4A(` zoe#``PWkiOv&hQxU!K8fMnff;HkA7ME-nI$`&-Pj$oi843pHkPIoYMg8LG0?!Tw1^ zWvT%s&{1Y;r4A1 zhM046+YGh?NPS|eanZAaQ87WhH$BW9B*i-`L(J*Fenld3Sf>?r8&X$yK@`7f za{&~h5ZmcT@_tdOCw}CH|^Ne(Ium+;MBZU)fY8e1kF(zQ7I~op~3Z{l_1qme+6WADkq4F-ZC(*St`{rcT(od*}%} z@v*TnFa11grfF+n8?d{s#2_}~b^KAgP$!JvY<_+oTo>+_sOmj%9v%KWfQ=*xSuNmB z{29-jdB4zUI9zKH1){RCFAA@(KT%HZ>l<)(Kn~~j?;X9;e(<1Y z#bp%`@;R^L&f~foPOjA_wSjli>wFnnJGxxzA$GWmAAtC2RDD>)>x1#Yz+h4D!zDPn z6PaH)BdXWnioY8nd%wj3;z@?!1Xm?`3BBCNEr?3aT$~Bkts#fd`mnV78k}Sd!!=`s z@q|B)))Go{4@hXMR~7`lSFTYnh9nIYMg%sU+ZCfF$%X_;Ng-QG;e(r$bVr_}(H)zmOA*B@=%`)vcO`6qCmqVH8&kA1ufnxmU; zw1UGv!u52@0VnXyZqF6n5eIAq(!Oo0)sF5K)!x5~;@|P{32~43L0&rFBY#7?-po`} zvm5g7L33q_0Tk!bd0hukUtRnlC;d=8j+?`N@;q_8plJzsADEi2@h)*t!^+d0CNfeO zmvVTF_&b4*R}lGnH~Q$!!*e9F8JH<#u_ZVokWD_<{0$lTXBBP?g1`B;Z;RLbQw4>5 z{UkvxeLZ&gWlCy~9;rP1qgacNJ8lf2xC-4JdwXQeQWWUFim?31+fz$>1;y;G3lQ>tj0@Xy^;TRTRy2$FNxExsYy^wcJvpuV#U^ zZm;*-VAzsMdMpqKu*|x4!;{&pm5HhJJCO6D=K&nF zV?stwE_Y)bwj}@a`*L8*gV{J*$^pe? zc*GJ6&yVM14K=n*e@0AOWjW|doy zG+69%Mm(EaaL@d}BP<`(QJye+wrAoY2sE4VH45b3MJ~EQS z$yFs*h7Jen2d?L}1ACKoz$pb%NBlgQDAIoP$a}1N0sxaXHny_|dr_ZErXx*3N)RL` zhp?pwvOVpd?Paom>>v37581Qc_YNr#U4`QToh7{|BEoIVvG0prh4vOTuSg-J>TeE{>Y= zhK-4dw6uYwWK4NEjexbRw7#et_?lfzoQwCag?S!yqoiI8fBGqHGV<+V%BWel7J^D^ z7@A(V67y-)B@{$8Mw46-{9ipQ{_-VHbqzy9XjyrA+X(H0g*0e5eY$0!jEcX~=V(7D zNDeFqk+HtpbGgqsV;6YAZ|ex8JVdmXD97N%A7;G?1Wn=5*|Tu|v9vVQ1TGFd5Fp~P zKTd$-;nWcY5)D6p&Q@#f#~J(H)YDE#)9Rdl5!PA$nf4s;MiD6-v9f`(aw-u3NRRRU zbhxRU;JZH@(MHii5%I4^@yg%K&@XL9zXqSC=_BqaR8P;d{dm-35}G$;-_9B}IO~y3 zLI-TkfS>@Z0@{ueAixO;4mzEvE*xV{)I2fI_}K4e%Py(=h#(!B_CbLAZD47m#FivekEuVZTatxCHT9<^{9yYLt<4TqKb%) zi5wtUyghbqF-nFD+3glYN0-r5V(yi`d-o2EyEwD1YNtH|i{{4e-IOkJc4UnT3H%E=!;26=*P!VlW%PRD3c^qP+DvYhL1|W(48&daK^`_ypQ$1 zZ+*c3$+*&kNP(^&_IUUHy9!jDEi$R6<_GSg^;*pQ#CMgiaum(^tXjmLhp$hIEhDMo z=WEOB{FeA{ZT)7^S$Xi0>)~Kb2#H~)289NQUs5o_?t>+nd3o&E$-1d3H^XUT0PSX3 zloJ+~UcZ>KO^xj9&?JcDLIzV9_TZj>vP99VISf^Ff%NC*Q*R8?y_gNpLE z(9R-wAF~!Roy>vO?@knx;-`3I2;Sl{Df{Hp6cW1TQ%k+ijsIBa4JKkdr6MdqnS5a% z9p#Z;#rQElc#C$)Q!DwMlL;w!+s`JacH?NTbT5_v?KiINb`6$JudUs(fYo^}j+KYU zaQn#}2D15!IB7Z*07!IAS*bt uLBoCOhW{TF1OL5Z?>`=%|M=aHFVr|^RkSdWEWqFq$;l{5BmREz?*9W>Hrij;st=6$9h(Hw=u2 z{LdbuYl4@tuh3supJjBMF)(o3|9&3Cv*40rV7$hV1&gbDr0&jnYO9~!VIJc3^}lW_ z=LmS6^77%=XJkKwEWc{KrB~B?{~;#hh4u3Lgj}m6OELp@4k;L8vUsRL8rNF_wU;y> z9#1_MpLh^Nnnc>NK;6a#d}g0DKVO!Y7cA(Ua3JWs?lFI&9~pDiQuhqa3A((JxiTaE z?{SeDQx^N*Xy*QwS2+K>Rf=c-i>`ruZ?7Cj!?Uul2??0`O49g`{!;$J_{qr3 z&URK=O}?lh{K0WteEjy#c5m-K(fUS@vKANhli9JTK9YXo9?;q|LEIUC#L9GF|Q2ifB4I^{V%=J? z(%3lfyRNK=bYF4X$o8ys{$|80B+%{-N#jf*W3DPojhq_lBNja?tU)zTQyC*W$Zrji znD^57_%&mjT~|A?hAmJTHC<`dJ_jF<%w%LC$wJH!t?@D3ARk9U8roClxof0VYsDer zygJh6C%FXZ3e}iP*u@aAQA9IMigHhSF?#x*1#VWUbG+5k@5E{_agrJ*Z)!R!Cl^T?O=wJpQk$5X2Hua{UMlVk zX?80wf%Z^K67*k*1NVsFUa(-EtJ9@3Qg`w=oYcm7Je`vyomFDaB#yU-eWOc3CF#ZS z)ebx9x;{bCB@5LBJ4A9Dk_^WgPQEpH{DF+zA&_pTTPaNB@>=MPj9!8+tI0AqM(Lo%UozC`-C*2y7`0OD6Eh8si-kAf# zx8FXk9rR~}YlQJbO>~C=<)Q(^*uvjKSE2QoW&${_ z33``83`|hSrok2;;;Uds4WC$A>51 zet!~K%Z%?iI#O<4LSoODeD}SgHtgDFy^h=ISCHRgs^=n6fZ1p(YPN=S4WPocnu*_y zx3{YJ+{|R(`T&8yn@;>UQ^HRwN9z-(4-*5`sl^CLSv9VziV7FklZaKd(OZz#nGINl)co7CTf+ug{hDVF)$ z)g@Xv6ryg}g=m!J6zb?3K(?2BKFSOL08>gZ*w@Hw`F?^SdL|%0DWJ{K_TU{}>@MXA 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 XD3G=Aw9k^_ZhT}U6vazLKl%O#2$xbd literal 0 HcmV?d00001 diff --git a/Plugins/Published Plugins/CrowdSecTI/Images/crowdsec-logo-128.png b/Plugins/Published Plugins/CrowdSecTI/Images/crowdsec-logo-128.png new file mode 100644 index 0000000000000000000000000000000000000000..0f30526890e84a2062c0a2ca2577043b8acc62b7 GIT binary patch literal 10438 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 literal 0 HcmV?d00001 diff --git a/Plugins/Published Plugins/CrowdSecTI/Images/enable-crowdsec-plugin.png b/Plugins/Published Plugins/CrowdSecTI/Images/enable-crowdsec-plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..e58d014b38f8825f5e29dbaee0f5065144815fb8 GIT binary patch literal 22472 zcmcG$1yq&azbE`4C`c%}4gcT$(v1r%o)pFaGuy~EJdbYi zHr+GN!E~0lm@kC3{gY+U5ueKaeUL^eXXi~gAyVNb4C<7{NJjo-#wPWWZA%{6X2nYw zFesg2j!~qHpg|BiSK1?wH?-xB8~9SHaz2a$uJdQBPKgm~t)hIP6aPfl3LAD@Ko7Vq zZCJ{%9-XpJ7Gi5F?Rv#3bZp3&V4rEtIwiQspV0b@c;mO}erDFa16TV-l5(TXSFmX6 z>349|cmxSIE5d1OC%j(hH?_l`w4w{HEn6$r5J=A|Qr!NwpHLFwf45;$3F`GZL96?h z1Qo$dN!5u+M3y`s{uC{Q?vsNT0q-$|}=__-W zBQ3rv^EtOIa};+=V;okaCqaE1HCAPCGf%#gd>>kJSeE5G^G8qpMXB2rcd?rmnTb&H zK}!V=LdMXotwe>2B?nABe^kU(b#q&*&}$mvZL}JVv|cCFHxy|%)#y$!=%++QZK3&N zKWT37Q9wjO>Jie_U3(9I@xuDLYK`ibFj+-Vy5s5Q?Ck91c~Ty?$`5fv2`_*3V1J7Kg+1=1hZ^Qw5f(4Xee#(3R%jcyx? z8~c@d=^iB??dA1tz(6x1Y28%4-edQ-&%qgK&ekb1>~9Z}YggMFy0eglx*V*o!a+k? z^~1uzq3BlcH4Fr|WUH1J{ zUX9;6`5TSJGg~pbB-U~tJVMhmKgcUkFlxvCe)SZ}Y`FQQouTlEiMgS)_nLz8CEORI zFXl!@;*rCKtQ;IwqoeZB_Hd(Tse$v>1r!_{oShO99_1ev7KVlB{d1P;lXxcOq*8BC zDclUWP*l}Q#WdJ=2yC2v%_+GY^194#B04*;6FCbz4_O1OS+Z7FL&wJz#l*TU7zS6k zxS-|F78a&@wrsrh%0Wbg+~rv#hI*faS+cymE(IpzI4sx=&Zw!VsGcPx#>by*g`_ct zh0#`->KHTYkEWv%&eB3xE)Ng)@cxSpun>0w(JRjBp{}mcQ6b7OKKBcqjok^T_}j`8 z3yY!w^-2*DvByS-D(@OD=$o^10*}q^KwMSX)*vhd>*_h8E9&I*ZF_G=U;p`FJRc4& zmWchlX&IKH{qbmLn`Rq?IZDwjl&kq zySs&}^>9UU^0rK=xF;SpF)+-&yX+Q^&l!xw+Y!Dma|0b5Q#@dyRxsQC_h*7&Fn}%mEormha?hD_5V+ zuO2P%xUcAl8e~Rfh@2bL6l%DQx}(k<2z--`kxU;heoGXU*Gfz!^lKEk+8p#ao@Q3M zoRWe>7M@5=39OT9EINezr@E@DCQ?(Q$t4j~ z?Q}4En7|_%_{#0nz)Qjz2i3>s)S!J(v#zI?jlIui?NH!b@yF+A%Q}Y9rNSiW)HwPi zUX8r7^lG`&Pe`#pX~D=Li5nx5VvkhVDIO_~Wpmnml#pShqhn=eHk~ZbDJik)i=-#w zb0drRh=Fkp4X3<^hb*n^pLw*m3q!@FrN)!_IkMC)H|sSye;+%0$`&xqIhyMFaT^;O zTZ7sp+FLm5OEs?W(7t*(oJV-LA{5QyoXIm3Af1H)C)Z`=)?+Y%2L+$Iy?-1T+MUji`1|;@5lSa$zkwl#kiv-EH!a+O-Ti4TNm2D& znk~SOh00qfB)I!%qRgkvzf4$OI&I|2*B1(oja1UmSRF4U^zX2?vI_0nKqKOZgLHMt zq2Y;%g(eG`4f`{chlYo$R1L5SXDAwx%#6GhHbg$9`hXvBQj{(UgX z`T5AuM+phANXXTM^cuCV6w|uvnHwNNPrbdNKZlyfwM*dgG$8>N3Xzi=VPZPuUHrAuR_k!osaMKwHY1`I$XmU4v1%QV(ovK`l9}?Ls%FZM;RVBsjk3r`isVm`U%OR4KWmOhA z9h1E;5x`ni%F7h8RFJ3L5(Q#e=T`Lp-{k3 zxQ(P&7#oF}r@OOty8@x$?k!l4@81Q*#l_9F7Dsfu%ntVJdHD$T33GkI>V;4ta6|Wo zf;$XM1U>!z`)XHq`YDBlg&!!$<|q)z9u^zs>*wj?*elHsR9rd0ViiUuyqNC!>Ywn4SB@J0A!T=+l!vQJ|4?$*+&l#>4f^%@;x0ADLxOJ zl3I)tsUkKwI5-@IdEPZ0p73Z@rgI??5laxya2y3<3sC*#@KvYkj5BjR7i zs;ECbJMF@6B0IBVzBsNxK~!o;P&0p-vQ&fQcuNL#Pgi9T6*hl5E?obM&d2}kZgmzx zvgmFVZsvD>LH+L#QbdE0kta^Yqx!}+PI3j9Jryl_(z*X){Zy}fa-WW((TS5{L4f8K zHU+3kb|1fZ(zO1C`?=J9z6^f8on7Uye@TEG3a%UqpWidl4(C09c5iyW{2OWD&G$hU z%3gW>`t>I_f0lnOgBZCA(B6A^<@lG7q#s+3PH+s{;s7w7E!q+DoM`g>zlM_--Yq)O zfccm?$1AuG;4e|0)Dc75XPzCKZ(kt?*n@*_r%@A1Ti0liVH%o8CZe|_P0kR}3n7G0Vmp>(>nBC&3Sb8ja@_H|jm#((cU{;P|xdEU(tPoqr7Za5j{~lFM4{wzerI zlbCJt4Gf7_EB)dq>((_NC~93f9*)AY>Ta&Gr`7fg<~llP_!eIQa>Ij6WvBD@)#`~g z#A$7r#QPS*F|bXYyY#ls`GalPyq?rY?`eWjMCpvlwdrLGdsjETeZ$Eu~TNHL(Ox)e}{&S_9lsncG+HBJo6}Y<8LD7 z9PjBvg6es>7weK#w6utZtB(BF!)>LQpN2I9!~o=uEfy#=7v~Tr)!g;_&JK5ooz(XfvFi0UuVSk|ASF0^3dNu zM-Wm{q?VSUU7^D6a9K}AonSq*EG6XPUOUote8G_$UZq~s>2|>j`xS>d2J*;H%W=uw z>>2yYS8K;-bNECMJxwey`%Z3Yu>qBsFET95#7v)!)pEF%IC5h8hfoTqO<4S$TJ{q5kw3`^$y^%N8I%eSuL+e3Zm=;-`BFNDzKrmHr*eyDj5 z#*-?Y5{JOj9tZilH5c?7kAHvifahh-_}p0A$jD0Xoe18Y=Q{*fL|tNSKndv-Sk76+ zvdSa}03CXENEG?~z0F{}vG9wD>b4y0h%n#ueyR;Yfr0C_Ztc8CpZNQ&Z(qKwOzb`O z40dlv6Jxtr=;)*tWSq}s7Ce6xm{nSsB&_@4Nl7?gr!J#>c|OO%vNc#FPs+?~urVYc zBGUB)64?2kP%tpEM%5j}Tn1;e$#~~Bn6K^r{Dq&_2$R(chj}P*$5K<1Zl5Tjre=&H zH`g~&BcnGYUew7w)5m}uXJ@<-q6@{rhJo7JqYDdQA#e$E$)684=}Q9%lq7IsMS)DgA_-M_de(6n&!vc-?*e+{GPR;;@vXT z0fCX}nbZ=T7pOOljkWWaIN6w9+6752H`{2I8Su}Kq2Tbdq^0qu`IxXUmaciB&?xnq zU~m&H?}s{^I=v4-B=yQ=xj6nL!Hkv2sfCB5o*^3=OC~NAQtx8Ktb++fU+j{*MM&ST zIcx9BTL*gU*J)2#_R~MmGgXlcaeYcM0%{U$DKbH>6FD1Yn7omO>5A`~@xJs}G{(z^BbH<``pvWUy+U_fK~zpJSm5xe3wt2-5`kW1V0?9{R=x`|r<@2=HAwt?1}b z;x%*cx=M;6=;V(kI9RYrFBdj;v?N%cnU-sF7C#u-CZLYJ$;-)52rxd|iZ>MtEG(Iy zZyg0U;fY;cgh@Bfd;`3EmBq-JJRewlcn+}XKbd|<_opfH$o8gS^G5gIp5@MU$TbS! zkC(49E3~T6>RA(;DEeBO#5ZK$zMU0h^#Gs(Vq}T0AAN9M=bl!Kd0LuNR_x?9+Ma7@ zs2Exgx!d10d4CV_FQ&lzi`nVlO8yq8DBVpk#`}vM*eI-=V*TicE9^kW*yZ$;IFMMp zN&)-$`B!U1$?;0cb|SxNv{Sp&xy>eZ{X#~*SvR}ySdzH z&>MMDfef3%s3Ip>o}awwgEpSP5S6u5BXRH-OOaaWP|$W~JrI)NT^cupQU#%C%qrK2 zy?`v~=r|)ICy3t~E;f9P*fPl;9Bn20_A%Ipr$~r_3gP-BA}@@HKmT^~bgO@{+HQ{O z{0cXY#4DR_tN#rcm{|CvN78305?1Hn7_`9)In&B~hVv`oR(FiIGpFHEOrMmlxv5@@ zn@a~cc;1^%Dk(WTmnPh|47TtVBE9}GmvVn*q)@?0fEQrD z{bvOK#R~%V+un@RrXzv%<>As#v_58Y4hs?=c&!Zu{5!a<4Ig7{a0U~b-s()FKk_%k zNN%Qy$+*qcdw1x$*u`YK>?z0tUWwyty7EN)i_O0vH-T1mxlFtB>uTPk*h~w196GW$V zd&mLe7+|Co7VC8n?$y4(gP=4~ zWlK)x7|FCH1fc-s$&j{Hg@XV&rJVpFDC-4ki zyTL%+dZl|)7MxraupV%3qxm~yyg*K`WcjBRS1otehD^QtVzUxbw$ftTE2f{nlY0v(T6^_Q2wcRlc8V)CXX2k$CBl8zU5 z|1#c|V|}afu`tvX9!&~#Cy-8Txd|aj$=?G51211*FA@<+9hky2_m7W{m8~r}UkZ%> zPy`Ho4Bo@btGxvletUNpdgqTlV0V7TU+Wu6!V}kFFgG{%SCDWMb0C7&*EjuyQ;8O8 zVW7By2ZMKy-PwlFuRz~D;$cP}9(9JOrA8ZvoAEbHRpzd?GP-N#XwL~GQHK(`B6`xF z2v&yK)U~-2xt^^Xfqp1e8})==sJ(`P5~Pndx5Tj3RMiZ&*7s*mos}Y+TM~Dx;)D_8 zUm+xD>`7th2p%`e!WyVjPzk%(= zzX5;c>Gciz@bPBIq7cwKv9yuKQ0c#{PISjImF1PTcotalXwqysOQz$U61#w^j~%Cw z#P^ro1&*$?e}2n3%Z*G~MnvW(n#L3@8CZ!5`}Hq9AI@%63u^iNw%m?i3ysuk7{_b$ zAI_{z^_P(UKQ`YC@4k4pj=q#~0N&p=lIOpetp960!c+nSSNqP-%rVH60WF`0ciyE< ze4PSq&MKH9OO4qy0aMFlj7t}99IjPKXO zip$dj*@!9HVc*Hi%Wnwz4aV;us6P~cOR0(Bf`D=mr5$XcXE>ko-dP=A{Zp$^tHWBI z!(Oe$(sw7M|35b{n_O>Zlx7B_)YRymfV&j&*4zIp4xxxlg(Ts>K}za$;}jIl|DF2Z zvjD^bT$bCx%mJomX6snOo~Q?5|I-oFZut*O&~`ca3kt_OFIh97fJ4hQR+szJqLK4; zSipJnK~{KBS4z-dmYu-QVTuXw4(fIRti*5SjH@%~UP(s#sAnuofKi(?sxM*#7dK|z ze|hlOpY4 zyXwi1NC_emc;?~Z;U?g7x4pW0vbxbX=Wu9fvIj7H`RW$>GtU&$;qGC}i+tQF^9A4E zzf0e8B(a!Yt%&QUknFhxM{+ob8g;DB%Xk6-ie@~__TUZap`pNowc+ga#?|*XCjQew!|G^VJFZ>Tg zQ*`kH0S>tHNmW@0DNfkDHkGq;8(*m=HEVM8V> zGpAqGE6s5tpLhKxI=@}iEc-eLT)2XgOy3eFXnkW-iJ`x52p(A2uKMDtsyQbW!elVu zY~3Y#`#PXzz0%w&?I_g{QO3A;2swmP5p~X87e9$QqJn@KfA`~#!(x%$%$P%GyLdpo zYEngvGU5pocW*&tXkD8^W7J5iRg60NJA>{6U@`_yO7h-Oqbgbfg(wfgQntCGMGz`B! zN5676)(7O9hHnzKcOV{Go<3fKmbbQ8Oge4J$=~bOcs4W?6rg~s!wRNu2;31KF0PQ*PENIa&KGbVS68>W zM<0a9lD0ZGYVPY6S9AVXYk#h+be+$(7Yo#tzmup_hQ-Fj?(FQD&6mF>CkLEqPPd8hU}FQ9fOq3y z?suVEBi&{b&**=4p@ISrA$0d6qU({l-&N3`0S?&yfdP4iF$N#a>#g-1U{3>_O2PC- zoEo#Xx;pw5{!$IT`|Tj%goCi-YlQ&i*-&L^!__+)q3joLR;ci*owKKZH5OTDP6}`T zyJeN8!wJ(29DHH{N9JUAk1z!u2??YeMKu)_Oe{hv2FY&5ZtVtxh3b+e`=i-&O)D$I zZG9f~xecZuDs0yWTe>pCoA&hYKd+sNnLok&YSG@DQ=ZogaF~LLHXE z#w6PMYD4d%TAYe{f`F@hL)0qX?bYnFr+JIg^c=p!fA_!#2kGt4DWI*SuQr_jO@VDU zB#UEYO2(=>O*2yluhBhamDgi?kL z#aQtI20s^16MzL{BoG|j6*HqvoFPi0olL6hrFe>LH!Tf9O?+B`=QU_f6#vl`ivMIK zeKFh{|C+T;JD$?e*9-$gba-fA$*y>%|A8T@X`uUell$Xc$1rdT*v>4`Q|&oHs!DnE z%}uTs-R+mF;ASu*xxan&8>sp07L&GMgS&K+YKgJg`yd3@gTMY!VwM!j^qU)}{e_wU z;~vG1KcwHC9n4L(<&ujCGum=WwnuxM9}^QCbjV&Fwf_X})5Me*Mg!Pom+x_8B=-8= zj)G^Q25(;zJ`VnihlOejfuaFahQT0=wYkpRO-3BgA795}aA<=fR@0;P`T0$l&HMwPXNQ~=k zbFsJze#iUhg@+Dk^yuP@<7{{jMwT>>J5zafc6NR~9n+gPJ1uR!cH6e+kE9Me>#iqf zG395(|X3Qhy)^H|O1c)sshu)wKu-{a$=N`@6EOp*+R6ENlr} z^wTYije+EjfBvl8pv3XpH6u)9iE`O|lqtLk3JZ@@*U%udwk@VyiuCO*vssLZ*~Z7+ zom6S^*2TvXV>aDh?o%$z$jnfFG!*F$%Fx#jytpVN)NrZ2G#^dxX?3)jEjJQL8#!E% zQK_=B5fogR4A>(UaIHLQCWWH89d$h1mn?oF!$aChgDhE6g#1qNz+WsS#&)W%>(eWB z^?8tGe^{R>BlUbH(zQrKPhT*f+8?{zx|orgZnoIb1Q?c3a#|XT#l>&n6xvMh zV<055fC z{-+s6O--%Ds!F+NiR7g(w0z4|c5`u^&Dqs+3mG&F3|+k8NUyt--HAOE6J@)jU9qe&XWLWt8UsymBs_;QZtL>JGDCc7TFM5Nc8Y)|93%yMI5RIROd8Jh~-PA}+dR_;0^ zVBuYLjlP6LCN}PGVd<2-f?{W9=AuSD!bUd%? za*%+)+1Ad=VWCTd<#8zKcTY1|_%MqeoU}$lhdaZ8IFMxU(yW!0m94&;`V^KW?eFiG zefK7;hk)Y(1NA^uSX3LeuGFyQvO+nJ_p{gTOcaaFOTXT<)X*X?{-_?km*U>SY9UeT zPMhOtR5I4AmvuIAN(Dr`H_KLNkBbeHX7l4YCNlJ91p;XM0S$I_4$aMOus$CsLZ$Ym zp1c!QEI&aOR@Nrw zI)ISRZ@?hT`{&PRK5k2{OlPGQLyZDO8Wmp-XpoR>AeHM=8KuZbPoJQ}@rtdRfVjOz zhx_~6Ks=5VnaA(;m6d5?$O@4>AUcxum`qrADILR_l2Znv9QDB_r$VtfGAGs_FE+ErR$% zMwsH<)g{tKx`SrR&Drca_esgSqT^x$2>3Cf@`{SfgT>?hYk%{GdsnBk8f$t2h`m6Y zHsa&$88NHDU3v>_)6Pu8oKNTHuO{ysySuy3&d&biUMvMSw>TV5y5t5)r>U!}a`9B) z<8gA*O30oaE}%)c6EHdLpQ+l^p6`-(51Ow`Z-OjO3c09M47=yN-g)ggkRzXZJoR_C zyxiR%PsHcdjZ~yrC^hQ>PNPtJb^42hq9wp zKw4|Ij1LN1@vKhnbAl-yi0*cJPMN;)y}0|jJB zPBxljHn)pqJUmY_aWe0NK3$ z4$S3@XS*Z!X`VgZcMjL@MMVu3l-~m#RRgtdbbN4dx*Gv{d3~3-P)EpLt*!c{d%1g7weRntD{NgD0*7`=Eg}TiSP1shYVdW489ji-d=E*-UqElJJo6-Dq5g*e42|z zx<)Bo^1ng|-~S0AsIgi^zV0rxJ}U~ewzlrU0ZHFkHMNKfT6pNp)(!;5s!UbHq$Q15 z@qF4+#&*Dg@|5pZw?98JbAiRQL?vHlSFt9JEaZcjSe=tMn7}XC?dq>GSFSy7_mD0wX&{W6aSWj#W^lU)saFdnB;RQ3A zjP7CYq8@8$XecK$#lz^nlUNRuK!!7^9fu7~O>XzGvedwCmwe{g@;P(~2hwP?{zUQ8 z?qUxW@)A0}>p)_ZLEG>!A;uDl9jk5=my@IE;gsPp?P4{g#fs|D*Lh#S3x3B25-GAExysJW4kA?RGVVyH zc&J(+pxh*rxL9Sv^PdtL8;H^evue?CR@0`win)ail$Uvu)R?})04+&~OXc0|I4lLi zcr?O3!+={k*qCYQ$kuG5{0IxIf(Wcbe z)w;pW?)vG|0(GtjhqsO(n5OA`JGC)vb$5R|(Pp&$D8n-`I6S;OzZ3TJ=g;+cUq#o5 z`o>1LA)vWNfG)EIoZM{LrY$!|mv7%}D?Y z>k7a}P+&dHL~EfIm@^DimOlepk&#iMw{kbFUd2)d2chE z>8R-0B162c7aG)<0k7EMpl#cm@g9r_6ozP?I?XtCQ}(&mR+sf+(n}DnMt8dx{c3Rp zVkm~JcyR-NDXeG9w~IRwW3`(g3GAKS-QgWuqNz^-b?$HWdoOJaaPjeBJqiL)Y64@@ zI$j`p!wJ5P>3{M5QIktkLw+>hNP#l!8rNa(4Z|BFjkShkAW;ms|^pP`Jv*FK!IJ=;HA__mRsfyf=OSg%^v+jBI1y6{U-0bX$RMw=$vupgzqt0XFhf;6xN=XgszF!nC zacCA3VP|+CJBC0K1f7dZBt}hC^-{}+gzY$GhWI#kJ8SR!U6kOHlT#|Ggq5W%2fc68 z-eXjHSfv>P_d;&r@u9ss%xmUN+7{S^4te^0*i}cJupWvu30w|t@0R$ff(W^aziu6T z6d1HUw{*c#foj zO$~kr$`iF$jxU8Y*-aNCBVKdbtQKYeq1~Ixr$7Q}aRVbG$CK$0KAuYcZ)Ym1*F$Mt zjnB6oHda+J)?^xK*!OqYP<=44h$egb$~qVB43U}&HMLb#zFp79^liyRMLbuKAM3_o z`J!BO@3?;j*n=*4YtX&b@c4Lnq^PycDW!D6Vv)ts_MUPZL%iA2qAEkwP&`kQRG!ic zWk&5L7poJmR*h+12&GLLTT4ST^g4+(Vo@_VaLVLJJcMvPQZOhW$gzHXqzVfgZVVxv(YRRP_NZLj;w1kcUY2mU{>^|k*Vq6+H@ zxQY+^5gdWT=N{hK_$R%{m4%)K>HQn2JvZqno%c400U~aR=A(JYVyy?_qyJf7`YEP=?;rO*R1^<=^Me5P;TGg{M zRDMjMU=sn^EywFoy>@EoEpV>xXcBI+lJTrKVG?@SjYmc^f6!u<+n)|^qPO0Co$ZgD zoi%lax6vdVT=V&niTxV;CZkZ=%vM!DvL8n(Hn!Nd->_WN?Jb5Yw}ga$lDmeEj*h&V zn$wo~-TYI3e9O1Mpx|?7!X%CnRCTsDy}fT1ETnZfY4?p{&~AKn!yga#q$Q&->U|_V z76Kf&7*HpG+&~cdI{Touf%`uqV=u2?#K?dEUkAEYHMcej;0zwMO zJ?iUfS#=*ylqcne0n*3emLMgTxVIs^jZq~QL7AuG9c@klPN;&q#Zuc! zZj!O#f*4GyUcWy_{ie2qq2djV8bg(;ED|T`I{J@wc>c0tMj@ z+WpaiFOU|WO2xhR&B0DQTjfVuYBj~zrP)yCDD79gz_Dyk|)pJ1$*hDs%iZY|;n zqZyB4BxW?TvaxXzTKeb?=cU0wk6qg9zc{=YpZdJj_XlQnaJEAQ5%8=rcx^5Y3Fl~w zdgmH+ogdxqs|)8(vmP~#WeQi-ON=Xaea_3(UH%9?aFeyC_R^9VlZs1`P95a{@tN(= z@`*Qc`;%Y^!;Bu;i%N}L1+^15(jpCp2<7moU#c4$%+zkr^l{5e$!gM7Qm(gDNxbli zyo4Ws?Fjnp^%5$=ADIv9Xavlr9k~-vzI$jC!$YKfk)J1>!v>QPvyoiL=E{PAM z0p2?n5BB!vo_w#{e_VR=kp!K!xww%sfG6G~TQ+>lLntK}V?#*P_ZK~tp0yBJ2zFn( zKB$&eqY3G@L->(KodpYnXvL5IsVG`^f`RQNq%N3-k?JD**J9@X1!`rFYk@ip8tYozMX>Voa3gjP0C4t9AR{k&68v+7cwx$x!7y7UuqL z!g>&d2@RJEcN6l?TwV7{DTS7%lxK4M_>9%o61gHIj4sE3J6jbVQ_Vu3K)-J~$2C)7 z_H`;V!At^PLf18>LaVm$g2!8&r8a=7ZPLel{0aZvRff~%!A8xOf?VYf*&{Py?s2i% zj|6Xg1_G;<+5}81qS@ID`@3HxRUM?zikAHN zC|&=!-12aLb39)S+CNdiwY2wp9gx-sllXBCNL$U7a(T(8e#jk)h)9VuZw(>nnqKARi^v=(4f9()MJo z(kLyhAPvNx=xCmJSYc3sM6Z_V{DH|-QQjzy&p_gzh3Z8<=eIGEcmWqvOH>d1Rwrw5 zY+lzk1{U+R2W#iMrpp}nz$uBnS?aPO;Bia+akYHXhsTlA!APsTu{rT)8$(LH)KC!c z*$~|(g-8v4cO@k`7(}21%%0yqY)7l`sLu^F72tClOWvc&1bFG|x3Cx}D=Ic;x$~S; z0woqS9;gOp)NJH6+x+_qVhwy9VUziEY#<@q73DK@$cHMKoE}3-@gl>vO{@@;hBkziCt-JJ71@}*Zd`kizl6ALzjpDd@e@@ z=Y3l^67kC`mkl|7;4;^*Xgz7}h($eftpp(ukf>H{YDnz)B^R$$!0)uCyekuzT;dZ} z64L0tgt{(H$(@i1@-$D;t$%=^(koWzhhR}MEDQ-e9+C%y7uG4e#g(=ECTu972~dDr z_!LC%R+-uOp3e`(pBuw$)Y-!tjBYRB(TFtp9Spj&M?^%9pyjHHJO+(g0t|dHrNgPJ zAVnI@CM%X}C5EW5ApyQ}cNs;+e3__0cS3>VvzfC0`@HEu|a({C1r?;q5IVNomuY{(NyUQIh+# z7g*h5kGZAVVyFjSOH{zKfX!hmNH0KtKy5Ey?JX`oZqZWpHNcFET8V8waFLM_xVX3j zi5%|j#iS3ePAoC~VnK;_m5xY)=t!Fbb~XpipP7$3yDVmFU3XT!83v^#u<0e&PnC;q zrDjHezVh_iyX*0KYxse0gsCc@j-G&!&|FlQkk7upmvZ7V^=8V-@G+5XkG)Y+`f&Y# z&DA(KU+7}}n1wirK~GvmU6nrZu_2^{G)2~QvGiahEQ=)z-o(U+DMk{gsUa%mbb4HZ z=#-S5r(1*O#$UTu3=8IpnMgylU5{uSW~&^Es@1EsGt-fAd9$rKL$oNVa4@k|Ra8Fo zzOJ|v*`2G~+72P#wsnepS8Ui5M1cC$;E$s6)CDp(`TcpG9X@+Rc=%vEk!iLCNrX7? zMH-U2ftz_Sya;5q1)yJPHsJzx&Sl;oy~UWwVKMo;M~{%lO6Q$NQ;zQrpiUqtJMg8f z$V-dUa=SRqvmveFKJtL)2L5bpV&qH7jDI8@EhD3L!$}licpaS!Pdu;$9)Y>)Oiq@1 z6V(d7slmNeQ02a1(bd_xIlfc&LQW2Pt8*o5LYqfFXYaDEEzL(}abawxkFq{M-pXqC zJGNe-diOfLZ)3;W(Mv^GYpDG#6Q%OI;N64B^<0zo6*$P2TS`4n(*(3cDr}=`U@Q4LRbEXnD znQ0W{Gr+-~LGJrY&S%q0Qx>9NC<4Lz+0~_QV1Rm=^>t-J-CVi3rjpX;#){SDAs?E9 zmZWKXj&IM9MAS2>xR98LjlnfkVmt&047ARlKS4y9l6cL`Sclof>Cf+)Q*V8J5UfT( zjjeZDu)ydHswghLGapr~(J0KzQg-D99}o1eXR>eAgO-bDYHMqOT!TRg@9bn7&tubB zFy{a@S2XnfvFHLR9H7k{j2AAnzZpaLp>ljG)8KSgjYs5maC43lR|V`m40l2_ zHL0qq67pM@N1hJRVcQJcpb(&LweE!BFlgr1iw8I#r`UsRE0BjUSzSeyB0WGL{m+-9 zB#(-ds9?4xGf62av&nJuwc3jH7nPCpYJ<@%Q6#_U@h2U2=HGBr+MoMvD7O_cBB_Fs zXj|KIlli*dg{P=D1`9u>inN*%x$OKv>{VRcXhWv%=7u@?_f*l6imIBMVKYdhR5R&j z4kg|eR!84)XG$l2_&VGrg)C2vso+UDkih28%cf&)!0xa@hV5^+v%kZ#H3Twdi0b%p z3F;i$O}H@71--gUlVOPp-GkXd?op>3kJ%&v#Obix4r+RkkdV%8?Lf9nEQpYp$z^+1 zTN#yzzqC4CuVY96?;Db{g`!V-FZMrYJVY*2Uq%`!I@sWV)K0g8^TGf#t9pj z*{FuLsu-%jc82;h)KB*z(jWj)JK%0UK}p*^#ATB!*B|o%AUQmOxVBJnliP?&`=CT# z*O+)@Xh^#el$@I{md|)gL>WjY+28cn0EbHx1+C~#o!#fOMXW%qs~yH8CI=M4Kfm@A zrHM$avm6D%)Ek=$porrt_uU&iIa&&=be#4Ywx(R2(=^ zXjs^RdL?o!=gR&y5|GCh?p*Q<@*PZPAV`vug@XzWays8;vS=Zz(LjY-OH1*56v3ZY zL29ys1-0VWN{>y6$2i?e{IW-1impf1A;Najp?WNZFeIOzdAG|)CG=qXa zP*|`qgCo&ChF@-X=QZLGuO4>#Hzfr}yoR6$PoMP?ejA%I_5$_$YCTd_pR|rIAU|XY zk{TyGP9gE8bM2ke)7_JkKjXz|F%eT_71tKua8;P(b&NOxGY*=sacF9CZ_=fb4kkXB zD^mcqAek8h*KXe>Df9H38)_XMZ`X4iIy(M57PU=veVv>?>d~zS+CBfp)~$0iCBfMn~@z48W7G>S{ zKj=p@nSWMh;LUWnV&dKze+Aha3McfVx0_pk{_N~84OnuQci5+=X!Ur=grkCWLOGu6 zAx558K!7B5Ye`d%2-F~kTo50?lEi|7-QyDCdNPG>qiWmS&wx8Z!=2>hWO;d zSZotJcK60bH`6F$*@^Q&ACd@{DwaQ!*srC2-?gbPuvTOHW)}C&ldY??56(FxEns zkoO4jZM)SObu-1hId^DQXIv4#POLGH2~YujCV ztr?fPv8hzzJ+BWto^}5M)glQq3qNyQny!|SDiWGH)S{bM-3H%2PH5$33S@HG`E)_J>L`6h|V87mg)6~2Z%oUZY_uHvcTy1UlbS=i++`@Fg z5KIddx$w)WtgazJ=##ZZ1j8D}o7_=$MtcU!ItIIbZH9TJ+yjubchFYz=S$qdCCWYN z5X|3(a;>pGUgj&!Gg7XVk9vPZ*^|sF@Qt=P^ zUz`9IE6e=V90z@CZ~2p>499oKy6SzoT5ZVOyJuxv027@@(*ju@6kH5Er~L@cG_rx{ zva*wtu!Ll3X=!W6C}K8vfc3?e@o`aQ0-~$ChQw}H9XWFJ^{Zoi5OHzw8uKpklDJuZ z3(bhIMh8P4eu=zPIWUK+*Zx5`$d!m*h(3BMypjZUsstn>#q&;1jz%K7&J?j{n@c=f zyK7;-5#)`m--76KwB_E<7kM@au6D{NeNfwLPT-)38r{AGoDsleRCpPOtqs~tTmi79 zd(~}@PI5{gz_EVrO%;Vcsea4|B*9-=seCK|+_tM{Cp(eLKj| z#R+J&hY@z^v>1b@dz~O+pOowXkoxq|dtpdcRjb_}JG+}-N-teSOG3Qv`uo?p?l+FF z0Hzi6rxz<8^68AZ(V=1IBPTi2PqixohHLKk6nVI#8gGskc|^|*eD~XXvmg~;SjuWk zcuT9z)FJxPVwX>Le9(ge-R*!X$C2L82RKop?44`hU;9kc?8b9Ki ztv%E>Q+c?lNq`23+CMp#s>nPrs8jFm^E%=*MP{o9&;}+ds;aaewEf~<<8r;<{kF~f zo77?_GI8nwr=fH<%Sio_R+9dc1OcgI_>u{j$neL>V?yW7xoIDdu|-FctfP za}mh?8K?_=ds}uf7I!@dfGStcsH?8V))ZxD;u;JMrR!mtiHZ9tl1)j2-BNd#3vpqz zf`pP!20I)&ch;x)$L4n*9RF%qHTxx>B@R#7#Ju#8wG>l|e<6?qemEOj9WG)lsh^%_qSJ119`uW9zj0(sBH1t9J~QHNISuGl`ju(qAbul7+qSvBJGd zUK>w4AR3qBDp&9Qd~G;gV#Y}J*L;CmS7T*NZth_z;XKda9#aLOb`ScGU2Ovd&?K`+ zf`;~VpEb+W<9DtWp`NjL)^#ts7GWr#krbGsvrniUX!Hl9`F^uzs`ukW4{cmkc9ST6 z^>~f-8(!_*^RoBHUjmp>y}))&Vw2~Jips^3JCQ6UuMbrh1jgrhi~~opwvU3!!1FeT&wf@0Y~`x%1a9cD?ulZ@1qw_cnfpubA}no(h9PogZieXEZYXTyh6;wDh#D?{tA~_+%du z^n2kGz0umwQ*FrV{Z?20FhBEH0m;kL4xVEb zGx+nAAl7#o48}XXi#f_?%KUbjbq59lA})ZoKtF@f@_OzcoW)a9om0idXPuq*3SUry z58I`_L}2SsL6k}fwL3~jkM{KJ_qBA`8oFgP{3-PtwZ9;wxE(_DRnIEFPopIhT$%k} z?j~n-%O`R7z3kCO&WlN&(DT_j2IGyHQaF}A+1LNR<4*y5kyLWOM}D)cyjViNTkp}I zsf~pZsFO%PEUkySN=9q~DpCaT#wn-@^NtK5i3fUI@e;a@x^i$YlAnJa3RHn)$Hd3iV%0MVZFbZubSEN(X>RlG zF*&N>pF+4vIu;*8L@C8uj1xmck*tx`ReBN|sxx*ULFqrTH0e<}?E-s2)d=U=Ey5UM zV2J(^q}@#)uOTztnhg@Qd}%E4x8~@At=srGVzfajE0FuiVC@2Ec>S{lQ!aTBhRds!NBeBgZY9eSzB>efea3r!UW;dTmCV#r~ zC(1p@9z*Ev5`N(8D+D|2=<>Qqa)C*8aJo1@Nm!aKOtiGk<%aUvU)xMb5IRfH1W%Cp zT~VM1&SC@ME~iuQ47v08l45jPO#&Ay%BB}2eB+$SWR`)PrtCH7%^Dzx3zg5fgIou z0UlTAt-rYA{CO;=I&wE?Z33_wTmEQZGH0eNmRT6y%<{nq@@SJLqxRh{hzwr1-AkBk zx{=I{0^D4R9L)t9Guqm7l~zA0)tV2HuptEzTXPf-K@8|l4#l6U-#+SHZdN+wg zW<=bws|lM?!nFcJo2x1{Mjo}`F=~vhHOvGdnqF&c~dz6 zjlP!q&s#dkc4RJ%y&+q~{8?o1u>bm3E8nHcp*t(pXn`E+2)GP*qip zcQoQPHPzJ#+=GvNj%xb z+S)OEG6X&kb6-!Av=MHpYnKyIp-$PfCWaq~n=mS$R z0uBYvHCI(I#*R`&LoNFMAm{!Y`J8|~ImiWQ)a7v*i0D?%huKb zWAGQBbfAE1oVm$wIq}Sj(AMDka0=Bm*EI?B7FGBEth!eXb zXkeuM_OUV7btoDDKy@0t{}ta09smj&@d*jA+JAb0X}quR?tT;X_%B2{25XT!BnJZB i7S-0){=b*>eXchHhHr9g`f0$(AX8&YqXO9NC;tJ!VLNC5 literal 0 HcmV?d00001 diff --git a/Plugins/Published Plugins/CrowdSecTI/crowdsecTI_manifest.yaml b/Plugins/Published Plugins/CrowdSecTI/crowdsecTI_manifest.yaml new file mode 100644 index 00000000..348d69ed --- /dev/null +++ b/Plugins/Published Plugins/CrowdSecTI/crowdsecTI_manifest.yaml @@ -0,0 +1,30 @@ +Descriptor: + Name: CrowdSecTI + DisplayName: CrowdSec Threat Intelligence + DescriptionDisplay: Search threat intelligence data on IP addresses + Description: |- + Use this skillset to call the CrowdsecTI API if the user provides a given IP or list of IPs and wants to know more about: + - What it does: observed behaviors, targetted protocols, exploited vulnerabilities, etc. + - To what categories does it belong: proxy/VPN, CDN exit node, Legit security scanner, etc. + - What it targets: Country/region, services, etc. + - Existing cross-references: Existing lists, etc. + - How virulent it is + - For how long it has been reported by users + - The confidence level of the information. + - Published by Microsoft + + Crowdsec's CTI API community plan uses one primary dataset: + - smoke: reflects most of the IPs reported by Crowdsec users + Icon: https://resources.crowdsec.net/securitycopilot/crowdsec-logo-128.png + SupportedAuthTypes: + - APIKey + Authorization: + Type: APIKey + Key: x-api-key + Location: Header + AuthScheme: '' +SkillGroups: +- Format: API + Settings: + OpenApiSpecUrl: https://resources.crowdsec.net/securitycopilot/crowdsecTI_smoke.yaml + diff --git a/Plugins/Published Plugins/CrowdSecTI/crowdsecTI_smoke.yaml b/Plugins/Published Plugins/CrowdSecTI/crowdsecTI_smoke.yaml new file mode 100644 index 00000000..736a164e --- /dev/null +++ b/Plugins/Published Plugins/CrowdSecTI/crowdsecTI_smoke.yaml @@ -0,0 +1,475 @@ +openapi: "3.0.1" +info: + description: "CTI by Crowdsec" + version: "2022-02-16T14:00:00" + title: "CTI v2" + contact: + name: "Crowdsec team" + url: "https://github.com/crowdsecurity/crowdsec" + email: "support@crowdsec.net" +externalDocs: + description: CTI Documentation + url: https://docs.crowdsec.net/docs/next/cti_api/intro/ +servers: + - url: "https://cti.api.crowdsec.net/v2" +paths: + /smoke/{ip}: + get: + operationId: "Look up IP address smoke dataset" + description: | + Get CTI informations about the given IP address using Crowdsec TI's smoke dataset + #ExamplePrompt Tell me about Ip address using CrowdSec + #ExamplePrompt Use Crowdsec's smoke database to provide info on this ip + #ExamplePrompt What does the CrowdSec's smoke dataset say about the IP address? + #ExamplePrompt Could you give me an overview of crowdsec ti's info on IP address? + summary: "CrowdSecTI information on a given IP." + parameters: + - name: "ip" + in: "path" + required: "true" + schema: + type: "string" + responses: + "200": + description: "200 response" + content: + application/json: + schema: + $ref: "#/components/schemas/QueryCTIResponse" + "400": + description: "400 response" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "500": + description: "500 response" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "403": + description: "403 response" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + "404": + description: "404 response" + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + security: + - api_key: [] + +components: + securitySchemes: + api_key: + type: "apiKey" + name: "x-api-key" + in: "header" + schemas: + CTIObject: + title: "IP CTI Object" + type: "object" + required: + - as_name + - as_num + - behaviors + - location + - history + - ip + - references + - ip_range + - ip_range_score + - classifications + - reverse_dns + - scores + - target_countries + properties: + ip: + type: string + description: Requested IP + example: "1.2.3.4" + ip_range: + type: string + description: The range to which the IP belongs + example: "1.2.3.0/24" + nullable: true + ip_range_score: + type: number + description: The score of the range (ip_range) the IP belongs to. 0 is good/unknown, 5 is worse + example: 2 + as_name: + type: string + description: The autonomous system name to which the IP belongs + example: ACME + nullable: true + as_num: + type: number + description: The autonomous system number to which the IP belongs + example: 99999 + nullable: true + background_noise_score: + type: number + description: The background noise score of the IP ranging from 0 to 10 (highly noisy) + example: 8 + nullable: true + location: + type: object + description: Location information about the IP address + required: + - country + - city + - latitude + - longitude + properties: + country: + type: string + description: The two letters country code of the IP + example: US + nullable: true + city: + type: "string" + description: The associated City of the IP + example: New York + nullable: true + latitude: + type: number + description: Coordinates of the IP + example: 40.7597 + nullable: true + longitude: + type: number + description: Coordinates of the IP + example: 40.7597 + nullable: true + reverse_dns: + type: string + description: Reverse dns lookup of the IP + example: acbd.my_domain.net + nullable: true + behaviors: + type: array + description: A list of the attack categories for which the IP was reported + items: + type: object + properties: + name: + type: string + description: The category of the attack, often in the form "protocol-or-scope:attack_type" + example: "http:scan" + label: + type: string + description: Human-friendly description of the category + example: HTTP Scan + description: + type: string + description: Human-friendly description of the category + example: IP has been reported for performing actions related to HTTP vulnerability scanning and discovery + references: + type: array + description: A list of the references for which the IP was see + items: + type: object + properties: + name: + type: string + description: The reference, often in the form "list:list_name" + example: "list:my_list" + label: + type: string + description: Human-friendly description of the reference + example: My List + description: + type: string + description: Human-friendly description of the reference + example: IP was referenced in My List + history: + type: object + properties: + first_seen: + type: string + description: Date of the first time this IP was reported. Due to "progressive data degradation", this date might be later than the first time the IP was actually seen + example: "2021-03-03T23:00:00" + last_seen: + type: string + description: Date of the last time this IP was reported + example: "2021-03-03T23:30:00" + full_age: + type: number + description: Delta in days between first seen and today + example: 220 + days_age: + type: number + description: Delta in days between first and last seen timestamps + example: 189 + classifications: + type: object + properties: + false_positives: + type: array + description: A list of false positives tags associated with the IP. Any IP with `false_positives` tags shouldn't be considered as malicious + items: + type: object + properties: + name: + type: string + description: The name of the false positive, often in the form "protocol-or-scope:attack_type" + example: "seo:crawler" + label: + type: string + description: Human-friendly name of the category + example: SEO crawler + description: + type: string + description: Human-friendly description of the category + example: IP belongs to a known SEO crawler and should not be flagged as a threat. + classifications: + type: array + description: A list of categories associated with the IP. Those data can be sourced from 3rd parties (i.e. tor exit nodes list) + items: + type: object + properties: + name: + type: string + description: The name of the category, often in the form "protocol-or-scope:attack_type" + example: "community-blocklist" + label: + type: string + description: Human-friendly name of the category + example: CrowdSec Community Blocklist + description: + type: string + description: Human-friendly description of the category + example: IP belong to the CrowdSec Community Blocklist + mitre_techniques: + type: array + description: A list of Mitre Enterprise Techniques associated with the IP. + items: + type: object + properties: + name: + type: string + description: The ID of the Mitre technique" + example: "T1190" + label: + type: string + description: The name of the Mitre technique + example: Exploit Public-Facing Application + description: + type: string + description: Description of the Mitre technique + example: Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network. + cves: + type: array + description: A list of CVEs reported for this IP. + items: + type: string + attack_details: + type: array + description: A more exhaustive list of the scenarios for which a given IP was reported + items: + type: object + properties: + name: + type: string + description: Name of the scenario (see hub.crowdsec.net) + example: crowdsecurity/http-bad-user-agent + label: + type: string + description: Human-friendly descriptions of scenarios + example: Known Bad User-Agent + description: + type: string + description: Human-friendly descriptions of scenarios + example: Detect bad user-agents + references: + type: array + items: + type: string + target_countries: + type: object + description: The top 10 reports repartition by country about the IP, as a percentage + scores: + type: object + properties: + overall: + type: object + properties: + aggressiveness: + type: number + description: Overall aggressiveness score + threat: + type: number + description: Overall threat score + trust: + type: number + description: Overall trust score + anomaly: + type: number + description: Overall anomaly score + total: + type: number + description: Overall score + last_day: + type: object + properties: + aggressiveness: + type: number + description: Last day aggressiveness score + threat: + type: number + description: Last day threat score + trust: + type: number + description: Last day trust score + anomaly: + type: number + description: Last day anomaly score + total: + type: number + description: Last day score + last_week: + type: object + properties: + aggressiveness: + type: number + description: Last week aggressiveness score + threat: + type: number + description: Last week threat score + trust: + type: number + description: Last week trust score + anomaly: + type: number + description: Last week anomaly score + total: + type: number + description: Last week score + last_month: + type: object + properties: + aggressiveness: + type: number + description: Last month aggressiveness score + threat: + type: number + description: Last month threat score + trust: + type: number + description: Last month trust score + anomaly: + type: number + description: Last month anomaly score + total: + type: number + description: Last month score + + FireIPCTIResponse: + title: "Fire IP CTI Response" + allOf: + - $ref: "#/components/schemas/CTIObject" + - type: object + properties: + state: + type: string + description: "state of the IP in the community blocklist: validated means IP is currently part of community blocklist, refused means it was part of the community blocklist, but was manually purged (ie. false positive)" + enum: + - validated + - refused + example: validated + expiration: + type: string + description: Date at which the IP address expire from the community blocklist + example: "2022-03-04T10:00:00" + SearchCTIResponse: + title: "Search CTI Response" + type: "object" + required: + - items + - total + - not_found + properties: + total: + type: number + description: IP of the request + not_found: + type: number + items: + type: array + items: + $ref: "#/components/schemas/CTIObject" + QueryCTIResponse: + title: "Query IP CTI Response" + $ref: "#/components/schemas/CTIObject" + FireCTIResponse: + title: "Fire CTI response" + type: "object" + required: + - _links + - items + properties: + _links: + type: object + required: + - self + - next + - first + properties: + self: + type: object + required: + - href + properties: + href: + type: string + description: "Url of the current result set" + example: https://cti.api.dev.crowdsec.net/v1/fire?page=3&since=4h + prev: + type: object + required: + - href + properties: + href: + type: string + description: "Url of the previous page of result set" + example: https://cti.api.dev.crowdsec.net/v1/fire?page=2&since=4h + next: + type: object + required: + - href + properties: + href: + type: string + description: "Url of the next page of result set" + example: https://cti.api.dev.crowdsec.net/v1/fire?page=4&since=4h + first: + type: object + required: + - href + properties: + href: + type: string + nullable: true + description: "Url of the first page of result set" + example: https://cti.api.dev.crowdsec.net/v1/fire?since=4 + items: + type: array + items: + $ref: "#/components/schemas/FireIPCTIResponse" + ErrorResponse: + type: "object" + required: + - "message" + properties: + message: + type: "string" + description: "Error message" + errors: + type: "string" + description: "More details on individual errors" + title: "Error response" + description: "Error response return by the API" \ No newline at end of file diff --git a/Plugins/Published Plugins/CrowdSecTI/readme.md b/Plugins/Published Plugins/CrowdSecTI/readme.md new file mode 100644 index 00000000..857a58bb --- /dev/null +++ b/Plugins/Published Plugins/CrowdSecTI/readme.md @@ -0,0 +1,47 @@ +# CrowdSec Threat Intelligence + +This plugin allows users to enhance their IP investigations with threat intelligence sourced from **CrowdSec** and get insights such as: + - Curated IP and IP range reputations + - Background noise level assessment + - Detailed records of malicious behaviors + - MITRE techniques associated with the IP + - Countries targeted by the attacker + - Classification of the attacker + - Historical activity and aggressiveness metrics (covering the past 24h, 7 days, 30 days, and overall) + +[You can find detailed product information here](https://www.crowdsec.net/cyber-threat-intelligence) + +## **Pre-requisites** + +1. The plugin requires the use of an API key that can be obtained by creating a free account [here](https://app.crowdsec.net/signup). + +Once logged in, you can create and manage your API Keys in the **Settings > API Keys** section: + +![Create API Key](Images/create-api-key.png) + +2. From the Plugin manager, locate the CrowdSec Plugin and enable it + +![Enable Plugin](Images/enable-crowdsec-plugin.png) + +3. Click the "Set Up" button, enter the CrowdSec API key and press "Save." + +![Configure API Key](Images/configure-api-key.png) + + +## Invoking the Plugin and Skills + +1. Use a Natural Language prompt from the examples below or use Direct Skill Invocation ("/") + + +## Skills & Prompts + +1. Look up IP address: Ask CrowdSec about an IP + - Example Prompt(s): + - What can CrowdSec tell me about this IP: [IP] + - According to CrowdSec what are the top targeted countries by this IP: [IP] + - Inputs: [IP] + +## Frequently Asked Questions (FAQ) + +1. **Important**: invocation issues + If prompts fail to invoke, please ensure you're using a supported Prompt above. Otherwise, invoke it using Direct Skill Invocation "/" diff --git a/Plugins/Published Plugins/CywareRespond/CywareRespond_manifest.yaml b/Plugins/Published Plugins/CywareRespond/CywareRespond_manifest.yaml new file mode 100644 index 00000000..5007f03d --- /dev/null +++ b/Plugins/Published Plugins/CywareRespond/CywareRespond_manifest.yaml @@ -0,0 +1,34 @@ +Descriptor: + Name: CywareRespond + DisplayName: Cyware Respond (Preview) + DescriptionDisplay: Automated Incident Response and threat analysis platform informed by extensive data visibility and advanced correlation to drive intelligent action from cybersecurity teams. + Description: |- + Use this skillset to call Cyware Respond APIs to perform actions across the Cyware Respond platform. + - This skill invokes Cyware Respond's REST API + - In the all the APIs + - You **should always** show the Incident UUID in the response and show the user. This will be required to add / act on the incident in future prompts + - You **should always** ensure to include key fields such as Title, Description, Status, Readable ID, Unique ID, Motives and the others you deem fit for listing / searching incidents + - When getting particular details about a component, You **should always** Ensure to include key info such as Title, Description, Status, Readable ID, Unique ID, Motives, Related Applications, Related Software's, Related Users, Related Malware and Related IOCs and the others you deem fit + + + Settings: + - Name: InstanceURL + Label: Cyware Respond Instance URL + Description: The URL of the instance to connect to + HintText: "e.g. https://tenant.cyware.com" + SettingType: String + Required: true + SupportedAuthTypes: + - ApiKey + Authorization: + Type: APIKey + Key: Authorization + Location: Header + AuthScheme: 'Bearer' + Icon: https://documents.cyware.com/public/CywareLogo_96X96.jpg + +SkillGroups: + - Format: API + Settings: + OpenApiSpecUrl: https://documents.cyware.com/public/cftr-openapi-spec.yaml + EndpointUrlSettingName: InstanceURL diff --git a/Plugins/Published Plugins/CywareRespond/README.md b/Plugins/Published Plugins/CywareRespond/README.md new file mode 100644 index 00000000..91d1dad7 --- /dev/null +++ b/Plugins/Published Plugins/CywareRespond/README.md @@ -0,0 +1,145 @@ +# Cyware Respond (CFTR) Integration with Microsoft Security Copilot + +## Introduction + +Cyware Fusion and Threat Response (Cyware Respond) is a threat response automation platform that combines cyber fusion, advanced orchestration, and automation. It enables security analysts to tackle various threats, including malware, vulnerabilities, incidents, campaigns, and threat actors. Through integrated threat databases, it offers capabilities to manage and respond to diverse security threats. + +## Setup Instructions + + + +1. Installation + +* Locate the plugin marketplace within Microsoft Security Copilot. +* Search for "Cyware Respond" and install the plugin. + +![](images/image1.png) + +2. Cyware Respond Instance Setup + +* Log into your Cyware Respond instance. +* Access the Admin Panel of Cyware Respond. +* Navigate to Open APIs and create a new OpenAPI credential set. +* Securely copy the OpenAPI token generated. + + + +3. Copilot Plugin Configuration + +* Access the configuration settings for the Cyware Respond (CFTR) plugin in Microsoft Security Copilot. +* Enter the following: + +* Cyware Respond Instance URL: (e.g., [invalid URL removed]) +* API Token: (Paste the copied token) + +![](images/image2.png) + +4. Save and Test + +* Click "Save" to apply your configuration. + +5. Once saved, you can ensure the plugin is active by running an ISV invocation by using the following /Cyware Respond and executing any simple action corresponding with organisational usage guidelines to ensure correct enablement + + + +![](images/image3.png) + +## Usage Examples + +### Incident Management + +Querying Incidents + +* "Search for incidents related to 'ransomware' in Cyware Respond." +* "Find incidents mentioning 'data breach' in Cyware Respond." + +Retrieving Incident Details + +* "Get details for the above incident from Cyware Respond." +* "Show more information about the incident in Cyware Respond with UUID ." + +### Action Management + +Querying Actions + +* "Look up actions tagged with 'isolate' from this week in Cyware Respond." +* "Find all 'network scan' actions performed yesterday in Cyware Respond." + +Action Details + +* "Retrieve details of the last action we discussed from Cyware Respond." +* "Can you provide more info on the previously mentioned action in Cyware Respond?" + +### Application Management + +Querying Applications + +* "Search for applications with 'firewall' in their name in Cyware Respond." +* "Find security tools updated recently in Cyware Respond." + +Application Details + +* "Get details for the above application from Cyware Respond." +* "Show configuration details for the previously discussed security application in Cyware Respond." + +### Software Asset Management + +Querying Software Assets + +* "List critical software assets in Cyware Respond." +* "Search for software needing updates in Cyware Respond." + +Software Details + +* "Provide details for the last mentioned software asset in Cyware Respond." +* "Can you fetch the version info of the software we talked about earlier in Cyware Respond?" + +### Campaign Management + +Querying Campaigns + +* "Find all active campaigns related to 'phishing' in Cyware Respond." +* "Search for recent campaigns targeting remote employees in Cyware Respond." + +Campaign Details + +* "Get campaign details for the previously mentioned campaign in Cyware Respond." +* "Show more details about that cyber threat campaign from Cyware Respond." + +### Threat Intelligence Management + +Querying Threat Intelligence + +* "Search for threat intel on 'DDoS attacks' in Cyware Respond." +* "Retrieve updates on 'APT groups' from this week in Cyware Respond." + +Threat Intel Details + +* "Show details of the last threat intel we discussed in Cyware Respond." +* "Can you provide more info on the threat actor mentioned earlier in Cyware Respond?" + +### Malware Management + +Querying Malware + +* "Find all malware detections from the past week in Cyware Respond." +* "Search for 'spyware' detections in the marketing department in Cyware Respond." + +Malware Details + +* "Give me the details of the previously mentioned malware in Cyware Respond." +* "I need more information on that 'ransomware' we identified in Cyware Respond." + +### Vulnerability Management + +Querying Vulnerabilities + +* "Search for high-severity vulnerabilities in Cyware Respond." +* "List all vulnerabilities discovered in the network infrastructure in Cyware Respond." + +Vulnerability Details + +* "Get details of the vulnerability we discussed last time in Cyware Respond." +* "Show mitigation steps for the above-mentioned vulnerability in Cyware Respond. + + \ No newline at end of file diff --git a/Plugins/Published Plugins/CywareRespond/images/configure-cyware-respond-plugin.png b/Plugins/Published Plugins/CywareRespond/images/configure-cyware-respond-plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..cf64cc98f155f7b8c2f9a6a1c6f0ad014e4e6969 GIT binary patch literal 176449 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

`;AXL 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 WHabBk+K?;2KN(3yiINwu-v2LY@kavy literal 0 HcmV?d00001 diff --git a/Plugins/Published Plugins/CywareRespond/images/test-cyware-respond-plugin.png b/Plugins/Published Plugins/CywareRespond/images/test-cyware-respond-plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..d2d9566d76f4599815e864d649d359479a3253fe GIT binary patch literal 203576 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ℜ1?myYFC0%iM%NrTzF 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°gFT!sz_^M-tF7oiK|9kSq`fbtDtz2vH`n`uXPp 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

#pzHy2Y&FLPR!ZW;d(eh-DVp# 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

ePNYpsOWbRn&lY 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 FCIDgyG8F&- literal 0 HcmV?d00001 diff --git a/Plugins/Published Plugins/GreyNoiseCommunity/GreynoiseCommunity_Manifest.yaml b/Plugins/Published Plugins/GreyNoiseCommunity/GreynoiseCommunity_Manifest.yaml new file mode 100644 index 00000000..6fdcfda9 --- /dev/null +++ b/Plugins/Published Plugins/GreyNoiseCommunity/GreynoiseCommunity_Manifest.yaml @@ -0,0 +1,25 @@ +Descriptor: + Name: GreyNoise Community + DisplayName: GreyNoise Community (Preview) Plugin + DescriptionDisplay: GreyNoise Community provides insight if an IP has been observed mass-scanning the internet or is part of a common business service. + Description: |- + Use this skill-set to call the GreyNoise API if the user provides a given IP and wants to know assess the likelihood of the IP address being associated with mass internet scanning. + - This skill only invokes the GreyNoise Community API. + - LookupIpAddressNoise: Gets noise information about an IP address (v4 only). Internet scanning activity is provided by GreyNoise if an IP has been observed scanning by the GreyNoise sensor network and is associated with malicious activities. + - Classifies the IP address as benign, suspicious, or malicious + - Presents the last time the IP address was observed + - Published by Microsoft and GreyNoise + Category: Other + Icon: https://info.greynoise.io/hubfs/greynoise_logo.png + SupportedAuthTypes: + - ApiKey + Authorization: + Type: APIKey + Key: Key + Location: Header + AuthScheme: '' + +SkillGroups: + - Format: API + Settings: + OpenApiSpecUrl: https://gist.githubusercontent.com/bradchiappetta/85e2a0da55292e59e1bbd684c7d10579/raw/bef0494698f6c4364f40fd942c6e2a23321a6b0b/GreynoiseCommunity_OpenAPI.yaml \ No newline at end of file diff --git a/Plugins/Published Plugins/GreyNoiseCommunity/GreynoiseCommunity_OpenAPI.yaml b/Plugins/Published Plugins/GreyNoiseCommunity/GreynoiseCommunity_OpenAPI.yaml new file mode 100644 index 00000000..9d8f26e6 --- /dev/null +++ b/Plugins/Published Plugins/GreyNoiseCommunity/GreynoiseCommunity_OpenAPI.yaml @@ -0,0 +1,73 @@ +openapi: 3.0.0 + +info: + title: GreyNoise API + description: GreyNoise API for IP noise analysis + version: "v1" + +servers: + - url: https://api.greynoise.io + +paths: + /v3/community/{ip}: + get: + operationId: Look up IP address noise + summary: Look up noise information on an IP address. + description: | + This endpoint allows you to check an IP address against the GreyNoise database. + #ExamplePrompts Tell me about Ip address "118.25.6.39" using the GreyNoise database + #ExamplePrompts Use the GreyNoise database to provide info on "118.25.6.39" + #ExamplePrompts What does the GreyNoise database say about the IP address 180.126.219.127? + #ExamplePrompts I'm curious about any GreyNoise records for the IP address 180.126.219.127. Can you look that up for me? + #ExamplePrompts Can you provide me with information on any GreyNoise reports for the IP address 180.126.219.127? + #ExamplePrompts I'd like to know if there are any GreyNoise entries for the IP address 180.126.219.127. Can you check that for me? + #ExamplePrompts Could you give me an overview of the GreyNoise record for the IP address 180.126.219.127? + parameters: + - in: path + name: ip + schema: + type: string + required: true + description: The IP address to lookup + responses: + "401": + description: Unauthorized + "404": + description: Not Found + "429": + description: Rate Limit Exceeded + "500": + description: Internal Server Error + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/LookupIpCommunityResponse" + +components: + schemas: + LookupIpCommunityResponse: + type: object + properties: + ip: + type: string + description: The IP address + noise: + type: boolean + description: Indicates if the IP is considered an internet scanner + riot: + type: boolean + description: Indicates if the IP is a common business service + classification: + type: string + description: The classification of the IP + name: + type: string + description: The actor or provider associated with the IP + last_seen: + type: string + description: The last time the IP was seen + link: + type: string + description: A link to the GreyNoise visualizer for the IP diff --git a/Plugins/Published Plugins/GreyNoiseCommunity/images/GreyNoiseCommunity_plugin.png b/Plugins/Published Plugins/GreyNoiseCommunity/images/GreyNoiseCommunity_plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..a50241ae566cc6ff4eaae4457ff1b06d0c2e9e23 GIT binary patch literal 39539 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�AUaKS7;w7KQgdGFvRHOwrRCdjh`e&d?i8T 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 literal 0 HcmV?d00001 diff --git a/Plugins/Published Plugins/GreyNoiseCommunity/readme.md b/Plugins/Published Plugins/GreyNoiseCommunity/readme.md new file mode 100644 index 00000000..2ac75ddc --- /dev/null +++ b/Plugins/Published Plugins/GreyNoiseCommunity/readme.md @@ -0,0 +1,33 @@ +# GreyNoise Community +**Author: Shiv Patel + Brad Chiappetta** +**Publisher: Microsoft + GreyNoise** + +This plugin enables users to enrich investigations using threat intelligence from GreyNoise: + 1. Query information on an IP + +Product Information: +https://www.greynoise.io/greynoise-product + +**Note** +This plugin uses the GreyNoise Community (free) API, but still requires a GreyNoise Community (free) account to be [created here](https://viz.greynoise.io/signup). + +## **Pre-requisites** +1. From the Plugin manager, locate the GreyNoise Enterprise Plugin and enable it +![Enable Plugin](images/GreyNoiseCommunity_plugin.png) + + ## Invoking the Plugin and Skills +2. **Important** + After selecting or uploading, click the "Set Up" button and enter the copied API key from the Pre-requisites above and press "Save." +![Enter Key](images/GreyNoiseCommunity_settings.png) + +3. Use a Natural Language prompt from below examples or use Direct Skill Invocation ("/") + + +## Skills & Prompts +1. Look up IP address noise: Ask GreyNoise about an IP + - Example Prompt(s): Tell me about Ip address [IP] using the GreyNoise database + - Inputs: [IP] + +## Frequently Asked Questions (FAQ) +1. **Important** + If prompts fail to invoke, please ensure you're using a supported Prompt above. Otherwise, invoke it using Direct Skill Invocation "/" diff --git a/Plugins/Published Plugins/GreyNoiseEnterprise/GreyNoiseEnterprise_manifest.yaml b/Plugins/Published Plugins/GreyNoiseEnterprise/GreyNoiseEnterprise_manifest.yaml new file mode 100644 index 00000000..01795d09 --- /dev/null +++ b/Plugins/Published Plugins/GreyNoiseEnterprise/GreyNoiseEnterprise_manifest.yaml @@ -0,0 +1,28 @@ +Descriptor: + Name: GreyNoise Enterprise + DisplayName: GreyNoise Enterprise (Preview) Plugin + DescriptionDisplay: GreyNoise Enterprise provides insight if an IP has been observed mass-scanning the internet or is part of a common business service. It also includes the ability to use the GreyNoise Query Language (GNQL) for advanced queries. + Description: |- + Use this skill-set to call the GreyNoise API if the user provides a given IP and wants to know assess the likelihood of the IP address being associated with mass internet scanning or a common business service. + - This skill invokes the GreyNoise Enterprise API. + - Noise Contextual API: Requires knowledge of IP addresses and understanding of internet scanning activities. Ability to interpret context about an IP's behavior is crucial. + - Noise Quick API: Requires basic understanding of IP addresses and the concept of "noise", or mass internet scanning, in network traffic. Ability to quickly analyze and interpret whether an IP address is likely to be just "noise". + - Noise Multi API: Requires understanding of multiple IP addresses and the ability to analyze them in bulk. Knowledge of how to interpret whether a set of IP addresses are likely to be "noise". + - RIOT API: Requires knowledge of IP addresses that belong to a common business service. Ability to interpret whether an IP address is part of a common business service. + - GNQL API: Requires advanced knowledge of the GreyNoise Query Language (GNQL) and the ability to construct complex queries to extract specific information from the GreyNoise dataset. + - GNQL STATS API: Requires advanced knowledge of the GreyNoise Query Language (GNQL) and the ability to query stats information on CVEs + - Published by Microsoft and GreyNoise + Category: Other + Icon: https://info.greynoise.io/hubfs/greynoise_logo.png + SupportedAuthTypes: + - ApiKey + Authorization: + Type: APIKey + Key: Key + Location: Header + AuthScheme: '' + +SkillGroups: + - Format: API + Settings: + OpenApiSpecUrl: https://gist.githubusercontent.com/bradchiappetta/ae771fe4aaf8a3f6a49d805b6087ec36/raw/GreynoiseEnterprise_OpenAPI.yaml diff --git a/Plugins/Published Plugins/GreyNoiseEnterprise/GreynoiseEnterprise_OpenAPI.yaml b/Plugins/Published Plugins/GreyNoiseEnterprise/GreynoiseEnterprise_OpenAPI.yaml new file mode 100644 index 00000000..07f66608 --- /dev/null +++ b/Plugins/Published Plugins/GreyNoiseEnterprise/GreynoiseEnterprise_OpenAPI.yaml @@ -0,0 +1,159 @@ +openapi: "3.0.0" +info: + title: GreyNoise Enterprise API + description: GreyNoise Enterprise API for IP noise analysis + version: "2.0" +servers: + - url: https://api.greynoise.io +paths: + /v2/noise/context/{ip}: + get: + operationId: Look up IP context + summary: Look up IP context from Greynoise database. + description: | + This endpoint allows you to check an IP context against the GreyNoise database. + #ExamplePrompts Tell me about Ip address "118.25.6.39" using GreyNoise database + #ExamplePrompts Find the GreyNoise IP Context for IP 183.221.243.13 + parameters: + - name: ip + in: path + required: true + schema: + type: string + description: The IP address to get context for. + responses: + "200": + description: OK + content: + application/json: {} + "400": + description: "400 response" + content: + application/json: {} + /v2/noise/quick/{ip}: + get: + operationId: Look up IP quick + summary: Check if an IP is "noise" or not. + description: | + This endpoint provides a quick way to check if an IP is "noise" or not. + #ExamplePrompts Use GreyNoise to do a quick check of IP 183.221.243.13 + #ExamplePrompts Find the GreyNoise for IP 183.221.243.13 using a quick lookup + parameters: + - name: ip + in: path + required: true + schema: + type: string + description: The IP address to check. + responses: + "200": + description: OK + content: + application/json: {} + "400": + description: "400 response" + content: + application/json: {} + /v2/noise/multi/quick: + post: + operationId: Look up multiple IPs + summary: Look up IP addresses in bulk. + description: | + This endpoint allows you to quickly lookup data on IPs in bulk + #ExamplePrompts Lookup Multiple IPs using GreyNoise 183.221.243.13 and 8.8.8.8 + #ExamplePrompts I want to know about multiple IPs using GreyNoise. The IP addresses are 183.221.243.13 and 8.8.8.8. + requestBody: + content: + application/json: + schema: + type: object + properties: + ips: + type: string + items: + type: string + description: List of IP addresses to look up. i.e. ["1.2.3.4", "5.6.7.8", "8.8.8.8", "123.123.123.123"] + required: + - ips + responses: + "200": + description: OK + content: + application/json: {} + "400": + description: "400 response" + content: + application/json: {} + /v2/riot/{ip}: + get: + operationId: Look up IP riot + summary: Look up commonly whitelisted IPs. + description: | + This endpoint provides information about commonly whitelisted IPs. + #ExamplePrompts Use GreyNoise to check the Riot information on IP 183.221.243.13 + #ExamplePrompts I want to know the GreyNoise riot information on IP 8.8.8.8 + parameters: + - name: ip + in: path + required: true + schema: + type: string + description: The IP address to get information for. + responses: + "200": + description: OK + content: + application/json: {} + "400": + description: "400 response" + content: + application/json: {} + /v2/experimental/gnql: + get: + operationId: Look up GNQL + summary: Use the GreyNoise Query Language (GNQL) to query against the GreyNoise dataset. + description: | + This endpoint allows you to use the GreyNoise Query Language (GNQL) to make complex queries against the GreyNoise dataset. + #ExamplePrompts Use GreyNoise to check the GNQL information on tags:"RDP Scanner" + #ExamplePrompts Query GNQL for tags:"RDP Scanner" + #ExamplePrompts Search for all IPs scanning sensors located in Germany with GNQL GreyNoise Enterprise destination_country:"Germany" + parameters: + - name: query + in: query + required: true + schema: + type: string + description: The GNQL query to execute. + responses: + "200": + description: OK + content: + application/json: {} + "400": + description: "400 response" + content: + application/json: {} + /v2/experimental/gnql/stats: + get: + operationId: Look up CVE stats + summary: Use the GreyNoise Query Language (GNQL) stats to query against the GreyNoise dataset for CVE information. + description: | + This endpoint allows you to use the GreyNoise Query Language (GNQL) stats endpoint to query for CVE stats information + #ExamplePrompts Use GreyNoise to check stats on CVE-2017-17215 + #ExamplePrompts What does GreyNoise know about CVE-2017-17215 + parameters: + - name: query + in: query + required: true + schema: + type: string + description: The CVE. + responses: + "200": + description: OK + content: + application/json: {} + "400": + description: "400 response" + content: + application/json: {} \ No newline at end of file diff --git a/Plugins/Published Plugins/GreyNoiseEnterprise/images/GreyNoiseEnterprise_plugin.png b/Plugins/Published Plugins/GreyNoiseEnterprise/images/GreyNoiseEnterprise_plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..147484ab3f5d2fa02a605ba6781feb43c45055d2 GIT binary patch literal 42856 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 literal 0 HcmV?d00001 diff --git a/Plugins/Published Plugins/GreyNoiseEnterprise/images/GreyNoiseEnterprise_settings.png b/Plugins/Published Plugins/GreyNoiseEnterprise/images/GreyNoiseEnterprise_settings.png new file mode 100644 index 0000000000000000000000000000000000000000..52b72336d90cbf051120802a1425f5369a65f72a GIT binary patch literal 27128 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 rHLPI1>MmqF2jD)Z|F2R0fA4q&P+|;sDGOb`q9^ literal 0 HcmV?d00001 diff --git a/Plugins/Published Plugins/GreyNoiseEnterprise/readme.md b/Plugins/Published Plugins/GreyNoiseEnterprise/readme.md new file mode 100644 index 00000000..7b64b6cb --- /dev/null +++ b/Plugins/Published Plugins/GreyNoiseEnterprise/readme.md @@ -0,0 +1,56 @@ +# GreyNoise Enterprise +**Author: Shiv Patel + Brad Chiappetta** + +**Publisher: Microsoft + GreyNoise** + +This plugin enables users to enrich investigations using threat intelligence from GreyNoise: +1. Query information on an IP +2. Execute a GreyNoise Query + +Product Information: +https://www.greynoise.io/greynoise-product + +**Note** +Ensure you have a GreyNoise subscription with sufficient Search capacity for your usage + +## **Pre-requisites** +1. Login to your [GreyNoise Account](https://viz.greynoise.io/account/plan) +2. Access your GreyNoise API key on the [My API Key Tab](https://viz.greynoise.io/account/api-key) +3. Copy the API key to enter into Co-Pilot. + + +## Select or upload the attached manifest file into your Copilot for Security console +1. From the Plugin manager, locate the GreyNoise Enterprise Plugin and enable it +![Enable Plugin](images/GreyNoiseEnterprise_plugin.png) + + ## Invoking the Plugin and Skills +2. **Important** + After selecting or uploading, click the "Set Up" button and enter the copied API key from the Pre-requisites above and press "Save." +![Enter Key](images/GreyNoiseEnterprise_settings.png) + +3. Use a Natural Language prompt from below examples or use Direct Skill Invocation ("/") + + +## Skills & Prompts +1. Look up IP context: Ask GreyNoise if this IP is an Internet Scanner + - Example Prompt(s): Tell me about Ip address [IP] using GreyNoise database, Find the GreyNoise IP Context for IP [IP] + - Inputs: [IP] +2. Look up IP quick: Ask GreyNoise for a quick check of this IP + - Example Prompt(s): Find the GreyNoise for IP [IP] using a quick lookup, Use GreyNoise to do a quick check of [IP] + - Inputs: [IP] +3. Look up multiple IPs: Ask GreyNoise for a quick check of multiple IPs + - Example Prompt(s): Find the GreyNoise for IPs [IP, IP, IP] using a quick lookup, Use GreyNoise to do a quick check of [IP, IP, IP] + - Inputs: [List of IPs] +4. Look up IP riot: Ask GreyNoise if this IP is associated with a Common Business Service + - Example Prompt(s): Use GreyNoise to check the Riot information on IP [IP], I want to know the GreyNoise riot information on IP [IP] + c +5. Look up GNQL: Query GreyNoise using the GreyNoise Query Language (GNQL) + - Example Prompt(s): Use GreyNoise to check the GNQL information on [QUERY], Query GNQL for [QUERY], Search for all IPs scanning sensors located in Germany with GNQL GreyNoise Enterprise [QUERY] + - Inputs: [QUERY] +6. Look up CVE: Use the GreyNoise Query Language (GNQL) stats to query against the GreyNoise dataset for CVE information. + - Example Prompt(s): Use GreyNoise to check stats on [CVE], What does GreyNoise know about [CVE] + - Inputs: [CVE] + +## Frequently Asked Questions (FAQ) +1. **Important** + If prompts fail to invoke, please ensure you're using a supported Prompt above. Otherwise, invoke it using Direct Skill Invocation "/" diff --git a/Plugins/Published Plugins/Netskope-Copilot-Plugin/CoPilotOpenAPISpec.yaml b/Plugins/Published Plugins/Netskope-Copilot-Plugin/CoPilotOpenAPISpec.yaml new file mode 100644 index 00000000..34d939fb --- /dev/null +++ b/Plugins/Published Plugins/Netskope-Copilot-Plugin/CoPilotOpenAPISpec.yaml @@ -0,0 +1,19027 @@ +openapi: 3.0.1 +info: + description: Netskope API documentation + version: 1.0.0 + title: Netskope API +paths: + /data/alert: + x-netskope-params: + serviceConfig: queryservice + version: 2 + customerFacing: true + apiGroup: alert + get: + summary: Get alerts generated by Netskope + description: | + Get a list of alerts generated by Netskope. You can filter by timeperiod, alert type, acknowledged, or advanced query parameters. + This endpoint allows you to check all the Netskope Alerts in your tenant. + #ExamplePrompts Show me all the Netskope Alerts for last 90 days for DLP. + #ExamplePrompts Show me all the Netskope Alerts for last 3 days. + #ExamplePrompts Show me the Netskope Alerts for Monday Oct 23 UTC for uba. + #ExamplePrompts Show me all Netskope Malware Alerts for the last week. + #ExamplePrompts Show me all Netskope Compromised Credential Alerts for the last 3 days. + #ExamplePrompts Show me all Netskope Compromised Credential Alerts for last 24 hours. + #ExamplePrompts Show me all Netskope Compromised Credential Alerts for last 24 hours with user exampleUser@netskope.com. + + parameters: + - name: type + in: query + required: false + description: Alert type you would like to filter on + schema: + type: string + enum: + - anomaly + - uba + - Compromised Credential + - DLP + - Legal Hold + - Malware + - malsite + - policy + - quarantine + - Remediation + - Security Assessment + - watchlist + - name: acked + in: query + required: false + description: Filter alerts by acknowledged status + schema: + type: string + enum: + - 'true' + - 'false' + + - name: limit + in: query + required: true + description: Max number of records to retrieve + schema: + type: integer + minimum: 0 + maximum: 5000 + default: 100 + - name: offset + in: query + required: true + description: Used to shift the window of alerts if limit is reached + schema: + type: integer + minimum: 0 + default: 0 + - name: starttime + in: query + required: true + description: Unix timestamp of start time period of alerts + schema: + type: integer + minimum: 0 + default: 0 + - name: endtime + in: query + required: true + description: Unix timestamp of end time period of alerts + schema: + type: integer + minimum: 0 + - name: insertionstarttime + in: query + required: true + description: Restrict alerts which have been inserted into the database after the specified time. Always same as starttime. + schema: + type: integer + minimum: 0 + default: 0 + - name: insertionendtime + in: query + required: true + description: Restrict alerts which have been inserted into the database before the specified time. Always same as endtime. + schema: + type: integer + minimum: 0 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + ok: + type: integer + enum: + - 0 + - 1 + default: 1 + result: + type: array + items: + type: object + '400': + description: Invalid request + content: + application/json: + schema: + $ref: '#/components/schemas/400' + tags: + - events + /data/application: + x-netskope-params: + serviceConfig: queryservice + version: 2 + customerFacing: true + apiGroup: application + get: + summary: Get application events generated by Netskope + description: | + Get a list of application events generated by Netskope. You can filter by timeperiod or advanced query parameters. + #ExamplePrompts Show me all the Netskope Application Events for last 90 days. + #ExamplePrompts Show me all the Netskope Application Events for last 3 days. + #ExamplePrompts Show me the Netskope Application Events for Monday Oct 23 UTC. + parameters: + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + minimum: 0 + maximum: 5000 + default: 100 + - name: offset + in: query + required: false + description: Used to shift the window of alerts if limit is reached + schema: + type: integer + minimum: 0 + default: 0 + - name: starttime + in: query + required: true + description: Unix timestamp of start time period of alerts + schema: + type: integer + minimum: 0 + default: 0 + - name: endtime + in: query + required: true + description: Unix timestamp of end time period of alerts + schema: + type: integer + minimum: 0 + - name: insertionstarttime + in: query + required: true + description: Restrict alerts which have been inserted into the database after the specified time. Always same as starttime. + schema: + type: integer + minimum: 0 + default: 0 + - name: insertionendtime + in: query + required: true + description: Restrict alerts which have been inserted into the database before the specified time. Always same as endtime. + schema: + type: integer + minimum: 0 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + ok: + type: integer + enum: + - 0 + - 1 + default: 1 + result: + type: array + items: + type: object + '400': + description: Invalid request + content: + application/json: + schema: + $ref: '#/components/schemas/400' + tags: + - events + /data/audit: + x-netskope-params: + serviceConfig: queryservice + version: 2 + customerFacing: true + apiGroup: audit + get: + summary: Get audit events generated by Netskope + description: | + Get a list of audit events generated by Netskope. You can filter by timeperiod or advanced query parameters. + #ExamplePrompts Show me all the Netskope Audit Events for last 90 days. + #ExamplePrompts Show me all the Netskope Audit Events for last 3 days. + #ExamplePrompts Show me the Netskope Audit Events for Monday Oct 23 UTC. + parameters: + - name: limit + in: query + required: true + description: Max number of records to retrieve + schema: + type: integer + minimum: 0 + maximum: 5000 + default: 100 + - name: offset + in: query + required: false + description: Used to shift the window of alerts if limit is reached + schema: + type: integer + minimum: 0 + default: 0 + - name: starttime + in: query + required: true + description: Unix timestamp of start time period of alerts + schema: + type: integer + minimum: 0 + default: 0 + - name: endtime + in: query + required: true + description: Unix timestamp of end time period of alerts + schema: + type: integer + minimum: 0 + - name: insertionstarttime + in: query + required: true + description: Restrict alerts which have been inserted into the database after the specified time. Always same as starttime. + schema: + type: integer + minimum: 0 + default: 0 + - name: insertionendtime + in: query + required: true + description: Restrict alerts which have been inserted into the database before the specified time. Always same as endtime. + schema: + type: integer + minimum: 0 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + ok: + type: integer + enum: + - 0 + - 1 + default: 1 + result: + type: array + items: + type: object + '400': + description: Invalid request + content: + application/json: + schema: + $ref: '#/components/schemas/400' + tags: + - events + + /data/infrastructure: + x-netskope-params: + serviceConfig: queryservice + version: 2 + customerFacing: true + apiGroup: infrastructure + get: + summary: Get infrastructure events generated by Netskope + description: | + Get a list of infrastructure events generated by Netskope. You can filter by timeperiod or advanced query parameters. + #ExamplePrompts Show me all the Netskope Infrastructure Events for last 90 days. + #ExamplePrompts Show me all the Netskope Infrastructure Events for last 3 days. + #ExamplePrompts Show me the Netskope Infrastructure Events for Monday Oct 23 UTC. + parameters: + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + minimum: 0 + maximum: 5000 + default: 100 + - name: offset + in: query + required: false + description: Used to shift the window of alerts if limit is reached + schema: + type: integer + minimum: 0 + default: 0 + - name: starttime + in: query + required: true + description: Unix timestamp of start time period of alerts + schema: + type: integer + minimum: 0 + default: 0 + - name: endtime + in: query + required: true + description: Unix timestamp of end time period of alerts + schema: + type: integer + minimum: 0 + - name: insertionstarttime + in: query + required: true + description: Restrict alerts which have been inserted into the database after the specified time. Always same as starttime. + schema: + type: integer + minimum: 0 + default: 0 + - name: insertionendtime + in: query + required: true + description: Restrict alerts which have been inserted into the database before the specified time. Always same as endtime. + schema: + type: integer + minimum: 0 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + ok: + type: integer + enum: + - 0 + - 1 + default: 1 + result: + type: array + items: + type: object + '400': + description: Invalid request + content: + application/json: + schema: + $ref: '#/components/schemas/400' + tags: + - events + /data/network: + x-netskope-params: + serviceConfig: queryservice + version: 2 + customerFacing: true + apiGroup: network + get: + summary: Get network events generated by Netskope + description: | + Get a list of network events generated by Netskope. You can filter by timeperiod or advanced query parameters. + #ExamplePrompts Show me all the Netskope Network Events for last 90 days. + #ExamplePrompts Show me all the Netskope Network Events for last 3 days. + #ExamplePrompts Show me the Netskope Network Events for Monday Oct 23 UTC. + parameters: + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + minimum: 0 + maximum: 5000 + default: 100 + - name: offset + in: query + required: false + description: Used to shift the window of alerts if limit is reached + schema: + type: integer + minimum: 0 + default: 0 + - name: starttime + in: query + required: true + description: Unix timestamp of start time period of alerts + schema: + type: integer + minimum: 0 + default: 0 + - name: endtime + in: query + required: true + description: Unix timestamp of end time period of alerts + schema: + type: integer + minimum: 0 + - name: insertionstarttime + in: query + required: true + description: Restrict alerts which have been inserted into the database after the specified time. Always same as starttime. + schema: + type: integer + minimum: 0 + default: 0 + - name: insertionendtime + in: query + required: true + description: Restrict alerts which have been inserted into the database before the specified time. Always same as endtime. + schema: + type: integer + minimum: 0 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + ok: + type: integer + enum: + - 0 + - 1 + default: 1 + result: + type: array + items: + type: object + '400': + description: Invalid request + content: + application/json: + schema: + $ref: '#/components/schemas/400' + tags: + - events + /data/page: + x-netskope-params: + serviceConfig: queryservice + version: 2 + customerFacing: true + apiGroup: page + get: + summary: Get page events generated by Netskope + description: | + Get a list of page events generated by Netskope. You can filter by timeperiod or advanced query parameters. + #ExamplePrompts Show me all the Netskope Page Events for last 90 days. + #ExamplePrompts Show me all the Netskope Page Events for last 3 days. + #ExamplePrompts Show me the Netskope Page Events for Monday Oct 23 UTC. + parameters: + - name: limit + in: query + required: false + description: Max number of records to retrieve + schema: + type: integer + minimum: 0 + maximum: 5000 + default: 100 + - name: offset + in: query + required: false + description: Used to shift the window of alerts if limit is reached + schema: + type: integer + minimum: 0 + default: 0 + - name: starttime + in: query + required: true + description: Unix timestamp of start time period of alerts + schema: + type: integer + minimum: 0 + default: 0 + - name: endtime + in: query + required: true + description: Unix timestamp of end time period of alerts + schema: + type: integer + minimum: 0 + - name: insertionstarttime + in: query + required: true + description: Restrict alerts which have been inserted into the database after the specified time. Always same as starttime. + schema: + type: integer + minimum: 0 + default: 0 + - name: insertionendtime + in: query + required: true + description: Restrict alerts which have been inserted into the database before the specified time. Always same as endtime. + schema: + type: integer + minimum: 0 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + properties: + ok: + type: integer + enum: + - 0 + - 1 + default: 1 + result: + type: array + items: + type: object + '400': + description: Invalid request + content: + application/json: + schema: + $ref: '#/components/schemas/400' + tags: + - events + + +components: + schemas: + '200': + description: successful operation + type: object + properties: + status: + type: string + example: success + '400': + description: Bad request response + type: object + properties: + message: + type: string + example: Bad request + '401': + description: Bad request response + type: object + properties: + message: + type: string + example: Bad request + '403': + description: Bad request response + type: object + properties: + message: + type: string + example: Bad request + '404': + description: Bad request response + type: object + properties: + message: + type: string + example: Bad request + '405': + description: Method not allowed response + type: object + properties: + message: + type: string + example: Method not allowed + '408': + description: Timeout response + type: object + properties: + message: + type: string + example: Request timed out + '413': + description: Payload too large + type: object + properties: + message: + type: string + example: Payload too long + '414': + description: URI too long + type: object + properties: + message: + type: string + example: URI too long + '429': + description: Too many requests response + type: object + properties: + message: + type: string + example: Too many requests + CustomAttributes: + type: object + properties: + totalCount: + type: integer + format: int32 + example: 3 + pageNum: + type: integer + format: int32 + example: 1 + pageSize: + type: integer + format: int32 + example: 3 + results: + type: object + properties: + name: + type: array + items: + type: string + example: + names: + - ManagerEmail + - BUFUGU + CustomAttributeNames: + type: object + properties: + totalCount: + type: integer + format: int32 + example: 3 + pageNum: + type: integer + format: int32 + example: 1 + pageSize: + type: integer + format: int32 + example: 3 + result: + type: object + properties: + name: + type: string + values: + type: array + items: + type: string + example: + name: manager_email + values: + - abc@xyz.com + - def@xyz.com + - ghi@xyz.com + limit: + type: integer + minimum: 1 + maximum: 100 + offset: + type: integer + minimum: 0 + default: 0 + orderby: + type: string + enum: + - asc + - desc + default: desc + CCL: + type: string + enum: + - excellent + - high + - medium + - low + - poor + AppUrlsList: + allOf: + - type: object + properties: + url: + type: string + AppDomainsList: + allOf: + - type: object + properties: + domain_name: + type: string + ApplicationCategories: + allOf: + - type: object + properties: + category_id: + type: integer + category_name: + type: string + Application: + type: object + properties: + appName: + type: string + expScore: + type: integer + description: optional param for applications in drilldown page + BadRequest: + allOf: + - type: object + properties: + success: + type: boolean + default: false + msg: + type: string + default: Bad request error + ServerError: + allOf: + - type: object + properties: + success: + type: boolean + default: false + msg: + type: string + default: Backend error occurred + Unauthorized: + allOf: + - type: object + properties: + success: + type: boolean + default: false + msg: + type: string + default: Unauthorized + QuestionChoices: + allOf: + - type: object + properties: + id: + type: integer + description: The Question Categoriy ID. + choice_value: + type: string + description: choice_value. + choice_text: + type: string + description: choice_text. + Questions: + allOf: + - type: object + properties: + id: + type: integer + description: The Question Categoriy ID. + question_col_name: + type: string + description: question_col_name. + question_text: + type: string + description: question_text. + display_order: + type: integer + description: display order of question category. + instructions: + type: string + description: instructions. + app_index_question_choices: + type: array + items: + $ref: '#/components/schemas/QuestionChoices' + QuestionCategories: + allOf: + - type: object + properties: + id: + type: integer + description: The Question Categoriy ID. + category_name: + type: string + description: Category name. + category_text: + type: string + description: Category text. + tool_tips: + type: string + description: Question category tooltips. + display_order: + type: integer + description: display order of question category. + app_index_questions: + type: array + items: + $ref: '#/components/schemas/Questions' + QuestionImportance: + allOf: + - type: object + properties: + id: + type: integer + description: application_id + question_col_name: + type: string + description: question_col_name. + question_importance: + type: integer + description: question_importance + pending_question_importance: + type: integer + description: pending_question_importance. + QuestionImportancePending: + allOf: + - type: object + properties: + id: + type: integer + description: application_id + question_col_name: + type: string + description: question_col_name. + question_importance: + type: integer + description: question_importance + AppCCI: + type: object + properties: + app_id: + type: integer + description: application_id + cci: + type: integer + description: cci. + ccl: + $ref: '#/components/schemas/CCL' + Tag: + allOf: + - type: object + properties: + question_id: + type: integer + description: application_id + answer: + type: string + Asset: + allOf: + - type: object + properties: + asset_id: + type: integer + description: this is the application_id. + asset_type_id: + type: integer + description: asset_type_id + answer: + type: string + TagAssets: + allOf: + - $ref: '#/components/schemas/Tag' + - $ref: '#/components/schemas/Asset' + sortorder: + type: string + enum: + - desc + - asc + Scim: + type: object + properties: + client_name: + type: string + creation_time: + type: string + last_used_time: + type: string + nullable: true + scim_id: + type: integer + token: + type: string + TemplateModifyType: + description: Last modified action string. + enum: + - Created + - Edited + type: string + EmailTemplateType: + description: Email template type. Use 'introspection' for API Data Protection and 'inline' for Real-time Protection. + enum: + - introspection + - inline + type: string + EmailTemplate: + description: Email template. + properties: + template_id: + type: string + description: Template ID. + template_name: + type: string + description: Template Name. + template_data: + properties: + body: + type: string + description: Email body. + subject: + type: string + description: Email subject. + required: + - body + - subject + type: object + description: Template data. + modify_type: + $ref: '#/components/schemas/TemplateModifyType' + description: Modified Type. Not available for predefined templates. + modify_by: + type: string + description: Last modified user email. Not available for predefined templates. + modify_time: + type: number + format: double + description: Last modified timestamp. Not available for predefined templates. + type: + $ref: '#/components/schemas/EmailTemplateType' + description: Template type + predefined: + type: boolean + description: True if this template is predefined by NetSkope. + required: + - template_id + - template_name + - template_data + - type + type: object + additionalProperties: false + ErrorResponse: + type: object + properties: + message: + type: string + description: user facing message for this error + DLPRulesResponse: + type: object + properties: + success: + type: boolean + msg: + type: string + data: + type: array + items: + type: object + additionalProperties: true + InlinePoliciesResponse: + type: object + properties: + success: + type: boolean + msg: + type: string + data: + type: array + items: + type: object + additionalProperties: true + PoliciesAlertsCount: + description: A map of policy names and their alert counts + properties: {} + type: object + additionalProperties: + type: number + format: double + ResourceFieldType: + description: Resource field data types + enum: + - string + - string[] + - number + - timestamp + - size + - url + - enum + - enum[] + type: string + ResourceFields: + description: Define field keys and their data type presented in resources of a resource type + properties: {} + type: object + additionalProperties: + properties: + type: + $ref: '#/components/schemas/ResourceFieldType' + label: + type: string + required: + - type + - label + type: object + AppCapabilities: + description: A key-value map to describe capabilities (features) of SaaS apps and their values + properties: {} + type: object + additionalProperties: + anyOf: + - type: boolean + - type: string + - items: + type: string + type: array + ResourceType: + description: Resource object schema for a resource type + properties: + id: + type: string + description: Resource type ID + label: + type: string + description: Display Label + fields: + $ref: '#/components/schemas/ResourceFields' + remediation: + properties: {} + additionalProperties: + properties: + capabilities: + $ref: '#/components/schemas/AppCapabilities' + description: Required app capabilities to support this action + required: + - capabilities + type: object + type: object + description: Supported remediation actions + details: + properties: {} + additionalProperties: + properties: + capabilities: + $ref: '#/components/schemas/AppCapabilities' + description: Required app capabilities to support this detail data + required: + - capabilities + type: object + type: object + description: Supported detail data names + required: + - id + - label + - fields + - remediation + - details + type: object + additionalProperties: false + Resource: + type: object + properties: + id: + type: string + name: + type: string + description: + type: string + attributes: + type: array + items: + $ref: '#/components/schemas/Attribute' + ResourcesCountResponse: + properties: + count: + type: number + format: double + required: + - count + type: object + additionalProperties: false + ResourceDetailRecentActivity: + description: Recent activity of the resource + properties: + activity: + type: string + description: Activity + user: + type: string + description: User + timestamp: + type: number + format: double + description: Activity Date + required: + - activity + - user + - timestamp + type: object + additionalProperties: false + ResourceDetailDlpViolations: + description: Recent DLP Violation of the resource + properties: + policy: + type: string + description: CASB API Data protection policy name + dlp_incident_id: + type: string + description: DLP Incident ID + dlp_profile: + type: string + description: DLP Profile name + dlp_rule: + type: string + description: DLP Rule name + required: + - policy + - dlp_incident_id + - dlp_profile + - dlp_rule + type: object + additionalProperties: false + ResourceDetailEmailAttachments: + description: Attachment of a email resource. + properties: + name: + type: string + description: File name + type: + type: string + description: File type + size: + type: number + format: double + description: File size + required: + - name + - type + - size + type: object + additionalProperties: false + ResourceDetailEmailExternalDomains: + description: External domains of the email resource. + properties: + domain: + type: string + description: Domain name + recipients_count: + type: number + format: integer + description: Recipients count + required: + - domain + - recipients_count + type: object + additionalProperties: false + ResourceDetailEmailRecipients: + description: Recipient of the email resource. + properties: + recipient: + type: string + description: Recipient address + type: + type: string + description: Recipient type + required: + - recipient + - type + type: object + additionalProperties: false + DashboardData: + description: Represent a data point on a chart. + properties: + name: + type: string + description: point name + counts: + items: + type: number + format: double + type: array + description: point number array, categories might be provided in response to specify extra labels + required: + - name + - counts + type: object + additionalProperties: false + DashboardResponse: + description: Response schema for dashboard endpoints. + properties: + data: + items: + $ref: '#/components/schemas/DashboardData' + type: array + description: A list of data points to be presented in charts + categories: + items: + type: string + type: array + description: A list of extra labels for each item in counts + required: + - data + type: object + additionalProperties: false + DashboardRequestBodyDto: + properties: + app: + type: string + description: SaaS app to be queried, use the display name from CCI. + default: '' + instances: + items: + type: string + type: array + description: SaaS app instances to be queried for data. If not provided, all instances will be queried. + default: [] + resourceType: + type: string + description: 'The resource type to be queried. Possbile types: ''File'', ''User''' + default: '' + chart: + type: string + description: 'The chart type that need to be queried. Possible types: ''summary'', ''exposures'', ''mimeTypes'', ''dlpProfiles'', ''dlpRules''' + default: '' + type: object + additionalProperties: false + App: + description: Representing a SaaS app that supports Next-Gen CASB API Data Protection + properties: + app_name: + type: string + description: App name + display_name: + type: string + description: App display name + cci_app_display_name: + type: string + description: App display name in CCI + capabilities: + $ref: '#/components/schemas/AppCapabilities' + description: Capabilities supported by this SaaS app + logo: + type: string + description: URL encoded svg app logo image that can be used as source of an img HTML tag + required: + - app_name + - display_name + - cci_app_display_name + - capabilities + - logo + type: object + additionalProperties: false + Instance: + type: object + properties: + id: + type: string + description: ID of the instance. + name: + type: string + description: Name of the instance. + AnomalyAdditionalProperty: + type: object + properties: + key: + type: string + value: + type: string + CategoricalModeling: + type: object + properties: + featureValue: + type: string + modelId: + type: string + scope: + type: string + sampleCount: + type: integer + format: int32 + binCount: + type: integer + format: int32 + observationCount: + type: integer + format: int32 + probability: + type: number + format: double + convergenceFactor: + type: number + format: double + percentileThresholdCount: + type: integer + format: int32 + histo: + type: array + items: + $ref: '#/components/schemas/DataPoint' + required: + - featureValue + - modelId + - scope + - sampleCount + - binCount + - observationCount + - probability + - convergenceFactor + - percentileThresholdCount + - histo + Confidence: + type: object + properties: + start: + type: integer + format: int64 + confidenceScore: + type: integer + format: int32 + ConfidenceTimeSeries: + type: object + properties: + userId: + type: string + confidences: + type: array + items: + $ref: '#/components/schemas/Confidence' + DataPoint: + type: object + properties: + bin: + type: string + count: + type: integer + format: int32 + FactData: + type: object + properties: + featureValue: + type: string + required: + - featureValue + NumericalModeling: + type: object + properties: + featureValue: + type: string + modelId: + type: string + scope: + type: string + pValue: + type: number + format: double + histo: + type: array + items: + $ref: '#/components/schemas/DataPoint' + required: + - featureValue + - modelId + - scope + - pValue + - histo + PdvAnomaliesSearchFilters: + type: object + properties: + user: + type: string + windowId: + type: integer + format: int64 + required: + - user + - windowId + PdvEventDripperRequest: + type: object + properties: + userId: + type: string + topic: + type: string + intervalInMs: + type: integer + format: int32 + loops: + type: integer + format: int32 + numOfEvents: + type: integer + format: int32 + shiftTimeInMinutes: + type: integer + format: int32 + async: + type: boolean + eventData: + type: string + format: binary + required: + - userId + - topic + - shiftTimeInMinutes + - eventData + PdvEventDripperResponse: + type: object + properties: + result: + type: string + RepeatableDemoRequest: + type: object + properties: + userReplacements: + type: array + items: + $ref: '#/components/schemas/UserReplacement' + RepeatableDemoResponse: + type: object + properties: + status: + type: string + enum: + - SUCCESS + - BAD_REQUEST + - INTERNAL_ERROR + - EXTERNAL_ERROR + message: + type: string + TriggeredAnomaly: + type: object + properties: + anomalyId: + type: string + user: + type: string + windowId: + type: integer + format: int64 + eventId: + type: string + ruleId: + type: string + time: + type: integer + format: int64 + score: + type: integer + format: int32 + severity: + type: string + activity: + type: string + isFromAlert: + type: boolean + isAlertRaised: + type: boolean + anomalyData: + oneOf: + - $ref: '#/components/schemas/CategoricalModeling' + - $ref: '#/components/schemas/FactData' + - $ref: '#/components/schemas/NumericalModeling' + app: + type: string + instance: + type: string + alertType: + type: string + sourceIp: + type: string + accessMethod: + type: string + alertId: + type: string + eventSource: + type: string + peerId: + type: string + additionalProperties: + type: array + items: + $ref: '#/components/schemas/AnomalyAdditionalProperty' + createdTime: + type: string + format: date-time + lastUpdatedTime: + type: string + format: date-time + internalScore: + type: integer + format: int32 + isAllowed: + type: boolean + reasonForAllowed: + type: string + scenario: + type: string + subScenario: + type: string + isSilent: + type: boolean + required: + - anomalyId + - user + - windowId + - eventId + - ruleId + - time + - score + - severity + - activity + - isFromAlert + - isAlertRaised + - anomalyData + - app + - instance + - createdTime + - lastUpdatedTime + TriggeredAnomalies: + type: object + properties: + totalCount: + type: integer + format: int32 + example: 4 + results: + type: array + items: + $ref: '#/components/schemas/TriggeredAnomaly' + required: + - totalCount + - results + UserReplacement: + type: object + properties: + baselineUser: + type: string + demoUser: + type: string + UserUciRequest: + type: object + properties: + user: + type: string + fromTime: + type: integer + format: int64 + tag_request: + type: object + properties: + id: + type: string + ids: + type: array + items: + type: string + tags: + type: array + items: + $ref: '#/components/schemas/tag_item' + publisher_tags: + type: array + items: + $ref: '#/components/schemas/tag_item' + tag_response: + type: array + items: + type: object + properties: + status: + type: string + enum: + - success + - not found + data: + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + tag_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + tag_item: + type: object + properties: + tag_id: + type: integer + format: int32 + tag_name: + type: string + private_apps_request: + type: object + properties: + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: '#/components/schemas/protocol_item' + publishers: + type: array + items: + $ref: '#/components/schemas/publisher_item' + publisher_tags: + type: array + items: + $ref: '#/components/schemas/tag_item_no_id' + tags: + type: array + items: + $ref: '#/components/schemas/tag_item_no_id' + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + allow_unauthenticated_cors: + type: boolean + is_user_portal_app: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_put_request: + type: object + properties: + id: + type: integer + format: int32 + app_name: + type: string + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: '#/components/schemas/protocol_item' + publishers: + type: array + items: + $ref: '#/components/schemas/publisher_item' + publisher_tags: + type: array + items: + $ref: '#/components/schemas/tag_item_no_id' + tags: + type: array + items: + $ref: '#/components/schemas/tag_item_no_id' + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + allow_unauthenticated_cors: + type: boolean + is_user_portal_app: + type: boolean + trust_self_signed_certs: + type: boolean + private_apps_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: '#/components/schemas/protocol_response_item' + tags: + type: array + items: + $ref: '#/components/schemas/tag_item' + service_publisher_assignments: + type: array + items: + $ref: '#/components/schemas/service_publisher_assignment_item' + private_apps_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + private_apps_get_response: + type: array + items: + type: object + properties: + status: + type: string + enum: + - success + - not found + data: + type: object + properties: + app_id: + type: integer + format: int32 + app_name: + type: string + use_publisher_dns: + type: boolean + clientless_access: + type: boolean + trust_self_signed_certs: + type: boolean + allow_unauthenticated_cors: + type: boolean + is_user_portal_app: + type: boolean + host: + type: string + real_host: + type: string + protocols: + type: array + items: + $ref: '#/components/schemas/protocol_response_item' + tags: + type: array + items: + $ref: '#/components/schemas/tag_item' + service_publisher_assignments: + type: array + items: + $ref: '#/components/schemas/service_publisher_assignment_item' + total: + type: integer + format: int32 + protocol_item: + type: object + properties: + type: + type: string + port: + type: string + protocol_response_item: + type: object + properties: + id: + type: integer + format: int32 + port: + type: string + transport: + type: string + service_id: + type: integer + format: int32 + publisher_item: + type: object + properties: + publisher_id: + type: string + publisher_name: + type: string + tag_item_no_id: + type: object + properties: + tag_name: + type: string + default: tag_name + service_publisher_assignment_item: + type: object + properties: + publisher_id: + type: integer + format: int32 + service_id: + type: integer + format: int32 + primary: + type: boolean + reachability: + type: object + properties: + error_code: + type: integer + format: int32 + reachable: + type: boolean + error_string: + type: string + ipsec_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + $ref: '#/components/schemas/ipsec_pop_result_item' + ipsec_tunnel_request_post: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_request_patch: + type: object + properties: + encryption: + type: string + site: + type: string + srcidentity: + type: string + psk: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + bandwidth: + type: integer + notes: + type: string + vendor: + type: string + sourcetype: + type: string + template: + type: string + enable: + type: boolean + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + ipsec_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + $ref: '#/components/schemas/ipsec_tunnel_result_item' + ipsec_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + $ref: '#/components/schemas/ipsec_tunnel_result_item' + ipsec_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + ipsec_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + $ref: '#/components/schemas/ipsec_tunnel_result_item' + ipsec_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + ipsec_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + ipsec_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + ipsec_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + ipsec_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + ipsec_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + ipsec_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + ipsec_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + options: + type: object + properties: + phase1: + type: object + properties: + ikeversion: + type: string + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + dpd: + type: boolean + phase2: + type: object + properties: + encryptionalgo: + type: string + integrityalgo: + type: string + dhgroup: + type: string + salifetime: + type: string + pfs: + type: boolean + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + ipsec_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + template: + type: string + sourcetype: + type: string + notes: + type: string + vendor: + type: string + encryption: + type: string + srcidentity: + type: string + srcipidentity: + type: string + pops: + type: array + items: + $ref: '#/components/schemas/ipsec_tunnel_pop_result_item' + enabled: + type: boolean + bandwidth: + type: integer + example: 50 + options: + type: object + properties: + rekey: + type: boolean + example: false + reauth: + type: boolean + example: false + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + ipsec_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + status: + type: string + since: + type: string + throughput: + type: string + gre_pop_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + $ref: '#/components/schemas/gre_pop_result_item' + gre_tunnel_request_post: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + bandwidth: + type: integer + example: 1000 + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_request_patch: + type: object + properties: + site: + type: string + srcipidentity: + type: string + pops: + type: array + items: + type: string + example: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + bandwidth: + type: integer + example: 1000 + notes: + type: string + enable: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enable: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + gre_tunnel_response_200: + type: object + properties: + status: + type: integer + example: 200 + total: + type: integer + example: 1 + result: + type: array + items: + $ref: '#/components/schemas/gre_tunnel_result_item' + gre_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + data: + type: array + items: + $ref: '#/components/schemas/gre_tunnel_result_item' + gre_response_200: + type: object + properties: + status: + type: integer + example: 200 + result: + type: string + gre_response_201: + type: object + properties: + status: + type: integer + example: 201 + result: + type: string + data: + type: array + items: + $ref: '#/components/schemas/gre_tunnel_result_item' + gre_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + gre_response_403: + type: object + properties: + status: + type: integer + example: 403 + result: + type: string + gre_response_404: + type: object + properties: + status: + type: integer + example: 404 + result: + type: string + gre_response_405: + type: object + properties: + status: + type: integer + example: 405 + result: + type: string + gre_response_409: + type: object + properties: + status: + type: integer + example: 409 + result: + type: string + gre_response_429: + type: object + properties: + status: + type: integer + example: 429 + result: + type: string + gre_response_500: + type: object + properties: + status: + type: integer + example: 500 + result: + type: string + gre_pop_result_item: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + location: + type: string + gateway: + type: string + probeip: + type: string + distance: + type: string + acceptingtunnels: + type: boolean + bandwidth: + type: string + gre_tunnel_result_item: + type: object + properties: + id: + type: integer + example: 1 + site: + type: string + vendor: + type: string + template: + type: string + sourcetype: + type: string + bandwidth: + type: integer + example: 1000 + notes: + type: string + srcipidentity: + type: string + pops: + type: array + items: + $ref: '#/components/schemas/gre_tunnel_pop_result_item' + enabled: + type: boolean + options: + type: object + properties: + xff: + type: object + properties: + enabled: + type: boolean + example: false + iplist: + type: array + items: + type: string + example: string + version: + type: integer + example: 2 + gre_tunnel_pop_result_item: + type: object + properties: + name: + type: string + gateway: + type: string + probeip: + type: string + primary: + type: boolean + usertrafficStatus: + type: string + usertrafficLast: + type: string + keepaliveStatus: + type: string + keepaliveLast: + type: string + throughput: + type: string + ThirdPartyAppAggregationRequest: + type: object + properties: + offset: + type: integer + description: Position in the dataset of a particular record. + default: 0 + limit: + type: integer + description: The number of items to return. + default: 50 + attributes: + type: array + description: Array of fields to be returned in the response. + example: + - resource_name + - app_name + - instance_name + - risk_score + - risk_level + - customer_attribute.verifier_details + - customer_attribute.verification_status + items: + type: string + enum: + - resource_name + - app_suite + - app_name + - instance_id + - instance_name + - risk_score + - risk_level + - permissions + - custom_attribute.verifier_details + - custom_attribute.verification_status + - custom_attribute.last_updated_time + - custom_attribute.notes + sortby: + type: array + description: Specifies the sort order details. + example: + - column: app_name + sort_order: asc + items: + $ref: '#/components/schemas/ThirdPartyAppAggregationRequest_sortby' + filters: + description: Array of filters. For illustrative purpose only few filters are listed. + example: + instance_name: + values: + - TestInstance1 + - TestInstance2 + operator: equal + resource_name: + values: + - TestApp + operator: equal + filename: + type: string + description: Name of the file to return when Accept header is text/csv. + ThirdPartyAppAggregationResponse: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/ThirdPartyAppResource' + total_count: + type: integer + description: Total resource count only returned when there offset set to 0 in the request. + example: 1 + next_offset: + type: integer + description: Get records from this offset. -1 if there is no more resources. + example: -1 + ThirdPartyAppResource: + type: object + properties: + resource_id: + description: ID of the thirdparty app. + resource_name: + type: string + description: Name of the thirdparty app. + app_suite: + type: string + description: SAAS Application Suite. + app_name: + type: string + description: SAAS Application Name. + instance_id: + type: string + description: ID of the SAAS application instance. + instance_name: + type: string + description: Name of the SAAS application instance. + permissions: + type: array + description: List of the permissions owned by the app. + items: + type: string + risk_score: + type: integer + description: Risk score of the thirdparty app. + risk_level: + type: string + description: Risk level of the thirdparty app. + custom_attribute: + $ref: '#/components/schemas/ThirdPartyAppCustomAttributes' + example: + resource_id: '12313131' + resource_name: Egnite + app_name: AzureAD + instance_name: instance-name + risk_score: 90 + risk_level: Critical + permissions: + - File.Read + - File.Writr + custom_attribute: + verifier_details: abc@netskope.com + verification_status: Approved + last_updated_time: 1696934855 + notes: Updated by abc@netskope.com + ThirdPartyAppCustomAttributes: + type: object + properties: + verifier_details: + type: string + description: Details of the approver who approved the app. + verification_status: + type: string + description: Status of the approval. + last_updated_time: + type: integer + description: Timestamp when the attribute were updated represented as Unix epoch seconds. + notes: + type: string + description: Notes specifed when the attributes were updated + description: Attributes associated with the thrid party app. + example: + verifier_details: abc@netskope.com + verification_status: Approved + last_updated_time: 1696934855 + notes: Updated by abc@netskope.com + ThirdPartyAppFilterOptionsRequest: + type: object + properties: + filter_key: + type: string + description: API will fetch all possible values for the filter_key. + enum: + - resource_name + - app_name + - instance_name + - risk_level + - custom_attribute.verification_status + keyword: + type: string + description: Case-insensitive keyword used to match for filter values. + limit: + type: integer + description: Limit of the filter values returned. + default: 50 + offset: + type: integer + description: Offset from which the filter values are to be returned. + default: 0 + example: + filter_key: custom_attribute.verification_status + limit: 30 + offset: 0 + ThirdPartyAppFilterOptionsResponse: + type: object + properties: + data: + type: array + description: Array of filter values + items: + type: object + properties: + id: + type: string + description: ID of the value + name: + type: string + description: Value to be displayed in the UI + next_offset: + type: integer + description: Get records from this cursor. Empty if there are no more resources. + example: + data: + - id: verification_pending + name: Verification Pending + - id: verification_in_progess + name: Verification in Progress + next_offset: 0 + ThirdPartyAppFieldsResponse: + type: object + properties: + fields: + type: array + description: Array of fields + items: + type: object + properties: + id: + type: string + description: Id of the field + display_name: + type: string + description: Name of the field displayed in the UI + sortable: + type: boolean + description: Determines where the field is sortable + type: + type: string + description: Determines the field type + example: + fields: + - id: resource_name + display_name: Thirdparty AppName + sortable: true + type: string + - id: permissions + display_name: Permissions + sortable: false + type: array + ThirdPartyAppAggregationRequest_sortby: + type: object + properties: + column: + type: string + description: Column on which the data must be sorted. + sort_order: + type: string + description: Sorting order. + enum: + - asc + - desc + default: asc + GetPostureScoresRequestBody: + type: object + properties: + filters: + type: object + properties: + appsuite_names: + $ref: '#/components/schemas/FilterStringValues' + instance_names: + $ref: '#/components/schemas/FilterStringValues' + app_names: + $ref: '#/components/schemas/FilterStringValues' + posture_confidence_level: + $ref: '#/components/schemas/FilterStringValues' + timestamp: + type: number + description: Timestamp, in UTC milliseconds, up to which the posture score is to be calculated. + GetPostureScoresTrendRequestBody: + type: object + properties: + filters: + type: object + properties: + appsuite_names: + $ref: '#/components/schemas/FilterStringValues' + instance_names: + $ref: '#/components/schemas/FilterStringValues' + app_names: + $ref: '#/components/schemas/FilterStringValues' + timestamp: + type: number + description: Timestamp, in UTC milliseconds, up to which the posture score is to be calculated. + FilterStringValues: + type: array + items: + type: string + FilterNumberValues: + type: array + items: + type: number + PostureScoreTrendSample: + type: object + properties: + timestamp: + type: number + description: Timestamp of the sample + example: 1696924810 + posture_confidence_index: + type: number + description: Posture confidence index value at the specified timestamp + example: 82 + PostureScoreTrendResponse: + type: object + properties: + samples: + type: array + description: Samples of posture confidence index at tenant level + items: + $ref: '#/components/schemas/PostureScoreTrendSample' + delta: + $ref: '#/components/schemas/PostureScoreDelta' + appSuites: + type: array + description: List of app-suites for this tenant + items: + $ref: '#/components/schemas/PostureScoreTrendAppSuite' + PostureScoreTrendAppSuite: + type: object + properties: + name: + type: string + description: Name of the app-suite + example: AzureAD + samples: + type: array + description: Samples of posture confidence index + items: + $ref: '#/components/schemas/PostureScoreTrendSample' + delta: + $ref: '#/components/schemas/PostureScoreDelta' + instances: + type: array + description: List of instances for this app-suite + items: + $ref: '#/components/schemas/PostureScoreTrendInstance' + PostureScoreTrendInstance: + type: object + properties: + name: + type: string + description: Name of the instance + example: lz2d.onmicrosoft.com + samples: + type: array + description: Samples of posture confidence index + items: + $ref: '#/components/schemas/PostureScoreTrendSample' + delta: + $ref: '#/components/schemas/PostureScoreDelta' + apps: + type: array + description: List of applications for this instance + items: + $ref: '#/components/schemas/PostureScoreTrendApp' + PostureScoreTrendApp: + type: object + properties: + name: + type: string + description: Name of the application + example: Intune + samples: + type: array + description: Samples of posture confidence index + items: + $ref: '#/components/schemas/PostureScoreTrendSample' + delta: + $ref: '#/components/schemas/PostureScoreDelta' + PostureScoreDelta: + type: object + description: information about the change in posture score + properties: + trajectory: + type: string + description: direction of change in posture score + enum: + - up + - down + example: up + change_in_num: + type: number + description: quantum of change in posture score + example: '12' + notation: + type: string + description: indicates whether the change is an absolute number of percentage + enum: + - percent + - raw_value + example: raw_value + PostureScoreData: + type: object + properties: + posture_risk_score: + type: integer + description: SaaS Posture Risk Score. + example: 40 + posture_confidence_index: + type: integer + description: SaaS Posture Confidence Index. + example: 60 + posture_confidence_level: + type: string + enum: + - Excellent + - High + - Medium + - Low + - Poor + description: Posture Confidence Level based on confidence index value + example: Medium + PostureScoreResponse: + type: object + properties: + score: + $ref: '#/components/schemas/PostureScoreData' + app_suites: + type: array + items: + type: object + properties: + name: + type: string + description: AppSuite Name + example: Microsoft365 + score: + $ref: '#/components/schemas/PostureScoreData' + instances: + type: array + items: + type: object + properties: + name: + type: string + description: Instance Name + example: Microsoft365 + score: + $ref: '#/components/schemas/PostureScoreData' + apps: + type: array + items: + type: object + properties: + name: + type: string + description: Application Name + example: Defender + score: + $ref: '#/components/schemas/PostureScoreData' + FilterRequest: + type: object + properties: + app_names: + type: array + description: List of all SaaS app names to be used for filtering. If the list is empty, data is fetched for all the app_names. + items: + type: string + enum: + - AzureAD & Microsoft365 + - SalesForce + - Zoom + - Github + - ServiceNow + - Okta + - Workday + - Jira + - Confluence + - GoogleWorkspace + instance_names: + type: array + description: List of all instance names to be used for filtering. If the list is empty, data is fetched for all the instances. + items: + type: string + description: Different filters to be applied to the request. + FilterResponse: + type: object + properties: + next_cursor: + type: string + data: + type: array + items: + type: object + properties: + id: + type: string + name: + type: string + FilterMeta: + type: object + properties: + key: + type: string + display_name: + type: string + type: + type: string + enum: + - MultiSelectFilter, SearchFilter, DropdownListFilter + fetch_options_uri: + type: string + children: + type: array + items: + type: string + Sort: + type: array + items: + type: object + properties: + column: + type: string + sort_order: + type: string + enum: + - asc + - desc + required: + - properties + - sort_order + SortColumn: + type: object + properties: + column: + type: string + sort_order: + $ref: '#/components/schemas/SortOrder' + required: + - column + - sort_order + SortOrder: + type: string + enum: + - asc + - desc + GetResultsRequestBody: + type: object + properties: + offset: + type: integer + description: pagination offset + default: 0 + limit: + type: integer + description: pagination pagesize + minimum: 1 + maximum: 500 + sort: + $ref: '#/components/schemas/Sort' + timestamp: + type: integer + description: epoch time, + filters: + $ref: '#/components/schemas/Filters' + fields: + type: array + items: + type: string + description: required fields in the JSON response, if empty, all fields are returned. + required: + - timestamp + - sort + - limit + - offset + Filters: + type: object + properties: + instance_id: + $ref: '#/components/schemas/FilterValues' + instance_name: + $ref: '#/components/schemas/FilterValues' + resource_type: + $ref: '#/components/schemas/FilterValues' + region_name: + $ref: '#/components/schemas/FilterValues' + region_id: + $ref: '#/components/schemas/FilterValues' + resource_id: + $ref: '#/components/schemas/FilterValues' + resource_name: + $ref: '#/components/schemas/FilterValues' + tags: + $ref: '#/components/schemas/FilterValues' + app: + $ref: '#/components/schemas/FilterValues' + app_suite: + $ref: '#/components/schemas/FilterValues' + app_category: + $ref: '#/components/schemas/FilterValues' + status: + $ref: '#/components/schemas/StatusFilterValues' + muted: + $ref: '#/components/schemas/MutedFilterValues' + rule_name: + $ref: '#/components/schemas/FilterValues' + compliance_standards: + $ref: '#/components/schemas/FilterValues' + policies: + $ref: '#/components/schemas/FilterValues' + severity: + $ref: '#/components/schemas/SeverityFilterValues' + netskope_instance_name: + $ref: '#/components/schemas/FilterValues' + FilterOperator: + type: string + enum: + - equal + - like + FilterValues: + type: object + properties: + values: + type: array + items: + type: string + operator: + type: string + $ref: '#/components/schemas/FilterOperator' + StatusFilterValues: + type: object + properties: + values: + type: array + items: + $ref: '#/components/schemas/Status' + operator: + type: string + $ref: '#/components/schemas/FilterOperator' + MutedFilterValues: + type: object + properties: + values: + type: array + items: + type: boolean + enum: + - true + - false + operator: + type: string + $ref: '#/components/schemas/FilterOperator' + SeverityFilterValues: + type: object + properties: + values: + type: array + items: + type: string + enum: + - Critical + - High + - Medium + - Low + operator: + type: string + $ref: '#/components/schemas/FilterOperator' + Severity: + type: string + enum: + - Critical + - High + - Low + - Medium + Status: + type: string + enum: + - Failed + - Passed + - Unknown + GetResultsResponse: + type: array + items: + $ref: '#/components/schemas/GetResultsResponseItems' + GetResultsResponseItems: + type: object + properties: + instance_id: + type: string + example: e3813397-1fff-46b0-a59f-5c2130aac115 + description: Instance ID + netskope_instance_name: + type: string + description: SaaS account name to which instance setup is done. + instance_name: + type: string + example: iaas-qe + description: SaaS application instance name + app: + type: string + example: Exchange + description: Exchange, AzureAD etc. + app_suite: + type: string + example: azure + description: SaaS Provider e.g "AzureAD", "Microsoft365", "Salesforce" + app_category: + type: string + example: IAM + description: IAM, CRM etc. + compliance_standards: + type: array + items: + $ref: '#/components/schemas/ComplianceStandard' + compliance_standards_total: + type: integer + example: 52 + description: Used for "+51 more" button (includes the 1 above, hence a total of 52 minus the 1 above means the UI shows "+51 more") + current_rule_version: + type: string + error_msg: + type: string + failing_since: + type: integer + description: | + Failing_since is the earliest instance of a rule failure for a resource, after the last time it had passed. So if a rule+resource had a history of P-F-P-P-P-F-F-F, then failing_since should show the time of 3rd from last F. + last_scanned: + type: integer + description: Epoch time when the last scan happened + muted: + type: string + enum: + - 'Yes' + - 'No' + muted_by: + type: string + example: user@netskope.com + muted_on: + type: integer + description: Epoch time when the result was muted + muted_until: + type: integer + description: Epoch time when the result is unmuted or 0 for "Until I unmute it" + mute_justification: + type: string + policies: + type: array + items: + type: string + example: salesforce policy + region_name: + type: string + example: East US + region_id: + type: string + example: us-east-1 + resource_id: + type: string + description: Asset ID + example: /subscriptions/e3813397-1fff-46ac115/providers/Microsoft.Storage/storageAccounts/vinstorageacc1 + resource_name: + type: string + description: Asset name + example: vinstorageacc1 + resource_type: + type: string + description: Asset type + example: Storage Account + rule_id: + type: string + description: Needed to call /resources/ which needs resource_id + rule_id (see https://netskope.atlassian.net/wiki/spaces/WUB/pages/2792456574/CSPM+Internal+API+Review+-+Resource+Service#GET-%2Fresources%2F%3Cresource_id%3E) + example: '-1026' + rule_name: + type: string + example: 'Data-at-rest is protected: Ensure that ''Public access level'' is set to Private for blob containers' + severity: + $ref: '#/components/schemas/Severity' + status: + $ref: '#/components/schemas/Status' + ComplianceStandard: + type: object + properties: + standard: + type: string + description: Compliance Standard Name + example: NIST-CSF-1.1 + control: + type: string + example: '1' + section: + type: string + description: Compliance Section Name + example: PR.DS + description: + type: string + description: Compliance Control Description + example: Data-at-rest is protected + required: + - standard + - control + - section + - description + Field: + type: object + required: + - id + - type + properties: + id: + type: string + display_name: + type: string + type: + type: string + enum: + - string + - epoch + - string_array + sortable: + type: boolean + StatsRequest: + type: object + properties: + timestamp: + type: integer + description: epoch time + minimum: 0 + filters: + $ref: '#/components/schemas/Filters' + required: + - timestamp + ResultsStats: + type: object + properties: + failed_findings: + type: integer + example: 6694 + failed_findings_muted: + type: integer + failed_findings_unmuted: + type: integer + failed_muted_rate: + type: integer + example: 20 + passed_findings: + type: integer + passed_findings_muted: + type: integer + example: 0 + passed_findings_unmuted: + type: integer + example: 29384 + pass_rate: + type: integer + example: 20 + total_findings: + type: integer + example: 36152 + description: Used for "Total Findings" and "... out of 36152 total findings" + unknown_findings: + type: integer + example: 74 + unique_instances_count: + type: integer + example: 99 + description: 99 Accounts + timestamp: + type: integer + example: 1642486238 + description: Epoch timestamp of the snapshot on which this stats are based. + ResultsHistoryRequestBody: + type: object + properties: + timestamp: + type: integer + description: timestamp in UTC + default: current timestamp + filters: + $ref: '#/components/schemas/Filters' + trends_window: + type: integer + description: time windows in days + minimum: 2 + maximum: 90 + required: + - trends_window + GetRulesResultsRequestBody: + type: object + properties: + offset: + type: integer + default: 0 + limit: + type: integer + default: 25 + sort: + $ref: '#/components/schemas/Sort' + timestamp: + type: integer + example: 1623364884 + filters: + $ref: '#/components/schemas/Filters' + fields: + type: array + items: + type: string + description: required fields in the JSON response, if empty, all fields are returned. + required: + - timestamp + GetRulesResultsResponse: + type: array + items: + $ref: '#/components/schemas/RulesResultResponseItems' + RulesResultResponseItems: + type: object + properties: + app: + type: string + example: Exchange + description: AzureAD, Exchange etc. + app_suite: + type: string + example: AzureAD + description: SaaS service provider such as Office365, AzureAD, etc. + app_category: + type: string + example: IAM + description: App category such as IAM etc. + resource_type: + type: string + description: Asset type + example: Storage Account + compliance_standards: + type: array + items: + $ref: '#/components/schemas/ComplianceStandard' + compliance_standards_total: + type: integer + example: 52 + description: Used for "+51 more" button (includes the 1 above, hence a total of 52 minus the 1 above means the UI shows "+51 more") + current_rule_version: + type: string + rule_id: + type: string + example: ruleID + rule_name: + type: string + severity: + $ref: '#/components/schemas/Severity' + status: + $ref: '#/components/schemas/Status' + failed_resources: + type: integer + description: The number of failed resources for this rule. + failed_resources_muted: + type: integer + description: The number of failed and muted resources for this rule. + passed_resources: + type: integer + description: The number of passed resources for this rule. + unknown_resources: + type: integer + description: The number of unkown resources for this rule. + total_resources: + type: integer + description: The number of total checked resources for this rule. + total_instances: + type: integer + pass_rate: + type: integer + RuleStats: + type: object + properties: + failed_rules: + type: integer + example: 201 + pass_rate: + type: integer + example: 20 + passed_rules: + type: integer + example: 201 + total_rules: + type: integer + example: 201 + GetResourcesResultsRequestBody: + type: object + properties: + offset: + type: integer + default: 0 + limit: + type: integer + default: 25 + sort: + $ref: '#/components/schemas/Sort' + timestamp: + type: integer + example: 1623364884 + filters: + $ref: '#/components/schemas/Filters' + fields: + type: array + items: + type: string + description: required fields in the JSON response, if empty, all fields are returned. + required: + - timestamp + GetResourcesResultsResponse: + type: array + items: + $ref: '#/components/schemas/GetResourcesResultsResponseItem' + GetResourcesResultsResponseItem: + type: object + properties: + app: + type: string + description: AzureAD, Exchange etc. + app_category: + type: string + description: App category such as IAM, CRM etc. + app_suite: + type: string + description: SaaS provider such as Microsoft365, Salesforce, etc. + instance_id: + type: string + example: e3813397-1fff-46b0-a59f-5c2130aac115 + description: Instance ID + instance_name: + type: string + example: iaas-qe + description: SaaS application instance name + region_name: + type: string + example: East US + region_id: + type: string + example: us-east-1 + resource_type: + type: string + description: User, Connected Application, VM, Container, Function, Mailbox, Repo, etc. (normalized) + resource_name: + type: string + resource_id: + type: string + tags: + type: array + items: + type: string + netskope_instance_name: + type: string + status: + $ref: '#/components/schemas/Status' + total_rules: + type: integer + description: The number of rules checked for this resource. + passed_rules: + type: integer + description: The number of passed rules for this resource. + failed_rules: + type: integer + description: The number of failed rules for this resource. + failed_muted_rules: + type: integer + description: The number of failed and muted rules for this resource. + unknown_rules: + type: integer + pass_rate: + type: integer + GetResourcesStatsResponse: + type: object + properties: + failed_resources: + type: integer + example: 576 + passed_resources: + type: integer + example: 3449 + unknown_resources: + type: integer + example: 2000 + total_resources: + type: integer + example: 4025 + passed_rate: + type: number + example: 85.6 + RuleDetailsRequest: + type: object + properties: + sort: + type: array + items: + type: object + properties: + column: + type: string + sort_order: + type: string + required: + - column + - sort_order + timestamp: + type: integer + filters: + $ref: '#/components/schemas/Filters' + RuleDetails: + type: object + properties: + count: + type: integer + critical_count: + type: integer + data: + type: array + items: + properties: + rule_name: + type: string + severity: + type: string + enum: + - Critical + - High + - Medium + - Low + secondary_resource_ids: + type: array + items: + type: string + FailedResultsSummaryResponse: + type: object + required: + - as_of_date_stats + - historic_stats + - trend + properties: + as_of_date_stats: + type: object + properties: + total_results: + type: integer + description: Total number of findings + total_passed_results: + type: integer + description: Total number of passed findings + total_failed_results: + type: integer + description: Total number of failed findings + failed_findings_by_severity: + $ref: '#/components/schemas/FailedResultsBySeverity' + historic_stats: + type: array + items: + type: object + properties: + timestamp: + type: integer + description: Date and time value for the stat + total_failed_results: + type: integer + description: Number of failed results at the given value of date and time + failed_results_by_severity: + $ref: '#/components/schemas/FailedResultsBySeverity' + trend: + $ref: '#/components/schemas/TrendResponse' + FailedResultsBySeverity: + description: Categorization of failed results by severity + type: object + properties: + critical: + type: integer + description: Number of critical severity failed results + high: + type: integer + description: Number of high severity failed results + medium: + type: integer + description: Number of medium severity failed results + low: + type: integer + description: Number of Low severity failed results + TrendResponse: + type: object + properties: + trajectory: + type: string + description: Showing the change in the trend from the last week's average value + enum: + - up + - down + - unchanged + change_in_num: + type: integer + description: Difference between current value and last week's average value + notation: + type: string + description: The type of change_in_num value + enum: + - percent + - raw_value + FailedResultsByASResponse: + type: object + required: + - as_of_date_stats + properties: + as_of_date_stats: + type: object + properties: + failed_results_by_app_suites: + type: array + items: + type: object + properties: + app_suite: + type: string + description: Name of application suite + total_failed_results: + type: integer + description: Total number of failed results for the application suite + by_severity: + $ref: '#/components/schemas/FailedResultsBySeverity' + RuleStatsByCS: + type: object + required: + - as_of_date_stats + - historic_stats + - trend + properties: + as_of_date_stats: + type: object + properties: + total_rules: + type: integer + description: Total number of rules + total_passed_rules: + type: integer + description: Total number of passed rules + total_failed_rules: + type: integer + description: Total number of failed rules + rules_pass_rate: + type: integer + description: Rate at which rules are passing + rules_by_compliance_standard: + type: array + items: + type: object + properties: + cs_name: + type: string + description: Name of compliance standard + rules_pass_rate: + type: integer + description: Rate at which rules are passing for the given compliance standard + rules_fail_rate: + type: integer + description: Rate at which rules are failing for the given compliance standard + historic_stats: + type: array + items: + type: object + properties: + timestamp: + type: integer + description: Date and time value for the stat + total_passed_rules: + type: integer + description: Total rules passed at the given value of date and time + total_failed_rules: + type: integer + description: Total rules failed at the given value of date and time + rules_pass_rate: + type: integer + description: Rate at which rules are passing at the given value of date and time + trend: + $ref: '#/components/schemas/TrendResponse' + FailedResultsByCS: + type: object + required: + - as_of_date_stats + properties: + as_of_date_stats: + type: object + properties: + failed_results_by_compliance_standards: + type: array + items: + type: object + properties: + cs_name: + type: string + description: Name of compliance standard + total_failed_results: + type: integer + description: Total number of failed results for the given compliance standard + by_severity: + $ref: '#/components/schemas/FailedResultsBySeverity' + ExportResultsRequestBody: + type: object + properties: + row_count: + type: integer + description: number of records in the CSV file + maximum: 500000 + example: 1000 + sort: + $ref: '#/components/schemas/Sort' + export_name: + type: string + description: CSV file name + example: Findings report + timestamp: + type: integer + description: Epoch denoting the time until when the data is to be exported + example: 1697004746 + filters: + $ref: '#/components/schemas/Filters' + csv_headers: + type: array + items: + $ref: '#/components/schemas/CSVHeader' + required: + - timestamp + - row_count + - export_name + - csv_headers + - sort + CSVHeader: + type: object + properties: + id: + type: string + enum: + - app + - app_category + - app_suite + - current_rule_version + - error_msg + - instance_id + - instance_name + - rules_category + - last_scanned + - muted + - policies + - region_id + - region_name + - resource_id + - resource_name + - resource_type + - rule_id + - rule_name + - severity + - status + - netskope_instance_name + example: app + display_name: + type: string + ReportScheduleRequest: + type: object + properties: + report_name: + description: Name of the report schedule and the generated report file name + type: string + example: Compliance Report + frequency: + description: Frequency of the report generation schedule + type: string + enum: + - now + - daily + - weekly + - monthly + example: daily + day_of_week: + description: Day of week on which report will be generated, this field is mandatory when frequency selected is weekly + type: string + enum: + - sunday + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + day_of_month: + description: Day of month on which report will be generated, this field is mandatory when frequency selected is monthly + type: string + enum: + - '1' + - '2' + - '3' + - '4' + - '5' + - '6' + - '7' + - '8' + - '9' + - '10' + - '11' + - '12' + - '13' + - '14' + - '15' + - '16' + - '17' + - '18' + - '19' + - '20' + - '21' + - '22' + - '23' + - '24' + - '25' + - '26' + - '27' + - '28' + hour_of_day: + description: Hour at which report will be generated. For any frequency except now, this field is mandatory. + type: string + enum: + - '0' + - '1' + - '2' + - '3' + - '4' + - '5' + - '6' + - '7' + - '8' + - '9' + - '10' + - '11' + - '12' + - '13' + - '14' + - '15' + - '16' + - '17' + - '18' + - '19' + - '20' + - '21' + - '22' + - '23' + time_zone: + description: Time zone to be used for generating reports. + type: string + enum: + - Midway Island, Samoa(GMT-11:00) + - Hawaii(GMT-10:00) + - Alaska(GMT-09:00) + - Pacific Time (US & Canada)(GMT-08:00) + - Tijuana, Baja California(GMT-08:00) + - Arizona(GMT-07:00) + - Chihuahua, La Paz, Mazatlan(GMT-07:00) + - Mountain Time (US & Canada)(GMT-07:00) + - Central America(GMT-06:00) + - Central Time (US & Canada)(GMT-06:00) + - Guadalajara, Mexico City, Monterrey(GMT-06:00) + - Saskatchewan(GMT-06:00) + - Bogota, Lima, Quito, Rio Branco(GMT-05:00) + - Eastern Time (US & Canada)(GMT-05:00) + - Indiana (East)(GMT-05:00) + - Atlantic Time (Canada)(GMT-04:00) + - Caracas, La Paz(GMT-04:00) + - Manaus(GMT-04:00) + - Santiago(GMT-04:00) + - Newfoundland(GMT-03:30) + - Brasilia(GMT-03:00) + - Buenos Aires, Georgetown(GMT-03:00) + - Greenland(GMT-03:00) + - Montevideo(GMT-03:00) + - Cape Verde Is.(GMT-01:00) + - Azores(GMT-01:00) + - Casablanca, Monrovia, Reykjavik(GMT+00:00) + - 'Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London(GMT+00:00)' + - Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna(GMT+01:00) + - Belgrade, Bratislava, Budapest, Ljubljana, Prague(GMT+01:00) + - Brussels, Copenhagen, Madrid, Paris(GMT+01:00) + - Sarajevo, Skopje, Warsaw, Zagreb(GMT+01:00) + - West Central Africa(GMT+01:00) + - Amman(GMT+02:00) + - Athens, Bucharest, Istanbul(GMT+02:00) + - Beirut(GMT+02:00) + - Cairo(GMT+02:00) + - Harare, Pretoria(GMT+02:00) + - Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius(GMT+02:00) + - Jerusalem(GMT+02:00) + - Minsk(GMT+02:00) + - Windhoek(GMT+02:00) + - Kuwait, Riyadh, Baghdad(GMT+03:00) + - Moscow, St. Petersburg, Volgograd(GMT+03:00) + - Nairobi(GMT+03:00) + - Tbilisi(GMT+03:00) + - Tehran(GMT+03:30) + - Abu Dhabi, Muscat(GMT+04:00) + - Baku(GMT+04:00) + - Yerevan(GMT+04:00) + - Kabul(GMT+04:30) + - Yekaterinburg(GMT+05:00) + - Islamabad, Karachi, Tashkent(GMT+05:00) + - Sri Jayawardenapura(GMT+05:30) + - Chennai, Kolkata, Mumbai, New Delhi(GMT+05:30) + - Kathmandu(GMT+05:45) + - Almaty, Novosibirsk(GMT+06:00) + - Astana, Dhaka(GMT+06:00) + - Yangon (Rangoon)(GMT+06:30) + - Bangkok, Hanoi, Jakarta(GMT+07:00) + - Krasnoyarsk(GMT+07:00) + - Beijing, Chongqing, Hong Kong, Urumqi(GMT+08:00) + - Kuala Lumpur, Singapore(GMT+08:00) + - Irkutsk, Ulaan Bataar(GMT+08:00) + - Perth(GMT+08:00) + - Taipei(GMT+08:00) + - Osaka, Sapporo, Tokyo(GMT+09:00) + - Seoul(GMT+09:00) + - Yakutsk(GMT+09:00) + - Adelaide(GMT+09:30) + - Darwin(GMT+09:30) + - Brisbane(GMT+10:00) + - Canberra, Melbourne, Sydney(GMT+10:00) + - Hobart(GMT+10:00) + - Guam, Port Moresby(GMT+10:00) + - Vladivostok(GMT+10:00) + - Magadan, Solomon Is., New Caledonia(GMT+11:00) + - Auckland, Wellington(GMT+12:00) + - Fiji, Kamchatka, Marshall Is.(GMT+12:00) + - Nuku'alofa(GMT+13:00) + example: Alaska(GMT-09:00) + include_passed_findings: + description: This will determine whether passed findings will be included in the report, only failed findings will be included by default. + type: boolean + enum: + - true + - false + default: false + filters: + $ref: '#/components/schemas/ReportFilters' + mail_to: + type: array + items: + type: string + minItems: 1 + format: email + example: + - abc@example.com + required: + - report_name + - mail_to + - frequency + - time_zone + ReportSchedules: + type: object + properties: + reportSchedules: + type: array + items: + $ref: '#/components/schemas/ReportSchedule' + nextOffset: + type: integer + ReportSchedule: + type: object + properties: + report_schedule_id: + type: string + report_name: + type: string + frequency: + type: string + day_of_week: + type: string + day_of_month: + type: string + hour_of_day: + type: string + time_zone: + type: string + include_passed_findings: + type: boolean + filters: + type: object + mail_to: + type: array + items: + type: string + ReportFilters: + type: object + description: (Optional) Specific filters, if any, to be considered for the report, default is All. + properties: + app_suites: + type: array + items: + type: string + example: '[AzureAD, Salesforce]' + AppSuitesList: + type: array + items: + type: object + properties: + id: + type: string + name: + type: string + description: + type: string + instance_hierarchy_supported: + type: boolean + region_supported: + type: boolean + is_saas: + type: boolean + instance_label: + type: string + example: + - id: AzureAD + name: Azure Active Directory + description: Azure Active Directory + instance_hierarchy_supported: true + region_supported: true + is_saas: true + instance_label: Account + - id: GitHub + name: GitHub + description: GitHub + instance_hierarchy_supported: false + region_supported: false + is_saas: true + instance_label: Account + Region: + type: string + description: Name of the region. + NGLValidationOutput: + type: array + items: + type: object + properties: + error_message: + description: Error message if validation faild for this rule. + type: string + error_position: + type: object + properties: + line_number: + description: Line number where parsing failed. + type: integer + column_number: + description: Column number of the above row where parsing failed. + type: integer + offset: + description: Number of character from beginning where parsing failed. + type: integer + example: + - error_message: "no match found, expected: \"###\", \"as\", \"should-have\", \"should-not-have\" or [ \t\r\n]" + - error_position: + line_number: 2 + column_number: 20 + offset: 100 + Category: + type: object + properties: + name: + type: string + short_name: + type: string + description: + type: string + example: + name: Compliance Standard + short_name: cs + description: A rule category which indicates whether a rule is mapped to a specific control of a compliance standard or not. + CategoryList: + type: array + items: + $ref: '#/components/schemas/Category' + SubCategoryList: + type: array + items: + $ref: '#/components/schemas/SubCategory' + SubCategory: + type: object + properties: + id: + type: string + description: A unique identifier which corresponds to the sub-category. + name: + type: string + description: Name of the subcategory. + category: + type: string + description: Name of the category. + description: + type: string + description: Description of the subcategory. + appsuites: + type: array + description: List of app-suites for which this sub-category is applicable. empty list indicates that this is applicable to all. + items: + type: string + subcategories: + type: array + description: This lists further subcategories under this subcategory. + items: + $ref: '#/components/schemas/SubCategory' + example: + id: CS-1122322 + name: CIS-MICROSOFT365-1.2.0 + category: Compliance Standard + description: CIS standard for Microsoft 365 apps + appsuites: + - AzureAD + - Microsoft365 + subcategories: + - name: section + category: Compliance Standard + value: '1' + description: '' + subcategories: + - name: control + value: '1.1' + description: Ensure multi-factor authentication is enabled for all users in administrative roles + - name: control + value: '1.2' + category: Compliance Standard + description: Ensure multi-factor authentication is enabled for all users in all roles + RuleList: + type: array + items: + type: object + properties: + rule_id: + type: string + rule_name: + type: string + Email: + type: object + properties: + frequency: + description: Frequency of notification. 0 means, immediate notification. + type: integer + notify_netskope_instance_owner: + type: boolean + notify_selected_users: + type: array + items: + type: string + from_email: + type: array + items: + type: string + PolicyRequest: + type: object + properties: + name: + type: string + description: Name of the policy. + description: + type: string + description: Description attached to the policy. + appsuite: + type: string + description: Name of the application suite for which the policy is created. + instance_allowlist: + description: Policy will be applicable to resources belonging to these instances. Empty means All. + type: array + items: + $ref: '#/components/schemas/Instance' + instance_blocklist: + description: Policy will not be applicable to resources belonging to these instances. + type: array + items: + $ref: '#/components/schemas/Instance' + instance_group_allowlist: + description: Policy will be applicable to resources belonging to these instance groups. Empty means All. + type: array + items: + type: string + instance_group_blocklist: + description: Policy will not be applicable to resources belonging to these instance groups. + type: array + items: + type: string + instance_subgroup_allowlist: + description: Policy will be applicable to resources belonging to these instance subgroups. Empty means All. + type: array + items: + type: string + instance_subgroup_blocklist: + description: Policy will not be applicable to resources belonging to these instance subgroups. + type: array + items: + type: string + regions: + type: object + properties: + region_list: + type: array + items: + $ref: '#/components/schemas/Region' + is_include_list: + type: boolean + description: Whether region_list is an include list or an exclude list. + rule_subcategory_ids: + type: array + description: Sub-category ids for filtering rules for a policy. + items: + type: string + description: Rule sub-category ID. + rule_ids: + type: array + items: + type: string + description: Rule id. + disabled_rule_ids: + description: List of rules that will be excluded from the policy even though it is part of rule_subcategory_ids or rule_ids. + type: array + items: + type: string + description: Disabled rule id. + email: + $ref: '#/components/schemas/Email' + enabled: + type: boolean + description: Status of the policy, whether it is enabled or disabled. + modified_by: + type: string + example: + name: policy-100 + description: policy100 description + appsuite: AzureAD + instance_allowlist: + - id: acc-7777771000 + name: test-cspm + - id: ou-815731449001 + name: test-team + - id: org-815731449000 + name: test-org + instance_blocklist: null + regions: + is_allow_list: true, + region_list: + - us-east-1 + rule_subcategory_ids: + - cs1 + - cs2 + rule_ids: + - RL-123456767 + - RL-723234567 + disabled_rule_ids: + - RL-123456767 + - RL-723234567 + enabled: true, + modified_by: user1@abc.com + PolicyResponse: + type: object + properties: + id: + type: string + description: ID of the policy. It will be zero during post operation. + name: + type: string + description: Name of the policy. + description: + type: string + description: Description attached to the policy. + appsuite: + type: string + description: Name of the application suite for which the policy is created. + instance_allowlist: + description: Policy will be applicable to resources belonging to these instances. Empty means All. + type: array + items: + $ref: '#/components/schemas/Instance' + instance_blocklist: + description: Policy will not be applicable to resources belonging to these instances. + type: array + items: + $ref: '#/components/schemas/Instance' + instance_group_allowlist: + description: Policy will be applicable to resources belonging to these instance groups. Empty means All. + type: array + items: + type: string + instance_group_blocklist: + description: Policy will not be applicable to resources belonging to these instance groups. + type: array + items: + type: string + instance_subgroup_allowlist: + description: Policy will be applicable to resources belonging to these instance subgroups. Empty means All. + type: array + items: + type: string + instance_subgroup_blocklist: + description: Policy will not be applicable to resources belonging to these instance subgroups. + type: array + items: + type: string + regions: + type: object + properties: + region_list: + type: array + items: + $ref: '#/components/schemas/Region' + is_include_list: + type: boolean + description: Whether region_list is an include list or an exclude list. + rule_subcategories_list: + type: array + items: + $ref: '#/components/schemas/SubCategory' + rule_list: + type: array + items: + $ref: '#/components/schemas/RuleList' + disabled_rule_list: + description: List of rules that got disabled. + type: array + items: + $ref: '#/components/schemas/RuleList' + email: + $ref: '#/components/schemas/Email' + enabled: + type: boolean + description: Status of the policy, whether it is enabled or disabled. + applied: + type: boolean + description: Indicates whether the policy is in applied state. + delete_marked: + type: boolean + description: Indicates whether the policy is marked for deletion. + modified_ts: + type: integer + description: epoch time when the policy was modified last time. + modified_by: + type: string + example: + name: policy-100 + description: policy100 description + appsuite: AzureAD + instance_allowlist: + - id: acc-7777771000 + name: test-cspm + - id: ou-815731449001 + name: test-team + - id: org-815731449000 + name: test-org + instance_blocklist: null + regions: + is_allow_list: true, + region_list": + - us-east-1 + cs_list: + - cs_id: cs1 + - cs_id: cs2 + rule_list: + - rule_id: RL-123456767 + - rule_id: RL-723234567 + - rule_id: RL-546776556 + - rule_id: RL-456534345 + - rule_id: RL-787654443 + disabled_rule_list: + - rule_id: RL-123456767 + - rule_id: RL-723234567 + delete_marked: false + enabled: true, + modified_by: user1@abc.com + modified_ts: 1234556 + Policies: + type: array + items: + $ref: '#/components/schemas/PolicyResponse' + PoliciesSummaryList: + type: object + properties: + count: + type: integer + description: Count of total number of policies. + policy_list: + $ref: '#/components/schemas/PolicySummary' + PolicySummary: + type: object + properties: + id: + type: string + description: ID of the policy. It will be zero during post operation. + name: + type: string + description: Name of the policy. + SubCategoryRulesRequest: + type: object + description: Build a consolidate List all the rules matching any rule-subcategories or rule-ids provided in the request. + properties: + subcategory_ids: + description: List of sub-category ids from which to select the rules. Any rule matching the given sub-category will be selected. + type: array + items: + type: string + rule_ids: + description: List of rules to be included in addition to rules mapped to subcategories. + type: array + items: + type: string + disabled_rule_ids: + description: List of rules to be marked disabled in the consolidated list. + type: array + items: + type: string + keyword: + type: string + description: Return all rules having either rule name or compliance name matching keyword. + sort: + $ref: '#/components/schemas/Sort' + SubCategoryRulesResponse: + type: object + properties: + rules: + type: array + items: + type: object + properties: + id: + type: string + name: + type: string + description: + type: string + Subcategory_list: + type: array + items: + $ref: '#/components/schemas/SubCategory' + enabled: + type: boolean + auto_remediate: + type: boolean + FilterPolicyRequest: + type: object + description: Policy filters. + properties: + offset: + type: integer + description: pagination offset. + default: 0 + limit: + type: integer + description: pagination pagesize. + default: 50 + minimum: 0 + sort: + $ref: '#/components/schemas/Sort' + filters: + $ref: '#/components/schemas/PolicyFilters' + PolicyFilters: + type: object + properties: + policy: + description: Filter policies matching policy name. + $ref: '#/components/schemas/FilterValues' + appsuite: + $ref: '#/components/schemas/FilterValues' + : + description: 'Filter policies based on a rule category name. For possible values please refer .' + $ref: '#/components/schemas/FilterValues' + rule: + $ref: '#/components/schemas/FilterValues' + instance: + $ref: '#/components/schemas/FilterValues' + PolicyBatch: + type: object + description: Policy selection list. + properties: + action: + type: string + enum: + - disable + - delete + - revert + policy_ids: + type: array + items: + type: string + PolicyBatchResponse: + type: object + description: Policy selection list. + properties: + applied: + description: List of policies where operation is successful. + type: array + items: + type: object + properties: + policy_id: + type: string + policy_name: + type: string + failed: + type: array + items: + type: object + properties: + status: + type: integer + policy_id: + type: string + policy_name: + type: string + reason: + type: string + RuleBatch: + type: object + description: Policy selection list. + properties: + action: + type: string + enum: + - delete + - revert + rule_ids: + type: array + items: + type: string + RuleBatchResponse: + type: object + description: Policy selection list. + properties: + applied: + description: List of rules where operation is successful. + type: array + items: + type: object + properties: + rule_id: + type: string + rule_name: + type: string + failed: + type: array + items: + type: object + properties: + status: + type: integer + rule_id: + type: string + rule_name: + type: string + reason: + type: string + MuteRequest: + type: object + properties: + action: + type: string + enum: + - mute + - unmute + bulk_apply: + description: If set, then, mute/unmute action will be applied to all results matching results_filter, provided, number of matching rule-resource pair is within 5000. + type: boolean + default: false + mute_justification: + type: string + mute_until: + type: integer + description: epoch time when the result will be unmuted. 0 means, forever till unmuted. + muted_by: + type: string + selection: + description: Mute/unmute all findings in this list based on type of action. + type: array + items: + type: object + properties: + rule_id: + type: string + app_suite: + type: string + netskope_instance_name: + type: string + resource_id: + type: string + resource_type: + type: string + instance_id: + type: string + instance_group: + type: string + instance_subgroup: + type: string + region_id: + type: string + results_filter: + description: | + Mute/unmute all findings after applying following filter only if bulk_mute option is set. + timestamp: + type: integer + example: 1623364884 + filters: null + $ref: '#/components/schemas/ResultFilters' + ResultFilters: + type: object + properties: + instance_id: + $ref: '#/components/schemas/FilterValues' + instance_name: + $ref: '#/components/schemas/FilterValues' + resource_type: + $ref: '#/components/schemas/FilterValues' + resource_group: + $ref: '#/components/schemas/FilterValues' + region_name: + $ref: '#/components/schemas/FilterValues' + region_id: + $ref: '#/components/schemas/FilterValues' + resource_id: + $ref: '#/components/schemas/FilterValues' + resource_name: + $ref: '#/components/schemas/FilterValues' + tags: + $ref: '#/components/schemas/FilterValues' + app: + $ref: '#/components/schemas/FilterValues' + app_suite: + $ref: '#/components/schemas/FilterValues' + app_category: + $ref: '#/components/schemas/FilterValues' + status: + $ref: '#/components/schemas/StatusFilterValues' + muted: + $ref: '#/components/schemas/MutedFilterValues' + rule_name: + $ref: '#/components/schemas/FilterValues' + compliance_standards: + $ref: '#/components/schemas/FilterValues' + policies: + $ref: '#/components/schemas/FilterValues' + severity: + $ref: '#/components/schemas/SeverityFilterValues' + netskope_instance_name: + $ref: '#/components/schemas/FilterValues' + CSResponse: + type: object + properties: + id: + type: string + description: ID of the compliance-standard. + name: + type: string + description: Name of the compliance-standard + description: + type: string + description: Description of the compliance-standard + appsuite: + type: string + cs_type: + type: string + enum: + - predefined + - custom + modified_time: + type: integer + description: epoch time when the policy was modified last time. + modified_by: + type: string + applied: + type: boolean + delete_marked: + type: boolean + controls: + type: array + items: + type: object + properties: + id: + type: string + section: + type: string + control: + type: string + name: + type: string + CSSummaryList: + type: object + properties: + compliances: + type: array + items: + $ref: '#/components/schemas/CSSummary' + next_cursor: + description: Get records from this cursor. Empty if there are no more resources. + type: string + CSSummary: + type: object + properties: + cs_id: + type: string + cs_name: + type: string + cs_type: + type: string + enum: + - predefined + - custom + sections: + type: object + properties: + section: + type: string + controls: + type: array + items: + type: object + properties: + control_id: + type: string + control: + type: string + RuleRequest: + type: object + properties: + name: + type: string + description: Name of the rule. + description: + type: string + description: Description of the rule. + appsuite: + type: string + description: Name of the application suite. + severity: + type: string + description: Severity of the rule. + enum: + - Critical + - High + - Medium + - Low + rule_type: + type: string + enum: + - predefined + - custom + ngl_rule: + type: string + description: Rule written in NGL. + force_save: + type: boolean + description: If force_save is set, then, rule will be saved even if it is invalid. + remediation_steps: + type: string + description: Manual remediation steps for custom rule. + auto_remediable: + type: boolean + description: Indicates whether rule violations are auto-remediable or not. + subcategory_ids: + type: array + description: Subcategories that are mapped to this rule. + items: + type: string + RuleResponse: + type: object + properties: + id: + type: string + description: ID of the rule. + version: + type: integer + description: Version of the rule. + name: + type: string + description: Name of the rule. + description: + type: string + description: Description of the rule. + appsuite: + type: string + description: Name of the application suite. + severity: + type: string + description: Severity of the rule. + enum: + - Critical + - High + - Medium + - Low + rule_type: + type: string + enum: + - predefined + - custom + ngl_rule: + type: string + description: Rule written in NGL. + remediation_steps: + type: string + description: Manual remediation steps for custom rule. + auto_remediable: + type: boolean + description: Indicates whether rule violations are auto-remediable or not. + delete_marked: + type: boolean + description: This indicates, rule is marked for deletion. This will get deleted in next apply operation. + applied: + type: boolean + description: This indicates, whether this is applied view or not. + valid: + type: boolean + description: This indicates, whether ngl rule is valid or not. + resource_type: + type: string + description: Primary resource type used in the NGL. + sec_resource_type: + description: Secondary resource types used in the NGL. + type: array + items: + type: string + policies: + type: array + items: + type: object + properties: + id: + type: string + name: + type: string + controls: + type: array + description: Compliance-standards, sections and controls this rule is mapped to. + items: + type: object + properties: + cs_id: + type: string + cs_name: + type: string + cs_desc: + type: string + control_id: + type: string + section: + type: string + control: + type: string + control_desc: + type: string + subcateogry_mapping: + type: array + description: Subcategories that are attached to the rule. + items: + $ref: '#/components/schemas/SubCategory' + RuleNGL: + type: object + properties: + rule: + type: string + RulesSummaryList: + type: object + properties: + rules: + type: array + items: + $ref: '#/components/schemas/RuleSummary' + next_cursor: + description: Get records from this cursor. Empty if there are no more resources. + type: string + RuleSummary: + type: object + properties: + id: + type: string + name: + type: string + description: + type: string + type: + type: string + enum: + - Predefined + - Custom + appsuite: + type: string + ngl: + type: string + subcategory_list: + type: array + items: + type: object + properties: + category: + type: string + id: + type: string + name: + type: string + PolicyFilterResponse: + type: array + items: + type: object + properties: + key: + type: string + description: Name of the filter + example: appsuite + fetch_options_uri: + type: string + description: URL to be used to fetch the filter values + example: policies/filters/getappsuite + display_name: + type: string + type: + type: string + description: Type of filter + enum: + - SearchFilter + - DropdownListFilter + - MultiSelectFilter + - MultiSelectTagFilter + - DateTimeFilter + example: MultiSelectFilter + children: + type: array + description: Child filters for this filter + items: + type: string + example: + - instance_subgroup + FilterOptionsResponse: + type: object + properties: + data: + type: array + description: Array of filter values + items: + type: object + properties: + id: + description: ID of the value + type: string + example: key + name: + description: Name of the value + type: string + parent: + description: Parent value + type: string + next_cursor: + description: Get records from this cursor. Empty if there are no more resources. + type: string + InventoryFilterOptionsRequest: + type: object + properties: + filter_key: + description: API will fetch all possible values used in any policy of this field. + type: string + enum: + - app_suite + - app_category + - app_name + - instance_name + - region_id + - resource_name + - resource_id + - resource_type + - instance_group + - instance_subgroup + - instance_id + - instance + - tag + keyword: + description: case-insensitive Keyword filter match for values. + type: string + limit: + description: Limit of the filter values returned. + type: integer + default: 50 + cursor: + type: string + description: Cursor from which the filter values are to be returned. + default: 0 + timestamp: + type: integer + description: Timestamp for which filter values need to be fetched. 0 means latest timestamp + default: 0 + ResourceAggregationRequest: + type: object + required: + - offset + - fields + - limit + - group_by + - timestamp + properties: + offset: + description: Position in the dataset of a particular record + default: 0 + type: integer + limit: + description: The number of items to return + default: 50 + type: integer + fields: + description: Array of fields to be returned in the response + type: array + items: + type: string + example: + - resource_name + - resource_type + - app_suite + - app_name + - region_name + sort: + description: Specifies the sort order details + type: array + items: + type: object + properties: + column: + description: Column on which the data must be sorted + type: string + sort_order: + description: Sorting order for the results + type: string + default: asc + enum: + - asc + - desc + timestamp: + description: Fetch all the resource older than this timestamp + type: integer + group_by: + description: Field to be used for grouping the results + type: string + filters: + description: Array of filters. For illustrative purpose only few filters are listed. + example: + app_suite: + values: + - AzureAD + - Microsoft365 + operator: equal + app_name: + values: + - Exchange + operator: like + ngl_query: + description: ngl query to used for search. If filters are specified, ngl_query must not be used + type: string + ResourceAggregationResponse: + type: object + properties: + data: + type: array + items: + type: object + example: + - app_category: IAM + app_name: AzureAD + app_suite: AzureAD + instance_id: 8f0ff347-4313-4e58-abda-4a828531df17 + instance_name: triremeresearch.onmicrosoft.com + netskope_instance_name: triremeresearch.onmicrosoft.com + parent_res_type: IdentityAndSignIn + region_id: global + region_name: global + resource_id: Policies + resource_name: Policies + resource_type: Policies + - app_category: IAM + app_name: AzureAD + app_suite: AzureAD + instance_id: 8f0ff347-4313-4e58-abda-4a828531df17 + instance_name: triremeresearch.onmicrosoft.com + netskope_instance_name: triremeresearch.onmicrosoft.com + parent_res_type: Policies + region_id: global + region_name: global + resource_id: AuthenticationMethodsPolicy + resource_name: AuthenticationMethodsPolicy + resource_type: AuthenticationMethodsPolicy + - app_category: IAM + app_name: AzureAD + app_suite: AzureAD + instance_id: 8f0ff347-4313-4e58-abda-4a828531df17 + instance_name: triremeresearch.onmicrosoft.com + netskope_instance_name: triremeresearch.onmicrosoft.com + parent_res_type: ServicePrincipals + region_id: global + region_name: global + resource_id: ae7f7066-36a4-47fa-8def-c5dea1891ce3 + resource_name: IC3 Gateway + resource_type: ServicePrincipal + - app_category: IAM + app_name: AzureAD + app_suite: AzureAD + instance_id: 8f0ff347-4313-4e58-abda-4a828531df17 + instance_name: triremeresearch.onmicrosoft.com + netskope_instance_name: triremeresearch.onmicrosoft.com + parent_res_type: Account + region_id: global + region_name: global + resource_id: IdentityAndSignIn + resource_name: IdentityAndSignIn + resource_type: IdentityAndSignIn + total_count: + description: Total resource count only returned when there offset set to 0 in the request + type: integer + example: 4 + next_offset: + description: Get records from this offset. -1 if there is no more resources. + type: integer + example: -1 + ResourceResponse: + type: object + properties: + app_name: + description: Application Name + type: string + app_suite: + description: Application Suite + type: string + app_category: + description: Application Category + type: string + instance_name: + description: Name of the instance + type: string + instance_id: + description: ID of the instance + type: string + netskope_instance_name: + description: Name of the Netskope instance + type: string + instance_group: + description: Instance group + type: string + instance_subgroup: + description: Sub group of the instance + type: string + parent_resource_id: + description: Parent resource ID to be linked. + type: string + parent_resource_type: + description: Parent resource Type + type: string + resource_type: + description: Type of the resource + type: string + resource_name: + description: Name of the resource + type: string + region_name: + description: Region Name where the resource is hosted + type: string + region_id: + description: Region ID where the resource is hosted + type: string + creation_time: + description: Creation time of the resource + type: string + tags: + type: array + description: Tags of the resource + items: + type: object + properties: + name: + type: string + description: Name of the tag value + value: + type: string + description: Value of the tag + metadata: + type: object + description: Metadata of the resource + example: + app_name: AzureAD + app_suite: AzureAD + app_category: IAM + instance_name: instance-name + instance_id: acc-7777771000 + netskope_instance_name: nskp-instance-name + instance_group: org-815731449000 + instance_subgroup: ou-815731449001 + parent_resource_id: acc-7777771000 + parent_resource_type: Account + resource_type: OAuth2PermissionGrant + resource_name: i-0f4f34639ab935e110 + region_name: global + region_id: global + creation_time: 1641462752247 + tags: [] + metadata: + clientId: '12345' + consentType: AllPrincipals + id: id-12345 + principalId: null + resourceId: 12345-13a8-497b-ab07-2c98cfc1818e + scope: ChannelMessage.Send Directory.AccessAsUser.All + compliance: + count_failed: 1 + count_critical: 1 + total_count: 5 + ResourceListResponse: + type: array + items: + type: object + properties: + app_name: + description: Application Name + type: string + app_suite: + description: Application Suite + type: string + app_category: + description: Application Category + type: string + instance_name: + description: Name of the instance + type: string + instance_id: + description: ID of the instance + type: string + netskope_instance_name: + description: Name of the Netskope instance + type: string + instance_group: + description: Instance group + type: string + instance_subgroup: + description: Sub group of the instance + type: string + parent_resource_id: + description: Parent resource ID to be linked. + type: string + parent_resource_type: + description: Parent resource Type + type: string + resource_type: + description: Type of the resource + type: string + resource_name: + description: Name of the resource + type: string + resource_id: + description: Id of the resource + type: string + region_name: + description: Region Name where the resource is hosted + type: string + region_id: + description: Region ID where the resource is hosted + type: string + creation_time: + description: Creation time of the resource + type: string + tags: + type: array + description: Tags of the resource + items: + type: object + properties: + name: + type: string + description: Name of the tag value + value: + type: string + description: Value of the tag + metadata: + type: object + description: Metadata of the resource + compliance: + type: object + description: Compliance results of the resource + properties: + count_failed: + type: integer + description: Number of failed rules count + count_critical: + type: integer + description: Number of failed critical rules count + total_count: + type: integer + description: Number of rules evalutated for the resource + InventoryFieldsRequest: + type: object + properties: + aggregate_fields: + description: Specfies fields that belong to a resource type within an aggregation + type: array + items: + type: string + example: + - ec2_instance + - lambda + group_by: + description: Specifies the aggregation type + type: string + example: resource_types + InventoryFieldsResponse: + type: object + properties: + : + description: Specfies fields that belong to a resource type within an aggregation + type: array + items: + type: object + properties: + id: + description: Id of the inventory field + type: string + display_name: + description: Name of the field displayed in the UI + type: string + is_sortable: + description: Determines where the field is sortable + type: boolean + type: + description: Determines the field type + type: string + example: Text + example: + general: + - id: resource_type + displayName: Resource Type + isSortable: true + type: Text + - id: app_suite + displayName: App Suite + isSortable: true + type: Text + - id: app_name + displayName: App Name + isSortable: true + type: Text + - id: app_category + displayName: App Category + isSortable: true + type: Text + - id: region_name + displayName: Region Name + isSortable: true + type: Text + - id: instance_name + displayName: Instance Name + isSortable: true + type: Text + - id: total_resources + displayName: Total Resources + isSortable: true + type: Number + - id: total_rules_violated + displayName: Total Rules Violated + isSortable: true + type: Number + ec2_instance: + - id: AmiLaunchIndex + displayName: Admin Launch Index + isSortable: false + type: Number + - id: ImageId + displayName: Image ID + isSortable: false + type: Number + - id: Platform + displayName: Platform + isSortable: false + type: Text + - id: SubnetId + displayName: Subnet ID + isSortable: false + type: Text + lambda_function: + - id: Runtime + displayName: Runtime + isSortable: false + type: Text + - id: KMSKeyArn + displayName: KMS Key ARN + isSortable: false + type: Text + - id: MasterArn + displayName: Master ARN + isSortable: false + type: Text + - id: Version + displayName: Version + isSortable: false + type: Text + ResourceGraphResponse: + type: object + required: + - nodes + - edges + properties: + nodes: + type: array + items: + type: object + properties: + data: + type: object + properties: + id: + type: string + description: Node ID + name: + type: string + description: Name of the Resource shown in the graph + resource: + $ref: '#/components/schemas/GraphResource' + edges: + type: array + items: + type: object + properties: + data: + type: object + properties: + id: + type: string + description: Graph ID for the edge between two resources + source: + type: string + description: Internal Id of the source resource in the graph + target: + type: string + description: Internal Id of the source resource in the graph + labels: + type: string + description: Label for the edge between the resources + node_count: + type: integer + description: total number of connected nodes + GraphResource: + type: object + properties: + app_name: + description: Application Name + type: string + app_suite: + description: Application Suite + type: string + app_category: + description: Application Category + type: string + instance_name: + description: Name of the instance + type: string + instance_id: + description: ID of the instance + type: string + netskope_instance_name: + description: Name of the Netskope instance + type: string + instance_group: + description: Instance group + type: string + instance_subgroup: + description: Sub group of the instance + type: string + parent_resource_id: + description: Parent resource ID to be linked. + type: string + parent_resource_type: + description: Parent resource Type + type: string + internal_resource_id: + description: Internal resource id representing the resource + type: string + resource_type: + description: Type of the resource + type: string + resource_name: + description: Name of the resource + type: string + region_name: + description: Region Name where the resource is hosted + type: string + region_id: + description: Region ID where the resource is hosted + type: string + creation_time: + description: Creation time of the resource + type: string + InstanceSummaryByAS: + type: object + required: + - as_of_date_stats + properties: + as_of_date_stats: + type: object + properties: + app_suites_configured_count: + type: integer + description: Total number of configured applications + app_suites_not_configured_count: + type: integer + description: Total number of unconfigured applications + app_suites_supported_count: + type: integer + description: Total number of supported applications + app_suites: + type: array + items: + type: object + properties: + name: + type: string + description: Name of application + is_configured: + type: boolean + description: Determines if the application is configured + InstanceSummaryByApps: + type: object + required: + - as_of_date_stats + properties: + as_of_date_stats: + type: object + properties: + apps_configured_count: + type: integer + description: Total number of configured applications + apps_not_configured_count: + type: integer + description: Total number of unconfigured applications + apps_supported_count: + type: integer + description: Total number of supported applications + applications: + type: array + items: + type: object + properties: + name: + type: string + description: Name of application + is_configured: + type: boolean + description: Determines if the application is configured + StatsByUsersResponse: + type: object + required: + - as_of_date_stats + properties: + as_of_date_stats: + type: object + properties: + total_users: + type: integer + description: Count of total users + users_by_app_suite: + type: array + items: + type: object + properties: + app_suite: + type: string + description: Name of application suite + count: + type: integer + description: Number of users for the application suite + historic_stats: + type: array + items: + type: object + properties: + timestamp: + type: integer + description: Date and time value for the stat + total_users: + type: integer + description: Number of users at the given value of date and time + trend: + type: object + properties: + trajectory: + type: string + description: Showing the change in the trend from the last week's average users count + enum: + - up + - down + - unchanged + change_in_num: + type: integer + description: Difference between current users count and last week's average users count + GraphAssociationsResponse: + type: object + properties: + owns: + type: array + items: + type: object + properties: + resource_id: + description: Resource id representing the resource + type: string + resource_type: + description: Type of the resource + type: string + resource_name: + description: Name of the resource + type: string + instance_id: + description: ID of the instance + type: string + app_suite: + description: Application Suite + type: string + refers: + type: array + items: + type: object + properties: + resource_id: + description: Resource id representing the resource + type: string + resource_type: + description: Type of the resource + type: string + resource_name: + description: Name of the resource + type: string + instance_id: + description: ID of the instance + type: string + app_suite: + description: Application Suite + type: string + node_count: + type: integer + description: total number of connected nodes + example: + owns: + - resource_id: 5a7d48df-b6f2-45f8-a6d5-d15527004145 + resource_type: User + resource_name: Automated Process + instance_id: test-instance + app_suite: Salesforce + refers: + - resource_id: 5a7d48df-b6f2-45f8-a6d5-d15527004167 + resource_type: User + resource_name: Automated Process + instance_id: test-instance + app_suite: Salesforce + node_count: 2 + StatsByRiskCategoryResponse: + type: object + required: + - as_of_date_stats + - historic_stats + - trend + - by_app + properties: + as_of_date_stats: + type: object + properties: + apps_configured_count: + type: integer + description: Total number of configured applications + apps_supported_count: + type: integer + description: Total number of supported applications + total_third_party_apps: + type: integer + description: Count of total third party applications + by_risk_category: + type: object + description: Distribution of the third party applications based on risk category + properties: + unknown: + type: integer + description: count of third party applications with risk category unknown + high: + type: integer + description: count of third party applications with risk category high + medium: + type: integer + description: count of third party applications with risk category medium + low: + type: integer + description: count of third party applications with risk category low + historic_stats: + type: array + items: + type: object + properties: + timestamp: + type: integer + description: Date and time value for the stat + total_third_party_apps: + type: integer + description: Count of total third party applications + by_risk_category: + type: object + description: Distribution of the third party applications based on risk category + properties: + unknown: + type: integer + description: count of third party applications with risk category unknown + high: + type: integer + description: count of third party applications with risk category high + medium: + type: integer + description: count of third party applications with risk category medium + low: + type: integer + description: count of third party applications with risk category low + trend: + type: object + properties: + trajectory: + type: string + description: Showing the change in the trend from the current week's average third party applications count + enum: + - up + - down + - unchanged + change_in_num: + type: integer + description: Difference between current third party applications count and current week's average third party applications count + notation: + type: string + description: The type of change_in_num value + enum: + - percent + by_app: + type: object + properties: + appname: + type: string + description: application name + total_third_party_apps: + type: integer + description: Count of total third party applications + by_risk_category: + type: object + description: Distribution of the third party applications based on risk category + properties: + unknown: + type: integer + description: count of third party applications with risk category unknown + high: + type: integer + description: count of third party applications with risk category high + medium: + type: integer + description: count of third party applications with risk category medium + low: + type: integer + description: count of third party applications with risk category low + example: + as_of_date_stats: + apps_configured_count: 7 + apps_supported_count: 11 + total_third_party_apps: 400 + by_risk_category: + unknown: 20 + high: 10 + medium: 120 + low: 250 + historic_stats: + - timestamp: 1675295999 + total_third_party_apps: 50 + by_risk_category: + unknown: 5 + high: 5 + medium: 10 + low: 30 + - timestamp: 1675382399 + total_third_party_apps: 100 + by_risk_category: + unknown: 15 + high: 5 + medium: 20 + low: 60 + - timestamp: 1675468799 + total_third_party_apps: 150 + by_risk_category: + unknown: 15 + high: 5 + medium: 30 + low: 100 + - timestamp: 1675555199 + total_third_party_apps: 200 + by_risk_category: + unknown: 15 + high: 5 + medium: 50 + low: 130 + - timestamp: 1675641599 + total_third_party_apps: 250 + by_risk_category: + unknown: 15 + high: 5 + medium: 60 + low: 170 + - timestamp: 1675727999 + total_third_party_apps: 300 + by_risk_category: + unknown: 15 + high: 5 + medium: 80 + low: 200 + - timestamp: 1675814399 + total_third_party_apps: 350 + by_risk_category: + unknown: 20 + high: 10 + medium: 100 + low: 220 + - timestamp: 1675856040 + total_third_party_apps: 400 + by_risk_category: + unknown: 20 + high: 10 + medium: 120 + low: 250 + trend: + trajectory: up + change_in_num: 100 + notation: percent + by_app: + - appname: Salesforce + total_third_party_apps: 50 + by_risk_category: + unknown: 5 + high: 5 + medium: 10 + low: 30 + - appname: AzureAD + total_third_party_apps: 50 + by_risk_category: + unknown: 5 + high: 5 + medium: 10 + low: 30 + - appname: Microsoft365 + total_third_party_apps: 30 + by_risk_category: + unknown: 5 + high: 0 + medium: 5 + low: 20 + - appname: SharePoint + total_third_party_apps: 20 + by_risk_category: + unknown: 0 + high: 0 + medium: 0 + low: 20 + - appname: Others + total_third_party_apps: 250 + by_risk_category: + unknown: 15 + high: 5 + medium: 60 + low: 170 + customer_filters: + type: array + items: + $ref: '#/components/schemas/custom_filter' + example: + - id: 1 + name: test_filter1 + query: (asset_category in [ 'Database', 'Account' ]) + username: admin@netskope.com + page: compliance + shared: false + created_by_me: false + - id: '2' + name: test_filter2 + query: (app_suite in [ 'AWS', 'Azure' ]) + username: user@netskkope.com + page: inventory + shared: true + created_by_me: true + custom_filter: + type: object + properties: + id: + type: integer + description: ID of the filter custom + name: + type: string + description: name of the custom filter + page: + type: string + query: + type: string + description: query of the custom filter + shared: + type: boolean + description: indicates the filter is shared with other users or not + username: + type: string + description: the user who creates this filter + created_by_me: + type: boolean + description: indicates if the filter is created by the current user + required: + - id + - name + - page + - query + - shared + - username + - created_by_me + create_filter_request: + type: object + properties: + name: + type: string + description: name of the custom filter + example: test_filter + query: + type: string + description: query of the custom filter + example: (asset_category in [ 'Database', 'Account' ]) + page: + type: string + description: the page the filter is used for + example: compliance + required: + - name + - query + - page + filter_patch_request: + type: object + properties: + shared: + type: boolean + description: share the filter with others or not. + name: + type: string + description: name of the filter. + query: + type: string + description: query of the filter + required: + - shared + - name + - query + 500_error_response: + type: object + properties: + body: + type: object + properties: + errors: + type: array + items: + type: string + example: We encountered a backend error. Please try again. + status: + type: integer + example: 500 + 400_error_response: + type: object + properties: + body: + type: object + properties: + errors: + type: array + items: + type: string + example: bad request + status: + type: integer + example: 400 + AggregatedStatsRequest: + type: object + properties: + filters: + $ref: '#/components/schemas/FilterRequest' + sortby: + type: string + description: Sort either ascending or desending by the posture score. + enum: + - asc + - desc + default: asc + groupby: + type: string + description: Group by type to be applied for grouping aggregated stats. + enum: + - app_name + - instance_name + example: + filters: + app_name: + - Github + instance_name: [] + groupby: app_name + sortby: asc + ThirdPartyStatsRequest: + type: object + properties: + filters: + $ref: '#/components/schemas/FilterRequest' + groupby: + type: array + description: Group by types to be applied for grouping results stats. If no groupby is specified, aggregation happens at the tenant level. + items: + type: string + enum: + - app_name + - instance_name + - risk_level + example: + filters: + app_names: + - Github + instance_names: + - Instance1 + groupby: + - instance_name + - risk_level + UserStatsRequest: + type: object + properties: + filters: + $ref: '#/components/schemas/FilterRequest' + groupby: + type: array + description: Group by types to be applied for grouping results stats.If no groupby is specified, aggregation happens at the tenant level. + items: + type: string + enum: + - app_name + - instance_name + example: + filters: + app_names: + - Github + groupby: + - instance_name + ResultsStatsRequest: + type: object + properties: + filters: + $ref: '#/components/schemas/FilterRequest' + groupby: + type: array + description: Group by types to be applied for grouping results stats.If no groupby is specified, aggregation happens that tenant level. + items: + type: string + enum: + - app_name + - instance_name + category: + type: string + description: Rule category used for grouping results stats. + enum: + - Compliance Standard + - Domain + - MITRE ATT&CK + example: + groupby: + - severity + category: Compliance Standard + SeverityData: + type: object + properties: + unknown: + type: integer + description: count of the entity with severity unknown. + high: + type: integer + description: count of the entity with severity high. + medium: + type: integer + description: count of the entity with severity medium. + low: + type: integer + description: count of the entity with severity low. + critical: + type: integer + description: count of the entity with severity critical. + description: Distribution of the entity based severity. + DeltaData: + type: object + properties: + trajectory: + type: string + description: Showing the change in the trend from the current week's average entities count. + enum: + - up + - down + - unchanged + change_in_num: + type: integer + description: Difference between current entities count and current week's average entities count. + notation: + type: string + description: The type of change_in_num value. + enum: + - percent + TrendsData: + type: array + items: + type: object + properties: + timestamp: + type: integer + description: Date and time value for the stat. + count: + type: integer + description: Count of the entity. + severity: + $ref: '#/components/schemas/SeverityData' + EntityStatsData: + type: object + properties: + name: + type: string + description: Name of the entity. + as_of_date_stats: + type: object + properties: + total_count: + type: integer + description: Count of total entities. + severity: + $ref: '#/components/schemas/SeverityData' + delta: + $ref: '#/components/schemas/DeltaData' + trends: + $ref: '#/components/schemas/TrendsData' + ResultsStatsData: + type: object + properties: + name: + type: string + description: Name of the entity. + as_of_date_stats: + type: object + properties: + total_count: + type: integer + description: Count of total entities. + severity: + $ref: '#/components/schemas/SeverityData' + category: + type: object + delta: + $ref: '#/components/schemas/DeltaData' + trends: + $ref: '#/components/schemas/TrendsData' + EntityStatsResponse: + type: array + items: + $ref: '#/components/schemas/EntityStatsData' + ResultsStatsResponse: + type: array + items: + $ref: '#/components/schemas/ResultsStatsData' + AggregatedStatsResponseByApp: + type: array + items: + type: object + properties: + name: + type: string + description: Description of the entity. + posture_score: + type: integer + description: Posture score of the entity. + posture_score_level: + type: string + description: Posture score level of the entity. + instance_count: + type: integer + description: Count of instances for the entity. + failed_findings: + $ref: '#/components/schemas/SeverityData' + thirdpartyapps_count: + $ref: '#/components/schemas/SeverityData' + users_count: + type: integer + description: Count of users for the entity. + posture_score_delta: + type: object + properties: + trajectory: + type: string + description: Showing the change in the trend from the current week's average entities count for posture score. + enum: + - up + - down + - unchanged + change_in_num: + type: integer + description: Difference between current entities count and current week's average entities count for posture score. + notation: + type: string + description: The type of change_in_num value for posture score. + enum: + - percent + posture_score_trends: + type: array + items: + type: object + properties: + timestamp: + type: integer + description: Date and time value for the stat. + count: + type: integer + description: Posture Score of the entity. + AggregatedStatsResponseByInstance: + type: array + items: + type: object + properties: + name: + type: string + description: Description of the entity. + posture_score: + type: integer + description: Posture score of the entity. + posture_score_level: + type: string + description: Posture score level of the entity. + instance_details: + type: object + properties: + state: + type: string + description: Status of the instance + status_msg: + type: string + description: Status message of the instance. Populated if the instance is in error state + last_scan_time: + type: integer + description: Timestamp when the lastest listing/polling was successfully completed for the instance + description: Details of the instance + failed_findings: + $ref: '#/components/schemas/SeverityData' + thirdpartyapps_count: + $ref: '#/components/schemas/SeverityData' + users_count: + type: integer + description: Count of users for the entity. + posture_score_delta: + type: object + properties: + trajectory: + type: string + description: Showing the change in the trend from the current week's average entities count for posture score. + enum: + - up + - down + - unchanged + change_in_num: + type: integer + description: Difference between current entities count and current week's average entities count for posture score. + notation: + type: string + description: The type of change_in_num value for posture score. + enum: + - percent + posture_score_trends: + type: array + items: + type: object + properties: + timestamp: + type: integer + description: Date and time value for the stat. + count: + type: integer + description: Posture Score of the entity. + AppMappingResponse: + type: object + properties: + AzureAD & Microsoft355: + type: object + properties: + app_suites: + type: array + items: + type: string + enum: + - AzureAD + - Microsoft365 + app_names: + type: array + items: + type: string + enum: + - Exchange + - SharePoint + - Microsoft365 + - Defender + - AzureAD + - Intune + Salesforce: + type: object + properties: + app_suites: + type: array + items: + type: string + enum: + - Salesforce + app_names: + type: array + items: + type: string + enum: + - Salesforce + Zoom: + type: object + properties: + app_suites: + type: array + items: + type: string + enum: + - Zoom + app_names: + type: array + items: + type: string + enum: + - Zoom + GitHub: + type: object + properties: + app_suites: + type: array + items: + type: string + enum: + - GitHub + app_names: + type: array + items: + type: string + enum: + - GitHub + ServiceNow: + type: object + properties: + app_suites: + type: array + items: + type: string + enum: + - ServiceNow + app_names: + type: array + items: + type: string + enum: + - ServiceNow + Okta: + type: object + properties: + app_suites: + type: array + items: + type: string + enum: + - Okta + app_names: + type: array + items: + type: string + enum: + - Okta + Workday: + type: object + properties: + app_suites: + type: array + items: + type: string + enum: + - Workday + app_names: + type: array + items: + type: string + enum: + - Workday + Jira: + type: object + properties: + app_suites: + type: array + items: + type: string + enum: + - Atlassian + app_names: + type: array + items: + type: string + enum: + - Jira + Confluence: + type: object + properties: + app_suites: + type: array + items: + type: string + enum: + - Atlassian + app_names: + type: array + items: + type: string + enum: + - Confluence + chatTopics: + type: array + items: + $ref: '#/components/schemas/chatTopic' + chatTopic: + type: object + properties: + id: + type: string + description: chat topic id + title: + type: string + description: chat title + createdAt: + type: integer + description: creation timestamp in UTC + updatedAt: + type: integer + description: update timestamp in UTC + createdBy: + type: string + description: user id that created the chat topic + feedback: + type: object + description: user's feedback of an answer + properties: + type: + type: integer + description: type of feedback, 1 for positive and -1 for negative + enum: + - -1 + - 1 + comment: + type: string + reason: + type: string + recommendedQuestions: + type: array + items: + type: object + properties: + question: + type: string + answer: + type: object + properties: + id: + type: integer + description: answer + answeredAt: + type: integer + description: answer creation timestamp in UTC + content: + type: string + description: answer text + chartData: + type: string + description: data returned from ML model in csv format to plot visualization + chartSummary: + type: string + description: table name returned by advanced analytics + chartType: + type: string + description: type of data visualization representation + enum: + - line + - spline + - column + - area + - areaspline + - bar + - scatter + - table + reference: + type: string + description: reference links to additional information for the answer + chatItemData: + type: object + properties: + id: + type: integer + question: + type: string + chatTopicWithItemsAndAnswers: + type: object + properties: + id: + type: string + description: chat topic id + title: + type: string + description: chat title + createdAt: + type: integer + description: creation timestamp in UTC + updatedAt: + type: integer + description: update timestamp in UTC + createdBy: + type: string + description: user id that created the chat topic + items: + type: array + items: + type: object + properties: + id: + type: integer + description: chat item id + question: + type: string + description: user's question + answers: + type: array + description: text answers returned from ML model + items: + $ref: '#/components/schemas/answer' + AnswersComparison: + type: object + properties: + aids: + type: array + description: answers to be compared against each other + items: + type: integer + description: answer id + preferredId: + type: integer + description: answer id + recommendedTitles: + type: array + items: + type: object + properties: + title: + type: string + FileUploadQuery: + type: object + properties: + filename: + type: string + description: Uploaded file name in full path + required: + - filename + TyocStatusFingerprintPresentDto: + type: object + properties: + filename: + type: string + status: + type: string + type: + type: string + TyocUploadStatusDto: + type: object + properties: + id: + type: string + msg: + type: string + txid: + type: string + ssid: + type: string + status: + type: string + isFalPos: + type: boolean + lastUpdate: + type: integer + uploadFile: + type: string + fingerprints: + type: array + items: + $ref: '#/components/schemas/TyocStatusFingerprintPresentDto' + TyocUploadStatusListDto: + type: object + properties: + uploads: + type: array + items: + $ref: '#/components/schemas/TyocUploadStatusDto' + TyocFileDto: + type: object + properties: + classId: + type: string + description: Custom classifier ID + filename: + type: string + description: Filename of the uploaded artifact + fileKey: + type: string + description: Unique key to identify a trained file + hash: + type: string + description: File hash, default to MD5 + isFalPos: + type: boolean + description: Whether the file is a negative sample + created: + type: integer + description: When the file was created (first uploaded), milliseconds since the epoch + default: 0 + updated: + type: integer + description: When the file was last updated, milliseconds since the epoch + default: 0 + required: + - classId + - filename + - fileKey + - isFalPos + TyocFileArrayDto: + type: object + properties: + validFiles: + type: array + description: Valid file list + items: + $ref: '#/components/schemas/TyocFileDto' + required: + - validFiles + TyocQueryDto: + type: object + properties: + id: + type: string + filename: + type: string + PredefinedClassifierUserDto: + type: object + properties: + name: + description: Predefined classifier name + $ref: '#/components/schemas/PredefinedClassifierNameEnum_String' + description: + type: string + description: Predefined classifier description + modifyBy: + type: string + description: The last user who modified the predefined classifier + thresholdLevel: + description: Lookup threshold level of predefined classifier - low, medium, medium-high and high + default: medium + $ref: '#/components/schemas/PredefinedThreshLevelEnum_String' + required: + - name + - thresholdLevel + PredefinedOverlayDto: + type: object + properties: + tenantId: + type: string + description: Tenant ID + id: + type: string + description: Custom classifier ID + name: + type: string + description: Custom classifier name + status: + type: string + description: Custom classifier status - active, error, etc. + type: + description: Custom classifier type - image or text, other options are for backwards compatibility and will be removed in the future + $ref: '#/components/schemas/GroupTypeEnum_String' + description: + type: string + description: Custom classifier description + version: + type: integer + description: Custom classifier version (user cannot modify) - an update will increment it + default: 0 + minimum: 0 + maximum: 2147483647 + region: + type: string + description: Custom classifier deploy region + modifyBy: + type: string + description: Last user modified custom classifier + isPredefined: + type: boolean + description: Whether classifier is pre-defined + default: false + threshold: + type: number + format: float + description: Lookup threshold + default: 0 + created: + type: integer + description: When custom classifier was created, milliseconds since the epoch + default: 0 + updated: + type: integer + description: When custom classifier was last updated, milliseconds since the epoch + default: 0 + lastTrained: + type: integer + description: When custom classifier was last trained, milliseconds since the epoch + default: 0 + profiles: + type: array + description: 'Referenced profiles for the custom classifier ' + items: + type: string + thresholdLevel: + description: Lookup threshold level of predefined classifier - low, medium, medium-high and high + $ref: '#/components/schemas/PredefinedThreshLevelEnum_String' + overallStatus: + description: The overall status object + $ref: '#/components/schemas/TyocOverallStatus' + required: + - id + - threshold + - thresholdLevel + PredefinedClassSearchDataDto: + type: object + properties: + id: + type: string + description: Search key ID + data: + type: string + description: Search token list separated by comma + required: + - id + GroupTypeEnum_String: + type: string + enum: + - image + - text + - simclr + - simhash + - mlv1 + PredefinedClassEntryDto: + type: object + properties: + id: + type: string + description: The unique name for this pre-defined classifier + category_ref: + type: string + label: + type: string + description: Short description + model_type: + type: string + description: image, text, etc. + dlp_license: + type: string + description: DLP license level + description: + type: string + search_tags: + type: string + search_refs: + type: array + description: Referenced search key list + items: + type: string + required: + - id + TyocClassifierDto: + type: object + properties: + tenantId: + type: string + id: + type: string + name: + type: string + status: + type: string + nullable: true + type: + type: string + description: + type: string + version: + type: integer + default: 0 + minimum: -2147483648 + maximum: 2147483647 + region: + type: string + nullable: true + modifyBy: + type: string + threshold: + type: number + format: float + default: 0.8500000238418579 + created: + type: integer + default: 0 + updated: + type: integer + default: 0 + lastTrained: + type: integer + default: 0 + FpDto: + type: object + properties: + tenantId: + type: string + description: Tenant ID + fpGroupId: + type: string + description: Fingerprint group ID + status: + type: string + description: Fingerprint status - active or inactive + type: + type: string + description: Fingerprint type - image or text + filename: + type: string + description: Fingerprint file full path + fpKey: + type: string + description: Fingerprint file unique key + imageEmbedding: + type: array + description: Fingerprint image embedding + items: + type: number + format: float + textEmbedding: + type: array + description: Fingerprint text embedding - ML model hash + items: + type: number + format: float + simhash: + type: array + description: Fingerprint simhash list - size of 4 + items: + type: integer + format: int64 + pHash: + type: array + description: Image fingerprint pHash - size of 4 for 4 straight directions + items: + type: integer + format: int64 + md5: + type: string + description: Fingerprint file MD5 + contentMD5: + type: string + description: Fingerprint text content MD5 + isFalPos: + type: boolean + description: Whether a file is negative sample + created: + type: integer + description: When the fingerprint is created + default: 0 + updated: + type: integer + description: When the fingerprint was last updated + default: 0 + xxhash: + type: integer + format: int64 + description: XXhash of the fingerprint original file + contentXXH: + type: integer + format: int64 + description: XXhash of the text content + required: + - tenantId + - fpGroupId + - filename + - fpKey + - md5 + TyocClassArrayDto: + type: object + properties: + customClassifiers: + type: array + items: + $ref: '#/components/schemas/TyocClassifierPresentDto' + GroupProfileDto: + type: object + properties: + profiles: + type: array + description: List of referenced profiles + items: + type: string + required: + - profiles + TyocOverallStatus: + type: object + properties: + invalid: + type: integer + default: 0 + minimum: 0 + maximum: 2147483647 + valid: + type: integer + default: 0 + minimum: 0 + maximum: 2147483647 + negative: + type: integer + default: 0 + minimum: 0 + maximum: 2147483647 + errMsg: + type: string + nullable: true + TyocClassifierPresentDto: + type: object + properties: + id: + type: string + name: + type: string + status: + type: string + nullable: true + tenantId: + type: string + type: + type: string + description: + type: string + nullable: true + version: + type: integer + default: 0 + minimum: -2147483648 + maximum: 2147483647 + region: + type: string + modifyBy: + type: string + nullable: true + threshold: + type: number + format: float + default: 0.8500000238418579 + created: + type: integer + default: 0 + updated: + type: integer + default: 0 + lastTrained: + type: integer + default: 0 + lastUploaded: + type: integer + default: 0 + overallStatus: + $ref: '#/components/schemas/TyocOverallStatus' + TyocUserDto: + type: object + properties: + name: + type: string + type: + type: string + description: + type: string + modifyBy: + type: string + threshold: + type: number + format: float + default: 0.8500000238418579 + PredefinedClassifierNameEnum_String: + type: string + enum: + - driver_license-us + - passport + - screenshot + - resume-en_us + - ma_form-en_us + - tax_form-en_us + - social_security_card-us + - payment_card + - whiteboard + - offer_letter + - consulting_agreement + - partner_agreement + - nda + - patent-en_us + - bank_statement + - stock_purchase_agreement + - source_code + - medical_poa + - healthcare_id_card + - check + - driver_license + - photo_id + - medical_form + - loan_agreement + - medical_image + - loan_application + PredefinedClassCategoryDto: + type: object + properties: + id: + type: string + description: Category ID + label: + type: string + description: Category label + required: + - id + PredefinedClassifiersWithOverlayDto: + type: object + properties: + predefinedClassifiers: + description: Detailed information about pre-defined classifiers + $ref: '#/components/schemas/PredefinedClassesDto' + overlayCustomClassifiers: + type: array + description: A list overlay (hidden) custom classifiers each corresponding to a pre-defined classifier + items: + $ref: '#/components/schemas/PredefinedOverlayDto' + required: + - predefinedClassifiers + FpgDto: + type: object + properties: + tenantId: + type: string + description: tenant ID + fpGroupId: + type: string + description: Fingerprint group ID + fpGroupName: + type: string + description: Fingerprint group Name + status: + type: string + description: Fingerprint group status - active, error, etc. + type: + description: Fingerprint group type - image, text, etc. + $ref: '#/components/schemas/GroupTypeEnum_String' + description: + type: string + description: Fingerprint group description + version: + type: integer + description: Fingerprint group version (user cannot modify) - updates will increment the version + default: 0 + minimum: 0 + maximum: 2147483647 + region: + type: string + description: Fingerprint group used region + modifyBy: + type: string + description: Fingerprint group modified by which user + isPredefined: + type: boolean + description: Where the fingerprint-group/custom-classifier is pre-defined or custom + default: false + threshold: + type: number + format: float + description: Lookup threshold of a given fingerprint-group/custom-classifier + default: 0 + created: + type: integer + description: Fingerprint group create time in milliseconds since the epoch + default: 0 + updated: + type: integer + description: Fingerprint group last update time in milliseconds since the epoch + default: 0 + lastTrained: + type: integer + description: Fingerprint-group/custom-classifier last trained time in milliseconds since the epoch + default: 0 + lastUploaded: + type: integer + description: Last time artifacts were uploaded + default: 0 + profiles: + type: array + description: Referencing DLP profiles + items: + type: string + required: + - fpGroupId + PredefinedThreshLevelEnum_String: + type: string + enum: + - low + - medium + - medium-high + - high + PredefinedClassesDto: + type: object + properties: + classifiers: + type: array + description: List of classifier entries + items: + $ref: '#/components/schemas/PredefinedClassEntryDto' + categories: + type: array + items: + $ref: '#/components/schemas/PredefinedClassCategoryDto' + search_data: + type: array + items: + $ref: '#/components/schemas/PredefinedClassSearchDataDto' + required: + - classifiers + traffic_class_rules_get_request_item: + type: object + properties: + filters: + type: object + properties: + user: + type: object + properties: + value: + type: string + example: User1 + operator: + type: string + example: like + user_group: + type: object + properties: + value: + type: array + items: + type: string + example: UserGroup1 + organization_unit: + type: object + properties: + value: + type: array + items: + type: string + example: OU1 + source_ip: + type: object + properties: + value: + type: array + items: + type: string + example: SourceIP1 + application: + type: object + properties: + value: + type: string + example: App1 + operator: + type: string + example: like + app_suite: + type: object + properties: + value: + type: string + example: AppSuite1 + operator: + type: string + example: like + category: + type: object + properties: + value: + type: array + items: + type: string + example: Category1 + traffic_class: + type: object + properties: + value: + type: array + items: + type: string + example: Class1 + Source: + type: object + properties: + user: + type: array + items: + type: string + example: user1 + user_group: + type: array + items: + type: string + example: user_group1 + organization_unit: + type: array + items: + type: string + example: organization_unit1 + exclude_user: + type: array + items: + type: string + example: user1 + exclude_user_group: + type: array + items: + type: string + example: user_group1 + exclude_organization_unit: + type: array + items: + type: string + example: organization_unit1 + source_ip: + type: array + items: + type: string + example: 1.1.1.1 + Destination: + type: object + properties: + application: + type: array + items: + type: string + example: application1 + app_suite: + type: array + items: + type: string + example: appsuite1 + app_category: + type: array + items: + type: string + example: category1 + web_category: + type: array + items: + type: string + example: web_category1 + traffic_class_rules_post_request_items: + type: array + items: + $ref: '#/components/schemas/traffic_class_rules_post_request_item' + traffic_class_rules_post_request_item: + type: object + properties: + source: + $ref: '#/components/schemas/Source' + destination: + $ref: '#/components/schemas/Destination' + order: + type: integer + example: 1 + traffic_class: + type: string + example: Video + traffic_class_rules_patch_request_items: + type: array + items: + $ref: '#/components/schemas/traffic_class_rules_patch_request_item' + traffic_class_rules_patch_request_item: + type: object + properties: + id: + type: integer + example: 1 + source: + $ref: '#/components/schemas/Source' + destination: + $ref: '#/components/schemas/Destination' + traffic_class: + type: string + example: Video + traffic_class_rules_delete_request_items: + type: array + items: + type: integer + example: 1 + traffic_class_rules_get_response_200_items: + type: object + properties: + status: + type: integer + example: 200 + count: + type: integer + example: 1 + data: + type: array + items: + $ref: '#/components/schemas/traffic_class_rules_get_response_200_item' + traffic_class_rules_get_response_200_item: + type: object + properties: + id: + type: integer + example: 1 + source: + $ref: '#/components/schemas/Source' + destination: + $ref: '#/components/schemas/Destination' + traffic_class: + type: string + example: Video + order: + type: integer + example: 1 + applied: + type: boolean + example: false + create_ts: + type: string + example: create_timestamp + modified_ts: + type: string + example: modified_timestamp + modified_by: + type: string + example: user + modified_type: + type: string + example: created + traffic_class_rules_post_response_200: + type: object + properties: + status: + type: integer + example: 200 + data: + type: array + items: + $ref: '#/components/schemas/traffic_class_rules_get_response_200_item' + traffic_class_rules_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + data: + type: array + items: + $ref: '#/components/schemas/traffic_class_rules_get_response_200_item' + traffic_class_rules_response_200: + type: object + properties: + status: + type: integer + example: 200 + data: + type: string + example: success_200 + traffic_class_rules_response_400: + type: object + properties: + status: + type: integer + example: 400 + data: + type: string + example: error_400 + traffic_class_rules_response_403: + type: object + properties: + status: + type: integer + example: 403 + data: + type: string + example: error_403 + traffic_class_rules_response_404: + type: object + properties: + status: + type: integer + example: 404 + data: + type: string + example: error_404 + traffic_class_rules_response_405: + type: object + properties: + status: + type: integer + example: 405 + data: + type: string + example: error_405 + traffic_class_rules_response_409: + type: object + properties: + status: + type: integer + example: 409 + data: + type: string + example: error_409 + traffic_class_rules_response_429: + type: object + properties: + status: + type: integer + example: 429 + data: + type: string + example: error_429 + traffic_class_rules_response_500: + type: object + properties: + status: + type: integer + example: 500 + data: + type: string + example: error_500 + trafficclasses_post_request_items: + type: array + items: + $ref: '#/components/schemas/trafficclasses_post_request_item' + trafficclasses_post_request_item: + type: object + properties: + name: + type: string + example: traffic_class1 + description: + type: string + example: description + trafficclasses_patch_request_items: + type: array + items: + $ref: '#/components/schemas/trafficclasses_patch_request_item' + trafficclasses_patch_request_item: + type: object + properties: + id: + type: integer + example: 1 + name: + type: string + example: traffic_class1 + description: + type: string + example: description + trafficclasses_delete_request_items: + type: array + items: + type: integer + example: 1 + trafficclasses_get_response_200_items: + type: object + properties: + status: + type: integer + example: 200 + count: + type: integer + example: 1 + data: + type: array + items: + $ref: '#/components/schemas/trafficclasses_get_response_200_item' + trafficclasses_get_response_200_item: + type: object + properties: + id: + type: integer + example: 1 + name: + type: string + example: traffic_class1 + description: + type: string + example: description + modified_type: + type: string + example: created + trafficclasses_post_response_200: + type: object + properties: + status: + type: integer + example: 200 + data: + type: array + items: + $ref: '#/components/schemas/trafficclasses_get_response_200_item' + trafficclasses_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + data: + type: array + items: + $ref: '#/components/schemas/trafficclasses_get_response_200_item' + trafficclasses_response_200: + type: object + properties: + status: + type: integer + example: 200 + data: + type: string + example: success_200 + trafficclasses_response_400: + type: object + properties: + status: + type: integer + example: 400 + data: + type: string + example: error_400 + trafficclasses_response_403: + type: object + properties: + status: + type: integer + example: 403 + data: + type: string + example: error_403 + trafficclasses_response_404: + type: object + properties: + status: + type: integer + example: 404 + data: + type: string + example: error_404 + trafficclasses_response_405: + type: object + properties: + status: + type: integer + example: 405 + data: + type: string + example: error_405 + trafficclasses_response_409: + type: object + properties: + status: + type: integer + example: 409 + data: + type: string + example: error_409 + trafficclasses_response_429: + type: object + properties: + status: + type: integer + example: 429 + data: + type: string + example: error_429 + trafficclasses_response_500: + type: object + properties: + status: + type: integer + example: 500 + data: + type: string + example: error_500 + policies_get_request_item: + type: object + properties: + filters: + type: object + properties: + name: + type: object + properties: + value: + type: string + example: policy_name + operator: + type: string + example: like + link: + type: object + properties: + value: + type: array + items: + type: string + example: Link1 + traffic_class: + type: object + properties: + value: + type: array + items: + type: string + example: Class1 + last_edit: + type: object + properties: + value: + type: object + properties: + starttime: + type: string + example: '2023-01-30 06:01:01' + endtime: + type: string + example: '2023-01-30 07:01:01' + policies_post_request_items: + type: array + items: + $ref: '#/components/schemas/policies_post_request_item' + policies_post_request_item: + type: object + properties: + name: + type: string + example: policy1 + links: + type: array + items: + type: string + example: link1 + all_links: + type: boolean + example: false + bandwidth_limits: + type: array + items: + type: object + properties: + traffic_class: + type: string + example: traffic_class1 + max_bandwidth: + type: string + example: 100 mbps + type: + type: string + example: exact + enabled: + type: boolean + example: true + order: + type: integer + example: 1 + policies_patch_request_items: + type: array + items: + $ref: '#/components/schemas/policies_patch_request_item' + policies_patch_request_item: + type: object + properties: + id: + type: integer + example: 1 + name: + type: string + example: policy1 + links: + type: array + items: + type: string + example: link1 + all_links: + type: boolean + example: false + bandwidth_limits: + type: array + items: + type: object + properties: + traffic_class: + type: string + example: traffic_class1 + max_bandwidth: + type: string + example: 100 mbps + type: + type: string + example: exact + enabled: + type: boolean + example: true + policies_delete_request_items: + type: array + items: + type: integer + example: 1 + policies_get_response_200_items: + type: object + properties: + status: + type: integer + example: 200 + count: + type: integer + example: 1 + data: + type: array + items: + $ref: '#/components/schemas/policies_get_response_200_item' + policies_get_response_200_item: + type: object + properties: + id: + type: integer + example: 1 + name: + type: string + example: policy1 + links: + type: array + items: + type: string + example: link1 + all_links: + type: boolean + example: false + bandwidth_limits: + type: array + items: + type: object + properties: + traffic_class: + type: string + example: traffic_class1 + max_bandwidth: + type: string + example: 100 mbps + type: + type: string + example: exact + order: + type: integer + example: 1 + enabled: + type: boolean + example: true + applied: + type: boolean + example: false + create_ts: + type: string + example: create_timestamp + modified_ts: + type: string + example: modified_timestamp + modified_by: + type: string + example: user + modified_type: + type: string + example: created + policies_post_response_200: + type: object + properties: + status: + type: integer + example: 200 + data: + type: array + items: + $ref: '#/components/schemas/policies_get_response_200_item' + policies_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + data: + type: array + items: + $ref: '#/components/schemas/policies_get_response_200_item' + policies_response_200: + type: object + properties: + status: + type: integer + example: 200 + data: + type: string + example: success_200 + policies_response_400: + type: object + properties: + status: + type: integer + example: 400 + data: + type: string + example: error_400 + policies_response_403: + type: object + properties: + status: + type: integer + example: 403 + data: + type: string + example: error_403 + policies_response_404: + type: object + properties: + status: + type: integer + example: 404 + data: + type: string + example: error_404 + policies_response_405: + type: object + properties: + status: + type: integer + example: 405 + data: + type: string + example: error_405 + policies_response_409: + type: object + properties: + status: + type: integer + example: 409 + data: + type: string + example: error_409 + policies_response_429: + type: object + properties: + status: + type: integer + example: 429 + data: + type: string + example: error_429 + policies_response_500: + type: object + properties: + status: + type: integer + example: 500 + data: + type: string + example: error_500 + rotation_state: + type: string + enum: + - current + - provisioned + - deprecated + tenant_rotation_state: + type: string + enum: + - ready + - current + - working + - current_with_revert + root_certificates: + type: object + properties: + certificates: + type: array + items: + $ref: '#/components/schemas/root_certificate_with_state' + root_certificate_with_state: + type: object + properties: + certificate: + type: string + description: Certificate as pem + example: | + -----BEGIN CERTIFICATE----- MIIEEDCCAvigAwIBAgICAT4wDQYJKoZIhvcNAQELBQAwgaExCzAJBgNVBAYTAlVT MQswCQYDVQQIEwJDQTERMA8GA1UEBxMIU2FuIEpvc2UxFjAUBgNVBAoTDU5ldHNr /pqgw4aesr69bRfpaD3IjTUIMhKxEpUTM29x9IJvKpVbF7BrUl07g2GM44ra9442 y0kAyR4+Q3mnoIL4t8CZzKNrVFYMmPh9J7pxdEYlzWAIn4U2wjVgxxfARlmIgX7N ZcCuh9byNE0BQtTXzm+BniTEdALsxQ8j4irWVjqj3iew1I8A -----END CERTIFICATE-----" + state: + $ref: '#/components/schemas/rotation_state' + purpose: + $ref: '#/components/schemas/root_certificate_purpose' + subordinates_certificates: + type: object + properties: + certificates: + type: array + items: + $ref: '#/components/schemas/subordinates_certificate_with_state' + subordinates_certificate_with_state: + type: object + properties: + issuer: + type: string + description: Certificate as pem + example: | + -----BEGIN CERTIFICATE----- MIIEEDCCAvigAwIBAgICAT4wDQYJKoZIhvcNAQELBQAwgaExCzAJBgNVBAYTAlVT MQswCQYDVQQIEwJDQTERMA8GA1UEBxMIU2FuIEpvc2UxFjAUBgNVBAoTDU5ldHNr /pqgw4aesr69bRfpaD3IjTUIMhKxEpUTM29x9IJvKpVbF7BrUl07g2GM44ra9442 y0kAyR4+Q3mnoIL4t8CZzKNrVFYMmPh9J7pxdEYlzWAIn4U2wjVgxxfARlmIgX7N ZcCuh9byNE0BQtTXzm+BniTEdALsxQ8j4irWVjqj3iew1I8A -----END CERTIFICATE-----" + certificate: + type: string + description: Certificate as pem + example: | + -----BEGIN CERTIFICATE----- MIIEEDCCAvigAwIBAgICAT4wDQYJKoZIhvcNAQELBQAwgaExCzAJBgNVBAYTAlVT MQswCQYDVQQIEwJDQTERMA8GA1UEBxMIU2FuIEpvc2UxFjAUBgNVBAoTDU5ldHNr /pqgw4aesr69bRfpaD3IjTUIMhKxEpUTM29x9IJvKpVbF7BrUl07g2GM44ra9442 y0kAyR4+Q3mnoIL4t8CZzKNrVFYMmPh9J7pxdEYlzWAIn4U2wjVgxxfARlmIgX7N ZcCuh9byNE0BQtTXzm+BniTEdALsxQ8j4irWVjqj3iew1I8A -----END CERTIFICATE-----" + state: + $ref: '#/components/schemas/rotation_state' + purpose: + $ref: '#/components/schemas/subordinateca_purpose' + server_certificates: + type: object + properties: + certificates: + type: array + items: + $ref: '#/components/schemas/server_certificate_with_state' + server_certificate_with_state: + type: object + properties: + certificate: + type: string + description: Certificate as pem + example: | + -----BEGIN CERTIFICATE----- MIIEEDCCAvigAwIBAgICAT4wDQYJKoZIhvcNAQELBQAwgaExCzAJBgNVBAYTAlVT MQswCQYDVQQIEwJDQTERMA8GA1UEBxMIU2FuIEpvc2UxFjAUBgNVBAoTDU5ldHNr /pqgw4aesr69bRfpaD3IjTUIMhKxEpUTM29x9IJvKpVbF7BrUl07g2GM44ra9442 y0kAyR4+Q3mnoIL4t8CZzKNrVFYMmPh9J7pxdEYlzWAIn4U2wjVgxxfARlmIgX7N ZcCuh9byNE0BQtTXzm+BniTEdALsxQ8j4irWVjqj3iew1I8A -----END CERTIFICATE-----" + state: + $ref: '#/components/schemas/rotation_state' + purpose: + $ref: '#/components/schemas/servercertificate_purpose' + root_certificate_purpose: + type: string + enum: + - explicit_proxy_root_ca + - ns_root_ca + state: + type: string + enum: + - current + - deprecated + - provisioned + subordinateca_purpose: + type: string + enum: + - tenant_ca + servercertificate_purpose: + type: string + enum: + - cp_cert + - encryption_client + - encryption_server + - log_encryption_cert + - saml_cert + - sf_cert + error-response-404: + type: object + properties: + trace_id: + type: string + description: Trace id for troubleshooting {service}{category}{detail} + example: bsbg4m9ru4bb3qstvkl0 + err_code: + type: string + description: Unique error code for troubleshooting {service}{category}{detail} + example: '301' + message: + type: string + description: Human readable error message, could be general or specific + example: 'Not Found: tenant is not existed' + datetime: + type: string + description: The time error occured + example: '2022-08-31T11:14:23.187Z' + error-response-400: + type: object + properties: + trace_id: + type: string + description: Trace id for troubleshooting {service}{category}{detail} + example: bsbg4m9ru4bb3qstvkl0 + err_code: + type: string + description: Unique error code for troubleshooting {service}{category}{detail} + example: '101' + message: + type: string + description: Human readable error message, could be general or specific + example: 'Invalid Input Data: value is not a valid enumeration member; permitted: ''current'', ''deprecated'', ''provisioned''' + datetime: + type: string + description: the time error occured + example: '2022-08-31T11:14:23.187Z' + error-response-409: + type: object + properties: + trace_id: + type: string + description: Trace id for troubleshooting {service}{category}{detail} + example: bsbg4m9ru4bb3qstvkl0 + err_code: + type: string + description: Unique error code for troubleshooting {service}{category}{detail} + example: '306' + message: + type: string + description: Human readable error message, could be general or specific + example: 'Conficted: cert activation status is invalid to invoke this endpoint' + datetime: + type: string + description: The time error occured + example: '2022-08-31T11:14:23.187Z' + error-response-500: + properties: + trace_id: + description: trace id for troubleshooting {service}{category}{detail} + example: bsbg4m9ru4bb3qstvkl0 + type: string + err_code: + description: unique error code for troubleshooting {service}{category}{detail} + example: '701' + type: string + message: + description: human readable error message, could be general or specific + example: database query error / internal error + type: string + datetime: + description: the time error occured + example: '2022-08-31T11:14:23.187Z' + type: string + type: object + mtls.createMTLSChain: + required: + - name + - pem + type: object + properties: + description: + maxLength: 200 + type: string + example: my first client ca description + name: + maxLength: 100 + type: string + example: my first client ca + pem: + type: string + description: PEM could be multiple certs as a certificate chain + example: '-----BEGIN CERTIFICATE----- PEM content -----END CERTIFICATE-----' + mtls.deleteMTLSChainResponse: + type: object + properties: + status: + type: string + example: success + mtls.mTLSClientCertChain: + type: object + properties: + create_by: + type: string + example: user@email.com + create_time: + type: string + example: '2022-08-31T11:14:23.000Z' + description: + type: string + example: My Client CA description + id: + type: string + example: '19' + modify_by: + type: string + example: user@email.com + modify_time: + type: string + example: '2022-08-31T11:14:23.000Z' + name: + type: string + example: My Client CA + pem: + type: string + example: '-----BEGIN CERTIFICATE----- PEM content -----END CERTIFICATE-----' + mtls.updateMTLSChain: + type: object + properties: + description: + maxLength: 200 + type: string + example: my first client ca description + name: + maxLength: 100 + type: string + example: my first client ca + pem: + type: string + description: PEM could be multiple certs as a certificate chain + example: '-----BEGIN CERTIFICATE----- PEM content -----END CERTIFICATE-----' + ginhelper.Error: + type: object + properties: + datetime: + type: string + description: date time + example: '2022-08-31T11:14:23.000Z' + err_code: + type: string + description: error code definition + example: '310101' + message: + type: string + description: error message + example: some error happened + trace_id: + type: string + description: trace ID + example: 547c581b-b779-4770-8b73-aeece0742252 + links_get_request_item: + type: object + properties: + filters: + type: object + properties: + name: + type: object + properties: + value: + type: string + example: Link_name + operator: + type: string + example: like + ipsec_site: + type: object + properties: + value: + type: array + items: + type: string + example: Site1 + gre_site: + type: object + properties: + value: + type: array + items: + type: string + example: Site1 + last_edit: + type: object + properties: + value: + type: object + properties: + starttime: + type: string + example: '2023-01-30 06:01:01' + endtime: + type: string + example: '2023-01-30 07:01:01' + links_post_request_items: + type: array + items: + $ref: '#/components/schemas/links_post_request_item' + links_post_request_item: + type: object + properties: + name: + type: string + example: link1 + definition: + type: object + properties: + ipsec_sites: + type: array + items: + type: string + example: ipsec_site1 + gre_sites: + type: array + items: + type: string + example: gre_site1 + size: + type: string + example: 100 mbps + links_patch_request_items: + type: array + items: + $ref: '#/components/schemas/links_patch_request_item' + links_patch_request_item: + type: object + properties: + id: + type: integer + example: 1 + name: + type: string + example: link1 + definition: + type: object + properties: + ipsec_sites: + type: array + items: + type: string + example: ipsec_site1 + gre_sites: + type: array + items: + type: string + example: gre_site1 + size: + type: string + example: 100 mbps + links_delete_request_items: + type: array + items: + type: integer + example: 1 + links_get_response_200_items: + type: object + properties: + status: + type: integer + example: 200 + count: + type: integer + example: 1 + data: + type: array + items: + $ref: '#/components/schemas/links_get_response_200_item' + links_get_response_200_item: + type: object + properties: + id: + type: integer + example: 1 + name: + type: string + example: link1 + definition: + type: object + properties: + ipsec_sites: + type: array + items: + type: string + example: ipsec_site1 + gre_sites: + type: array + items: + type: string + example: gre_site1 + size: + type: string + example: 100 mbps + applied: + type: boolean + example: false + create_ts: + type: string + example: create_timestamp + modified_ts: + type: string + example: modified_timestamp + modified_by: + type: string + example: user + modified_type: + type: string + example: created + links_post_response_200: + type: object + properties: + status: + type: integer + example: 200 + data: + type: array + items: + $ref: '#/components/schemas/links_get_response_200_item' + links_patch_response_200: + type: object + properties: + status: + type: integer + example: 200 + data: + type: array + items: + $ref: '#/components/schemas/links_get_response_200_item' + links_response_200: + type: object + properties: + status: + type: integer + example: 200 + data: + type: string + example: success_200 + links_response_400: + type: object + properties: + status: + type: integer + example: 400 + data: + type: string + example: error_400 + links_response_403: + type: object + properties: + status: + type: integer + example: 403 + data: + type: string + example: error_403 + links_response_404: + type: object + properties: + status: + type: integer + example: 404 + data: + type: string + example: error_404 + links_response_405: + type: object + properties: + status: + type: integer + example: 405 + data: + type: string + example: error_405 + links_response_409: + type: object + properties: + status: + type: integer + example: 409 + data: + type: string + example: error_409 + links_response_429: + type: object + properties: + status: + type: integer + example: 429 + data: + type: string + example: error_429 + links_response_500: + type: object + properties: + status: + type: integer + example: 500 + data: + type: string + example: error_500 + filestart: + properties: + filename: + type: string + example: edm.csv + columns: + description: list of column names + example: + - First Name + - SSN + items: + type: string + type: array + type: object + start_response: + properties: + status: + description: Status of request + enum: + - success + - error + type: string + fileid: + description: file_id for this csv filename + type: string + uploadid: + description: Unique per file upload ID + type: string + msg: + description: Error/Warning message + type: string + type: object + upload_response: + properties: + status: + description: Status of request + enum: + - success + - error + type: string + etag: + description: Needed for done call + type: string + msg: + description: Error/Warning message + type: string + type: object + filedone: + properties: + partlist: + description: list of column names + example: + - etag1 + - etag2 + - etag3 + items: + type: string + type: array + type: object + status_response: + properties: + status: + description: Status of request + enum: + - success + - error + type: string + upload_status: + description: Status of current file upload + type: string + enum: + - inprogress + - completed + - aborted + msg: + description: Error/Warning message + type: string + type: object + response: + properties: + status: + description: Status of request + enum: + - success + - error + type: string + msg: + description: Error/Warning message + type: string + type: object + changes_get_response_200: + type: object + properties: + status: + type: integer + example: 200 + count: + type: integer + example: 1 + data: + type: object + properties: + links: + type: array + items: + type: object + properties: + id: + type: integer + example: 1 + name: + type: string + example: link1 + type: + type: string + example: created + last_changed_by: + type: string + example: user1 + policies: + type: array + items: + type: object + properties: + id: + type: integer + example: 1 + name: + type: string + example: policy1 + type: + type: string + example: created + last_changed_by: + type: string + example: user1 + traffic_classes: + type: array + items: + type: object + properties: + id: + type: integer + example: 1 + name: + type: string + example: class1 + type: + type: string + example: created + last_changed_by: + type: string + example: user1 + traffic_class_rules: + type: array + items: + type: object + properties: + id: + type: integer + example: 1 + order: + type: integer + example: 1 + type: + type: string + example: created + last_changed_by: + type: string + example: user1 + changes_post_response_200: + type: object + properties: + status: + type: integer + example: 200 + data: + type: object + properties: + links: + type: array + items: + $ref: '#/components/schemas/Link' + policies: + type: array + items: + $ref: '#/components/schemas/Policy' + traffic_classes: + type: array + items: + $ref: '#/components/schemas/TrafficClass' + traffic_classes_rules: + type: array + items: + $ref: '#/components/schemas/TrafficClassRule' + Link: + type: object + properties: + link_id: + type: integer + example: 1 + link_name: + type: string + example: link1 + link_bw: + type: integer + example: 1000 + IntegerItem: + type: integer + example: 1 + Policy: + type: object + properties: + id: + type: integer + example: 1 + bw_policy_name: + type: string + example: policy1 + link_ids: + type: array + items: + type: integer + example: 1 + bw_type: + type: string + example: absolute + bw_classes: + type: array + items: + type: object + properties: + traffic_class_id: + type: integer + example: 1 + max_bw: + type: integer + example: 1000 + TrafficClass: + type: object + properties: + traffic_class_id: + type: integer + example: 1 + traffic_class_name: + type: string + example: policy1 + TrafficClassRule: + type: object + properties: + rulename: + type: integer + example: 1 + match_criteria_action: + type: object + properties: + traffic_class_id: + type: integer + example: 1 + traffic_class_name: + type: string + example: Class1 + user_col: + type: array + items: + type: string + example: user1 + web_categ_col: + type: array + items: + type: string + example: '101' + changes_response_400: + type: object + properties: + status: + type: integer + example: 400 + data: + type: string + example: error_400 + changes_response_429: + type: object + properties: + status: + type: integer + example: 429 + data: + type: string + example: error_429 + changes_response_500: + type: object + properties: + status: + type: integer + example: 500 + data: + type: string + example: error_500 + deploy_post_request_items: + type: object + properties: + links: + type: array + items: + $ref: '#/components/schemas/IntegerItem' + traffic_classes: + type: array + items: + $ref: '#/components/schemas/IntegerItem' + policies: + type: array + items: + $ref: '#/components/schemas/IntegerItem' + traffic_class_rules: + type: array + items: + $ref: '#/components/schemas/IntegerItem' + tagPatchData: + type: object + properties: + apps: + type: array + description: List of Application names. + items: + type: string + example: + - Box + - Amazon Database + ids: + type: array + description: List of Application ids. + items: + type: string + example: + - 1 + - 2 + action: + type: string + description: Tag action to be performed, 'append or remove' + enum: + - append + - remove + 200appResponse: + type: object + properties: + data: + type: object + example: + - app_name: Oracle Aconex + category_name: Business Process Management + cci: 87 + ccl: high + id: 46 + organisation: Oracle Corporation + - app_name: Adobe Sign + category_name: Collaboration + cci: 82 + ccl: high + id: 81 + organisation: Adobe Systems Incorporated + status: + type: string + example: Success + status_code: + type: integer + example: '200' + total_query_count: + type: integer + example: '40' + 200tagResponse: + type: object + properties: + data: + type: object + example: + 24SevenOffice: + app_type: Departmental + tags: [] + id: 7 + sanctioned: 'No' + HashRoot: + app_type: Departmental + tags: + - new_testing + - new + id: 45747 + sanctioned: 'Yes' + status: + type: string + example: Success + status_code: + type: integer + example: '200' + 200tagPostResponse: + type: object + properties: + tag: + type: string + example: ccl_high + apps: + type: array + items: + type: string + example: + - Box + - Amazon Database + message: + type: string + example: Tag created successfully and associated to the list of apps/ids. + status: + type: string + example: Success + status_code: + type: integer + example: '200' + 200tagPatchResponse: + type: object + properties: + tag: + type: string + example: ccl_high + action: + type: string + example: append/remove + apps: + type: array + items: + type: string + example: + - Box + - Amazon Database + message: + type: string + example: Tag updated/deleted successfully to/from the list of apps/ids. + status: + type: string + example: Success + status_code: + type: integer + example: '200' + 204tagPostResponse: + type: object + properties: + status: + type: string + example: Success + status_code: + type: integer + example: '204' + message: + type: string + example: No records matched + 204Response: + type: object + properties: + status: + type: string + example: Success + status_code: + type: integer + example: '204' + message: + type: string + example: No records matched + data: + type: object + example: [] + 204tagResponse: + type: object + properties: + status: + type: string + example: Success + status_code: + type: integer + example: '204' + message: + type: string + example: No records matched + data: + type: object + example: {} + 202Response: + type: object + properties: + status: + type: string + example: Request Accepted + status_code: + type: integer + example: '202' + message: + type: string + example: Rule based tagging request is accepted and it is getting processed in the background. + 202DeleteResponse: + type: object + properties: + status: + type: string + example: Request Accepted + status_code: + type: integer + example: '202' + message: + type: string + example: Deleting the tags request is accepted and it is getting processed in the background. + 400Response: + type: object + properties: + message: + type: string + 500Response: + type: object + properties: + status: + type: string + example: error + status_code: + type: integer + example: '500' + error: + type: string + example: Internal Server Error + 503Response: + type: object + properties: + status: + type: string + example: Request Declined + status_code: + type: integer + example: '503' + message: + type: string + example: One CCI App tagging is already in progress. Please try again after sometime. + NetworkProfileValue: + type: object + properties: + value: + type: string + required: + - value + NetworkProfileResponse: + type: object + properties: + id: + type: string + name: + type: string + values: + type: array + items: + $ref: '#/components/schemas/NetworkProfileValue' + NetworkProfileCreateRequest: + type: object + properties: + name: + type: string + values: + type: array + items: + $ref: '#/components/schemas/NetworkProfileValue' + required: + - name + - values + NetworkProfileDeleteResponse: + type: object + properties: + id: + type: string + name: + type: string + required: + - id + - name + ApplicationObject: + properties: + id: + type: string + name: + type: string + type: + type: string + CategoryObject: + properties: + id: + type: string + name: + type: string + type: + type: string + Error: + type: object + properties: + error: + type: string + required: + - error + ProfileModifyType: + description: Last modified action string. + enum: + - Created + - Edited + type: string + UserProfile: + properties: + profile_id: + type: string + description: Profile ID. + profile_name: + type: string + description: Profile Name. + profile_data: + items: + type: string + type: array + description: Users to be included in this profile. + modify_type: + $ref: '#/components/schemas/ProfileModifyType' + description: Modified Type. + modify_by: + type: string + description: Last modified user email. + modify_time: + type: number + format: double + description: Last modified timestamp. + required: + - profile_id + - profile_name + - profile_data + - modify_type + - modify_by + - modify_time + type: object + additionalProperties: false + QuarantineTombstoneType: + description: Quarantine Tombstone file type. Use `default` for default text file and `text` for custom text file. + enum: + - default + - text + type: string + QuarantineProfile: + properties: + profile_id: + type: string + description: Profile ID. + profile_name: + type: string + description: Profile Name. + profile_data: + properties: + use_custom_tombstone_file: + type: boolean + description: Whether to use custom tombstone file or not + tombstone_text: + type: string + description: DLP Tombstone file custom text, only available when tombstone_type is `text` + tombstone_type: + $ref: '#/components/schemas/QuarantineTombstoneType' + description: DLP Tombstone file type + drive: + type: string + description: For supported apps, quarantine folder will be created under this drive. + user: + type: string + description: For supported apps, quarantine folder will be created under this user. + instance: + type: string + description: Instance name of the app instance to store quarantined files. + app: + type: string + description: App name of the app instance to store quarantined files. + required: + - use_custom_tombstone_file + - tombstone_type + - instance + - app + type: object + description: Profile Data. + modify_type: + $ref: '#/components/schemas/ProfileModifyType' + description: Modified Type. + modify_by: + type: string + description: Last modified user email. + modify_time: + type: number + format: double + description: Last modified timestamp. + required: + - profile_id + - profile_name + - profile_data + - modify_type + - modify_by + - modify_time + type: object + additionalProperties: false + DomainProfile: + properties: + profile_id: + type: string + description: Profile ID. + profile_name: + type: string + description: Profile Name. + profile_data: + properties: + domains: + items: + type: string + type: array + description: domains to be included in this profile. + required: + - domains + type: object + description: Profile data + modify_type: + $ref: '#/components/schemas/ProfileModifyType' + description: Modified Type. Not available for predefined profiles. + modify_by: + type: string + description: Last modified user email. Not available for predefined profiles. + modify_time: + type: number + format: double + description: Last modified timestamp. Not available for predefined profiles. + predefined: + type: boolean + description: True if this template is predefined by NetSkope. + required: + - profile_id + - profile_name + - profile_data + type: object + additionalProperties: false + container: + type: object + properties: + storage_account: + type: string + example: azure-storage-account + container: + type: string + example: azure-container + siteUrl: + type: object + properties: + url: + type: string + example: https://sample.sharepoint/sites/sample-site + emailId: + type: object + properties: + email_id: + type: string + example: user@domain + SiteIdResponse: + type: object + properties: + status: + type: string + enum: + - success + - error + data: + oneOf: + - $ref: '#/components/schemas/SiteIdSuccessResponse' + - $ref: '#/components/schemas/SiteIdErrorResponse' + required: + - status + - data + SiteIdSuccessResponse: + type: object + properties: + siteid: + type: string + description: site id + required: + - siteid + SiteIdErrorResponse: + type: object + properties: + message: + type: string + description: user facing error message + required: + - message + ValidationResponse: + type: object + properties: + status: + type: string + example: success | error + data: + type: object + properties: + message: + type: string + description: user facing error message + MatchType: + type: object + properties: + type: + type: string + enum: + - string + - regex + - int + values: + type: array + description: For "type" = "int", only 1 value is allowed in values[] array, except if the "operator" = "in", in that case max 2 values are allowed [min, max] + items: + type: string + operator: + type: string + enum: + - gt + - gte + - lt + - lte + - in + - eq + - neq + required: + - type + - values + HTTPHeader: + type: object + properties: + name: + type: string + custom: + type: boolean + default: false + matches: + type: array + minItems: 1 + items: + $ref: '#/components/schemas/MatchType' + required: + - name + - matches + HttpHeaderProfileResponse: + type: object + properties: + id: + type: string + name: + type: string + requestHeaders: + type: array + items: + $ref: '#/components/schemas/HTTPHeader' + responseHeaders: + type: array + items: + $ref: '#/components/schemas/HTTPHeader' + HttpHeaderProfileCreateRequest: + type: object + properties: + name: + type: string + anyOf: + - type: object + properties: + requestHeaders: + type: array + items: + $ref: '#/components/schemas/HTTPHeader' + - type: object + properties: + responseHeaders: + type: array + items: + $ref: '#/components/schemas/HTTPHeader' + required: + - name + HttpHeaderProfileDeleteResponse: + type: object + properties: + id: + type: string + name: + type: string + required: + - id + - name + lists-post: + properties: + name: + example: search engines domains + type: string + description: + example: all of search engines websites + type: string + type: + description: type of list + enum: + - urlexact + - urlregex + - domain + - network + example: domain + type: string + values: + example: + - value: '*.google.com' + comment: search engine + - value: www.yahoo.com + - value: www.facebook.com + comment: social media + items: + type: object + properties: + value: + example: '*.google.com' + type: string + comment: + example: search engine + type: string + type: array + type: object + list: + properties: + id: + example: 507f191e810c19729de860ea + type: string + name: + example: search engines domains + type: string + description: + example: all of search engines websites + type: string + type: + description: type of list + enum: + - url-exact + - url-regex + - domain + - network + example: domain + type: string + status: + description: status of urilist + enum: + - applied + - pending-apply + - pending-delete + - deleted + type: string + values: + example: + - value: '*.google.com' + comment: search engine + - value: www.yahoo.com + - value: www.facebook.com + comment: social media + items: + type: object + properties: + value: + example: '*.google.com' + type: string + comment: + example: search engine + type: string + type: array + values_count: + example: 3 + type: number + create_by: + description: user who created + example: automation@sample.com + type: string + create_time: + description: UTC time conform ISO 8601 + example: '2022-12-14T06:08:04.123Z' + type: string + modify_by: + description: user who modified lastly + example: superman@sample.com + type: string + modify_time: + description: UTC time conform ISO 8601 + example: '2022-12-30T01:05:00.281Z' + type: string + type: object + lists: + properties: + elements: + items: + $ref: '#/components/schemas/list' + example: + - id: 9879876e810c19729de32111 + name: custom domains + description: self defined websites + type: domain + status: applied + values: + - '*.gmail.com' + - www.facebook.com + - www.instagram.com + values_count: 3 + create_by: automation@sample.com + create_time: '2022-11-14T06:08:04.123Z' + modify_by: superman@sample.com + modify_time: '2022-11-30T01:05:00.281Z' + - id: 507f191e810c19729de860ea + name: search engines domains + description: all of search engines websites + type: domain + status: applied + values: + - value: '*.google.com' + comment: search engine + - value: www.yahoo.com + - value: www.facebook.com + comment: social media + values_count: 3 + create_by: automation@sample.com + create_time: '2022-12-14T06:08:04.123Z' + modify_by: superman@sample.com + modify_time: '2022-12-30T01:05:00.281Z' + type: array + type: object + successful-delete-response: + properties: + status: + description: successful operation + example: success + type: string + type: object + Schemas: + type: object + properties: + schemas: + type: array + items: + type: string + example: + - urn:ietf:params:scim:api:messages:2.0:ListResponse + totalResults: + type: integer + format: int32 + example: 3 + itemsPerPage: + type: integer + format: int32 + example: 3 + startIndex: + type: integer + format: int32 + example: 1 + Resources: + type: array + items: + $ref: '#/components/schemas/Resources' + Resources: + type: array + items: + $ref: '#/components/schemas/Resource' + example: + - id: urn:ietf:params:scim:schemas:core:2.0:User + name: User + description: User Schema + attributes: + - name: User Name + type: string + required: true + description: Unique identifier for the user + - id: urn:ietf:params:scim:schemas:extension:enterprise:2.0:User + name: Enterprise User + description: Enterpriser User Schema + attributes: + - name: name + type: string + required: true + description: Name of the user + - id: urn:ietf:params:scim:schemas:extension:netskope:2.0:User:CustomAttributes + name: Custom Attributes + description: Custom Attributes Schema + attributes: + - name: ManagerEmail + type: string + required: false + description: Manager's email for the user + Attribute: + type: object + properties: + name: + type: string + type: + oneOf: + - type: string + - type: boolean + required: + type: boolean + description: + type: string + Urllist: + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + data: + type: object + properties: + urls: + type: array + items: + type: string + example: www.test.com + type: + type: string + enum: + - exact + - regex + modify_type: + type: string + enum: + - Created + - Edited + - Deleted + modify_by: + type: string + example: Netskope API + modify_time: + type: string + example: '1997-01-01 00:00:00' + pending: + type: integer + UpdatedUrllist: + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + data: + type: object + properties: + urls: + type: array + items: + type: string + example: www.test.com + type: + type: string + enum: + - exact + - regex + modify_type: + type: string + example: Edited + modify_by: + type: string + example: Netskope API + modify_time: + type: string + example: '1997-01-01 00:00:00' + pending: + type: integer + example: 1 + DeletedUrllist: + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + data: + type: object + properties: + urls: + type: array + items: + type: string + example: www.test.com + type: + type: string + enum: + - exact + - regex + modify_type: + type: string + example: Deleted + modify_by: + type: string + example: Netskope API + modify_time: + type: string + example: '1997-01-01 00:00:00' + pending: + type: integer + example: 1 + RequestSchema: + type: object + properties: + name: + type: string + data: + type: object + properties: + urls: + type: array + items: + type: string + example: www.test.com + type: + type: string + enum: + - exact + - regex + PolicyPriorityObject: + type: object + properties: + policyGroupId: + type: string + position: + type: integer + description: position where this policy will be inserted within the containing group, use 0 to insert at beginning or -1 to insert at end + required: + - policyGroupId + - position + DestinationCriteriaAppOrCategoryObject: + type: object + properties: + ids: + type: array + items: + type: string + activities: + type: array + items: + type: string + required: + - ids + - activities + DestinationCriteriaConfigObject: + type: object + oneOf: + - type: object + properties: + applications: + $ref: '#/components/schemas/DestinationCriteriaAppOrCategoryObject' + - type: object + properties: + categories: + $ref: '#/components/schemas/DestinationCriteriaAppOrCategoryObject' + NetworkLocationSourceCriteriaObject: + type: object + properties: + networkLocationProfileIds: + type: array + items: + type: string + exclude: + type: boolean + default: false + required: + - networkLocationProfileIds + SourceCriteriaConfigObject: + properties: + httpHeaderProfileIds: + type: array + items: + type: string + network: + type: object + anyOf: + - type: object + properties: + userIp: + $ref: '#/components/schemas/NetworkLocationSourceCriteriaObject' + - type: object + properties: + egressIp: + $ref: '#/components/schemas/NetworkLocationSourceCriteriaObject' + userConfidenceIndex: + type: object + properties: + operator: + type: string + enum: + - lt + - gt + score: + type: integer + minimum: 0 + maximum: 1000 + ThreatProtectionAction: + type: object + properties: + action: + type: string + enum: + - block + - allow + - alert + templateId: + type: string + description: Template id is only required if the action type is "block". If set for action "allow" or "alert" a 400 error is returned. + required: + - action + ThreatProtectionConfigObject: + type: object + properties: + profileId: + type: string + actions: + type: object + properties: + lowSeverity: + $ref: '#/components/schemas/ThreatProtectionAction' + mediumSeverity: + $ref: '#/components/schemas/ThreatProtectionAction' + highSeverity: + $ref: '#/components/schemas/ThreatProtectionAction' + required: + - lowSeverity + - mediumSeverity + - highSeverity + patientZeroProtection: + type: boolean + default: false + required: + - profileId + - actions + OnCriteriaMatchObject: + type: object + properties: + action: + type: string + enum: + - block + - allow + - alert + description: Policy action if no Threat Protection profile is specified, or if policy matches but Threat Protection detects no threat. + templateId: + type: string + description: Template id is required only if the action type is "block". + threatProtection: + $ref: '#/components/schemas/ThreatProtectionConfigObject' + RTPRequestPayloadObject: + type: object + properties: + name: + type: string + enabled: + type: boolean + default: true + description: + type: string + priority: + $ref: '#/components/schemas/PolicyPriorityObject' + sourceCriteria: + $ref: '#/components/schemas/SourceCriteriaConfigObject' + destinationCriteria: + $ref: '#/components/schemas/DestinationCriteriaConfigObject' + onCriteriaMatch: + $ref: '#/components/schemas/OnCriteriaMatchObject' + required: + - name + - priority + - onCriteriaMatch + - destinationCriteria + RTPReadObject: + type: object + properties: + id: + type: string + name: + type: string + enabled: + type: boolean + description: + type: string + priority: + $ref: '#/components/schemas/PolicyPriorityObject' + sourceCriteria: + $ref: '#/components/schemas/SourceCriteriaConfigObject' + destinationCriteria: + $ref: '#/components/schemas/DestinationCriteriaConfigObject' + onCriteriaMatch: + $ref: '#/components/schemas/OnCriteriaMatchObject' + CreateOrUpdateMissingDataSuccessResponseObject: + type: object + properties: + message: + type: string + ErrorResponseObject: + type: object + properties: + message: + type: string + npa_policygroup_request: + type: object + properties: + group_name: + type: string + group_order: + type: object + properties: + group_order: + type: object + properties: + order: + type: string + enum: + - before + - after + group_id: + type: string + example: '1' + modify_type: + type: string + modify_by: + type: string + npa_policygroup_response_item: + type: object + properties: + group_id: + type: integer + group_name: + type: string + modify_type: + type: string + modify_time: + type: string + can_be_edited_deleted: + type: integer + group_type: + type: integer + group_prod_id: + type: integer + group_pinned_id: + type: integer + npa_policygroup_response: + type: array + items: + $ref: '#/components/schemas/npa_policygroup_response_item' + npa_policygroup_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_request: + type: object + properties: + rule_name: + type: string + example: vantest + description: + type: string + example: any + rule_data: + $ref: '#/components/schemas/npa_policy_rule_data' + rule_order: + type: object + properties: + order: + type: string + enum: + - top + - bottom + - before + - after + rule_name: + type: string + example: api-policy-managed + rule_id: + type: integer + example: 1 + position: + type: integer + example: 5 + group_id: + type: string + example: '1' + group_name: + type: string + example: My policy group + enabled: + type: string + example: '1' + npa_policy_response_item: + type: object + properties: + rule_id: + type: integer + example: 1 + rule_name: + type: string + example: van-test + rule_data: + $ref: '#/components/schemas/npa_policy_rule_data' + group_id: + type: integer + example: 1 + npa_policy_response: + type: array + items: + $ref: '#/components/schemas/npa_policy_response_item' + npa_policy_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + npa_policy_rule_dlp: + type: array + items: + type: object + properties: + dlp_profile: + type: string + example: Payment Card + actions: + type: array + items: + type: string + enum: + - allow + - block + - alert + - quanrantine + - bypass + example: + - allow + npa_policy_rule_data: + type: object + properties: + users: + type: array + items: + type: string + example: + - vphan@netskope.com + userGroups: + type: array + items: + type: string + example: + - usergroup/group1 + organization_units: + type: array + items: + type: string + example: + - engineering/qa + userType: + type: string + enum: + - user + access_method: + type: string + enum: + - Client + - Clientless + policy_type: + type: string + enum: + - private-app + privateApps: + type: array + items: + type: string + example: + - app1 + - app2 + privateAppIds: + type: array + items: + type: string + example: + - '100' + - '201' + privateAppTags: + type: array + items: + type: string + example: + - tag1 + - tag2 + privateAppTagIds: + type: array + items: + type: string + example: + - '1' + - '2' + privateAppsWithActivities: + type: array + items: + type: object + properties: + appName: + type: string + example: '[172.31.12.135]' + activities: + type: array + items: + type: object + properties: + activity: + type: string + enum: + - any + list_of_constraints: + type: array + items: + type: string + example: [] + match_criteria_action: + type: object + properties: + action_name: + type: string + enum: + - allow + - block + classification: + type: string + show_dlp_profile_action_table: + type: boolean + external_dlp: + type: boolean + net_location_obj: + type: array + items: + type: string + example: + - 190.123.150.10 + - 190.218.0.0/16 + b_negateNetLocation: + type: boolean + srcCountries: + type: array + items: + type: string + example: + - US + - AF + - CN + b_negateSrcCountries: + type: boolean + json_version: + type: integer + example: 3 + version: + type: integer + example: 1 + dlp_actions: + $ref: '#/components/schemas/npa_policy_rule_dlp' + StatusResponseObject: + properties: + status: + type: string + description: Status of the pending deploy (error | pending) + error: + type: string + description: Deployment failed reason if the status is 'error' + domainfronting-post: + properties: + name: + example: my-exception + type: string + description: + example: my domain fronting description + type: string + lists: + description: list ID + example: + - '199' + - '1978' + items: + type: string + type: array + type: object + domainfronting: + properties: + name: + example: my-exception + type: string + status: + description: status of urilist + enum: + - applied + - pending + type: string + description: + example: my domain fronting description + type: string + lists: + description: list ID + example: + - '123' + - '11' + items: + type: string + type: array + create_by: + description: user who created + example: automation@sample.com + type: string + create_time: + description: UTC time conform ISO 8601 + example: '2022-12-14T06:08:04.123Z' + type: string + modify_by: + description: user who modified lastly + example: superman@sample.com + type: string + modify_time: + description: UTC time conform ISO 8601 + example: '2022-12-30T01:05:00.222Z' + type: string + type: object + domainfrontings: + properties: + elements: + items: + $ref: '#/components/schemas/domainfronting' + example: + - name: my-exception + status: applied + description: my domain fronting setup 1 + lists: + - '123' + - '11' + create_by: automation@sample.com + create_time: '2022-12-14T06:08:04.123Z' + modify_by: superman@sample.com + modify_time: '2022-12-30T01:05:00.222Z' + - name: my-exception-2 + status: applied + description: my domain fronting setup 2 + lists: + - '123' + - '11' + create_by: automation-2@sample.com + create_time: '2022-02-14T06:08:04.123Z' + modify_by: superman@sample.com + modify_time: '2022-02-30T01:05:00.222Z' + type: array + type: object + PaginatedRecatTaskStatusResponse: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/RecatTaskStatus' + pagination: + $ref: '#/components/schemas/Pagination' + status: + type: string + Pagination: + type: object + properties: + limit: + type: integer + format: int32 + offset: + type: integer + format: int64 + total: + type: integer + format: int64 + RecatSubmissionRequest: + required: + - email + - recat_requests + type: object + properties: + email: + type: string + description: Requester’s email address + justification: + maxLength: 2000 + minLength: 0 + type: string + description: Reason for the re-categorization request + recat_requests: + type: array + items: + $ref: '#/components/schemas/RequestInfo' + RecatSubmissionResponse: + type: object + properties: + data: + $ref: '#/components/schemas/SubmissionDetail' + status: + type: string + RecatTaskStatus: + type: object + properties: + email: + type: string + end_time: + type: integer + format: int64 + justification: + type: string + start_time: + type: integer + format: int64 + status: + type: string + enum: + - completed + - duplicate + - inprogress + - received + - rejected + task_id: + type: string + urls: + type: array + items: + $ref: '#/components/schemas/RecatUrlStatus' + RecatTaskStatusResponse: + type: object + properties: + data: + $ref: '#/components/schemas/RecatTaskStatus' + status: + type: string + RecatUrlId: + type: object + properties: + id: + type: string + status: + type: string + enum: + - completed + - duplicate + - inprogress + - received + - rejected + url: + type: string + RecatUrlStatus: + type: object + properties: + end_time: + type: integer + format: int64 + id: + type: string + status: + type: string + enum: + - completed + - duplicate + - inprogress + - received + - rejected + url: + type: string + RecatUrlStatusResponse: + type: object + properties: + data: + $ref: '#/components/schemas/RecatUrlStatus' + status: + type: string + RequestInfo: + type: object + properties: + method: + type: string + path: + type: string + headers: + type: object + additionalProperties: + type: string + query_parameters: + type: object + additionalProperties: + type: string + path_parameters: + type: object + additionalProperties: + type: string + payload: + type: string + SubmissionDetail: + type: object + properties: + task_id: + type: string + urls: + type: array + items: + $ref: '#/components/schemas/RecatUrlId' + url-lookup-response: + type: object + properties: + query: + type: object + properties: + urls: + type: array + description: user queried URLs + items: + type: string + format: url + example: + - https://www.netskope.com + - https://www.airbnb.com + - https://www.google.com + result: + type: array + description: The query result + items: + $ref: '#/components/schemas/url-lookup-report' + example: + - url: https://www.netskope.com + categories: + - id: 26 + name: Security Industry + type: predefined + - id: 10023 + name: My first category + type: custom + url_lists: + - id: 1 + name: My custom web list + dynamic_classification: true + - url: https://www.airbnb.com + categories: + - id: 572 + name: Housing and property + type: predefined + url_lists: + - id: 1 + name: My custom web list + dynamic_classification: true + - url: https://www.google.com + categories: + - id: 551 + name: Search Engine + type: predefined + url_lists: + - id: 1 + name: My custom web list + dynamic_classification: false + url-lookup-report: + type: object + properties: + url: + type: string + description: the queried URL + example: netskope.com + categories: + type: array + description: matched categories of the specified URL + items: + $ref: '#/components/schemas/category' + url_lists: + type: array + description: matched URL lists of the specified URL + items: + $ref: '#/components/schemas/url-list' + dynamic_classification: + type: boolean + description: indicates if the site was dynamically categorized based on the content in the website + example: true + queried_at: + type: integer + format: int64 + description: Unix timestamp when this url been lookup + example: 1689109447 + bulk-lookup-request: + type: object + properties: + query: + type: object + properties: + urls: + type: array + description: user queried URLs + items: + type: string + format: url + example: + - https://www.netskope.com + - https://www.google.com + - https://www.airbnb.com + error-response: + type: object + properties: + trace_id: + type: string + description: trace id for troubleshooting {service}{category}{detail} + example: '12345' + err_code: + type: string + description: unique error code for troubleshooting {service}{category}{detail} + example: '010203' + message: + type: string + description: human readable error message, could be general or specific + example: database query error / internal error + datetime: + type: string + description: the time error occured + example: '2022-08-31T11:14:23.187Z' + category: + type: object + properties: + id: + type: number + example: 1 + name: + type: string + example: Security Industry + type: + type: string + description: enumeration in ["predefined", "custom"] + example: predefined + url-list: + type: object + properties: + id: + type: number + example: 1 + name: + type: string + example: My custom web list + SampleInfoRequest: + type: object + properties: + hash: + type: array + example: + - ba5aa2352bf1132e0fd3e58680eafa8e912b0c56b9919b211fd84878e615798e + - 4aacabe02537f435d83be4d180751234 + items: + type: string + example: '["ba5aa2352bf1132e0fd3e58680eafa8e912b0c56b9919b211fd84878e615798e","4aacabe02537f435d83be4d180751234"]' + description: List of sample hash value, supporting md5 or sha256 + SampleErrorResponse: + type: object + properties: + status: + type: string + error_message: + type: string + SampleInfo: + type: object + properties: + seen: + type: boolean + verdict: + type: string + nullable: true + severity: + type: integer + format: int32 + nullable: true + md5: + type: string + nullable: true + sha256: + type: string + malware_name: + type: string + nullable: true + latest_detection_date: + type: integer + format: int32 + nullable: true + SampleInfoResponse: + type: object + properties: + status: + type: string + result: + type: object + additionalProperties: + $ref: '#/components/schemas/SampleInfo' + AnalysisReport: + type: object + properties: + analysis_report: + type: string + SampleReport: + type: object + properties: + version: + type: string + netskope-sample-report: + type: object + additionalProperties: + $ref: '#/components/schemas/AnalysisReport' + SampleReportResponse: + type: object + properties: + status: + type: string + result: + $ref: '#/components/schemas/SampleReport' + AdminRolesEntity: + type: object + properties: + role_id: + type: number + role_name: + type: string + role_description: + type: string + last_edited: + type: string + format: date-time + required: + - role_id + - role_name + - role_description + - last_edited + ApiErrorResponse: + type: object + properties: + statusCode: + type: number + example: + - 400 + - 404 + - 500 + message: + type: string + example: Validation failed (numeric string is expected) + error: + type: string + example: Bad Request + required: + - statusCode + - message + - error + AdminRolesV2Entity: + type: object + properties: + id: + type: number + role_type: + type: string + role_name: + type: string + role_description: + type: string + last_edited: + type: string + format: date-time + required: + - id + - role_type + - role_name + - role_description + - last_edited + RolePermissionsEntity: + type: object + properties: + id: + type: number + role_id: + type: number + role_function_sub_function_assoc_page_assoc_id: + type: number + permission: + type: string + required: + - id + - role_id + - role_function_sub_function_assoc_page_assoc_id + - permission + CustomAdminRolesV2Entity: + type: object + properties: + role_id: + type: number + role_type: + type: string + role_name: + type: string + role_description: + type: string + last_edited: + type: string + format: date-time + obfuscation_type: + type: string + permissions: + type: array + items: + $ref: '#/components/schemas/RolePermissionsEntity' + required: + - role_id + - role_type + - role_name + - role_description + - last_edited + - obfuscation_type + - permissions + IdpCertificateResponse: + type: object + properties: + data: + type: string + expiryUtcSec: + type: number + isExpired: + type: boolean + isExpiring: + type: boolean + required: + - data + - expiryUtcSec + - isExpired + - isExpiring + MetadataResponse: + type: object + properties: + isMigrated: + type: boolean + required: + - isMigrated + NameIdResponse: + type: object + properties: + id: + type: number + name: + type: string + required: + - id + - name + SsoIdpAccountResponse: + type: object + properties: + id: + type: string + externalKey: + type: string + name: + type: string + isEnabled: + type: boolean + idpUrl: + type: string + idpEntityId: + type: string + idpCertificate: + allOf: + - $ref: '#/components/schemas/IdpCertificateResponse' + alternateUserEmailAttribute: + type: string + isSsoSigned: + type: boolean + shouldForceAuthn: + type: boolean + idpSloUrl: + type: string + isStrictSso: + type: boolean + isSloEnabled: + type: boolean + isSloSigned: + type: boolean + isAdfsSlo: + type: boolean + spEntityId: + type: string + spAcsUrl: + type: string + spSloRequestUrl: + type: string + spSloResponseUrl: + type: string + metadata: + allOf: + - $ref: '#/components/schemas/MetadataResponse' + status: + type: string + allowedRoles: + type: array + items: + $ref: '#/components/schemas/NameIdResponse' + domainMapping: + type: array + items: + $ref: '#/components/schemas/NameIdResponse' + required: + - id + - externalKey + - name + - isEnabled + - isSsoSigned + - shouldForceAuthn + - isStrictSso + - isSloEnabled + - isSloSigned + - isAdfsSlo + - spEntityId + - spAcsUrl + - spSloRequestUrl + - spSloResponseUrl + - metadata + - status + - domainMapping + SsoIdpAccountCreateRequest: + type: object + properties: + name: + type: string + isEnabled: + type: boolean + idpUrl: + type: string + idpEntityId: + type: string + idpCertificate: + type: string + alternativeUserEmailAttribute: + type: string + isSsoSigned: + type: boolean + shouldForceAuthn: + type: boolean + isStrictSso: + type: boolean + isSloEnabled: + type: boolean + isSloSigned: + type: boolean + idpSloUrl: + type: string + isAdfsSlo: + type: boolean + allowedRoles: + type: array + items: + type: number + domainMapping: + type: array + items: + type: number + status: + type: string + enum: + - draft + - complete + required: + - name + - isEnabled + - idpUrl + - idpEntityId + - idpCertificate + - alternativeUserEmailAttribute + - isSsoSigned + - shouldForceAuthn + - isStrictSso + - isSloEnabled + - isSloSigned + - idpSloUrl + - isAdfsSlo + - allowedRoles + - domainMapping + - status + SsoIdpAccountUpdateRequest: + type: object + properties: + name: + type: string + isEnabled: + type: boolean + idpUrl: + type: string + idpEntityId: + type: string + idpCertificate: + type: string + alternativeUserEmailAttribute: + type: string + isSsoSigned: + type: boolean + shouldForceAuthn: + type: boolean + isStrictSso: + type: boolean + isSloEnabled: + type: boolean + isSloSigned: + type: boolean + idpSloUrl: + type: string + isAdfsSlo: + type: boolean + allowedRoles: + type: array + items: + type: number + domainMapping: + type: array + items: + type: number + status: + type: string + enum: + - draft + - complete + id: + type: string + required: + - name + - isEnabled + - idpUrl + - idpEntityId + - idpCertificate + - alternativeUserEmailAttribute + - isSsoSigned + - shouldForceAuthn + - isStrictSso + - isSloEnabled + - isSloSigned + - idpSloUrl + - isAdfsSlo + - allowedRoles + - domainMapping + - status + - id + SCIMUsersPageDTO: + type: object + properties: + schemas: + type: array + items: + type: string + totalResults: + type: number + itemsPerPage: + type: number + startIndex: + type: number + Resources: + type: array + items: + type: string + required: + - schemas + - totalResults + - itemsPerPage + - startIndex + - Resources + RoleDTO: + type: object + properties: + value: + type: number + required: + - value + TokenDetailsDTO: + type: object + properties: + expiresOn: + format: date-time + type: string + issuedOn: + format: date-time + type: string + value: + type: string + required: + - expiresOn + - issuedOn + - value + NetskopeUserResponseSchemaDTO: + type: object + properties: + recordType: + type: string + enum: + - USER + - SERVICE_ACCOUNT + provisionedBy: + type: string + enum: + - LOCAL + - SCIM + - SAML + role: + $ref: '#/components/schemas/RoleDTO' + apiAccessToken: + $ref: '#/components/schemas/TokenDetailsDTO' + isLocked: + type: boolean + isVerified: + type: boolean + lastLogin: + format: date-time + type: string + mfaEnabled: + type: boolean + required: + - recordType + - provisionedBy + - role + - apiAccessToken + - lastLogin + - mfaEnabled + SCIMUserMetadataDTO: + type: object + properties: + created: + format: date-time + type: string + lastModified: + format: date-time + type: string + location: + type: string + required: + - created + - lastModified + - location + SCIMUserDTO: + type: object + properties: + schemas: + type: array + items: + type: string + id: + type: string + username: + type: string + externalId: + type: string + active: + type: boolean + urn:ietf:params:scim:schemas:netskope:2.0:User: + allOf: + - $ref: '#/components/schemas/NetskopeUserResponseSchemaDTO' + metadata: + $ref: '#/components/schemas/SCIMUserMetadataDTO' + required: + - schemas + - id + - username + - externalId + - active + - urn:ietf:params:scim:schemas:netskope:2.0:User + - metadata + TokenGenerationRequestDTO: + type: object + properties: + generate: + type: boolean + expiresOn: + format: date-time + type: string + NetskopeUserRequestSchemaDTO: + type: object + properties: + recordType: + type: string + enum: + - USER + - SERVICE_ACCOUNT + provisionedBy: + type: string + enum: + - LOCAL + - SCIM + - SAML + role: + $ref: '#/components/schemas/RoleDTO' + sendAdminVerificationEmail: + type: boolean + apiAccessToken: + allOf: + - $ref: '#/components/schemas/TokenGenerationRequestDTO' + mfaEnabled: + type: boolean + isLocked: + type: boolean + required: + - recordType + - provisionedBy + - role + UserCreationRequestDTO: + type: object + properties: + schemas: + type: array + items: + type: string + externalId: + type: string + userName: + type: string + active: + type: boolean + urn:ietf:params:scim:schemas:netskope:2.0:User: + allOf: + - $ref: '#/components/schemas/NetskopeUserRequestSchemaDTO' + required: + - schemas + - userName + - active + - urn:ietf:params:scim:schemas:netskope:2.0:User + UserUpdationRequestDTO: + type: object + properties: + schemas: + type: array + items: + type: string + id: + type: string + externalId: + type: string + active: + type: boolean + urn:ietf:params:scim:schemas:netskope:2.0:User: + allOf: + - $ref: '#/components/schemas/NetskopeUserRequestSchemaDTO' + required: + - schemas + - id + - active + - urn:ietf:params:scim:schemas:netskope:2.0:User + PatchNetskopeUserSchemaDTO: + type: object + properties: + sendAdminVerificationEmail: + type: boolean + apiAccessToken: + allOf: + - $ref: '#/components/schemas/TokenGenerationRequestDTO' + role: + $ref: '#/components/schemas/RoleDTO' + mfaEnabled: + type: boolean + isLocked: + type: boolean + required: + - role + PatchUserValueDTO: + type: object + properties: + externalId: + type: string + active: + type: boolean + urn:ietf:params:scim:schemas:netskope:2.0:User: + allOf: + - $ref: '#/components/schemas/PatchNetskopeUserSchemaDTO' + required: + - active + - urn:ietf:params:scim:schemas:netskope:2.0:User + PatchUserOperationDTO: + type: object + properties: + op: + type: string + enum: + - Replace + - Remove + path: + type: string + value: + $ref: '#/components/schemas/PatchUserValueDTO' + required: + - op + PatchUserRequestDTO: + type: object + properties: + schemas: + type: array + items: + type: string + Operations: + type: array + items: + $ref: '#/components/schemas/PatchUserOperationDTO' + required: + - schemas + - Operations + ServiceProviderConfigPatchPropDTO: + type: object + properties: + supported: + type: boolean + required: + - supported + ServiceProviderConfigBulkPropDTO: + type: object + properties: + supported: + type: boolean + maxOperations: + type: number + maxPayloadSize: + type: number + required: + - supported + - maxOperations + - maxPayloadSize + ServiceProviderConfigFilterPropDTO: + type: object + properties: + supported: + type: boolean + maxResults: + type: number + required: + - supported + - maxResults + ServiceProviderConfigChangePasswordPropDTO: + type: object + properties: + supported: + type: boolean + required: + - supported + ServiceProviderConfigSortPropDTO: + type: object + properties: + supported: + type: boolean + required: + - supported + ServiceProviderConfigAuthenticationSchemaPropDTO: + type: object + properties: + name: + type: string + description: + type: string + type: + type: string + primary: + type: boolean + required: + - name + - description + - type + - primary + ServiceProviderConfigEtagPropDTO: + type: object + properties: + supported: + type: boolean + required: + - supported + ServiceProviderConfigMetadataPropDTO: + type: object + properties: + location: + type: string + resourceType: + type: string + created: + format: date-time + type: string + lastModified: + format: date-time + type: string + version: + type: string + required: + - location + - resourceType + - created + - lastModified + - version + ServiceProviderConfigDTO: + type: object + properties: + schemas: + type: array + items: + type: string + patch: + $ref: '#/components/schemas/ServiceProviderConfigPatchPropDTO' + bulk: + $ref: '#/components/schemas/ServiceProviderConfigBulkPropDTO' + filter: + $ref: '#/components/schemas/ServiceProviderConfigFilterPropDTO' + changePassword: + $ref: '#/components/schemas/ServiceProviderConfigChangePasswordPropDTO' + sort: + $ref: '#/components/schemas/ServiceProviderConfigSortPropDTO' + authenticationSchemes: + type: array + items: + $ref: '#/components/schemas/ServiceProviderConfigAuthenticationSchemaPropDTO' + etag: + $ref: '#/components/schemas/ServiceProviderConfigEtagPropDTO' + meta: + $ref: '#/components/schemas/ServiceProviderConfigMetadataPropDTO' + required: + - schemas + - patch + - bulk + - filter + - changePassword + - sort + - authenticationSchemes + - etag + - meta + SCIMSchemaExtensionDTO: + type: object + properties: + schema: + type: string + required: + type: boolean + required: + - schema + - required + SCIMResourceTypeMetadataDTO: + type: object + properties: + location: + type: string + resourceType: + type: string + required: + - location + - resourceType + SCIMResourceTypeDTO: + type: object + properties: + schemas: + type: array + items: + type: string + id: + type: string + name: + type: string + endpoint: + type: string + description: + type: string + schema: + type: string + schemaExtensions: + type: array + items: + $ref: '#/components/schemas/SCIMSchemaExtensionDTO' + meta: + $ref: '#/components/schemas/SCIMResourceTypeMetadataDTO' + required: + - schemas + - id + - name + - endpoint + - description + - schema + - schemaExtensions + - meta + SCIMResourceTypesListDTO: + type: object + properties: + schemas: + type: array + items: + type: string + totalResults: + type: number + itemsPerPage: + type: number + startIndex: + type: number + Resources: + type: array + items: + $ref: '#/components/schemas/SCIMResourceTypeDTO' + required: + - schemas + - totalResults + - itemsPerPage + - startIndex + - Resources + SCIMSchemaAttributeDTO: + type: object + properties: + name: + type: string + type: + type: string + multiValued: + type: boolean + required: + type: boolean + caseExact: + type: boolean + mutability: + type: string + returned: + type: string + uniqueness: + type: string + description: + type: string + canonicalValues: + type: array + items: + type: string + subAttributes: + type: array + items: + $ref: '#/components/schemas/SCIMSchemaAttributeDTO' + required: + - name + - type + - multiValued + - required + - caseExact + - mutability + - returned + - uniqueness + - description + - canonicalValues + - subAttributes + SCIMSchemaMetadataDTO: + type: object + properties: + location: + type: string + resourceType: + type: string + required: + - location + - resourceType + SCIMSchemaDTO: + type: object + properties: + id: + type: string + name: + type: string + description: + type: string + attributes: + type: array + items: + $ref: '#/components/schemas/SCIMSchemaAttributeDTO' + meta: + $ref: '#/components/schemas/SCIMSchemaMetadataDTO' + required: + - id + - name + - description + - attributes + - meta + SCIMSchemasListDTO: + type: object + properties: + schemas: + type: array + items: + type: string + totalResults: + type: number + itemsPerPage: + type: number + startIndex: + type: number + Resources: + type: array + items: + $ref: '#/components/schemas/SCIMSchemaDTO' + required: + - schemas + - totalResults + - itemsPerPage + - startIndex + - Resources + NotificationsResponse: + type: object + properties: + name: + type: string + maxLength: 256 + title: + type: string + maxLength: 60 + subtitle: + type: string + maxLength: 80 + description: In addition to text, this field accepts the following variables. 'NS_APP', 'NS_CATEGORY', 'NS_URL', 'NS_HOST', 'NS_ACTIVITY', 'NS_POLICY_NAME', 'NS_USER', 'NS_APP_INSTANCE', 'NS_FILENAME' + message: + type: string + maxLength: 256000 + description: In addition to text, this field accepts the following variables. 'NS_APP', 'NS_CATEGORY', 'NS_URL', 'NS_HOST', 'NS_ACTIVITY', 'NS_POLICY_NAME', 'NS_USER', 'NS_APP_INSTANCE', 'NS_FILENAME' + footerMessage: + type: string + maxLength: 160 + ackButtonText: + type: string + maxLength: 14 + logoImageName: + type: string + logoSize: + type: string + enum: + - small + - medium + - large + stripeColor: + type: string + description: 'A valid hexadecimal color code. For example: #A659B1' + redirectUrl: + type: string + description: Redirects end users to the specified URL automatically. This field accepts the following variables as well. 'NS_APP', 'NS_CATEGORY', 'NS_URL', 'NS_HOST', 'NS_ACTIVITY', 'NS_POLICY_NAME', 'NS_USER', 'NS_APP_INSTANCE', 'NS_FILENAME' + id: + type: string + required: + - name + - title + - message + - ackButtonText + - id + NotificationsReadAllResponse: + type: object + properties: + totalCount: + type: number + result: + type: array + items: + $ref: '#/components/schemas/NotificationsResponse' + required: + - totalCount + - result + NotificationsCreateRequest: + type: object + properties: + name: + type: string + maxLength: 256 + title: + type: string + maxLength: 60 + subtitle: + type: string + maxLength: 80 + description: In addition to text, this field accepts the following variables. 'NS_APP', 'NS_CATEGORY', 'NS_URL', 'NS_HOST', 'NS_ACTIVITY', 'NS_POLICY_NAME', 'NS_USER', 'NS_APP_INSTANCE', 'NS_FILENAME' + message: + type: string + maxLength: 256000 + description: In addition to text, this field accepts the following variables. 'NS_APP', 'NS_CATEGORY', 'NS_URL', 'NS_HOST', 'NS_ACTIVITY', 'NS_POLICY_NAME', 'NS_USER', 'NS_APP_INSTANCE', 'NS_FILENAME' + footerMessage: + type: string + maxLength: 160 + ackButtonText: + type: string + maxLength: 14 + logoImageName: + type: string + logoSize: + type: string + enum: + - small + - medium + - large + stripeColor: + type: string + description: 'A valid hexadecimal color code. For example: #A659B1' + redirectUrl: + type: string + description: Redirects end users to the specified URL automatically. This field accepts the following variables as well. 'NS_APP', 'NS_CATEGORY', 'NS_URL', 'NS_HOST', 'NS_ACTIVITY', 'NS_POLICY_NAME', 'NS_USER', 'NS_APP_INSTANCE', 'NS_FILENAME' + required: + - name + - title + - message + - ackButtonText + NotificationsDeleteResponse: + type: object + properties: + id: + type: string + name: + type: string + required: + - id + - name + DeliverySettingsResponse: + type: object + properties: + cloudAppsDeliveryMethod: + type: string + enum: + - client + - browser + webTrafficDeliveryMethod: + type: string + enum: + - client + - browser + notificationTimeout: + type: number + minimum: 60 + maximum: 600 + description: Timeout in seconds. + required: + - cloudAppsDeliveryMethod + - webTrafficDeliveryMethod + - notificationTimeout + CustomImageType: + type: object + properties: + imageName: + type: string + description: Name of the image + example: logo.jpg + image: + type: string + example: iVBORw0KGgoAAAANSUhEUgAAAKwAAAAoCAYAAABjEB + description: Base64 encoded image data + modifyType: + type: string + enum: + - Created + - Edited + example: Created + description: Last modification type if Created or Edited + modifyBy: + type: string + example: john.doe@testuser.com + description: User who created or modified the image + modifyTime: + type: number + format: date-time + example: '1681758000' + description: Recorded Epoch timestamp, when such modification took place + Anomalies: + type: object + properties: + totalCount: + type: integer + format: int32 + example: 4 + results: + type: array + items: + $ref: '#/components/schemas/Anomaly' + example: + - anomalyId: 63fe6cd01db8c9064613f9e4 + user: hello@netskope.com + time: 1677618382070 + score: 20 + activity: ActivityForUciImpactAPI + eventId: event_id1 + anomalyCreatedTime: '2023-02-28T21:06:24Z' + source: OKTA1 + reason: login failed in OKTA3 + markAsAllowed: true + reasonForAllowed: Not an anomaly + - anomalyId: 63fe6cd01db8c9064613f9e5 + user: blah@ms.com + time: 1677618382070 + score: 20 + activity: ActivityForUciImpactAPI + eventId: event_id2 + anomalyCreatedTime: '2023-02-28T21:06:24Z' + source: OKTA2 + reason: login failed in OKTA2 + - anomalyId: 63fe6cd01db8c9064613f9e6 + user: hello1@netskope.com + time: 1677618382070 + score: 20 + activity: ActivityForUciImpactAPI + eventId: event_id3 + additionalProps: + extra: test + anomalyCreatedTime: '2023-02-28T21:06:24Z' + source: OKTA3 + reason: login failed in OKTA3 + required: + - totalCount + - results + AnomaliesSearchFilters: + type: object + properties: + filters: + type: object + properties: + user: + $ref: '#/components/schemas/StringEqualCondition' + source: + $ref: '#/components/schemas/StringEqualCondition' + startTime: + $ref: '#/components/schemas/IntegerEqualCondition' + endTime: + $ref: '#/components/schemas/IntegerEqualCondition' + anomalyId: + $ref: '#/components/schemas/StringEqualCondition' + Anomaly: + type: object + properties: + anomalyId: + type: string + user: + type: string + time: + type: integer + format: int64 + score: + type: integer + format: int32 + activity: + type: string + featureValue: + type: string + eventId: + type: string + markAsAllowed: + type: boolean + example: false + reasonForAllowed: + type: string + source: + type: string + reason: + type: string + additionalProps: + type: object + additionalProperties: + type: string + anomalyCreatedTime: + type: string + format: date-time + required: + - anomalyId + AnomalyAsAllowedRequest: + type: object + properties: + reason: + type: string + required: + - reason + ErrorInfo: + type: object + required: + - errorMsg + properties: + errorMsg: + type: string + parameters: + type: object + additionalProperties: true + HttpGenericResponse: + type: object + properties: + result: + type: string + example: + result: Success + IntegerEqualCondition: + type: object + properties: + equals: + type: integer + format: int64 + PolicyScenario: + type: object + properties: + scenario: + type: string + subScenarios: + type: array + description: a list of secondary scenario + items: + type: string + required: + - scenario + - subScenarios + PolicyScenariosResponse: + type: array + items: + $ref: '#/components/schemas/PolicyScenario' + example: + - scenario: Potential Compromised Credential + subScenarios: + - Failed Logins + - Rare Event + - Strange Access + - Shared Credential + - scenario: Potential Insider Threat + subScenarios: + - Data movement + - Data destruction + - Sensitive data movement + - DLP Violation + - scenario: Potential Compromised Device + subScenarios: + - Malsite + - Third Party + - Malware + - Ransomware + StringEqualCondition: + type: object + properties: + equals: + type: array + items: + type: string + UbaConfigsResponse: + type: object + properties: + userConfidenceRatings: + $ref: '#/components/schemas/UserConfidenceRatings' + watchlistConfig: + $ref: '#/components/schemas/WatchlistConfig' + example: + userConfidenceRatings: + maxThreshold: 1000 + ratingRanges: + - maxval: 350 + minval: 0 + rating: Poor + - maxval: 650 + minval: 351 + rating: Moderate + - maxval: 1000 + minval: 651 + rating: Good + watchlistConfig: + maxNumberWatchlistPerTenant: 100 + maxMembersInWatchlist: 300 + maxLengthOfWatchlistName: 128 + UbaContainsCondition: + type: object + properties: + contains: + type: string + UbaEqualsCondition: + type: object + properties: + equals: + type: string + UciThresholdConfig: + type: object + properties: + threshold: + type: integer + format: int32 + enabled: + type: boolean + createdBy: + type: string + createdTime: + type: integer + format: int64 + lastUpdatedBy: + type: string + lastUpdatedTime: + type: integer + format: int64 + UciThresholdConfigReq: + type: object + properties: + threshold: + type: integer + format: int32 + description: The value of this field must be in the range of (0, 1000) + enabled: + type: boolean + UciThresholdUpdateResponse: + type: object + properties: + result: + type: string + UserConfidenceRatingRange: + type: object + properties: + maxval: + type: integer + format: int32 + minval: + type: integer + format: int32 + rating: + type: string + UserConfidenceRatings: + type: object + properties: + maxThreshold: + type: integer + format: int32 + ratingRanges: + type: array + items: + $ref: '#/components/schemas/UserConfidenceRatingRange' + UserConfidenceScore: + type: object + properties: + user: + type: string + start: + type: integer + format: int64 + description: The latest day when the user did some activities + confidenceScore: + type: integer + format: int32 + description: Current confidence score + isObfuscated: + type: boolean + description: Flag to indicate whether the value in 'user' is a string after obfuscated or not + required: + - user + - start + - confidenceScore + example: + user: test@netskope.com + start: 1693267200000 + confidences: 500 + UserCurrentUciResponse: + type: object + properties: + totalCount: + type: integer + format: int64 + poorUserCount: + type: integer + format: int64 + moderateUserCount: + type: integer + format: int64 + goodUserCount: + type: integer + format: int64 + results: + type: array + items: + $ref: '#/components/schemas/UserConfidenceScore' + required: + - totalCount + - results + example: + totalCount: 3 + poorUserCount: 1 + moderateUserCount: 1 + goodUserCount: 1 + results: + - user: test1@netskope.com + start: 1693267200000 + confidences: 300 + - user: test2@netskope.com + start: 1693267200000 + confidences: 600 + - user: '[obfuscated] ................user: 1' + start: 1693267200000 + confidences: 700 + isObfuscated: true + UserKeyScenarioResponse: + type: object + properties: + scenario: + type: string + example: Potential Compromised Credential + subScenario: + type: string + example: Failed Logins + UserRequest: + type: object + required: + - user + properties: + user: + type: string + example: demo@netskope.com + UserUciImpactRequest: + type: object + properties: + user: + type: string + score: + type: integer + format: int32 + timestamp: + type: integer + format: int64 + source: + type: string + reason: + type: string + required: + - user + - score + - timestamp + - source + - reason + UsersUciRequest: + type: object + required: + - users + - fromTime + properties: + users: + type: array + description: a list of users. The length of the list should not bigger than 512 + items: + type: string + fromTime: + type: integer + format: int64 + capPerUser: + type: integer + format: int32 + description: It is an optional parameter. The default value is 7. Be notice the parameter with the size of users will affects the performance of the API + UsersUciResponse: + type: object + properties: + usersUci: + type: array + items: + $ref: '#/components/schemas/ConfidenceTimeSeries' + UserUciSearchRequest: + type: object + properties: + watchlist: + type: string + description: Name of the watchlist. It is optional. If it is not set, the API will search all users' confidence score + user: + oneOf: + - $ref: '#/components/schemas/UbaContainsCondition' + - $ref: '#/components/schemas/UbaEqualsCondition' + usersActiveInLastDays: + type: integer + format: int32 + description: The window range for search. It means to load all users who are active in recent days. The maximum is 90 days + ratingRank: + type: string + description: It must be one of ['Good', 'Moderate', 'Poor', 'All']. If it is set, the API will load confidence score for users whose UCIs are in this rank + enum: + - Good + - Moderate + - Poor + - All + required: + - usersActiveInLastDays + example: + watchlist: watchlist-A + user: + contains: demo + usersActiveInLastDays: 14 + ratingRank: moderate + WatchlistConfig: + type: object + properties: + maxLengthOfWatchlistName: + type: integer + format: int32 + description: System configuration for maximum length of the watchlist name + maxMembersInWatchlist: + type: integer + format: int32 + description: System configuration for maximum members of watchlist + maxNumberWatchlistPerTenant: + type: integer + format: int32 + description: System configuration for maximum numbers of watchlist per tenant + WatchlistCreationRequest: + type: object + properties: + name: + type: string + description: Name of watchlist. The length should not bigger than 128 and match the regex '[a-zA-Z0-9-#:/_ ]+' + uciAlertThreshold: + type: integer + format: int32 + description: The threshold for lower UCI alert. If the UCI of user in watchlist is lower than this defined value, a lower UCI alert will be sent + users: + type: array + description: a list of users. The length of the list should not bigger than 300 + items: + $ref: '#/components/schemas/WatchlistMember' + required: + - name + - users + example: + name: watchlist-test + uciAlertThreshold: 600 + users: + - user: test1@netskope.com + startTime: 1687884960000 + - user: test2@netskope.com + startTime: 1687884960000 + WatchlistMember: + type: object + properties: + user: + type: string + description: user in watchlist + startTime: + type: integer + format: int64 + description: The time when user is added into watchlist. It is the milliseconds since 1970 + required: + - user + example: + user: test@netskope.com + startTime: 1687884960000 + WatchlistNames: + type: object + properties: + userIncluded: + type: array + description: An array of watchlist which include the input user + items: + type: string + userExcluded: + type: array + description: An array of watchlist which do not include the input user. The user can be added into them later + items: + type: string + example: + userIncluded: + - watchlist test0 + - watchlist test1 + - watchlist test2 + userExcluded: + - watchlist test3 + - watchlist test4 + - watchlist test5 + WatchlistPatchRequest: + type: object + properties: + field: + type: string + enum: + - uciAlertThreshold + - users + op: + type: string + enum: + - append + - modify + - remove + value: + oneOf: + - $ref: '#/components/schemas/WatchlistMember' + - type: integer + format: int32 + description: It must be set if the 'op' is 'modify' or 'append'. It should be int32 for 'uciAlertThreshold', and object WatchlistMember for 'users' + required: + - field + - op + example: + field: uciAlertThreshold + op: modify + value: 500 + WatchlistResponse: + type: object + properties: + id: + type: string + description: Watchlist Id + name: + type: string + description: Name of watchlist. The length should not bigger than 128 + uciAlertThreshold: + type: integer + format: int32 + description: The threshold for lower UCI alert. If the UCI of user in watchlist is lower than this defined value, a lower UCI alert will be sent + users: + type: array + description: a list of users. The length of the list should not bigger than 300. It will not be in the response if the scope is 'terse' in GET API + items: + $ref: '#/components/schemas/WatchlistMember' + createdTime: + type: string + format: date-time + lastUpdatedTime: + type: string + format: date-time + required: + - id + - name + - createdTime + - lastUpdatedTime + example: + id: 0ec01edb50b30f91c30df9bc + name: watchlist test + uciAlertThreshold: 600 + users: + - user: test1@netskope.com + startTime: 1687884960000 + - user: test2@netskope.com + startTime: 1687884960000 + createdTime: '2023-02-28T21:06:24Z' + lastUpdatedTime: '2023-02-28T21:06:24Z' + WatchlistResponses: + type: array + items: + $ref: '#/components/schemas/WatchlistResponse' + example: + - id: 0ec01edb50b30f91c30df9bc + name: watchlist test + uciAlertThreshold: 600 + users: + - user: test1@netskope.com + startTime: 1687884960000 + - user: test2@netskope.com + startTime: 1687884960000 + createdTime: '2023-02-28T21:06:24Z' + lastUpdatedTime: '2023-02-28T21:06:24Z' + WatchlistUpdateRequest: + type: object + properties: + uciAlertThreshold: + type: integer + format: int32 + description: The threshold for lower UCI alert. If it is not set in request, this field will be remove from the object which means there is no low UCI alert generated + users: + type: array + description: a list of users, no more than 300 users + items: + $ref: '#/components/schemas/WatchlistMember' + name: + type: string + description: watchlist name + required: + - users + - name + example: + name: test watchlist + uciAlertThreshold: 600 + users: + - user: test1@netskope.com + startTime: 1687884960000 + - user: test2@netskope.com + startTime: 1687884960000 + GetReportResponse: + type: object + properties: + report: + type: object + processtree: + type: string + incident_update_patch_request: + type: object + properties: + payload: + type: array + items: + type: object + properties: + object_id: + type: string + example: incident_object_id + description: Incident object that needs to be modified + field: + type: string + example: status + description: Field that needs to be modified ["status", "assignee", "severity"] + old_value: + type: string + example: new + description: Old value of the field that is being changed + new_value: + type: string + example: in_progress + description: The new value of the field to be applied + user: + type: string + example: user@domain.com + description: User updating the incident + incident_update_response_200: + type: object + properties: + result: + type: array + items: + $ref: '#/components/schemas/incident_update_200_response_item' + incident_update_response_500: + type: object + properties: + result: + type: array + items: + $ref: '#/components/schemas/incident_update_500_response_item' + incident_update_200_response_item: + type: object + properties: + result: + type: string + ok: + type: integer + incident_update_500_response_item: + type: object + properties: + result: + type: string + ok: + type: integer + Response: + type: object + properties: + status: + type: string + enum: + - success + - error + data: + oneOf: + - $ref: '#/components/schemas/Forensics' + - $ref: '#/components/schemas/Error' + OriginalFile: + type: string + format: bytes + SubFile: + type: string + format: bytes + Forensics: + type: object + properties: + meta: + type: string + content: + type: string + required: + - meta + - content + publisher_upgrade_profile_post_request: + type: object + properties: + name: + type: string + frequency: + type: string + timezone: + type: string + docker_tag: + type: string + release_type: + type: string + enabled: + type: integer + format: int32 + publisher_upgrade_profile_put_request: + type: object + properties: + name: + type: string + id: + type: integer + format: int32 + frequency: + type: string + timezone: + type: string + docker_tag: + type: string + release_type: + type: string + enabled: + type: integer + format: int32 + publisher_upgrade_profile_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + data: + type: object + properties: + id: + type: integer + format: int32 + frequency: + type: string + timezone: + type: string + docker_tag: + type: string + release_type: + type: string + name: + type: string + enabled: + type: integer + format: int32 + publisher_upgrade_profile_get_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + total: + type: integer + format: int32 + data: + type: object + properties: + id: + type: integer + format: int32 + frequency: + type: string + timezone: + type: string + docker_tag: + type: string + release_type: + type: string + name: + type: string + enabled: + type: integer + format: int32 + publisher_upgrade_profile_bulk_request: + type: object + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + publisher_upgrade_profiles_id: + type: string + publisher_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + data: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: '#/components/schemas/tag_item' + publisher_upgrade_profile_bulk_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: '#/components/schemas/publisher_response' + total: + type: integer + format: int32 + publisher_post_request: + type: object + properties: + name: + type: string + default: publisher_name + lbrokerconnect: + type: boolean + default: false + tags: + type: array + items: + $ref: '#/components/schemas/tag_item_no_id' + publisher_upgrade_profiles_id: + type: integer + format: int32 + default: 1 + release_item: + type: object + properties: + docker_tag: + type: string + name: + type: string + version: + type: string + publisher_put_request: + type: object + properties: + name: + type: string + id: + type: integer + format: int32 + lbrokerconnect: + type: boolean + tags: + type: array + items: + $ref: '#/components/schemas/tag_item' + publishers_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + publishers_get_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + publisher_id: + type: integer + format: int32 + publisher_name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + stitcher_id: + type: integer + format: int32 + apps_count: + type: integer + format: int32 + connected_apps: + type: array + items: + type: string + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: '#/components/schemas/tag_item' + total: + type: integer + format: int32 + publisher_bulk_item: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbrokerconnect: + type: boolean + assessment: + type: object + upgrade_failed_reason: + type: object + upgrade_request: + type: boolean + upgrade_status: + type: object + stitcher_id: + type: integer + format: int32 + status: + type: string + enum: + - connected + - not registered + publisher_upgrade_profile_id: + type: integer + format: int32 + tags: + type: array + items: + $ref: '#/components/schemas/tag_item' + publisher_bulk_request: + type: object + properties: + publishers: + type: object + properties: + id: + type: array + items: + type: string + apply: + type: object + properties: + upgrade_request: + type: boolean + default: true + publishers_bulk_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: '#/components/schemas/publisher_bulk_item' + publishers_alert_get_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + data: + type: object + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_request: + type: object + properties: + adminUsers: + type: array + items: + type: string + example: + - admin1@abc.com + - admin2@abc.com + eventTypes: + type: array + items: + type: string + enum: + - UPGRADE_WILL_START + - UPGRADE_STARTED + - UPGRADE_SUCCEEDED + - UPGRADE_FAILED + - CONNECTION_FAILED + minItems: 1 + maxItems: 5 + example: + - CONNECTION_FAILED + - UPGRADE_STARTED + selectedUsers: + type: string + example: abc@xyz.com,def@xyz.com + publishers_alert_put_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + - failure + publishers_release_get_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + $ref: '#/components/schemas/release_item' + lbroker_post_request: + type: object + properties: + name: + type: string + lbroker_put_request: + type: object + properties: + name: + type: string + lbroker_config_put_request: + type: object + properties: + hostname: + type: string + lbroker_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + data: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + lbroker_config_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + data: + type: object + properties: + hostname: + type: string + lbroker_response_400: + type: object + properties: + status: + type: integer + example: 400 + result: + type: string + lbrokers_get_response: + type: object + properties: + status: + type: string + enum: + - success + - not found + data: + type: array + items: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + common_name: + type: string + registered: + type: boolean + total: + type: integer + format: int32 + validate_name_response: + type: object + properties: + status: + type: string + enum: + - success + - error + data: + type: object + properties: + is_valid_name: + type: boolean + pdv_job_status: + type: object + properties: + pdv_trigger_id: + type: string + example: 123abc + pdv_job_status: + type: string + enum: + - REQUEST_RECEIVED + - SPIN_PIPELINE_TRIGGERED + - SPIN_PIPELINE_RUNNING + - SPIN_PIPELINE_TERMINAL + - SUCCEEDED + - PDV_EXECUTER_ERROR + - WEBHOOK_TRIGGER_ERROR + - FAILED + - TIME_OUT + pdv_job_property: + type: object + required: + - pdv_trigger_id + - application_name + - pipeline_name + properties: + pdv_trigger_id: + type: string + example: 123abc + application_name: + type: string + example: corefoundationservicespdv + pipeline_name: + type: string + example: sjc1clonePDV + pdv_execution_parameters: + type: object + properties: + dps_sign_off: + type: string + example: 123abc + mps_sign_off: + type: string + example: sjc1clone + pdv_poll_status_timeout: + type: integer + example: 600 + concurrency_mode: + type: string + example: sequential + execution_group: + type: string + example: stage + post_status: + type: object + properties: + status: + type: string + enum: + - SUCCESS + response_error: + type: object + properties: + error: + type: string + example: error + common_global_settings_params: + type: object + properties: + authRefreshInterval: + type: string + description: Authentication Refresh Interval in format d:h:m. Minimum interval is 1 hour and maximum interval is 180 days. + default: 7d:00h:00m + example: 7d:00h:00m + bypassDomains: + type: array + description: Domains to bypass authentication + items: + type: string + example: abc.com + cookieSurrogateIPs: + type: array + description: Cookie Surrogate IP Address list + items: + type: string + description: IP Address + example: 1.1.1.1 + domainRefreshInterval: + type: string + description: User Authentication Domain Refresh Interval in format d:h:m. Minimum interval is 1 hour and maximum interval is 180 days. + default: 7d:00h:00m + example: 7d:00h:00m + enableCookieSurrogate: + type: boolean + example: 'true' + get_global_settings_params: + type: object + properties: + bypassEgressIpAddressLocations: + type: array + description: List of Network Location objects to be used for Egress IP Address Bypass + items: + $ref: '#/components/schemas/network_location' + bypassUserIpAddressLocations: + type: array + description: List of Network Location objects to be used for User IP Address Bypass + items: + $ref: '#/components/schemas/network_location' + bypassWebCategories: + type: array + description: List of Web Category objects to be used for Web Category Bypass + items: + type: object + properties: + id: + type: string + description: ID of Web Category Object + example: '20' + name: + type: string + description: Name of Web Category Object + example: Test Web category + network_location: + type: object + properties: + id: + type: string + description: ID of Network Location Object + example: '10' + name: + type: string + description: Name of Network Location object + example: Test Location + get_idp_details: + allOf: + - $ref: '#/components/schemas/idp_details' + - $ref: '#/components/schemas/idp_netskope_settings' + - properties: + id: + type: string + description: IDP Account ID + example: '1' + idpCertificateInfo: + type: object + properties: + data: + type: string + description: IDP Certificate + example: | + -----BEGIN CERTIFICATE----- MIIEczCCA1ugAwIBAgIBADANBgkqhkiG9w0BAQQFAD VQQLEy5DbGFzcyAxIFB1YmxpYyBQcmltYXJ5IENlcn OfljiQIDAQABo4HnMIHkMB0GA1UdDgQWBBQ8urMCRL BMAV7Gzdc4VspS6ljrAhbiiawdBiQlQmsBeFz9JkF4 -----END CERTIFICATE-----" + expiryDate: + type: number + example: 1610879162 + isExpired: + type: boolean + description: Status on IDP Certificate expiry + example: false + isExpiring: + type: boolean + description: True if IDP Certificate is going to expire in next 6 Months + example: true + priorityOrder: + type: string + example: '1' + idp_details: + type: object + properties: + accessMethod: + type: array + description: List of Access Methods + items: + type: string + enum: + - all + - ipsec-gateway + - gre-gateway + - client-enrollment + - explicit + example: all + alternateUserIdField: + type: string + description: Alternate User ID Field. Name of the SAML Attribute to look at for user identification + default: NameID + example: abc + enabled: + type: boolean + description: Status of IDP + example: true + greSpecificTunnels: + type: array + description: List of GRE Specific Tunnels + items: + type: object + properties: + id: + type: string + description: ID of the GRE Tunnel + example: '5' + name: + type: string + description: Name of the GRE Tunnel + example: GRE Tunnel 1 + idpEntityId: + type: string + description: Identity Provider Entity ID + example: https://okta.com/jhfvjfhbvjfbvj + idpURL: + type: string + description: Identity Provider SSO URL + example: https://okta.com/app/app_name/jhfdvjd/sso/saml + ipSecSpecificTunnels: + type: array + description: List of IPSec Specific Tunnels + items: + type: object + properties: + id: + type: string + description: ID of the IPSec Tunnel + example: '3' + name: + type: string + description: Name of the IPSec Tunnel + example: IPSec Tunnel 1 + name: + type: string + description: Name of the IDP Account + example: test + networkLocations: + type: array + description: '' + items: + $ref: '#/components/schemas/network_location' + samlBindingMethod: + type: string + description: SAML Binding Method. + enum: + - httppost + - redirect + example: httppost + userAuthenticationDomain: + type: string + description: User Authentication Domain + example: foo.com + idp_netskope_settings: + type: object + properties: + nsSamlAcsFullURL: + type: string + description: Netskope SAML ACS URL + example: https://abc.com/example/acs + nsSamlEntityIdURL: + type: string + description: Netskope SAML Entity ID + example: https://abc.com/example + EchoResponse: + type: object + properties: + curl_command: + type: string + request_info: + $ref: '#/components/schemas/RequestInfo' + transaction_events_metrics_200: + description: |- + 1.Transaction events metrics data per metric type. + + 2. API will return hourly buckets equivalent to hours parameter value. Default value is 24 Hours, Maximum Value is one week: 168 Hours. + + 3. Time Series buckets maintains the ascending order i.e. latest hour data will be the last data point. + type: object + properties: + ok: + type: integer + enum: + - 0 + - 1 + default: 1 + result: + type: object + properties: + subscription/backlog_message_count: + description: |- + 1. Number of messages that have been sent to a subscription but have not yet been acknowledged by any consumer. + + 2. Results are further categorized per partition number. + + 3. Each partition results are hourly buckets in the ascending order. + + 4. Value is number of unacknowledged messages. + type: object + subscription/oldest_unacked_message_age: + description: |- + 1. The age of the oldest unacknowledged message in a subscription. + + 2. Results are further categorized per partition number + + 3. Each partition results are hourly buckets in the ascending order. + + 4. Value is oldest unacknowledged message age formatted in hours and minutes + type: object + transaction_events_metrics_400: + description: |- + 1.Tenant ID is missing or not an interger. + + 2.Hours parameter value is invalid. + type: object + properties: + message: + type: string + transaction_events_metrics_403: + description: |- + Customer is not authorized to get transaction events metrics. + + This is a licensed feature, please contact Netskope support to purchase + type: object + properties: + message: + type: string + transaction_events_metrics_500: + description: API failed unexpectedly + type: object + properties: + message: + type: string + transaction_events_token_200: + description: |- + 1.New customer authorized for transaction events, subscription key and path are generated for the first time. + + 2.Existing customer authorized for transaction events, retrieving subscription key and path again. + type: object + properties: + ok: + type: integer + enum: + - 0 + - 1 + default: 1 + result: + type: object + properties: + subscription: + type: string + subscription-key: + type: string + transaction_events_token_400: + description: |- + 1.Tenant ID is missing or not an interger. + + 2.Regenerate parameter value is invalid. + type: object + properties: + message: + type: string + transaction_events_token_401: + description: |- + Customer is not authorized to create/get subscription key and path. + + This is a licensed feature, please contact Netskope support to purchase + type: object + properties: + message: + type: string + transaction_events_token_449: + description: |- + 1. Existing customer authorized for transaction events, subscription key and path were already downloaded. + + 2.Use regenerate=true option to regenerate the subscription key. + + 3.This is a one time step to onboard the existing customer to the API. + + 4.Please start using the new subscription key as the existing key one has been invalidated. + type: object + properties: + message: + type: string + transaction_events_token_500: + description: API failed unexpectedly + type: object + properties: + message: + type: string + incident_response_200: + type: object + properties: + result: + type: array + items: + $ref: '#/components/schemas/incident_200_response_item' + infrastructure_response_200: + type: object + properties: + result: + type: array + items: + $ref: '#/components/schemas/infrastructure_200_response_item' + alert_response_200: + type: object + properties: + result: + type: array + items: + $ref: '#/components/schemas/alert_200_response_item' + application_response_200: + type: object + properties: + result: + type: array + items: + $ref: '#/components/schemas/application_200_response_item' + audit_response_200: + type: object + properties: + result: + type: array + items: + $ref: '#/components/schemas/audit_200_response_item' + page_response_200: + type: object + properties: + result: + type: array + items: + $ref: '#/components/schemas/page_200_response_item' + connection_response_200: + type: object + properties: + result: + type: array + items: + $ref: '#/components/schemas/page_200_response_item' + network_response_200: + type: object + properties: + result: + type: array + items: + $ref: '#/components/schemas/network_200_response_item' + endpoint_response_200: + type: object + properties: + result: + type: array + items: + $ref: '#/components/schemas/endpoint_200_response_item' + alert_200_response_item: + type: object + properties: + _id: + type: string + access_method: + type: string + account_id: + type: string + account_name: + type: string + acked: + type: string + action: + type: string + activity: + type: string + alert: + type: string + alert_id: + type: string + alert_name: + type: string + alert_type: + type: string + app: + type: string + app_activity: + type: string + app_session_id: + type: integer + appcategory: + type: string + appsuite: + type: string + asset_id: + type: string + asset_object_id: + type: string + breach_date: + type: integer + breach_description: + type: string + breach_id: + type: string + breach_media_references: + type: string + breach_score: + type: string + breach_target_references: + type: string + browser: + type: string + browser_session_id: + type: integer + browser_version: + type: string + bypass_traffic: + type: string + category: + type: string + cci: + type: integer + ccl: + type: string + client_bytes: + type: integer + compliance_standards: + type: array + items: {} + conn_duration: + type: integer + conn_endtime: + type: integer + conn_starttime: + type: integer + connection_id: + type: integer + CononicalName: + type: string + count: + type: integer + data_type: + type: string + device: + type: string + device_classification: + type: string + dlp_file: + type: string + dlp_incident_id: + type: integer + dlp_is_unique_count: + type: string + dlp_mail_parent_id: + type: string + dlp_parent_id: + type: integer + dlp_profile: + type: string + dlp_rule: + type: string + dlp_rule_count: + type: integer + dlp_rule_severity: + type: string + dlp_unique_count: + type: integer + domain: + type: string + dst_country: + type: string + dst_geoip_src: + type: integer + dst_latitude: + type: number + dst_location: + type: string + dst_longitude: + type: number + dst_region: + type: string + dst_timezone: + type: string + dst_zipcode: + type: string + dstip: + type: string + dsthost: + type: string + dstport: + type: integer + email_source: + type: string + event_type: + type: string + evt_src_chnl: + type: string + exposure: + type: string + external_collaborator_count: + type: integer + external_email: + type: integer + file_cls_encrypted: + type: boolean + file_lang: + type: string + file_path: + type: string + file_size: + type: integer + file_type: + type: string + from_user: + type: string + fromlogs: + type: string + hostname: + type: string + http_transaction_count: + type: integer + iaas_asset_tags: + type: array + items: {} + iaas_remediated: + type: string + instance: + type: string + instance_id: + type: string + internal_collaborator_count: + type: integer + justification_reason: + type: string + justification_type: + type: string + last_app: + type: string + last_country: + type: string + last_device: + type: string + last_location: + type: string + last_region: + type: string + last_timestamp: + type: integer + log_file_name: + type: string + malicious: + type: string + malsite_category: + type: array + items: {} + malsite_country: + type: string + malsite_id: + type: string + malsite_ip_host: + type: string + malsite_latitude: + type: number + malsite_longitude: + type: number + malsite_region: + type: string + managed_app: + type: string + managementID: + type: string + matched_username: + type: string + md5: + type: string + mime_type: + type: string + modified: + type: integer + netskope_activity: + type: string + netskope_pop: + type: string + notify_template: + type: string + nsdeviceuid: + type: string + numbytes: + type: integer + object: + type: string + object_id: + type: string + object_type: + type: string + org: + type: string + organization_unit: + type: string + orig_ty: + type: string + orignal_file_path: + type: string + os: + type: string + os_version: + type: string + other_categories: + type: array + items: {} + outer_doc_type: + type: integer + owner: + type: string + page: + type: string + page_site: + type: string + parent_id: + type: string + password_type: + type: string + policy: + type: string + policy_actions: + type: array + items: {} + policy_id: + type: string + profile_id: + type: string + protocol: + type: string + referer: + type: string + region_id: + type: string + region_name: + type: string + req_cnt: + type: integer + request_id: + type: integer + resource_category: + type: string + resource_group: + type: string + resp_cnt: + type: integer + sa_profile_id: + type: integer + sa_profile_name: + type: string + sa_rule_id: + type: string + sa_rule_name: + type: string + sa_rule_severity: + type: string + sAMAccountName: + type: string + sanctioned_instance: + type: string + scan_type: + type: string + serial: + type: string + server_bytes: + type: integer + sessionid: + type: string + severity: + type: string + severity_level: + type: string + severity_level_id: + type: integer + sfwder: + type: string + sha256: + type: string + shared_domains: + type: string + shared_with: + type: string + site: + type: string + src_country: + type: string + src_geoip_src: + type: integer + src_latitude: + type: number + src_location: + type: string + src_longitude: + type: number + src_region: + type: string + src_time: + type: string + src_timezone: + type: string + src_zipcode: + type: string + srcip: + type: string + suppression_end_time: + type: integer + suppression_key: + type: string + suppression_start_time: + type: integer + telemetry_app: + type: string + threat_match_field: + type: string + threat_match_value: + type: string + threat_source_id: + type: integer + threshold: + type: integer + threshold_time: + type: integer + timestamp: + type: integer + title: + type: string + to_object: + type: string + total_collaborator_count: + type: integer + traffic_type: + type: string + transaction_id: + type: integer + true_obj_category: + type: string + true_obj_type: + type: string + tss_mode: + type: string + two_factor_auth: + type: string + type: + type: string + universal_connector: + type: string + ur_normalized: + type: string + url: + type: string + user: + type: string + user_generated: + type: string + user_id: + type: string + useragent: + type: string + userip: + type: string + userkey: + type: string + userPrincipalName: + type: string + web_universal_connector: + type: string + application_200_response_item: + type: object + properties: + _id: + type: string + access_method: + type: string + action: + type: string + activity: + type: string + alert: + type: string + alert_type: + type: string + app: + type: string + app_activity: + type: string + app_session_id: + type: integer + appcategory: + type: string + appsuite: + type: string + audit_category: + type: string + audit_type: + type: string + browser: + type: string + browser_session_id: + type: integer + browser_version: + type: string + category: + type: string + cci: + type: integer + ccl: + type: string + channel_id: + type: string + client_bytes: + type: integer + conn_duration: + type: integer + connection_id: + type: integer + CononicalName: + type: string + count: + type: integer + custom_connector: + type: string + data_center: + type: string + data_type: + type: string + device: + type: string + device_classification: + type: string + dlp_file: + type: string + dlp_incident_id: + type: integer + dlp_is_unique_count: + type: string + dlp_mail_parent_id: + type: string + dlp_parent_id: + type: integer + dlp_profile: + type: string + dlp_rule: + type: string + dlp_rule_count: + type: integer + dlp_rule_severity: + type: string + dlp_unique_count: + type: integer + dst_country: + type: string + dst_geoip_src: + type: integer + dst_latitude: + type: number + dst_location: + type: string + dst_longitude: + type: number + dst_region: + type: string + dst_timezone: + type: string + dst_zipcode: + type: string + dsthost: + type: string + dstip: + type: string + dstport: + type: integer + exposure: + type: string + file_lang: + type: string + file_path: + type: string + file_size: + type: integer + file_type: + type: string + from_user: + type: string + from_user_category: + type: string + fromlogs: + type: string + hostname: + type: string + instance: + type: string + instance_id: + type: string + internal_collaborator_count: + type: integer + ja3: + type: string + ja3s: + type: string + log_file_name: + type: string + logintype: + type: string + loginurl: + type: string + managed_app: + type: string + managementID: + type: string + md5: + type: string + mime_type: + type: string + modified: + type: integer + netskope_activity: + type: string + netskope_pop: + type: string + notify_template: + type: string + nsdeviceuid: + type: string + numbytes: + type: integer + object: + type: string + object_id: + type: string + object_type: + type: string + org: + type: string + organization_unit: + type: string + orignal_file_path: + type: string + os: + type: string + os_version: + type: string + other_categories: + type: array + items: {} + outer_doc_type: + type: integer + owner: + type: string + page: + type: string + page_site: + type: string + parent_id: + type: string + policy: + type: string + policy_id: + type: string + protocol: + type: string + referer: + type: string + req_cnt: + type: integer + request_id: + type: integer + resp_cnt: + type: integer + sAMAccountName: + type: string + sanctioned_instance: + type: string + scan_type: + type: string + serial: + type: string + server_bytes: + type: integer + sessionid: + type: string + severity: + type: string + sfwder: + type: string + sha256: + type: string + shared_with: + type: string + site: + type: string + smtp_to: + type: array + items: {} + src_country: + type: string + src_geoip_src: + type: integer + src_latitude: + type: number + src_location: + type: string + src_longitude: + type: number + src_region: + type: string + src_time: + type: string + src_timezone: + type: string + src_zipcode: + type: string + srcip: + type: string + suppression_end_time: + type: integer + suppression_key: + type: string + suppression_start_time: + type: integer + telemetry_app: + type: string + timestamp: + type: integer + title: + type: string + to_user: + type: string + total_collaborator_count: + type: integer + traffic_type: + type: string + transaction_id: + type: integer + true_obj_category: + type: string + true_obj_type: + type: string + tss_mode: + type: string + type: + type: string + universal_connector: + type: string + ur_normalized: + type: string + url: + type: string + user: + type: string + user_category: + type: string + user_id: + type: string + useragent: + type: string + userip: + type: string + userkey: + type: string + userPrincipalName: + type: string + web_universal_connector: + type: string + workspace: + type: string + workspace_id: + type: string + page_200_response_item: + type: object + properties: + _id: + type: string + access_method: + type: string + app: + type: string + app_session_id: + type: integer + appcategory: + type: string + browser: + type: string + browser_session_id: + type: integer + browser_version: + type: string + bypass_reason: + type: string + bypass_traffic: + type: string + category: + type: string + cci: + type: integer + ccl: + type: string + client_bytes: + type: integer + conn_duration: + type: integer + conn_endtime: + type: integer + conn_starttime: + type: integer + connection_id: + type: integer + CononicalName: + type: string + count: + type: integer + device: + type: string + domain: + type: string + dst_country: + type: string + dst_geoip_src: + type: integer + dst_latitude: + type: number + dst_location: + type: string + dst_longitude: + type: number + dst_region: + type: string + dst_timezone: + type: string + dst_zipcode: + type: string + dsthost: + type: string + dstip: + type: string + dstport: + type: integer + dynamic_classification: + type: string + forward_to_proxy_profile: + type: string + fromlogs: + type: string + hostname: + type: string + http_transaction_count: + type: integer + log_file_name: + type: string + netskope_pop: + type: string + network: + type: string + numbytes: + type: integer + org: + type: string + organization_unit: + type: string + os: + type: string + os_version: + type: string + page: + type: string + policy: + type: string + protocol: + type: string + req_cnt: + type: integer + request_id: + type: integer + resp_cnt: + type: integer + resp_content_len: + type: integer + resp_content_type: + type: string + sAMAccountName: + type: string + serial: + type: string + server_bytes: + type: integer + sessionid: + type: string + severity: + type: string + sfwder: + type: string + site: + type: string + src_country: + type: string + src_geoip_src: + type: integer + src_latitude: + type: number + src_location: + type: string + src_longitude: + type: number + src_region: + type: string + src_time: + type: string + src_timezone: + type: string + src_zipcode: + type: string + srcip: + type: string + ssl_decrypt_policy: + type: string + suppression_end_time: + type: integer + suppression_start_time: + type: integer + timestamp: + type: integer + traffic_type: + type: string + transaction_id: + type: integer + type: + type: string + ur_normalized: + type: string + url: + type: string + user: + type: string + user_generated: + type: string + useragent: + type: string + userip: + type: string + userkey: + type: string + userPrincipalName: + type: string + endpoint_200_response_item: + type: object + properties: + _id: + type: string + access_method: + type: string + action: + type: string + activity: + type: string + activity_type: + type: string + alert: + type: string + alert_generated: + type: boolean + alert_name: + type: string + alert_type: + type: string + app: + type: string + computer_name: + type: string + connection_type: + type: string + destination_file_directory: + type: string + destination_file_name: + type: string + destination_file_path: + type: string + device: + type: string + device_id: + type: string + device_name: + type: string + device_sn: + type: string + device_type: + type: string + dlp_incident_id: + type: integer + dlp_profile: + type: string + dlp_profile_name: + type: string + dlp_rule: + type: string + driver: + type: string + event_recovered: + type: boolean + executable_hash: + type: string + executable_signed: + type: boolean + file_origin: + type: string + file_size: + type: integer + file_type: + type: string + incident_id: + type: integer + justification: + type: string + location: + type: string + md5: + type: string + os: + type: string + os_details: + type: string + os_user_name: + type: string + pid: + type: string + policy_action: + type: string + policy_action_enforced: + type: string + policy_name: + type: string + policy_name_enforced: + type: string + policy_version: + type: string + port: + type: string + printer_identifier: + type: string + process_cert_subject: + type: string + process_name: + type: string + process_path: + type: string + product_id: + type: string + sha256: + type: string + source_file_directory: + type: string + source_file_name: + type: string + sub_type: + type: string + timestamp: + type: integer + type: + type: string + unc_path: + type: string + user: + type: string + vendor_id: + type: string + infrastructure_200_response_item: + type: object + properties: + _id: + type: string + boolean_metric_value: + type: string + hostname: + type: string + metric_name: + type: string + metric_true_count: + type: string + metric_type: + type: string + metric_value: + type: string + package_version: + type: string + serial: + type: string + timestamp: + type: string + audit_200_response_item: + type: object + properties: + _id: + type: string + audit_log_event: + type: string + ccl: + type: string + count: + type: integer + organization_unit: + type: string + sAMAccountName: + type: string + severity_level: + type: integer + supporting_data: + type: object + timestamp: + type: integer + type: + type: string + ur_normalized: + type: string + user: + type: string + userPrincipalName: + type: string + network_200_response_item: + type: object + properties: + _id: + type: string + access_method: + type: string + action: + type: string + app: + type: string + appcategory: + type: string + category: + type: string + cci: + type: integer + ccl: + type: string + client_bytes: + type: integer + client_packets: + type: integer + count: + type: integer + device: + type: string + domain: + type: string + dst_country: + type: string + dst_geoip_src: + type: integer + dst_latitude: + type: number + dst_location: + type: string + dst_longitude: + type: number + dst_region: + type: string + dst_zipcode: + type: string + dsthost: + type: string + dstip: + type: string + dstport: + type: integer + end_time: + type: string + flow_status: + type: string + hostname: + type: string + ip_protocol: + type: string + netskope_pop: + type: string + network_session_id: + type: string + num_sessions: + type: integer + numbytes: + type: integer + organization_unit: + type: string + os: + type: string + os_version: + type: string + policy: + type: string + pop_id: + type: string + protocol: + type: string + protocol_port: + type: string + publisher_cn: + type: string + publisher_name: + type: string + sAMAccountName: + type: string + server_bytes: + type: integer + server_packets: + type: integer + session_duration: + type: integer + site: + type: string + src_country: + type: string + src_geoip_src: + type: integer + src_latitude: + type: number + src_location: + type: string + src_longitude: + type: number + src_region: + type: string + src_zipcode: + type: string + srcip: + type: string + srcport: + type: integer + start_time: + type: string + timestamp: + type: integer + total_packets: + type: integer + traffic_type: + type: string + tunnel_id: + type: string + tunnel_type: + type: string + tunnel_up_time: + type: integer + type: + type: string + ur_normalized: + type: string + user: + type: string + userip: + type: string + userkey: + type: string + userPrincipalName: + type: string + incident_200_response_item: + type: object + properties: + _id: + type: string + title: + type: string + object: + type: string + app: + type: string + site: + type: string + status: + type: string + assignee: + type: string + severity: + type: string + instance_id: + type: string + timestamp: + type: string + exposure: + type: string + acting_user: + type: string + user: + type: string + file_path: + type: string + file_size: + type: integer + file_type: + type: string + dlp_match_info: + type: array + items: {} + inline_dlp_match_info: + type: array + items: {} + access_method: + type: string + activity: + type: string + instance: + type: string + url: + type: string + object_type: + type: string + owner: + type: string + owner_pdl: + type: string + file_lang: + type: string + true_obj_category: + type: string + true_obj_type: + type: string + dlp_incident_id: + type: integer + latest_incident_id: + type: integer + dlp_parent_id: + type: integer + from_user: + type: string + md5: + type: string + connection_id: + type: integer + app_session_id: + type: integer + referer: + type: string + dst_location: + type: string + src_location: + type: string + channel: + type: string + to_user: + type: string + cc: + type: string + bcc: + type: string + classification: + type: string + user_id: + type: string + destination_app: + type: string + destination_instance_id: + type: string + zip_file_id: + type: string + original_file_snapshot_id: + type: string + dlp_file: + type: string + operation: + type: string + enum: + - next + - head + - tail + - resend + - '1658502533' + alert_type_policy_200_response_item: + type: object + properties: + access_method: + type: string + acked: + type: string + act_user: + type: string + action: + type: string + activity: + type: string + activity_status: + type: string + activity_type: + type: string + aggregated_user: + type: string + alert: + type: string + alert_name: + type: string + alert_type: + type: string + all_policy_matches: + type: array + items: {} + app: + type: string + app_activity: + type: string + app_scopes: + type: string + app_session_id: + type: integer + appcategory: + type: string + appsuite: + type: string + bcc: + type: string + browser: + type: string + browser_session_id: + type: integer + browser_version: + type: string + category: + type: string + cc: + type: string + cci: + type: integer + ccl: + type: string + client_bytes: + type: integer + client_packets: + type: integer + conn_duration: + type: integer + connection_id: + type: integer + count: + type: integer + custom_connector: + type: string + data_type: + type: string + device: + type: string + device_classification: + type: string + displayName: + type: string + distinguishedName: + type: string + division: + type: string + dlp_fail_reason: + type: string + dlp_profile: + type: string + dlp_scan_failed: + type: string + dst_country: + type: string + dst_geoip_src: + type: integer + dst_latitude: + type: number + dst_location: + type: string + dst_longitude: + type: number + dst_region: + type: string + dst_timezone: + type: string + dst_zipcode: + type: string + dsthost: + type: string + dstip: + type: string + dstport: + type: integer + dynamic_classification: + type: string + encrypt_failure: + type: string + end_time: + type: string + event_type: + type: string + exposure: + type: string + external_collaborator_count: + type: integer + file_category: + type: string + file_id: + type: string + file_path: + type: string + file_size: + type: integer + file_type: + type: string + forward_to_proxy_xau: + type: string + from_object: + type: string + from_storage: + type: string + from_user: + type: string + gateway: + type: string + group: + type: string + hostname: + type: string + http_status: + type: string + incident_id: + type: integer + instance: + type: string + instance_id: + type: string + internal_collaborator_count: + type: integer + ip_protocol: + type: string + justification_reason: + type: string + justification_type: + type: string + last_name: + type: string + log_file_name: + type: string + mail: + type: string + malicious: + type: string + malsite_category: + type: array + items: {} + malware_id: + type: string + malware_name: + type: string + malware_severity: + type: string + malware_type: + type: string + managed_app: + type: string + managementID: + type: string + manager: + type: string + md5: + type: string + memberOf: + type: string + message_id: + type: string + message_size: + type: integer + mime_type: + type: string + modified: + type: integer + network: + type: string + network_session_id: + type: string + notify_template: + type: string + nsdeviceuid: + type: string + num_sessions: + type: integer + numbytes: + type: integer + object: + type: string + object_count: + type: integer + object_id: + type: string + object_type: + type: string + org: + type: string + organization_unit: + type: string + orignal_file_path: + type: string + os: + type: string + os_version: + type: string + other_categories: + type: array + items: {} + owner: + type: string + page: + type: string + page_site: + type: string + parent_id: + type: string + policy: + type: string + policy_id: + type: string + profile_emails: + type: array + items: {} + protocol: + type: string + protocol_port: + type: string + publisher_cn: + type: string + publisher_name: + type: string + q_admin: + type: string + q_app: + type: string + q_instance: + type: string + q_original_filename: + type: string + q_original_filepath: + type: string + q_original_shared: + type: string + q_original_version: + type: string + quarantine_file_id: + type: string + quarantine_file_name: + type: string + quarantine_profile: + type: string + quarantine_profile_id: + type: string + redirect_url: + type: string + referer: + type: string + remediation_profile: + type: string + req_cnt: + type: integer + request_id: + type: integer + resp_cnt: + type: integer + risk_level: + type: string + sAMAccountName: + type: string + sAMAccountType: + type: string + sanctioned_instance: + type: string + scan_type: + type: string + sender: + type: string + serial: + type: string + server_bytes: + type: integer + server_packets: + type: integer + session_duration: + type: integer + sessionid: + type: string + severity: + type: string + sfwder: + type: string + shared_domains: + type: string + shared_with: + type: string + site: + type: string + smtp_status: + type: string + smtp_to: + type: array + items: {} + src_country: + type: string + src_geoip_src: + type: integer + src_latitude: + type: number + src_location: + type: string + src_longitude: + type: number + src_region: + type: string + src_time: + type: string + src_timezone: + type: string + src_zipcode: + type: string + srcip: + type: string + srcport: + type: integer + start_time: + type: string + suppression_end_time: + type: integer + suppression_key: + type: string + suppression_start_time: + type: integer + telemetry_app: + type: string + threat_match_field: + type: string + threat_match_value: + type: string + threat_source_id: + type: integer + timestamp: + type: integer + Title: + type: string + to_object: + type: string + to_storage: + type: string + to_user: + type: string + total_collaborator_count: + type: integer + total_packets: + type: integer + traffic_type: + type: string + transaction_id: + type: integer + trust_computer_checked: + type: string + tss_fail_reason: + type: string + tss_mode: + type: string + tss_scan_failed: + type: string + tss-mode: + type: string + TSS-scan: + type: string + tunnel_id: + type: string + tunnel_type: + type: string + tunnel_up_time: + type: integer + two_factor_auth: + type: string + type: + type: string + universal_connector: + type: string + ur_normalized: + type: string + url: + type: string + user: + type: string + user_id: + type: string + user_tmp: + type: string + useragent: + type: string + userCountry: + type: string + userip: + type: string + alert_type_ctep_200_response_item: + type: object + properties: + acked: + type: string + action: + type: string + alert: + type: string + alert_name: + type: string + alert_type: + type: string + app: + type: string + category: + type: string + cci: + type: integer + ccl: + type: string + company: + type: string + count: + type: integer + department: + type: string + deviceClassification: + type: array + items: {} + dst_country: + type: string + dst_geoip_src: + type: integer + dst_latitude: + type: number + dst_location: + type: string + dst_longitude: + type: number + dst_region: + type: string + dst_zipcode: + type: string + dstip: + type: string + gid: + type: integer + home_pop: + type: string + hostname: + type: string + http_method: + type: string + http_port: + type: integer + manager: + type: string + metadata: + type: object + organization_unit: + type: string + os: + type: string + other_categories: + type: array + items: {} + profile_id: + type: string + referer: + type: string + signature: + type: string + signature_id: + type: integer + site: + type: string + src_country: + type: string + src_geoip_src: + type: integer + src_latitude: + type: number + src_location: + type: string + src_longitude: + type: number + src_region: + type: string + src_zipcode: + type: string + srcip: + type: string + timestamp: + type: integer + transaction_id: + type: integer + tunnel_id: + type: string + type: + type: string + ur_normalized: + type: string + url: + type: string + user: + type: string + userip: + type: string + userkey: + type: string + userPrincipalName: + type: string + alert_type_malware_200_response_item: + type: object + properties: + access_method: + type: string + acked: + type: string + action: + type: string + activity: + type: string + alert: + type: string + alert_name: + type: string + alert_type: + type: string + app: + type: string + app_name: + type: string + app_session_id: + type: integer + appcategory: + type: string + appsuite: + type: string + browser: + type: string + browser_session_id: + type: integer + browser_version: + type: string + category: + type: string + cci: + type: integer + ccl: + type: string + company: + type: string + connection_id: + type: integer + count: + type: integer + created_date: + type: integer + department: + type: string + detection_engine: + type: string + detection_type: + type: string + device: + type: string + device_classification: + type: string + dst_country: + type: string + dst_geoip_src: + type: integer + dst_latitude: + type: number + dst_location: + type: string + dst_longitude: + type: number + dst_region: + type: string + dst_timezone: + type: string + dst_zipcode: + type: string + dstip: + type: string + fastscan_results: + type: string + file_category: + type: string + file_id: + type: string + file_name: + type: string + file_path: + type: string + file_size: + type: integer + file_type: + type: string + filename: + type: string + from_user: + type: string + hostname: + type: string + incident_id: + type: integer + instance: + type: string + instance_id: + type: string + local_md5: + type: string + local_sha256: + type: string + malware_id: + type: string + malware_name: + type: string + malware_profile: + type: string + malware_severity: + type: string + malware_type: + type: string + managed_app: + type: string + managementID: + type: string + manager: + type: string + md5: + type: string + mime_type: + type: string + ml_detection: + type: string + modified_date: + type: integer + nsdeviceuid: + type: string + object: + type: string + object_id: + type: string + object_type: + type: string + organization_unit: + type: string + os: + type: string + os_version: + type: string + page: + type: string + page_site: + type: string + parent_id: + type: string + policy: + type: string + policy_id: + type: string + protocol: + type: string + referer: + type: string + request_id: + type: integer + sanctioned_instance: + type: string + scan_time: + type: integer + scan_type: + type: string + scanner_result: + type: string + severity: + type: string + severity_id: + type: integer + sha1: + type: string + shared_type: + type: string + shared_with: + type: array + items: {} + site: + type: string + src_country: + type: string + src_geoip_src: + type: integer + src_latitude: + type: number + src_location: + type: string + src_longitude: + type: number + src_region: + type: string + src_time: + type: string + src_timezone: + type: string + src_zipcode: + type: string + srcip: + type: string + timestamp: + type: integer + title: + type: string + traffic_type: + type: string + transaction_id: + type: integer + true_filetype: + type: string + tss_license: + type: string + tss_mode: + type: string + TSS-scan: + type: string + type: + type: string + ur_normalized: + type: string + url: + type: string + user: + type: string + user_id: + type: string + userCountry: + type: string + userip: + type: string + userPrincipalName: + type: string + usr_display_name: + type: string + usr_status: + type: string + usr_title: + type: string + usr_udf_businesssegmentlevel1: + type: string + usr_udf_businesssegmentlevel2: + type: string + usr_udf_businesssegmentlevel3: + type: string + usr_udf_businesssegmentlevel4: + type: string + usr_udf_companyname: + type: string + usr_udf_employeeid: + type: string + usr_udf_primarydomain: + type: string + usr_udf_supervisorid: + type: string + usr_udf_supervisorname: + type: string + alert_type_remediation_200_response_item: + type: object + properties: + access_method: + type: string + acked: + type: string + action: + type: string + actions_taken: + type: string + activity: + type: string + alert: + type: string + alert_name: + type: string + alert_type: + type: string + all_policy_matches: + type: array + items: {} + app: + type: string + app_session_id: + type: integer + appcategory: + type: string + appsuite: + type: string + browser: + type: string + browser_session_id: + type: integer + category: + type: string + cci: + type: integer + ccl: + type: string + connection_id: + type: integer + count: + type: integer + device: + type: string + device_classification: + type: string + dlp_profile: + type: string + dst_country: + type: string + dst_geoip_src: + type: integer + dst_latitude: + type: number + dst_location: + type: string + dst_longitude: + type: number + dst_region: + type: string + dst_timezone: + type: string + dst_zipcode: + type: string + dstip: + type: string + edr_app: + type: string + endpoint_count: + type: integer + endpoints: + type: string + file_size: + type: integer + file_type: + type: string + from_user: + type: string + hostname: + type: string + incident_id: + type: integer + instance_id: + type: string + malware_id: + type: string + malware_name: + type: string + malware_severity: + type: string + malware_type: + type: string + managed_app: + type: string + managementID: + type: string + md5: + type: string + notify_template: + type: string + nsdeviceuid: + type: string + object: + type: string + object_type: + type: string + organization_unit: + type: string + os: + type: string + os_version: + type: string + page: + type: string + page_site: + type: string + policy: + type: string + policy_id: + type: string + profile_hits: + type: array + items: {} + protocol: + type: string + remediation_profile: + type: string + request_id: + type: integer + sanctioned_instance: + type: string + severity: + type: string + site: + type: string + src_country: + type: string + src_geoip_src: + type: integer + src_latitude: + type: number + src_location: + type: string + src_longitude: + type: number + src_region: + type: string + src_time: + type: string + src_timezone: + type: string + src_zipcode: + type: string + srcip: + type: string + timestamp: + type: integer + traffic_type: + type: string + transaction_id: + type: integer + tss_mode: + type: string + type: + type: string + ur_normalized: + type: string + url: + type: string + user: + type: string + userip: + type: string + alert_type_malsite_200_response_item: + type: object + properties: + access_method: + type: string + acked: + type: string + action: + type: string + aggregated_user: + type: string + alert: + type: string + alert_name: + type: string + alert_type: + type: string + app: + type: string + app_session_id: + type: integer + appcategory: + type: string + appsuite: + type: string + browser: + type: string + browser_session_id: + type: integer + browser_version: + type: string + category: + type: string + cci: + type: integer + ccl: + type: string + client_bytes: + type: integer + co: + type: string + conn_duration: + type: integer + connection_id: + type: integer + count: + type: integer + department: + type: string + device: + type: string + device_classification: + type: string + division: + type: string + dst_country: + type: string + dst_geoip_src: + type: integer + dst_latitude: + type: number + dst_location: + type: string + dst_longitude: + type: number + dst_region: + type: string + dst_timezone: + type: string + dst_zipcode: + type: string + dsthost: + type: string + dstip: + type: string + dstport: + type: integer + from_user: + type: string + fromlogs: + type: string + gateway: + type: string + hostname: + type: string + incident_id: + type: integer + log_file_name: + type: string + ja3: + type: string + ja3s: + type: string + malicious: + type: string + malsite_active: + type: string + malsite_category: + type: array + items: {} + malsite_confidence: + type: integer + malsite_consecutive: + type: string + malsite_country: + type: string + malsite_first_seen: + type: integer + malsite_hostility: + type: string + malsite_id: + type: string + malsite_ip_host: + type: string + malsite_last_seen: + type: integer + malsite_latitude: + type: number + malsite_longitude: + type: number + malsite_region: + type: string + malsite_reputation: + type: string + managed_app: + type: string + notify_template: + type: string + numbytes: + type: integer + object: + type: string + object_type: + type: string + org: + type: string + organization_unit: + type: string + os: + type: string + os_version: + type: string + other_categories: + type: array + items: {} + page: + type: string + page_site: + type: string + policy: + type: string + policy_id: + type: string + protocol: + type: string + referer: + type: string + req_cnt: + type: integer + request_id: + type: integer + resp_cnt: + type: integer + sAMAccountName: + type: string + serial: + type: string + server_bytes: + type: integer + severity: + type: string + severity_level: + type: string + severity_level_id: + type: integer + sfwder: + type: string + site: + type: string + src_country: + type: string + src_geoip_src: + type: integer + src_latitude: + type: number + src_location: + type: string + src_longitude: + type: number + src_region: + type: string + src_time: + type: string + src_timezone: + type: string + src_zipcode: + type: string + srcip: + type: string + suppression_end_time: + type: integer + suppression_start_time: + type: integer + telemetry_app: + type: string + threat_match_field: + type: string + threat_match_value: + type: string + threat_source_id: + type: integer + timestamp: + type: integer + traffic_type: + type: string + transaction_id: + type: integer + type: + type: string + universal_connector: + type: string + ur_normalized: + type: string + url: + type: string + user: + type: string + useragent: + type: string + userip: + type: string + alert_type_watchlist_200_response_item: + type: object + properties: + access_method: + type: string + acked: + type: string + act_user: + type: string + activity: + type: string + aggregated_user: + type: string + alert: + type: string + alert_name: + type: string + alert_type: + type: string + all_policy_matches: + type: array + items: {} + app: + type: string + app_activity: + type: string + app_name: + type: string + app_session_id: + type: integer + appcategory: + type: string + appsuite: + type: string + audit_category: + type: string + audit_type: + type: string + browser: + type: string + browser_session_id: + type: integer + browser_version: + type: string + category: + type: string + cci: + type: integer + ccl: + type: string + client_bytes: + type: integer + conn_duration: + type: integer + connection_id: + type: integer + count: + type: integer + data_type: + type: string + detection_engine: + type: string + device: + type: string + device_classification: + type: string + dlp_fail_reason: + type: string + dlp_file: + type: string + dlp_incident_id: + type: integer + dlp_is_unique_count: + type: string + dlp_parent_id: + type: integer + dlp_profile: + type: string + dlp_rule: + type: string + dlp_rule_count: + type: integer + dlp_rule_severity: + type: string + dlp_scan_failed: + type: string + dst_country: + type: string + dst_geoip_src: + type: integer + dst_latitude: + type: number + dst_location: + type: string + dst_longitude: + type: number + dst_region: + type: string + dst_timezone: + type: string + dst_zipcode: + type: string + dsthost: + type: string + dstip: + type: string + dstport: + type: integer + enterprise: + type: string + enterprise_id: + type: string + exposure: + type: string + external_collaborator_count: + type: integer + file_category: + type: string + file_id: + type: string + file_lang: + type: string + file_name: + type: string + file_path: + type: string + file_size: + type: integer + file_type: + type: string + from_object: + type: string + from_storage: + type: string + from_user: + type: string + from_user_category: + type: string + fromlogs: + type: string + hostname: + type: string + incident_id: + type: integer + instance: + type: string + instance_id: + type: string + internal_collaborator_count: + type: integer + justification_reason: + type: string + justification_type: + type: string + local_md5: + type: string + local_sha256: + type: string + log_file_name: + type: string + malware_id: + type: string + malware_name: + type: string + malware_profile: + type: string + malware_severity: + type: string + malware_type: + type: string + managed_app: + type: string + managementID: + type: string + manager: + type: string + md5: + type: string + mime_type: + type: string + ml_detection: + type: string + modified: + type: integer + netskope_activity: + type: string + network: + type: string + notify_template: + type: string + nsdeviceuid: + type: string + numbytes: + type: integer + object: + type: string + object_count: + type: integer + object_id: + type: string + object_type: + type: string + org: + type: string + organization_unit: + type: string + os: + type: string + os_version: + type: string + owner: + type: string + page: + type: string + page_site: + type: string + parent_id: + type: string + policy: + type: string + policy_id: + type: string + protocol: + type: string + referer: + type: string + req_cnt: + type: integer + request_id: + type: integer + resp_cnt: + type: integer + sAMAccountName: + type: string + sanctioned_instance: + type: string + scan_type: + type: string + scanner_result: + type: string + serial: + type: string + server_bytes: + type: integer + severity: + type: string + severity_id: + type: integer + sfwder: + type: string + shared_domains: + type: string + shared_with: + type: string + site: + type: string + src_country: + type: string + src_geoip_src: + type: integer + src_latitude: + type: number + src_location: + type: string + src_longitude: + type: number + src_region: + type: string + src_time: + type: string + src_timezone: + type: string + src_zipcode: + type: string + srcip: + type: string + suppression_end_time: + type: integer + suppression_key: + type: string + suppression_start_time: + type: integer + telemetry_app: + type: string + timestamp: + type: integer + title: + type: string + to_object: + type: string + to_storage: + type: string + to_user: + type: string + to_user_category: + type: string + total_collaborator_count: + type: integer + traffic_type: + type: string + transaction_id: + type: integer + true_obj_category: + type: string + true_obj_type: + type: string + true_type_id: + type: integer + tss_fail_reason: + type: string + tss_mode: + type: string + tss_scan_failed: + type: string + TSS-scan: + type: string + two_factor_auth: + type: string + type: + type: string + universal_connector: + type: string + ur_normalized: + type: string + url: + type: string + user: + type: string + user_category: + type: string + user_id: + type: string + useragent: + type: string + userip: + type: string + userkey: + type: string + userPrincipalName: + type: string + web_universal_connector: + type: string + web_url: + type: string + workspace: + type: string + workspace_id: + type: string + alert_type_uba_200_response_item: + type: object + properties: + access_method: + type: string + AccountType: + type: string + acked: + type: string + act_user: + type: string + action: + type: string + activity: + type: string + activity_status: + type: string + alert: + type: string + alert_id: + type: string + alert_name: + type: string + alert_type: + type: string + all_policy_matches: + type: array + items: {} + anomaly_type: + type: string + anomalyData: + type: object + app: + type: string + app_activity: + type: string + app_category: + type: string + app_session_id: + type: integer + appcategory: + type: string + appsuite: + type: string + audit_category: + type: string + audit_type: + type: string + bin_timestamp: + type: integer + browser: + type: string + browser_session_id: + type: integer + browser_version: + type: string + category: + type: string + cci: + type: integer + ccl: + type: string + connection_id: + type: integer + count: + type: integer + createdTime: + type: string + device: + type: string + device_classification: + type: string + displayName: + type: string + distinguishedName: + type: string + division: + type: string + download_app: + type: string + dst_country: + type: string + dst_geoip_src: + type: integer + dst_latitude: + type: number + dst_location: + type: string + dst_longitude: + type: number + dst_region: + type: string + dst_timezone: + type: string + dst_zipcode: + type: string + dstip: + type: string + employeeType: + type: string + event_type: + type: string + evt_src_chnl: + type: string + file_category: + type: string + file_size: + type: integer + file_type: + type: string + from_user: + type: string + from_user_category: + type: string + group: + type: string + hostname: + type: string + incident_id: + type: integer + instance_id: + type: string + last_app: + type: string + last_country: + type: string + last_device: + type: string + last_location: + type: string + last_region: + type: string + last_timestamp: + type: integer + logintype: + type: string + loginurl: + type: string + mail: + type: string + managed_app: + type: string + managementID: + type: string + manager: + type: string + md5: + type: string + netskope_activity: + type: string + object: + type: string + object_count: + type: integer + object_id: + type: string + object_type: + type: string + organization_unit: + type: string + os: + type: string + os_version: + type: string + page: + type: string + page_site: + type: string + parent_id: + type: string + policy: + type: string + policy_actions: + type: array + items: {} + policy_id: + type: string + policy_name: + type: string + profile_id: + type: string + protocol: + type: string + referer: + type: string + request_id: + type: integer + risk_level: + type: string + risk_level_id: + type: integer + sAMAccountName: + type: string + sanctioned_instance: + type: string + scopes: + type: array + items: {} + score: + type: string + severity: + type: string + shared_credential_user: + type: string + site: + type: string + src_country: + type: string + src_geoip_src: + type: integer + src_latitude: + type: number + src_location: + type: string + src_longitude: + type: number + src_region: + type: string + src_time: + type: string + src_timezone: + type: string + src_zipcode: + type: string + srcip: + type: string + suppression_end_time: + type: integer + suppression_start_time: + type: integer + surhn: + type: string + telemetry_app: + type: string + threshold: + type: integer + threshold_time: + type: integer + timestamp: + type: integer + to_object: + type: string + to_user: + type: string + to_user_category: + type: string + traffic_type: + type: string + transaction_id: + type: integer + tss_fail_reason: + type: string + tss_mode: + type: string + tss_scan_failed: + type: string + TSS-scan: + type: string + two_factor_auth: + type: string + type: + type: string + uba_ap1: + type: string + uba_ap2: + type: string + uba_inst1: + type: string + uba_inst2: + type: string + ur_normalized: + type: string + url: + type: string + user: + type: string + user_category: + type: string + user_id: + type: string + user_name: + type: string + user_role: + type: string + User_SPACE_Id: + type: string + User_SPACE_Name: + type: string + useragent: + type: string + userip: + type: string + userkey: + type: string + userPrincipalName: + type: string + web_universal_connector: + type: string + windowId: + type: integer + alert_type_quarantine_200_response_item: + type: object + properties: + access_method: + type: string + acked: + type: string + action: + type: string + alert: + type: string + alert_name: + type: string + alert_type: + type: string + app: + type: string + appcategory: + type: string + browser: + type: string + category: + type: string + cci: + type: integer + ccl: + type: string + count: + type: integer + department: + type: string + departmentNumber: + type: string + device: + type: string + dlp_profile: + type: string + exposure: + type: string + file_id: + type: string + file_path: + type: string + file_size: + type: integer + file_type: + type: string + from_user: + type: string + instance_id: + type: string + manager: + type: string + md5: + type: string + mime_type: + type: string + modified: + type: integer + object: + type: string + object_id: + type: string + object_type: + type: string + organization_unit: + type: string + orignal_file_path: + type: string + os: + type: string + other_categories: + type: array + items: {} + owner: + type: string + policy: + type: string + profile_emails: + type: array + items: {} + q_admin: + type: string + q_app: + type: string + q_instance: + type: string + q_original_filename: + type: string + q_original_filepath: + type: string + q_original_shared: + type: string + q_original_version: + type: string + quarantine_file_id: + type: string + quarantine_file_name: + type: string + quarantine_profile: + type: string + quarantine_profile_id: + type: string + scan_type: + type: string + shared_with: + type: string + site: + type: string + suppression_key: + type: string + timestamp: + type: integer + traffic_type: + type: string + type: + type: string + ur_normalized: + type: string + url: + type: string + user: + type: string + user_id: + type: string + userkey: + type: string + alert_type_compromised_credential_200_response_item: + type: object + properties: + external_email: + type: integer + cci: + type: integer + distinguishedName: + type: string + matched_username: + type: string + sAMAccountName: + type: string + breach_target_references: + type: string + employeeType: + type: string + email_source: + type: string + password_type: + type: string + alert: + type: string + mail: + type: string + breach_id: + type: string + ccl: + type: string + ur_normalized: + type: string + breach_media_references: + type: string + breach_date: + type: integer + userPrincipalName: + type: string + timestamp: + type: integer + app: + type: string + userkey: + type: string + organization_unit: + type: string + category: + type: string + type: + type: string + department: + type: string + alert_name: + type: string + breach_score: + type: string + alert_type: + type: string + breach_description: + type: string + division: + type: string + acked: + type: string + count: + type: integer + sAMAccountType: + type: string + user: + type: string + alert_type_security_assessment_200_response_item: + type: object + properties: + access_method: + type: string + account_id: + type: string + account_name: + type: string + acked: + type: string + action: + type: string + activity: + type: string + alert: + type: string + alert_name: + type: string + alert_type: + type: string + app: + type: string + appcategory: + type: string + asset_id: + type: string + asset_object_id: + type: string + browser: + type: string + category: + type: string + cci: + type: integer + ccl: + type: string + compliance_standards: + type: array + items: {} + count: + type: integer + device: + type: string + iaas_asset_tags: + type: array + items: {} + iaas_remediated: + type: string + instance_id: + type: string + object: + type: string + object_type: + type: string + organization_unit: + type: string + os: + type: string + policy: + type: string + policy_id: + type: integer + region_id: + type: string + region_name: + type: string + resource_category: + type: string + resource_group: + type: string + sa_profile_id: + type: integer + sa_profile_name: + type: string + sa_rule_id: + type: string + sa_rule_name: + type: string + sa_rule_severity: + type: string + sAMAccountName: + type: string + site: + type: string + timestamp: + type: integer + traffic_type: + type: string + type: + type: string + ur_normalized: + type: string + user: + type: string + userkey: + type: string + alert_type_dlp_200_response_item: + type: object + properties: + access_method: + type: string + acked: + type: string + act_user: + type: string + action: + type: string + activity: + type: string + alert: + type: string + alert_name: + type: string + alert_type: + type: string + app: + type: string + app_activity: + type: string + app_session_id: + type: integer + appcategory: + type: string + appsuite: + type: string + bcc: + type: string + browser: + type: string + browser_session_id: + type: integer + browser_version: + type: string + category: + type: string + ccl: + type: string + channel: + type: string + classification_name: + type: string + collaborated: + type: string + connection_id: + type: integer + data_type: + type: string + device: + type: string + device_classification: + type: string + displayName: + type: string + dlp_file: + type: string + dlp_fingerprint_classification: + type: string + dlp_fingerprint_match: + type: string + dlp_fingerprint_score: + type: integer + dlp_incident_id: + type: integer + dlp_is_unique_count: + type: string + dlp_mail_parent_id: + type: string + dlp_parent_id: + type: integer + dlp_profile: + type: string + dlp_rule: + type: string + dlp_rule_count: + type: integer + dlp_rule_score: + type: integer + dlp_rule_severity: + type: string + dlp_unique_count: + type: integer + dst_country: + type: string + dst_geoip_src: + type: integer + dst_latitude: + type: number + dst_location: + type: string + dst_longitude: + type: number + dst_region: + type: string + dst_timezone: + type: string + dst_zipcode: + type: string + dstip: + type: string + dynamic_classification: + type: string + exposure: + type: string + external_collaborator_count: + type: integer + file_category: + type: string + file_cls_encrypted: + type: boolean + file_lang: + type: string + file_password_protected: + type: string + file_path: + type: string + file_size: + type: integer + file_type: + type: string + from_storage: + type: string + from_user: + type: string + group: + type: string + hostname: + type: string + incident_id: + type: integer + instance: + type: string + instance_id: + type: string + local_sha256: + type: string + mail: + type: string + managed_app: + type: string + managementID: + type: string + manager: + type: string + md5: + type: string + message_id: + type: string + message_size: + type: integer + mime_type: + type: string + modified: + type: integer + object: + type: string + object_id: + type: string + object_type: + type: string + organization_unit: + type: string + orignal_file_path: + type: string + os: + type: string + os_version: + type: string + outer_doc_type: + type: integer + owner: + type: string + owner_pdl: + type: string + page: + type: string + page_site: + type: string + parent_id: + type: string + policy: + type: string + policy_id: + type: string + protocol: + type: string + referer: + type: string + request_id: + type: integer + retro_scan_name: + type: string + sAMAccountName: + type: string + sanctioned_instance: + type: string + scan_type: + type: string + severity: + type: string + sha256: + type: string + shared_domains: + type: string + shared_with: + type: string + site: + type: string + smtp_to: + type: array + items: {} + src_country: + type: string + src_geoip_src: + type: integer + src_latitude: + type: number + src_location: + type: string + src_longitude: + type: number + src_region: + type: string + src_time: + type: string + src_timezone: + type: string + src_zipcode: + type: string + srcip: + type: string + sub_type: + type: string + suppression_key: + type: string + timestamp: + type: integer + title: + type: string + to_storage: + type: string + to_user: + type: string + total_collaborator_count: + type: integer + traffic_type: + type: string + transaction_id: + type: integer + true_filetype: + type: string + true_obj_category: + type: string + true_obj_type: + type: string + true_type_id: + type: integer + tss_mode: + type: string + type: + type: string + universal_connector: + type: string + ur_normalized: + type: string + url: + type: string + user: + type: string + user_id: + type: string + userCountry: + type: string + userip: + type: string + userkey: + type: string + userPrincipalName: + type: string + violating_user: + type: string + violating_user_type: + type: string + web_universal_connector: + type: string + alert_type_policy_200_response: + type: object + properties: + result: + type: array + items: + $ref: '#/components/schemas/alert_type_policy_200_response_item' + alert_type_ctep_200_response: + type: object + properties: + result: + type: array + items: + $ref: '#/components/schemas/alert_type_ctep_200_response_item' + alert_type_malware_200_response: + type: object + properties: + result: + type: array + items: + $ref: '#/components/schemas/alert_type_malware_200_response_item' + alert_type_remediation_200_response: + type: object + properties: + result: + type: array + items: + $ref: '#/components/schemas/alert_type_remediation_200_response_item' + alert_type_malsite_200_response: + type: object + properties: + result: + type: array + items: + $ref: '#/components/schemas/alert_type_malsite_200_response_item' + alert_type_watchlist_200_response: + type: object + properties: + result: + type: array + items: + $ref: '#/components/schemas/alert_type_watchlist_200_response_item' + alert_type_uba_200_response: + type: object + properties: + result: + type: array + items: + $ref: '#/components/schemas/alert_type_uba_200_response_item' + alert_type_quarantine_200_response: + type: object + properties: + result: + type: array + items: + $ref: '#/components/schemas/alert_type_quarantine_200_response_item' + alert_type_compromised_credential_200_response: + type: object + properties: + result: + type: array + items: + $ref: '#/components/schemas/alert_type_compromised_credential_200_response_item' + alert_type_dlp_200_response: + type: object + properties: + result: + type: array + items: + $ref: '#/components/schemas/alert_type_dlp_200_response_item' + alert_type_security_assessment_200_response: + type: object + properties: + result: + type: array + items: + $ref: '#/components/schemas/alert_type_security_assessment_200_response_item' + dashboard_events_usagesummary_200: + description: Successful Operation + type: object + properties: + ok: + type: integer + enum: + - 0 + - 1 + default: 1 + result: + type: object + properties: + application-count: + type: integer + new-application-count: + type: integer + website-count: + type: integer + total-bytes: + type: integer + client-bytes: + type: integer + description: (client-bytes/total-bytes)*100 will be %Uploaded + server-bytes: + type: integer + description: (server-bytes/total-bytes)*100 will be %Downloaded + sessions-count: + type: integer + dashboard_events_topentity_200: + description: Successful Operation + type: object + properties: + ok: + type: integer + enum: + - 0 + - 1 + default: 1 + result: + type: array + items: + type: object + dashboard_events_dashboardByName_200: + description: Successful Operation + type: object + properties: + ok: + type: integer + enum: + - 0 + - 1 + default: 1 + result: + type: array + items: + type: object + dashboard_events_400: + description: Invalid request + type: object + properties: + message: + type: string + dashboard_events_500: + description: API failed unexpectedly + type: object + properties: + message: + type: string + label: + type: object + required: + - id + - name + properties: + id: + type: string + example: 40d83777-85f6-4ccc-b53d-501a07474b75 + name: + type: string + example: confidential + isEncrypted: + type: boolean + priority: + type: integer + example: 2 + scope: + type: array + items: + type: string + example: file + custom_parser: + type: object + properties: + parser_name: + type: string + example: test_paser_name + parser_content: + type: string + example: '{"key":"value"}' + find_custom_parser_response: + type: object + properties: + count: + type: integer + example: 200 + result: + type: array + items: + $ref: '#/components/schemas/custom_parser' + ApiTokenEndpoint: + type: object + properties: + endpoint: + type: string + permissions: + type: string + enum: + - r + - rw + required: + - endpoint + - permissions + ApiTokenCreateRequest: + type: object + properties: + name: + type: string + expires: + type: number + example: 2147384600 + description: Seconds since unix epoch + endpoints: + type: array + items: + $ref: '#/components/schemas/ApiTokenEndpoint' + required: + - name + - expires + - endpoints + ApiTokenCreateResponse: + type: object + properties: + id: + type: string + name: + type: string + expires: + type: number + example: 2147384600 + endpoints: + type: array + items: + $ref: '#/components/schemas/ApiTokenEndpoint' + token: + type: string + ApiTokenReadResponse: + type: object + properties: + id: + type: string + name: + type: string + expires: + type: number + example: 2147384600 + endpoints: + type: array + items: + $ref: '#/components/schemas/ApiTokenEndpoint' + ApiTokenUpdateRequest: + type: object + properties: + operation: + type: string + enum: + - reissue + - revoke + description: |- + If the operation is specified, + other fields("name","expires" and "endpoints") + are not allowed in the request body. + name: + type: string + description: Required if operation is not specified. + expires: + type: number + example: 2147384600 + description: Seconds since unix epoch. This is required if operation is not specified + endpoints: + description: Required if operation is not specified. + type: array + items: + $ref: '#/components/schemas/ApiTokenEndpoint' + ApiTokenUpdateResponse: + type: object + properties: + id: + type: string + name: + type: string + expires: + type: number + example: 2147384600 + endpoints: + type: array + items: + $ref: '#/components/schemas/ApiTokenEndpoint' + token: + type: string + description: Only returned if operation in the request equals to "reissue" + ApiTokenBaseResponse: + type: object + properties: + id: + type: string + name: + type: string + entityType: + description: the target entity's type + enum: + - File + - Folder + type: string + permissionType: + description: the permitted action that is granted to this subject + enum: + - Read + - Write + - Owner + type: string + sharedSubject: + description: an entity is being shared with one subject + properties: + name: + type: string + description: the subject name, it is either an email address or a specific name + permission: + $ref: '#/components/schemas/permissionType' + required: + - name + - permission + type: object + sharedLink: + description: an entity is being shared via one sharing link + properties: + exposure: + type: string + description: the exposure level that be exposed to the sharing link + permission: + $ref: '#/components/schemas/permissionType' + link: + type: string + format: uri + description: a sharing link's URL + expiration: + type: integer + format: int64 + description: a sharing link's expiration date, it is an Unix Epoch time + required: + - exposure + - permission + - link + type: object + errorResponse: + description: a human-readable error message + properties: + error: + type: string + description: an error message + required: + - error + type: object + enforceRequest: + description: Request body contains necessary data for remediation. + type: object + required: + - remediations + properties: + remediations: + description: The details of requested remediation. + type: array + items: + $ref: '#/components/schemas/remediation' + notification: + $ref: '#/components/schemas/notification' + remediation: + description: Describe the remediation on an entity. + type: object + required: + - app + - instance + - action + - entityType + - entityID + properties: + app: + description: The app that the entity belongs to for which the remediation request is initiated. Please refer to our `ui/casbapi/apps` endpoint to fetch app names. + type: string + instance: + description: The instance that the entity belongs to for which the remediation request is initiated. Please refer to our `ui/casbapi/apps/{name}/instances` endpoint to fetch instance names. + type: string + action: + $ref: '#/components/schemas/action' + entityType: + description: The type of entity. + type: string + enum: + - Comment + - Commit + - Email + - File + - Folder + - Page + - Repository + - Wiki + entityID: + description: The unique entity id across app instance. + type: string + action: + description: Action taken on the entity, only 1 action is allowed at a time. For quarantine release and block action, you need to provide the quarantined file as the entity ID in the request, and the set the `app` and `instance` fields with the instance of quarantine profile. + properties: + changeOwnerToAdmin: + $ref: '#/components/schemas/emptyObject' + changeOwnerToUser: + $ref: '#/components/schemas/changeOwnerToUser' + restrictAccessToOwner: + $ref: '#/components/schemas/emptyObject' + restrictAccessToInternalCollaborators: + $ref: '#/components/schemas/emptyObject' + restrictAccessToInternalCollaboratorsAndSpecificDomains: + $ref: '#/components/schemas/restrictAccessToInternalCollaboratorsAndSpecificDomains' + revokeOrgWideSharing: + $ref: '#/components/schemas/emptyObject' + revokeSpecificDomains: + $ref: '#/components/schemas/revokeSpecificDomains' + alert: + $ref: '#/components/schemas/emptyObject' + quarantineBlock: + $ref: '#/components/schemas/emptyObject' + quarantineRelease: + $ref: '#/components/schemas/emptyObject' + type: object + changeOwnerToUser: + description: Change ownership to a specific user. + type: object + required: + - ownerEmail + properties: + ownerEmail: + description: The email of the user that should be the new owner. + type: string + restrictAccessToInternalCollaboratorsAndSpecificDomains: + description: Remove sharing for all external and anonymous users and groups except if the user or group belongs to one of the specified domains. + type: object + required: + - domainProfileIds + properties: + domainProfileIds: + description: List of domain profile ids which are excepted from the remediation. + items: + type: string + type: array + revokeSpecificDomains: + description: Remove access for users and groups belonging to the specified domains. + type: object + required: + - domainProfileIds + properties: + domainProfileIds: + description: List of domain profile ids. + items: + type: string + type: array + notification: + description: Notification to be sent for the enforcement. + type: object + properties: + email: + $ref: '#/components/schemas/notificationEmail' + notificationEmail: + description: Email is a user configured notification sent by email. + type: object + required: + - interval + - templates + properties: + interval: + description: Interval in minutes between notifications, -1 indicates that the notification is disabled, 0 indicates that the notification should be sent immediately. + format: int64 + type: integer + minimum: -1 + fromUser: + description: Sender of the notification. + format: email + type: string + toUsers: + description: Recipient types. + type: array + items: + type: string + enum: + - owner + - admin + - manager + - collaborators + - emails + - custodian + templates: + description: Message template IDs for recipient types. + type: array + items: + $ref: '#/components/schemas/notificationTemplate' + emails: + description: Misc recipients of the notification. + type: array + items: + type: string + notificationTemplate: + description: Template is a map of recipient type and notification template ID. + type: object + properties: + owner: + description: The ID of notification template which will be used to send to the owner of the entity. + format: int64 + type: integer + admin: + description: The ID of notification template which will be used to send to the tenant admin of the entity. + format: int64 + type: integer + manager: + description: The ID of notification template which will be used to send to the manager of owner of the entity. + format: int64 + type: integer + collaborators: + description: The ID of notification template which will be used to send to the collaborators of the entity. + format: int64 + type: integer + emails: + description: The ID of notification template which will be used to send to misc email recipients. + format: int64 + type: integer + custodian: + description: The ID of notification template which will be used to send to misc custodian recipients. + format: int64 + type: integer + emptyObject: + description: Generic empty object + type: object + EditProbeStatusReqBody: + type: object + properties: + status: + type: integer + required: + - status + EditProbeStatusResp: + type: object + properties: + id: + type: integer + status: + type: integer + MoveProbeReqBody: + type: object + properties: + operation: + type: string + enum: + - top + - bottom + - after + - before + position: + type: integer + description: 0-index position, required if operation is 'after' or 'before' + required: + - operation + MoveProbeResp: + type: object + properties: + id: + type: integer + priority: + type: integer + GlobalSettingDEMServiceResp: + type: object + required: + - enabled + properties: + setting: + type: object + properties: + enabled: + type: boolean + disabledEntity: + type: object + properties: + user: + type: array + items: + type: string + group: + type: array + items: + type: string + ou: + type: array + items: + type: string + modifiedBy: + type: string + example: admin@netskope.com + modifiedTime: + type: string + description: rfc3339 timestamp format + example: '2023-01-01T00:00:00.000Z' + GlobalSettingMonitoredAppsResp: + required: + - apps + properties: + settings: + type: object + properties: + apps: + type: array + items: + type: string + modifiedBy: + type: string + example: admin@netskope.com + modifiedTime: + type: string + description: rfc3339 timestamp format + example: '2023-01-01T00:00:00.000Z' + AlertCategory: + type: string + enum: + - network + - platform + - private app + AlertType: + type: string + enum: + - tunnel down + - tunnel flapping + - tunnel throughput + - service status + - publisher resource consumption + AlertSeverity: + type: string + description: alert severity + enum: + - info + - low + - medium + - high + - critical + AlertStatus: + type: string + enum: + - open + - closed + - expired + - obsolet + Notification: + type: object + properties: + alertId: + type: integer + format: int64 + receiverId: + type: integer + format: int64 + receiverType: + type: string + description: type of the receiver + enum: + - email + - webhook + receiverName: + type: string + description: name of the receiver + status: + type: string + description: status of notification + enum: + - pending + - processed + - error + notifyAt: + type: integer + format: int64 + description: timestamp when notification is sent + AlertQuery: + type: object + properties: + id: + type: string + description: id of an alert for look up + alertCategory: + type: array + description: alert rule categories + items: + $ref: '#/components/schemas/AlertCategory' + alertType: + type: array + description: alert rule types + items: + $ref: '#/components/schemas/AlertType' + severity: + description: severity levels of alerts + type: array + items: + $ref: '#/components/schemas/AlertSeverity' + openTime: + description: Open time for filtering alerts + type: integer + format: int64 + offset: + type: integer + format: int32 + default: 0 + description: the starting offset from which found alerts will be returned; for pagination + limit: + type: integer + format: int32 + default: 10 + description: the maximun number of alerts returned to caller; for pagination + sortBy: + type: object + description: for the sorting order when querying alerts + properties: + field: + type: string + description: field name for sorting; sortable field (alertCategory, alertType, severity, status, openTime) + desc: + type: boolean + default: false + description: whether sorting in desc order + Alert: + type: object + properties: + id: + type: string + alertRule: + type: object + properties: + id: + type: integer + description: alert rule id + name: + type: string + description: alert rule name + notifications: + type: array + items: + $ref: '#/components/schemas/Notification' + alertCategory: + $ref: '#/components/schemas/AlertCategory' + alertType: + $ref: '#/components/schemas/AlertType' + condition: + type: string + description: condition by which the alert was triggered + severity: + $ref: '#/components/schemas/AlertSeverity' + status: + $ref: '#/components/schemas/AlertStatus' + impactType: + type: string + description: type of the entity impacted by the alert + impacts: + type: array + items: + type: object + properties: + id: + type: string + description: id of the impacted entity + name: + type: string + description: name of the impacted entity + openTime: + type: integer + format: int64 + description: alert start time in unix time in second + lastUpdateTime: + type: integer + format: int64 + description: alert's last update time in unix time in second + closeTime: + type: integer + format: int64 + description: alert close time in unix time in second + AlertGeoDetail: + type: object + properties: + impactType: + type: string + description: type of the impacted entities + totalCount: + type: integer + format: int32 + geolocations: + type: array + items: + type: object + properties: + name: + type: string + impactedUsers: + type: integer + format: int32 + impactedServices: + type: integer + format: int32 + impactedPops: + type: integer + format: int32 + impactedPublishers: + type: integer + format: int32 + status: + type: string + geo: + $ref: '#/components/schemas/GeoLocation' + GeoLocation: + type: object + properties: + longitude: + type: integer + format: int64 + latitude: + type: integer + format: int64 + city: + type: string + state: + type: string + country: + type: string + AlertEntityDetail: + type: object + properties: + totalCount: + type: integer + format: int32 + description: total count of entities impacted by the alert + offset: + type: integer + format: int32 + description: current offset + limit: + type: integer + format: int32 + description: limit of entities returned + entities: + type: array + items: + $ref: '#/components/schemas/ImpactEntity' + ImpactEntity: + type: object + properties: + impactType: + type: string + description: type of the impacted entity + name: + type: string + description: name of the impacted entity + pop: + type: string + description: netskope pop associated with the impacted entity + site: + type: string + description: name of a tunnel site + sourceIP: + type: string + description: source IP of a tunnel + service: + type: string + description: name of platform service + publisher: + type: string + description: name of NPA publisher + resource: + type: string + description: name of publisher resource + status: + type: string + description: the latest status of the impacted entity + enum: + - triggered + - resolved + metricType: + type: string + description: type of the metric for the entity + metricValues: + type: array + items: + $ref: '#/components/schemas/MetricValue' + MetricValue: + type: object + properties: + timestamp: + type: integer + format: int64 + description: unix time in second + value: + type: integer + format: int64 + TssScanAPIRequest: + type: object + properties: + file: + type: string + format: binary + TssScanAPIResponse: + type: object + properties: + status: + type: string + jobid: + type: string + description: jobid to be used to get analysis report for scan + md5: + type: string + sha256: + type: string + requests_served: + type: integer + format: int32 + description: Requests served since mid night GMT + TssScanReportResponse: + type: object + required: + - status + - jobid + - md5 + - sha256 + - requests_served + - verdict + properties: + status: + type: string + jobid: + type: string + md5: + type: string + sha256: + type: string + requests_served: + type: integer + format: int32 + description: Requests served since mid night GMT + verdict: + type: string + av_detection: + type: object + description: AV detection + network: + type: object + description: Network information, such as DNS traffic, domains, IPs, HTTP requests and SMTP traffic + dropped: + type: array + items: {} + description: Information on files dropped by the malware and dumped by sandbox + observed_behavior: + type: object + description: Behavioral summary + process_tree: + type: array + items: {} + description: Process tree + RequestBaseTime: + required: + - starttime + - endtime + properties: + starttime: + type: integer + endtime: + type: integer + RequestBaseTimestamp: + required: + - timestamp + properties: + timestamp: + type: integer + RequestBaseUser: + required: + - user + properties: + user: + type: string + RequestAddedFilters: + properties: + user: + type: string + sourceIp: + type: string + userLocation: + type: array + items: + $ref: '#/components/schemas/UserLocationFilter' + pop: + type: array + items: + type: string + expScore: + type: array + items: + type: string + description: interval in form "lower,upper" - [lower, upper) or lower <= x < upper + deviceOs: + type: array + items: + type: string + application: + type: string + DeviceDetailsParams: + required: + - user + - deviceId + properties: + user: + type: string + deviceId: + type: string + NetworkMetricTypeParam: + required: + - metricType + properties: + metricType: + type: string + enum: + - all + - latency + - packet_loss + - jitter + DeviceMetricTypeParam: + required: + - metricType + properties: + metricType: + type: string + enum: + - all + - cpu_usage + - memory + - disk_usage + - throughput + - disk_io + - battery + - wifi + ApplicationDetailsParams: + required: + - user + - deviceId + - appName + properties: + user: + type: string + deviceId: + type: string + appName: + type: string + ApplicationMetricTypeParam: + required: + - metricType + properties: + metricType: + type: string + enum: + - all + - round_trip_time + - end_to_end_latency + - time_to_first_byte + - time_to_last_byte + - dns_resolution_time + - tcp_connect_time + - tls_negotiation_time + - wait_time + NetskopeMetricTypeParam: + required: + - metricType + properties: + metricType: + type: string + enum: + - all + - time_spent + EventTypeParam: + required: + - eventType + properties: + eventType: + type: string + enum: + - all + - network + - device + FilterOptionsRequest: + allOf: + - $ref: '#/components/schemas/RequestBaseTime' + - properties: + prefix: + type: string + FilterOptionsRequestWithUser: + allOf: + - $ref: '#/components/schemas/RequestBaseTime' + - $ref: '#/components/schemas/RequestBaseUser' + - properties: + prefix: + type: string + GlobalFiltersRequest: + allOf: + - $ref: '#/components/schemas/RequestBaseTime' + - $ref: '#/components/schemas/RequestAddedFilters' + UserDetailsRequest: + allOf: + - $ref: '#/components/schemas/RequestBaseTime' + - $ref: '#/components/schemas/RequestAddedFilters' + DeviceListRequest: + allOf: + - $ref: '#/components/schemas/RequestBaseTime' + - $ref: '#/components/schemas/RequestBaseUser' + - properties: + userLocation: + type: array + items: + $ref: '#/components/schemas/UserLocationFilter' + DeviceDetailsRequest: + allOf: + - $ref: '#/components/schemas/RequestBaseTime' + - $ref: '#/components/schemas/DeviceDetailsParams' + MetricsExpScoreRequest: + allOf: + - $ref: '#/components/schemas/RequestBaseTime' + - $ref: '#/components/schemas/RequestBaseUser' + - properties: + deviceId: + type: string + appName: + type: string + UserLocationFilter: + type: object + properties: + city: + type: string + region: + type: string + country: + type: string + UserlocationsResponse: + type: object + properties: + totalCount: + type: integer + userLocations: + type: array + items: + $ref: '#/components/schemas/Geo' + POPsResponse: + type: object + properties: + totalCount: + type: integer + pops: + type: array + items: + type: string + ApplicationsResponse: + type: object + properties: + totalCount: + type: integer + applications: + type: array + items: + $ref: '#/components/schemas/Application' + LocationsResponse: + type: array + items: + $ref: '#/components/schemas/Location' + UsersResponse: + type: object + properties: + totalUsersCount: + type: integer + userCountPoorExp: + type: integer + usersCountAppProbes: + type: integer + activeDevicesCount: + type: integer + appsAccessedCount: + type: integer + appsImpactedCount: + type: integer + activeSitesCount: + type: integer + UserDetailsResponse: + type: object + properties: + totalUsersCount: + type: integer + users: + type: array + items: + $ref: '#/components/schemas/UserDetail' + UserDetailsDrilldownResponse: + type: object + properties: + user: + type: string + expScore: + type: integer + organizationUnit: + type: string + userGroup: + type: string + lastKnownLocation: + type: string + description: city, region, country + lastActivity: + type: integer + deviceList: + type: array + items: + $ref: '#/components/schemas/DeviceDrilldown' + DeviceDetailsDrilldownResponse: + type: object + properties: + deviceName: + type: string + deviceOs: + type: string + model: + type: string + deviceClassification: + type: string + geo: + $ref: '#/components/schemas/Geo' + lastActivity: + type: integer + cpu: + type: string + memory: + type: string + clientStatus: + type: string + clientVersion: + type: string + publicIp: + type: string + privateIp: + type: string + pop: + type: string + gateway: + type: string + deviceScore: + type: integer + MetricsExpScoreResponse: + type: array + items: + $ref: '#/components/schemas/ExpScoreMetric' + MetricsNetworkAllResponse: + type: array + items: + $ref: '#/components/schemas/NetworkMetricAll' + MetricsNetworkLatencyResponse: + type: array + items: + type: object + properties: + timestamp: + type: integer + latency: + type: integer + MetricsNetworkPacketLossResponse: + type: array + items: + type: object + properties: + timestamp: + type: integer + packetLoss: + type: integer + MetricsNetworkJitterResponse: + type: array + items: + type: object + properties: + timestamp: + type: integer + jitter: + type: integer + MetricsDeviceAllResponse: + type: array + items: + $ref: '#/components/schemas/DeviceMetricAll' + MetricsDeviceCPUUsageResponse: + type: array + items: + type: object + properties: + timestamp: + type: integer + cpuUsage: + type: integer + MetricsDeviceMemoryResponse: + type: array + items: + type: object + properties: + timestamp: + type: integer + memoryUsage: + type: integer + MetricsDeviceDiskUsageResponse: + type: array + items: + type: object + properties: + timestamp: + type: integer + diskUsage: + type: integer + MetricsDeviceThroughputResponse: + type: array + items: + type: object + properties: + timestamp: + type: integer + bytesSent: + type: integer + bytesReceived: + type: integer + MetricsDeviceDiskIOResponse: + type: array + items: + type: object + properties: + timestamp: + type: integer + bytesWritten: + type: integer + bytesRead: + type: integer + MetricsDeviceBatteryResponse: + type: array + items: + type: object + properties: + timestamp: + type: integer + battery: + type: integer + MetricsDeviceWifiResponse: + type: array + items: + type: object + properties: + timestamp: + type: integer + wifi: + type: integer + MetricsApplicationAllResponse: + type: array + items: + $ref: '#/components/schemas/ApplicationMetricAll' + MetricsApplicationRoundTripTimeResponse: + type: array + items: + $ref: '#/components/schemas/ApplicationMetricRoundTripTime' + MetricsApplicationE2ELatencyResponse: + type: array + items: + $ref: '#/components/schemas/ApplicationMetricE2ELatency' + MetricsApplicationFirstByteResponse: + type: array + items: + $ref: '#/components/schemas/ApplicationMetricFirstByte' + MetricsApplicationLastByteResponse: + type: array + items: + $ref: '#/components/schemas/ApplicationMetricLastByte' + MetricsApplicationDNSResolutionResponse: + type: array + items: + $ref: '#/components/schemas/ApplicationMetricDNSResolution' + MetricsApplicationTCPConnectResponse: + type: array + items: + $ref: '#/components/schemas/ApplicationMetricTCPConnect' + MetricsApplicationTLSNegotiationResponse: + type: array + items: + $ref: '#/components/schemas/ApplicationMetricTLSNegotiation' + MetricsApplicationWaitResponse: + type: array + items: + $ref: '#/components/schemas/ApplicationMetricWait' + MetricsNetskopeAllResponse: + type: array + items: + $ref: '#/components/schemas/NetskopeMetricAll' + MetricsNetskopeTimeSpentResponse: + type: array + items: + $ref: '#/components/schemas/NetskopeMetricTimeSpent' + DeviceProcessInfoResponse: + type: object + properties: + cpuUsage: + $ref: '#/components/schemas/DeviceProcessInfoCPUUsageResponse' + memoryUsage: + $ref: '#/components/schemas/DeviceProcessInfoMemoryUsageResponse' + diskIOUsage: + $ref: '#/components/schemas/DeviceProcessInfoDiskIOUsageResponse' + TracerouteResponse: + type: array + items: + $ref: '#/components/schemas/Traceroute' + Geo: + type: object + properties: + longitude: + type: number + latitude: + type: number + city: + type: string + region: + type: string + country: + type: string + Location: + type: object + properties: + geo: + $ref: '#/components/schemas/Geo' + totalUsersCount: + type: integer + avgExpScore: + type: number + userCountGoodExp: + type: integer + userCountMediumExp: + type: integer + userCountPoorExp: + type: integer + UserDetail: + type: object + properties: + user: + type: string + expScore: + type: integer + userGroups: + type: array + items: + type: string + devices: + type: array + items: + $ref: '#/components/schemas/Device' + nullable: true + location: + type: string + applicationsCount: + type: integer + Device: + type: object + properties: + deviceName: + type: string + deviceClassification: + type: string + DeviceDrilldown: + type: object + properties: + deviceId: + type: string + deviceName: + type: string + deviceOs: + type: string + Event: + type: object + properties: + timestamp: + type: integer + event: + type: string + eventType: + type: string + description: network, device + DeviceProcessInfoCPUUsageResponse: + type: object + properties: + totalCount: + type: integer + processInfo: + type: array + items: + $ref: '#/components/schemas/DeviceProcessInfoCPUUsage' + DeviceProcessInfoCPUUsage: + type: object + properties: + processId: + type: integer + processName: + type: string + cpuUsage: + type: integer + threadCount: + type: integer + DeviceProcessInfoMemoryUsageResponse: + type: object + properties: + totalCount: + type: integer + processInfo: + type: array + items: + $ref: '#/components/schemas/DeviceProcessInfoMemoryUsage' + DeviceProcessInfoMemoryUsage: + type: object + properties: + processId: + type: integer + processName: + type: string + memoryUsage: + type: integer + threadCount: + type: integer + DeviceProcessInfoDiskIOUsageResponse: + type: object + properties: + totalCount: + type: integer + processInfo: + type: array + items: + $ref: '#/components/schemas/DeviceProcessInfoDiskIOUsage' + DeviceProcessInfoDiskIOUsage: + type: object + properties: + processId: + type: integer + processName: + type: string + bytesWritten: + type: integer + bytesRead: + type: integer + DeviceTraceroute: + type: object + properties: + deviceName: + type: string + model: + type: string + deviceClassification: + type: string + privateIp: + type: string + publicIp: + type: string + geo: + $ref: '#/components/schemas/Geo' + TracerouteHop: + type: object + properties: + isNetskopeHop: + type: string + description: true, false + hopType: + type: string + description: general, hop, app + nodes: + type: array + items: + $ref: '#/components/schemas/TracerouteNode' + TracerouteNode: + type: object + properties: + ip: + type: string + geo: + type: string + description: city, region, country + packetLoss: + type: integer + latency: + type: integer + asn: + type: string + domain: + type: string + ipOrg: + type: string + pop: + type: string + application: + type: string + category: + type: string + nodeHopType: + type: string + ApplicationMetricAll: + type: object + properties: + timestamp: + type: integer + latency: + type: integer + timeToFirstByte: + type: integer + timeToLastByte: + type: integer + dnsResolutionTime: + type: integer + tcpConnectTime: + type: integer + tlsNegotiationTime: + type: integer + waitTime: + type: integer + ApplicationMetricRoundTripTime: + type: object + properties: + timestamp: + type: integer + roundTripTime: + type: integer + ApplicationMetricE2ELatency: + type: object + properties: + timestamp: + type: integer + latency: + type: integer + ApplicationMetricFirstByte: + type: object + properties: + timestamp: + type: integer + timeToFirstByte: + type: integer + ApplicationMetricLastByte: + type: object + properties: + timestamp: + type: integer + timeToLastByte: + type: integer + ApplicationMetricDNSResolution: + type: object + properties: + timestamp: + type: integer + dnsResolutionTime: + type: integer + ApplicationMetricTCPConnect: + type: object + properties: + timestamp: + type: integer + dnsResolutionTime: + type: integer + ApplicationMetricTLSNegotiation: + type: object + properties: + timestamp: + type: integer + tlsNegotiationTime: + type: integer + ApplicationMetricWait: + type: object + properties: + timestamp: + type: integer + waitTime: + type: integer + NetskopeMetricAll: + type: object + properties: + timestamp: + type: integer + timeSpent: + type: integer + NetskopeMetricTimeSpent: + type: object + properties: + timestamp: + type: integer + timeSpent: + type: integer + DeviceMetricAll: + type: object + properties: + timestamp: + type: integer + cpuUsage: + type: integer + memoryUsage: + type: integer + diskUsage: + type: integer + bytesSent: + type: integer + bytesReceived: + type: integer + bytesWritten: + type: integer + bytesRead: + type: integer + battery: + type: integer + wifi: + type: integer + ExpScoreMetric: + type: object + properties: + timestamp: + type: integer + expScore: + type: integer + NetworkMetricAll: + type: object + properties: + timestamp: + type: integer + latency: + type: integer + packetLoss: + type: integer + jitter: + type: integer + Traceroute: + type: object + properties: + timestamp: + type: integer + device: + $ref: '#/components/schemas/DeviceTraceroute' + path: + type: array + items: + $ref: '#/components/schemas/TracerouteHop' + parameters: + id: + name: id + description: chat topic id + in: path + required: true + schema: + type: string + qid: + name: qid + description: chat question item id + in: path + required: true + schema: + type: integer + aid: + name: aid + description: chat answer id + in: path + required: true + schema: + type: integer + fileid: + name: fileid + description: fileid returned from start call + in: path + required: true + schema: + type: string + example: '168' + part: + name: part + description: part number of the file + in: query + required: true + schema: + type: integer + minimum: 1 + maximum: 10000 + size: + name: size + description: size of file chunk - max 16M + in: query + required: true + schema: + type: integer + minimum: 1 + maximum: 16000000 + uploadid: + name: uploadid + description: uploadid returned from start call + in: query + required: true + schema: + type: string + example: 16cf1289...ab8 + appName: + description: |- + the CASB app name + + Please refer to our `ui/casbapi/apps` endpoint to fetch app names. + in: header + name: x-casbapi-app + required: true + schema: + type: string + example: sharepoint + instanceName: + description: |- + the CASB instance name + + Please refer to our `ui/casbapi/apps/{name}/instances` endpoint to fetch instance names. + in: header + name: x-casbapi-instance + required: true + schema: + type: string + example: internal.onmicrosoft.com + FilterOptionsRequestStarttime: + name: starttime + required: true + in: query + description: start time for filter in Unix timestamp format, by default it is 2 hours range between start and end + schema: + type: integer + example: 1689490800 + FilterOptionsRequestEndtime: + name: endtime + required: true + in: query + description: end time for filter in Unix timestamp format, by default it is 2 hours range between start and end + schema: + type: integer + example: 1689577200 + FilterOptionsRequestPrefix: + name: prefix + in: query + description: prefix for filter User/SourceIp/UserLocation... + schema: + type: string + OptionalPaginationParamsLimit: + name: limit + in: query + description: page limit + schema: + type: integer + example: 10 + OptionalPaginationParamsOffset: + name: offset + in: query + description: page offset + schema: + type: integer + example: 20 + OptionalPaginationParamsSortBy: + name: sortby + in: query + description: page sorted by a keyword + schema: + type: string + example: expScore + enum: + - expScore + OptionalPaginationParamsSortOrder: + name: sortorder + in: query + description: page sortorder + schema: + type: string + example: asc + enum: + - asc + - desc + examples: + appTagExample: + summary: Request body for app tagging + value: + tag: ccl_high + apps: + - Box + - Amazon Database + ids: + - 1 + - 2 + attributeTagExample: + summary: Request body for attribute rule based tagging + value: + tag: attr_tag1 + description: tag description + rules: + - attribute: Data classification + condition: is + value: + - No published support + - attribute: Compliance Certifications + condition: includes + value: + - GAPP + - HIPPA + - attribute: Compliance Certifications + condition: includes + value: + - PCIDSS + - attribute: SSO/AD hooks + condition: does not include + value: + - Twitter + - OAuth + apps: + - box + - amazondb + patchAppTagExample: + summary: Request body for patch app tagging + value: + apps: + - Box + - Amazon Database + ids: + - 1 + - 2 + action: append + patchAttributeTagExample: + summary: Request body for patch attribute rule based tagging + value: + description: tag description + rules: + - atttribute: Data classification + condition: is not + value: + - No published support + - atttribute: Compliance Certifications + condition: includes + value: + - GAPP + - HIPPA + apps: + - box + 200allTagResponse: + summary: Response + value: + data: + - tag_name: Sanctioned + rules_applicable: Not Applicable + rules: [] + applications_count: 2 + description: '' + policies: 1 + - tag_name: Unsanctioned + rules_applicable: Not Applicable + rules: [] + applications_count: 1 + description: '' + policies: 1 + - tag_name: Consumer + rules_applicable: Not Applicable + rules: [] + applications_count: 20 + description: '' + policies: 0 + - tag_name: custom_app1 + rules_applicable: 'Yes' + rules: [] + applications_count: 10 + description: '' + policies: 5 + - tag_name: attr_tag1 + rules_applicable: 'Yes' + rules: + - atttribute: Data classification + condition: is not + value: + - No published support + - atttribute: Compliance Certifications + condition: includes + value: + - GAPP + - HIPPA + applications_count: 250 + description: attr tags applied for attr_tag1 + policies: 0 + status: Success + status_code: 200 + dashboard_events_toplocation_example: + value: + ok: 1 + result: + - src_location: Ashburn + numbytes: 157960422 + - src_location: San Jose + numbytes: 5133940 + - src_location: New Taipei + numbytes: 502552 + dashboard_events_topapplication_example: + value: + ok: 1 + result: + - app: Box + numbytes: 140376727 + - app: Salesforce.com + numbytes: 75089326 + - app: Slack + numbytes: 18316482 + usagesummary_example: + value: + ok: 1 + result: + application-count: 15 + new-application-count: 1 + website-count: 2 + total-bytes: 294916856 + client-bytes: 161720072 + server-bytes: 133196784 + sessions-count: 104 + dashboard_blocked_site_example: + value: + ok: 1 + result: + - site: Box + count: 124563 + - site: Google Drive + count: 22764 + - site: Google Cloud Storage + count: 35 + - site: Chrome Web Store + count: 1 + - site: Chrome Web Store + count: 1 + dashboard_blocked_category_example: + value: + ok: 1 + result: + - category: Cloud Storage + count: 140560 + - category: Technology + count: 55910 + dashboard_policy_hits_example: + value: + ok: 1 + result: + - policy: test no notification + count: 36 + - policy: encryption-migration-box + count: 1 + dashboard_ccl_app_example: + value: + ok: 1 + result: + - ccl: Medium + count: 1 + - ccl: Low + count: 1 + - ccl: High + count: 11 + - ccl: Excellent + count: 11 + - ccl: Poor + count: 1 + move_probe_after_position_0: + value: + operation: after + position: 0 + move_probe_before_position_0: + value: + operation: before + position: 0 + move_probe_at_top: + value: + operation: top + move_probe_at_bottom: + value: + operation: bottom diff --git a/Plugins/Published Plugins/Netskope-Copilot-Plugin/README.md b/Plugins/Published Plugins/Netskope-Copilot-Plugin/README.md new file mode 100644 index 00000000..246a2407 --- /dev/null +++ b/Plugins/Published Plugins/Netskope-Copilot-Plugin/README.md @@ -0,0 +1,55 @@ +# MsftCoPilotPlugin + +Microsoft has enhanced Security Copilot by preinstalling a set of plugins for their security services and frequently used websites. Additionally, you have the option to incorporate Netskope custom plugins, expanding Gen AI capabilities on your Netskope platform. + +Requirements +Ensure you have an active Microsoft Security CoPilot account and are able to login to: https://securitycopilot.microsoft.com/ +For more information on Security CoPilot please visit: Get started with Microsoft Security Copilot Early Access Program +Create a local yaml file called NetskopeCoPilotSkill.yaml (filename can be anything). And paste the below in your yaml file: + +https://github.com/mitchellgulledge2/MsftCoPilotPlugin/blob/main/Manifest.yaml + +Note that in the file you will need to add your tenant domain in line 18 of the yaml file. + +In addition to the local file you will also need your Netskope API token from your tenant with Read permissions for the below Netskope API v2 endpoints: + +![image](https://github.com/mitchellgulledge2/MsftCoPilotPlugin/assets/145486744/9e9c9c6e-bc48-47b7-b3df-b0c42ac1b221) + +![image](https://github.com/mitchellgulledge2/MsftCoPilotPlugin/assets/145486744/0b5535b9-0f88-4a3b-991d-551520e99668) + +For more information on creating a v2 API token please refer to: https://docs.netskope.com/en/netskope-help/admin-console/rest-api/rest-api-v2-overview-312207/ + +Uploading Netskope Plugin as a custom Plugin +Installing custom plugins +This is where you will upload the Netskope Threat Hunting and Reporting Plugin. + +Every Copilot plugin requires a YAML or JSON formatted manifest file, for example skillset.yaml or skillset.json, which describes metadata about the plugin and how to invoke the plugin. This is provided in the link above. + +1. Select the Security Copilot plugin icon. + +2. In Manage plugins, scroll down to the Custom section. + +![image](https://github.com/mitchellgulledge2/MsftCoPilotPlugin/assets/145486744/f5f98d18-72c1-4b89-8849-7c86e3e3a746) + +3. Select Add plugin. You can choose between a Security Copilot plugin or an OpenAI plugin. + + ![image](https://github.com/mitchellgulledge2/MsftCoPilotPlugin/assets/145486744/4e1a4e73-c361-4b0e-a5ef-648f3dee84df) + +4. Under Select an upload format click Security Copilot plugin and upload the yaml file you created in Requirements section. + +![image](https://github.com/mitchellgulledge2/MsftCoPilotPlugin/assets/145486744/17b535b0-1e93-4efa-9fd2-5cebaade63e4) + +5. Finally you will be able to paste the API token you gathered in the previous steps from Netskope. (See above) + +Sample Netskope Prompts + +![image](https://github.com/mitchellgulledge2/MsftCoPilotPlugin/assets/145486744/cf4ca7b8-18da-4a29-a432-46a231c9cf17) +![image](https://github.com/mitchellgulledge2/MsftCoPilotPlugin/assets/145486744/b422225b-7803-4fde-93c2-ad2e16fd8f91) +![image](https://github.com/mitchellgulledge2/MsftCoPilotPlugin/assets/145486744/65dc4d28-6000-4e21-81b7-560f5e42f632) +![image](https://github.com/mitchellgulledge2/MsftCoPilotPlugin/assets/145486744/029eccfa-4691-4e75-a8e0-d38e5c8e7945) +![image](https://github.com/mitchellgulledge2/MsftCoPilotPlugin/assets/145486744/0103c513-4246-4051-9555-59526f7a4477) + +You can validate the 6 Skills are visible by entering /get as seen below: + +![image](https://github.com/mitchellgulledge2/MsftCoPilotPlugin/assets/145486744/f6f458d5-e5d5-426b-a1ff-d38ccb866896) + diff --git a/Plugins/Published Plugins/Netskope-Copilot-Plugin/manifest.yaml b/Plugins/Published Plugins/Netskope-Copilot-Plugin/manifest.yaml new file mode 100644 index 00000000..df1271fd --- /dev/null +++ b/Plugins/Published Plugins/Netskope-Copilot-Plugin/manifest.yaml @@ -0,0 +1,25 @@ +Descriptor: + Name: NetskopeReportingforThreatandDataProtection + DisplayName: Netskope Reporting API endpoints (Preview) + Description: The API plugin offers 6 skills that range from displaying Netskope Alerts and Events for Threat Hunting and Data Protection. + SupportedAuthTypes: + - ApiKey + Authorization: + Type: APIKey + Key: Netskope-api-token + Location: Header + AuthScheme: '' + Icon: https://go.netskope.com/rs/665-KFP-612/images/Netskope-Primary-Logo-Full-Color-RGB.svg + Settings: + - Description: The URL of the instance to connect to + HintText: e.g. https://.goskope.com/api/v2/ + Label: Netskope Instance URL + Name: NetskopeInstanceURL + Required: true + SettingType: String + +SkillGroups: + - Format: API + Settings: + OpenApiSpecUrl: https://raw.githubusercontent.com/mitchellgulledge2/MsftCoPilotPlugin/main/dataoas.yaml + EndpointUrlSettingName: NetskopeInstanceURL diff --git a/Plugins/Published Plugins/SGNL/images/config.png b/Plugins/Published Plugins/SGNL/images/config.png new file mode 100644 index 0000000000000000000000000000000000000000..ba5213fb23dc34699739844ece8c4e1d3730a40f GIT binary patch literal 13 UcmaFAe{X=FJC_s}0|NsW048?>i2wiq literal 0 HcmV?d00001 diff --git a/Plugins/Published Plugins/SGNL/images/plugin-manager.png b/Plugins/Published Plugins/SGNL/images/plugin-manager.png new file mode 100644 index 0000000000000000000000000000000000000000..ba5213fb23dc34699739844ece8c4e1d3730a40f GIT binary patch literal 13 UcmaFAe{X=FJC_s}0|NsW048?>i2wiq literal 0 HcmV?d00001 diff --git a/Plugins/Published Plugins/SGNL/readme.md b/Plugins/Published Plugins/SGNL/readme.md new file mode 100644 index 00000000..32c8aabf --- /dev/null +++ b/Plugins/Published Plugins/SGNL/readme.md @@ -0,0 +1,38 @@ +# SGNL Access Intelligence +**Author: Marc Jordan** +**Publisher: SGNL** + +This plugin enables SGNL Administrators to use Microsoft Copilot for Security to understand and identify fine-grained access decisions and trends across their enterprise. + +[Technical Blog](https://sgnl.ai/2023/11/sgnl-for-microsoft-security-copilot/) + +**Note** +Ensure your account has sufficient permission to read the SGNL Access Decision Logs prior to proceeding. + +## **Pre-requisites** +1. Authenticate to SGNL (via the Console or API) and retrieve your Tenant ID (Admin-->Environment) and your ID Token, you'll need these to configure Copilot for Security + + +## Select or upload the attached manifest file into your Copilot for Security console +1. From the plugin manager, locate the GreyNoise Enterprise Plugin and enable it +![Enable Plugin](images/plugin-manager.png) + + +2. When configuring the plugin, use your Tenant ID as your Username and your ID Token as your password, e.g. + ``` + Username: 4b1... + Password: eyJ...... + ``` + ![Configure Plugin](images/config.png) +3. Save the Configuration + + +## Skills & Prompts +1. Skill 1: Tell me about access from SGNL +- Example Prompt(s): Summarize the logs from SGNL for today; Which principals have accessed sensitive assets today; Tell me about [Principal] access over the last 7 days; Which Principals have accessed [Asset] +- Inputs: [Principal], [Asset], [Action] + + +## Frequently Asked Questions (FAQ) +1. **Important** + If prompts fail to invoke, please ensure you're using a supported prompt above. Otherwise, invoke it using Direct Skill Invocation "/" diff --git a/Plugins/Published Plugins/SGNL/sgnl_manifest.yaml b/Plugins/Published Plugins/SGNL/sgnl_manifest.yaml new file mode 100644 index 00000000..a2f57225 --- /dev/null +++ b/Plugins/Published Plugins/SGNL/sgnl_manifest.yaml @@ -0,0 +1,14 @@ +Descriptor: + Description: Evaluate Access Decisions in SGNL with Microsoft Copilot for Security + Name: SGNL + DisplayName: SGNL (Preview) + Category: Other + Icon: https://sgnl.ai/images/sgnl-glyph--RGB.png + SupportedAuthTypes: + - Basic + + +SkillGroups: + - Format: API + Settings: + OpenApiSpecUrl: 'https://gist.githubusercontent.com/marc-sgnl/361c010bc07f6854197f86d458fcff14/raw/979250a34ad0bf1acf4ca99c60d706b250465ddf/sgnl-oapi-logs.yaml' \ No newline at end of file diff --git a/Plugins/Published Plugins/Tanium/README.md b/Plugins/Published Plugins/Tanium/README.md index 5246ca9a..81778806 100644 --- a/Plugins/Published Plugins/Tanium/README.md +++ b/Plugins/Published Plugins/Tanium/README.md @@ -51,19 +51,27 @@ Establish communication between a Tanium instance and Copilot for Security using ## Skills & Prompts -| Tanium Skill | Description | Required Tanium solutions | Example natural language prompts | +| Required Tanium solutions | Tanium Skill prompt suggestion | Description | Example natural language prompts | | ------------- | ------------- | ------------- | ------------- | -| Count Endpoints Having Package Version | Retrieve the total count of endpoints that have the given software package| Asset, SBOM | Using Tanium Skills, return the total number of endpoints with a software package for , so that I can start cataloging which computers have the software installed. Display the results in a table, alphabetically sorted by host name. Thank you. | -| Get Vulnerability Test Results | Return whether an endpoint is vulnerable to a given CVE, and the reason why it is vulnerable | Comply | Using Tanium Skills, examine whether endpoint is vulnerable to , and return the reasons that this endpoint is vulnerable, along with a suggested plan of action to remediate the intrusion. Thank you. | -| List Child Processes for Process File | Return all child processes running on an endpoint based on a given process file name | Threat Response | Using Tanium Skills, list the child processes of so that I can analyze resource usage. Display the results in a table, alphabetically sorted by process name. Thank you. Using Tanium Skills, list the child processes of that are running on the computer with the hostname , so that I can analyze resource usage. Display the results in a table, alphabetically sorted by process name. Thank you. | -| List Endpoints Having Package | Retrieve up to 10 endpoints that have the given software package | Asset, SBOM | Using Tanium Skills, return the endpoints with a software package for so that I can start cataloguing which computers might have an out-of-date version. Display the results in a table, alphabetically sorted by host name. Thank you. | -| List Endpoints with Process Name | Retrieve up to 10 endpoints running the given process | Threat Response | Using Tanium Skills, return the endpoints running a process called , so that I can ensure this process is not running on unexpected endpoints. Display the results in a table, sorted alphabetically by host name. Thank you. | -| List Endpoints with Process MD5 Hash | Retrieve up to 10 endpoints running the given process matching the provided MD5 hash value | Threat Response | Using Tanium Skills, return all endpoints that are running a process with the MD5 hash value , so that I can ensure this process is not running under a different file name. Display the results in a table, sorted alphabetically by host name. Thank you. | -| List Endpoints Vulnerable To CVE | Retrieve up to 10 endpoints vulnerable to a given CVE ID | Comply | Using Tanium Skills, return the endpoints vulnerable to , so that I can remediate the vulnerability on these endpoints. Display the results in a table, sorted alphabetically by host name. Thank you. | -| List Process SHA-256 Hashes and Versions | Retrieve the SHA-256 file hash and version for a given process | Asset, SBOM, Threat Response | Using Tanium Skills, return the SHA-256 hash value and process version for the running process , so that I can find other instances of this process based on the hash value. Thank you. | -| List Processes Connected To IPv4 Address | Retrieve the processes running on an endpoint with the given IPv4 address | Threat Response | Using Tanium Skills, return the processes running on the endpoint with the IPv4 address , so that I can analyze any potential security intrusions and resource usage. Display the results in a table, sorted alphabetically by process name. Thank you. | -| List Process Ran As User | Retrieve the processes running on an endpoint as a given user | Threat Response | Using Tanium Skills, return the processes running as the user , so that I can determine whether there are issues with unauthorized access. Display the results in a table, sorted alphabetically by computer name. Thank you. Using Tanium Skills, return the processes running as the user on the endpoint with the hostname , so that I can determine whether there are issues with unauthorized access. Display the results in a table, sorted alphabetically by process name. Thank you. | - +| Tanium Core Platform | Get Logged In User | Retrieve the user that is currently logged into an endpoint | Using Tanium, return the user currently logged into the endpoint with the hostname _hostname_ so that I can investigate possible unauthorized endpoint use. Return a Tanium Console Question Results URL so that I can view more real-time information for this endpoint. Thank you. | +| Tanium Core Platform, sensor-dependent | Get Real-time Data from Endpoints | Retrieve real-time data from endpoints based on a Tanium sensor. For more information on supported sensors | Using Tanium, return the computer name and IP address of endpoints. Display the results in a table, alphabetically sorted by computer name, and return a Tanium Console Question Results URL so that I can view the real-time list of endpoints. Thank you. | +| Asset, SBOM | Count Endpoints Having Package Version | Retrieve the total count of endpoints that have the given software package | Using Tanium, return the total number of endpoints with a software package for _software-name_, so that I can start cataloging which computers have the software installed. Display the results in a table, alphabetically sorted by host name, and return a Tanium Console Question Results URL so that I can view the real-time list of endpoints. Thank you. | +| Asset, SBOM | List Endpoints Having Package | Retrieve up to 10 endpoints that have the given software package | Using Tanium, return the endpoints with a software package for _software-name_ so that I can start cataloguing which computers might have an out-of-date version. Display the results in a table, alphabetically sorted by host name, and return a Tanium Console Question Results URL so that I can view the real-time list of endpoints. Thank you. | +| Asset, SBOM, Threat Response | List Process SHA-256 Hashes and Versions | Retrieve the SHA-256 file hash and version for a given process | Using Tanium, return the SHA-256 hash value and process version for the running process _process-name_, so that I can find other instances of this process based on the hash value. Thank you. | +| Comply | Get Vulnerability Test Results | Return whether an endpoint is vulnerable to a given CVE, and the reason why it is vulnerable | Using Tanium, examine whether endpoint _hostname_ is vulnerable to _cve-id_, and return the reasons that this endpoint is vulnerable, along with a suggested plan of action to remediate the intrusion. Thank you. | +| Comply | List Endpoints Vulnerable To CVE | Retrieve up to 10 endpoints vulnerable to a given CVE ID | Using Tanium, return the endpoints vulnerable to _cve-id_, so that I can remediate the vulnerability on these endpoints. Display the results in a table, sorted alphabetically by host name, and return a Tanium Console Question Results URL so that I can view the real-time list of endpoints. Thank you. | +| Direct Connect, Threat Response | View Endpoint Processes | Retrieve a URL to the Threat Response Live Connection page for the requested endpoint, which contains a list of running processes | Using Tanium, return a Threat Response Live Connection URL for the endpoint with the hostname _hostname_, so that I can review the running processes and identify potential vulnerabilities. Thank you. | +| Incident Response | List Service Module Details | Retrieve running service module information for an endpoint, including name, caption, and image path | Using Tanium, return information for the service modules running on the endpoint with the hostname _hostname_, so that I can review the list for unexpected service modules. Display the results in a table, alphabetically sorted by service module name, and return a Tanium Console Question Results URL so that I can view the real-time list of service modules. Thank you. | +| Incident Response | List Service Process Details | Retrieve running service process information for an endpoint, including name, process ID, and file path | Using Tanium, return information for the service processes running on the endpoint with the hostname _hostname_, so that I can review the list for unexpected service processes. Display the results in a table, alphabetically sorted by service process name, and return a Tanium Console Question Results URL so that I can view the real-time list of service processes. Thank you. | +| Incident Response | List WMI Event Consumers | Retrieve Windows Management Instrumentation (WMI) event consumers running on an endpoint | Using Tanium, return the WMI event consumers running on the endpoint with the hostname _hostname_ so that I can ensure only expected event consumers are running, and return a Tanium Console Question Results URL so that I can view the real-time list of event consumers. Thank you. | +| Index | List File Details | Retrieve details for a file by name, including the endpoints on which it is installed, the file path, and file size | Using Tanium, return information for the file named _file-name_ so that I can determine if it is running on unintended endpoints. Display the results in a table, alphabetically sorted, and return a Tanium Console Question Results URL so that I can view the real-time list. Thank you. OR Using Tanium, return information for the file named _file-name_ installed on the endpoint with the hostname _hostname_, so that I can determine if it is running on unintended endpoints. Display the results in a table, alphabetically sorted, and return a Tanium Console Question Results URL so that I can view real-time information. Thank you. | +| Threat Response | List Child Processes for Process File | Return all child processes running on an endpoint based on a given process file name | Using Tanium, list the child processes of _process-name_ so that I can analyze resource usage. Display the results in a table, alphabetically sorted by process name, and return a Tanium Console Question Results URL so that I can view the real-time list of endpoints. Thank you. OR Using Tanium, list the child processes of _process-name_ that are running on the computer with the hostname _hostname_, so that I can analyze resource usage. Display the results in a table, alphabetically sorted by process name, and return a Tanium Console Question Results URL so that I can view the real-time list of endpoints. Thank you. | +| Threat Response | List Endpoints with Process Command | Retrieve up to 10 endpoints running the given command line command | Using Tanium, return the endpoints running the command line command _process-command_, so that I can ensure this process is not running on unexpected endpoints. Display the results in a table, sorted alphabetically by host name, and return a Tanium Console Question Results URL so that I can view the real-time list of endpoints. Thank you. | +| Threat Response | List Endpoints with Process Name | Retrieve up to 10 endpoints running the given process | Using Tanium, return the endpoints running a process called _process-name_, so that I can ensure this process is not running on unexpected endpoints. Display the results in a table, sorted alphabetically by host name, and return a Tanium Console Question Results URL so that I can view the real-time list of endpoints. Thank you. | +| Threat Response | List Endpoints with Process MD5 Hash | Retrieve up to 10 endpoints running the given process matching the provided MD5 hash value | Using Tanium, return all endpoints that are running a process with the MD5 hash value _md5-hash-value_, so that I can ensure this process is not running under a different file name. Display the results in a table, sorted alphabetically by host name, and return a Tanium Console Question Results URL so that I can view the real-time list of endpoints. Thank you. | +| Threat Response | List File Operations | Retrieve historical file operation information from endpoints, including endpoint name, file path, and the file operation type, such as create or delete | Using Tanium, return file operation information for the endpoint named _hostname_ running on the file path "_partial-file-path_" over the past _time-frame_ so that I can determine if any malicious file behavior is occuring on the endpoint. Display the results in a table, alphabetically sorted, and return a Tanium Console Question Results URL so that I can view the real-time list. Thank you. OR Using Tanium, return file operation information for files running on the file path "_partial-file-path_" over the past _time-frame_ so that I can determine if there is any malicious file creation or deletion. Display the results in a table, alphabetically sorted, and return a Tanium Console Question Results URL so that I can view the real-time list. Thank you. | +| Threat Response | List Processes Connected To IPv4 Address | Retrieve the processes running on an endpoint with the given IPv4 address | Using Tanium, return the processes running on the endpoint with the IPv4 address _ipv4-address_, so that I can analyze any potential security intrusions and resource usage. Display the results in a table, sorted alphabetically by process name, and return a Tanium Console Question Results URL so that I can view the real-time list of endpoints. Thank you. | +| Threat Response | List Process Ran As User | Retrieve the processes running on an endpoint as a given user | Using Tanium, return the processes running as the user _user-name_, so that I can determine whether there are issues with unauthorized access. Display the results in a table, sorted alphabetically by computer name, and return a Tanium Console Question Results URL so that I can view the real-time list of endpoints. Thank you. OR Using Tanium, return the processes running as the user _user-name_ on the endpoint with the hostname _hostname_, so that I can determine whether there are issues with unauthorized access. Display the results in a table, sorted alphabetically by process name, and return a Tanium Console Question Results URL so that I can view the real-time list of endpoints. Thank you. | ### Public Docs To see the full documentation go [here](https://help.tanium.com/bundle/ug_connect_cloud/page/connect/ms_copilot_security.html) diff --git a/Plugins/Published Plugins/Tanium/manifest.json b/Plugins/Published Plugins/Tanium/manifest.json index 486aa35a..b917e092 100644 --- a/Plugins/Published Plugins/Tanium/manifest.json +++ b/Plugins/Published Plugins/Tanium/manifest.json @@ -1,9 +1,9 @@ { "Descriptor": { "Name": "Tanium", - "DisplayName": "Tanium", + "DisplayName": "Tanium (Preview)", "Icon": "https://www.tanium.com/wp-content/uploads/Tanium-LogoBug-FullColor-Positive.png", - "Description": "This plugin contains skills for interacting with the Tanium Core Platform, Tanium products, and Tanium-managed endpoints.", + "Description": "Provide analysts of all skill levels tools to make informed decisions and confidently take decisive actions using Tanium’s real-time endpoint data.", "Settings": [ { "Name": "TaniumInstanceUrl", @@ -26,119 +26,119 @@ { "Format": "API", "Settings": { - "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-14_16-36-55_1.0.211.0000/security-copilot/list_child_processes_v1.json", + "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-26_14-59-14_1.1.2.0000/security-copilot/list_child_processes_v1.json", "EndpointUrlSettingName": "TaniumInstanceUrl" } }, { "Format": "API", "Settings": { - "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-14_16-36-55_1.0.211.0000/security-copilot/count_endpoints_having_package_version_v1.json", + "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-26_14-59-14_1.1.2.0000/security-copilot/count_endpoints_having_package_version_v1.json", "EndpointUrlSettingName": "TaniumInstanceUrl" } }, { "Format": "API", "Settings": { - "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-14_16-36-55_1.0.211.0000/security-copilot/get_vulnerability_test_results_v1.json", + "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-26_14-59-14_1.1.2.0000/security-copilot/get_vulnerability_test_results_v1.json", "EndpointUrlSettingName": "TaniumInstanceUrl" } }, { "Format": "API", "Settings": { - "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-14_16-36-55_1.0.211.0000/security-copilot/list_endpoints_having_package_v1.json", + "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-26_14-59-14_1.1.2.0000/security-copilot/list_endpoints_having_package_v1.json", "EndpointUrlSettingName": "TaniumInstanceUrl" } }, { "Format": "API", "Settings": { - "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-14_16-36-55_1.0.211.0000/security-copilot/list_endpoints_having_process_v1.json", + "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-26_14-59-14_1.1.2.0000/security-copilot/list_endpoints_having_process_v1.json", "EndpointUrlSettingName": "TaniumInstanceUrl" } }, { "Format": "API", "Settings": { - "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-14_16-36-55_1.0.211.0000/security-copilot/list_endpoints_vulnerable_to_cve_v1.json", + "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-26_14-59-14_1.1.2.0000/security-copilot/list_endpoints_vulnerable_to_cve_v1.json", "EndpointUrlSettingName": "TaniumInstanceUrl" } }, { "Format": "API", "Settings": { - "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-14_16-36-55_1.0.211.0000/security-copilot/list_process_hashes_v1.json", + "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-26_14-59-14_1.1.2.0000/security-copilot/list_process_hashes_v1.json", "EndpointUrlSettingName": "TaniumInstanceUrl" } }, { "Format": "API", "Settings": { - "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-14_16-36-55_1.0.211.0000/security-copilot/list_processes_connected_to_ip_v1.json", + "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-26_14-59-14_1.1.2.0000/security-copilot/list_processes_connected_to_ip_v1.json", "EndpointUrlSettingName": "TaniumInstanceUrl" } }, { "Format": "API", "Settings": { - "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-14_16-36-55_1.0.211.0000/security-copilot/list_processes_ran_as_user_v1.json", + "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-26_14-59-14_1.1.2.0000/security-copilot/list_processes_ran_as_user_v1.json", "EndpointUrlSettingName": "TaniumInstanceUrl" } }, { "Format": "API", "Settings": { - "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-14_16-36-55_1.0.211.0000/security-copilot/fetch_sensor_results_v1.json", + "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-26_14-59-14_1.1.2.0000/security-copilot/fetch_sensor_results_v1.json", "EndpointUrlSettingName": "TaniumInstanceUrl" } }, { "Format": "API", "Settings": { - "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-14_16-36-55_1.0.211.0000/security-copilot/list_file_operations_v1.json", + "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-26_14-59-14_1.1.2.0000/security-copilot/list_file_operations_v1.json", "EndpointUrlSettingName": "TaniumInstanceUrl" } }, { "Format": "API", "Settings": { - "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-14_16-36-55_1.0.211.0000/security-copilot/list_service_module_details_v1.json", + "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-26_14-59-14_1.1.2.0000/security-copilot/list_service_module_details_v1.json", "EndpointUrlSettingName": "TaniumInstanceUrl" } }, { "Format": "API", "Settings": { - "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-14_16-36-55_1.0.211.0000/security-copilot/list_service_process_details_v1.json", + "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-26_14-59-14_1.1.2.0000/security-copilot/list_service_process_details_v1.json", "EndpointUrlSettingName": "TaniumInstanceUrl" } }, { "Format": "API", "Settings": { - "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-14_16-36-55_1.0.211.0000/security-copilot/get_logged_in_user_v1.json", + "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-26_14-59-14_1.1.2.0000/security-copilot/get_logged_in_user_v1.json", "EndpointUrlSettingName": "TaniumInstanceUrl" } }, { "Format": "API", "Settings": { - "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-14_16-36-55_1.0.211.0000/security-copilot/list_wmi_event_consumers_v1.json", + "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-26_14-59-14_1.1.2.0000/security-copilot/list_wmi_event_consumers_v1.json", "EndpointUrlSettingName": "TaniumInstanceUrl" } }, { "Format": "API", "Settings": { - "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-14_16-36-55_1.0.211.0000/security-copilot/get_process_view_url_v1.json", + "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-26_14-59-14_1.1.2.0000/security-copilot/get_process_view_url_v1.json", "EndpointUrlSettingName": "TaniumInstanceUrl" } }, { "Format": "API", "Settings": { - "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-14_16-36-55_1.0.211.0000/security-copilot/list_file_details_v1.json", + "OpenApiSpecUrl": "https://content.tanium.com/files/published/partner-integration/2024-03-26_14-59-14_1.1.2.0000/security-copilot/list_file_details_v1.json", "EndpointUrlSettingName": "TaniumInstanceUrl" } } diff --git a/Plugins/Published Plugins/Tanium/pluginVersion.json b/Plugins/Published Plugins/Tanium/pluginVersion.json deleted file mode 100644 index 6c0b5008..00000000 --- a/Plugins/Published Plugins/Tanium/pluginVersion.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "Name": "Tanium", - "Skills": [ - { - "Name": "List Child Processes for Process File", - "Path": "/v1/process-files/{filename}/child-processes" - }, - { - "Name": "Count Endpoints Having Package Version", - "Path": "/v1/packages/{packageName}/versions/{packageVersion}/endpoints" - }, - { - "Name": "Get Vulnerability Test Results", - "Path": "/v1/cves/{cveId}/test-results" - }, - { - "Name": "List Endpoints Having Package", - "Path": "/v1/packages/{packageName}/endpoints" - }, - { - "Name": "List Endpoints with Process Command", - "Path": "/v1/process-command-lines/{commandLine}/endpoints" - }, - { - "Name": "List Endpoints with Process Name", - "Path": "/v1/process-files/{name}/endpoints" - }, - { - "Name": "List Endpoints with Process MD5 Hash", - "Path": "/v1/process-hashes/{md5Hash}/endpoints" - }, - { - "Name": "List Endpoints Vulnerable to CVE", - "Path": "/v1/cves/{cveId}/vulnerable-endpoints" - }, - { - "Name": "List Process SHA-256 Hashes and Versions", - "Path": "/v1/processes/{filename}/hashes" - }, - { - "Name": "List Processes Connected To IPv4 Address", - "Path": "/v1/processes" - }, - { - "Name": "List Processes Ran As User", - "Path": "/v1/processes/ran-as-user/{username}" - }, - { - "Name": "Get Real Time Tanium Parameterized Sensor Data", - "Path": "/v1/ask-parameterized-question" - }, - { - "Name": "Get Real-time Data from Endpoints", - "Path": "/v1/sensor-results" - }, - { - "Name": "List File Operations", - "Path": "/v1/file-operations" - }, - { - "Name": "List Service Module Details", - "Path": "/v1/endpoints/{endpointName}/service-module-details" - }, - { - "Name": "Get Logged In User", - "Path": "/v1/endpoints/{endpointName}/logged-in-user" - }, - { - "Name": "List Service Process Details", - "Path": "/v1/endpoints/{endpointName}/service-process-details" - }, - { - "Name": "List WMI Event Consumers", - "Path": "/v1/endpoints/{endpointName}/wmi-event-consumers" - }, - { - "Name": "View Endpoint Processes", - "Path": "/v1/endpoints/{endpointName}/process-view-url" - }, - { - "Name": "List File Details", - "Path": "/v1/files/{filename}/details" - } - ], - "Version": "1.0.0" -} diff --git a/Plugins/Published Plugins/ValenceSecurity/ValenceSecurity_manifest.yaml b/Plugins/Published Plugins/ValenceSecurity/ValenceSecurity_manifest.yaml new file mode 100644 index 00000000..3c9ec33c --- /dev/null +++ b/Plugins/Published Plugins/ValenceSecurity/ValenceSecurity_manifest.yaml @@ -0,0 +1,19 @@ +Descriptor: + Name: ValenceSecurity + DisplayName: Valence Security + Description: Leverage the Valence SaaS Security Platform API to enhance your investigation with data from SaaS applications such as Salesforce, GitHub, Okta, Google Workspace and dozens others. Answer critical questions to understand your existing SaaS threats and suspicious activities, what access level your human and non-human identities have, where your business-critical data is potentially exposed, and what are the most significant SaaS risks you should prioritize to fix. + DescriptionDisplay: Find and fix your SaaS risks. Protect business-critical data and applications by streamlining incident investigations, and reducing SaaS identities, SaaS-to-SaaS integrations, data shares and misconfigurations risks. + Icon: https://app.valencesecurity.com/signin/symbol.png + SupportedAuthTypes: + - ApiKey + Authorization: + Type: ApiKey + AuthScheme: Bearer + Location: Header + Key: Authorization + Value: + +SkillGroups: + - Format: API + Settings: + OpenApiSpecUrl: https://app.valencesecurity.com/_074wktsp_microsoftsecuritycopilot/.well-known/swagger.yaml diff --git a/Plugins/Published Plugins/ValenceSecurity/images/ValenceSecurity_plugin.png b/Plugins/Published Plugins/ValenceSecurity/images/ValenceSecurity_plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..7fb72033e4ea100cb2d09126380e179e40f9fbb7 GIT binary patch literal 53833 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

I}r*pw#gX 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�d>G0hSFT6&?#Ey5q22-|X8@wu8P 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 NE2$(=CidC?{{f-7u~h&7 literal 0 HcmV?d00001 diff --git a/Plugins/Published Plugins/ValenceSecurity/images/ValenceSecurity_settings.png b/Plugins/Published Plugins/ValenceSecurity/images/ValenceSecurity_settings.png new file mode 100644 index 0000000000000000000000000000000000000000..22f6381f308202ef1fc0521cf147c382025165e0 GIT binary patch literal 25538 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