vanta-auditor-api-sdk 0.6.1 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/README.md +19 -1
  2. package/docs/sdks/audits/README.md +760 -1
  3. package/funcs/auditsList.js +10 -0
  4. package/funcs/auditsList.js.map +1 -1
  5. package/funcs/auditsListAccountAccessServices.d.ts +33 -0
  6. package/funcs/auditsListAccountAccessServices.d.ts.map +1 -0
  7. package/funcs/auditsListAccountAccessServices.js +141 -0
  8. package/funcs/auditsListAccountAccessServices.js.map +1 -0
  9. package/funcs/auditsListAuditIssues.d.ts +3 -1
  10. package/funcs/auditsListAuditIssues.d.ts.map +1 -1
  11. package/funcs/auditsListAuditIssues.js +5 -1
  12. package/funcs/auditsListAuditIssues.js.map +1 -1
  13. package/funcs/auditsListAuditRisks.d.ts +37 -0
  14. package/funcs/auditsListAuditRisks.d.ts.map +1 -0
  15. package/funcs/auditsListAuditRisks.js +152 -0
  16. package/funcs/auditsListAuditRisks.js.map +1 -0
  17. package/funcs/auditsListCodeChanges.d.ts +34 -0
  18. package/funcs/auditsListCodeChanges.d.ts.map +1 -0
  19. package/funcs/auditsListCodeChanges.js +146 -0
  20. package/funcs/auditsListCodeChanges.js.map +1 -0
  21. package/funcs/auditsListPersonnelAccountAccess.d.ts +58 -0
  22. package/funcs/auditsListPersonnelAccountAccess.d.ts.map +1 -0
  23. package/funcs/auditsListPersonnelAccountAccess.js +172 -0
  24. package/funcs/auditsListPersonnelAccountAccess.js.map +1 -0
  25. package/funcs/auditsListPersonnelGroups.d.ts +39 -0
  26. package/funcs/auditsListPersonnelGroups.d.ts.map +1 -0
  27. package/funcs/auditsListPersonnelGroups.js +151 -0
  28. package/funcs/auditsListPersonnelGroups.js.map +1 -0
  29. package/funcs/auditsListPersonnelPeople.d.ts +36 -0
  30. package/funcs/auditsListPersonnelPeople.d.ts.map +1 -0
  31. package/funcs/auditsListPersonnelPeople.js +149 -0
  32. package/funcs/auditsListPersonnelPeople.js.map +1 -0
  33. package/funcs/auditsListRiskSnapshots.d.ts +32 -0
  34. package/funcs/auditsListRiskSnapshots.d.ts.map +1 -0
  35. package/funcs/auditsListRiskSnapshots.js +140 -0
  36. package/funcs/auditsListRiskSnapshots.js.map +1 -0
  37. package/funcs/auditsListVendors.d.ts +35 -0
  38. package/funcs/auditsListVendors.d.ts.map +1 -0
  39. package/funcs/auditsListVendors.js +148 -0
  40. package/funcs/auditsListVendors.js.map +1 -0
  41. package/jsr.json +1 -1
  42. package/lib/config.d.ts +3 -3
  43. package/lib/config.js +3 -3
  44. package/lib/config.js.map +1 -1
  45. package/models/components/accountaccess.d.ts +64 -0
  46. package/models/components/accountaccess.d.ts.map +1 -0
  47. package/models/components/accountaccess.js +58 -0
  48. package/models/components/accountaccess.js.map +1 -0
  49. package/models/components/accountaccessservice.d.ts +36 -0
  50. package/models/components/accountaccessservice.d.ts.map +1 -0
  51. package/models/components/accountaccessservice.js +53 -0
  52. package/models/components/accountaccessservice.js.map +1 -0
  53. package/models/components/accountaccessstatus.d.ts +25 -0
  54. package/models/components/accountaccessstatus.d.ts.map +1 -0
  55. package/models/components/accountaccessstatus.js +56 -0
  56. package/models/components/accountaccessstatus.js.map +1 -0
  57. package/models/components/apicodechangesource.d.ts +18 -0
  58. package/models/components/apicodechangesource.d.ts.map +1 -0
  59. package/models/components/apicodechangesource.js +52 -0
  60. package/models/components/apicodechangesource.js.map +1 -0
  61. package/models/components/auditrisk.d.ts +153 -0
  62. package/models/components/auditrisk.d.ts.map +1 -0
  63. package/models/components/auditrisk.js +108 -0
  64. package/models/components/auditrisk.js.map +1 -0
  65. package/models/components/auditriskcia.d.ts +17 -0
  66. package/models/components/auditriskcia.d.ts.map +1 -0
  67. package/models/components/auditriskcia.js +51 -0
  68. package/models/components/auditriskcia.js.map +1 -0
  69. package/models/components/auditvendor.d.ts +96 -0
  70. package/models/components/auditvendor.d.ts.map +1 -0
  71. package/models/components/auditvendor.js +86 -0
  72. package/models/components/auditvendor.js.map +1 -0
  73. package/models/components/auditvendorrisklevel.d.ts +15 -0
  74. package/models/components/auditvendorrisklevel.d.ts.map +1 -0
  75. package/models/components/auditvendorrisklevel.js +52 -0
  76. package/models/components/auditvendorrisklevel.js.map +1 -0
  77. package/models/components/auditvendorstatus.d.ts +13 -0
  78. package/models/components/auditvendorstatus.d.ts.map +1 -0
  79. package/models/components/auditvendorstatus.js +50 -0
  80. package/models/components/auditvendorstatus.js.map +1 -0
  81. package/models/components/codechange.d.ts +50 -0
  82. package/models/components/codechange.d.ts.map +1 -0
  83. package/models/components/codechange.js +58 -0
  84. package/models/components/codechange.js.map +1 -0
  85. package/models/components/grouporderby.d.ts +13 -0
  86. package/models/components/grouporderby.d.ts.map +1 -0
  87. package/models/components/grouporderby.js +50 -0
  88. package/models/components/grouporderby.js.map +1 -0
  89. package/models/components/index.d.ts +31 -0
  90. package/models/components/index.d.ts.map +1 -1
  91. package/models/components/index.js +31 -0
  92. package/models/components/index.js.map +1 -1
  93. package/models/components/issuesnapshotitemorderby.d.ts +16 -0
  94. package/models/components/issuesnapshotitemorderby.d.ts.map +1 -0
  95. package/models/components/issuesnapshotitemorderby.js +50 -0
  96. package/models/components/issuesnapshotitemorderby.js.map +1 -0
  97. package/models/components/orderdirection.d.ts +16 -0
  98. package/models/components/orderdirection.d.ts.map +1 -0
  99. package/models/components/orderdirection.js +50 -0
  100. package/models/components/orderdirection.js.map +1 -0
  101. package/models/components/paginatedresponseaccountaccess.d.ts +22 -0
  102. package/models/components/paginatedresponseaccountaccess.d.ts.map +1 -0
  103. package/models/components/paginatedresponseaccountaccess.js +61 -0
  104. package/models/components/paginatedresponseaccountaccess.js.map +1 -0
  105. package/models/components/paginatedresponseaccountaccessservice.d.ts +22 -0
  106. package/models/components/paginatedresponseaccountaccessservice.d.ts.map +1 -0
  107. package/models/components/paginatedresponseaccountaccessservice.js +61 -0
  108. package/models/components/paginatedresponseaccountaccessservice.js.map +1 -0
  109. package/models/components/paginatedresponseauditrisk.d.ts +22 -0
  110. package/models/components/paginatedresponseauditrisk.d.ts.map +1 -0
  111. package/models/components/paginatedresponseauditrisk.js +61 -0
  112. package/models/components/paginatedresponseauditrisk.js.map +1 -0
  113. package/models/components/paginatedresponseauditvendor.d.ts +22 -0
  114. package/models/components/paginatedresponseauditvendor.d.ts.map +1 -0
  115. package/models/components/paginatedresponseauditvendor.js +61 -0
  116. package/models/components/paginatedresponseauditvendor.js.map +1 -0
  117. package/models/components/paginatedresponsecodechange.d.ts +22 -0
  118. package/models/components/paginatedresponsecodechange.d.ts.map +1 -0
  119. package/models/components/paginatedresponsecodechange.js +61 -0
  120. package/models/components/paginatedresponsecodechange.js.map +1 -0
  121. package/models/components/paginatedresponsepersonnelgroup.d.ts +22 -0
  122. package/models/components/paginatedresponsepersonnelgroup.d.ts.map +1 -0
  123. package/models/components/paginatedresponsepersonnelgroup.js +61 -0
  124. package/models/components/paginatedresponsepersonnelgroup.js.map +1 -0
  125. package/models/components/paginatedresponsepersonnelperson.d.ts +22 -0
  126. package/models/components/paginatedresponsepersonnelperson.d.ts.map +1 -0
  127. package/models/components/paginatedresponsepersonnelperson.js +61 -0
  128. package/models/components/paginatedresponsepersonnelperson.js.map +1 -0
  129. package/models/components/paginatedresponserisksnapshot.d.ts +22 -0
  130. package/models/components/paginatedresponserisksnapshot.d.ts.map +1 -0
  131. package/models/components/paginatedresponserisksnapshot.js +61 -0
  132. package/models/components/paginatedresponserisksnapshot.js.map +1 -0
  133. package/models/components/peopleemploymentstatus.d.ts +20 -0
  134. package/models/components/peopleemploymentstatus.d.ts.map +1 -0
  135. package/models/components/peopleemploymentstatus.js +54 -0
  136. package/models/components/peopleemploymentstatus.js.map +1 -0
  137. package/models/components/peopleorderby.d.ts +10 -0
  138. package/models/components/peopleorderby.d.ts.map +1 -0
  139. package/models/components/peopleorderby.js +47 -0
  140. package/models/components/peopleorderby.js.map +1 -0
  141. package/models/components/peoplesecuritytaskstatus.d.ts +18 -0
  142. package/models/components/peoplesecuritytaskstatus.d.ts.map +1 -0
  143. package/models/components/peoplesecuritytaskstatus.js +52 -0
  144. package/models/components/peoplesecuritytaskstatus.js.map +1 -0
  145. package/models/components/peopletaskstatus.d.ts +22 -0
  146. package/models/components/peopletaskstatus.d.ts.map +1 -0
  147. package/models/components/peopletaskstatus.js +56 -0
  148. package/models/components/peopletaskstatus.js.map +1 -0
  149. package/models/components/personnelgroup.d.ts +54 -0
  150. package/models/components/personnelgroup.d.ts.map +1 -0
  151. package/models/components/personnelgroup.js +57 -0
  152. package/models/components/personnelgroup.js.map +1 -0
  153. package/models/components/personnelgrouptask.d.ts +16 -0
  154. package/models/components/personnelgrouptask.d.ts.map +1 -0
  155. package/models/components/personnelgrouptask.js +50 -0
  156. package/models/components/personnelgrouptask.js.map +1 -0
  157. package/models/components/personnelperson.d.ts +338 -0
  158. package/models/components/personnelperson.d.ts.map +1 -0
  159. package/models/components/personnelperson.js +177 -0
  160. package/models/components/personnelperson.js.map +1 -0
  161. package/models/components/riskorderby.d.ts +18 -0
  162. package/models/components/riskorderby.d.ts.map +1 -0
  163. package/models/components/riskorderby.js +56 -0
  164. package/models/components/riskorderby.js.map +1 -0
  165. package/models/components/risksnapshot.d.ts +26 -0
  166. package/models/components/risksnapshot.d.ts.map +1 -0
  167. package/models/components/risksnapshot.js +51 -0
  168. package/models/components/risksnapshot.js.map +1 -0
  169. package/models/components/vendororderby.d.ts +10 -0
  170. package/models/components/vendororderby.d.ts.map +1 -0
  171. package/models/components/vendororderby.js +47 -0
  172. package/models/components/vendororderby.js.map +1 -0
  173. package/models/operations/index.d.ts +8 -0
  174. package/models/operations/index.d.ts.map +1 -1
  175. package/models/operations/index.js +8 -0
  176. package/models/operations/index.js.map +1 -1
  177. package/models/operations/listaccountaccessservices.d.ts +25 -0
  178. package/models/operations/listaccountaccessservices.d.ts.map +1 -0
  179. package/models/operations/listaccountaccessservices.js +51 -0
  180. package/models/operations/listaccountaccessservices.js.map +1 -0
  181. package/models/operations/listauditissues.d.ts +11 -0
  182. package/models/operations/listauditissues.d.ts.map +1 -1
  183. package/models/operations/listauditissues.js +3 -0
  184. package/models/operations/listauditissues.js.map +1 -1
  185. package/models/operations/listauditrisks.d.ts +46 -0
  186. package/models/operations/listauditrisks.d.ts.map +1 -0
  187. package/models/operations/listauditrisks.js +56 -0
  188. package/models/operations/listauditrisks.js.map +1 -0
  189. package/models/operations/listcodechanges.d.ts +46 -0
  190. package/models/operations/listcodechanges.d.ts.map +1 -0
  191. package/models/operations/listcodechanges.js +57 -0
  192. package/models/operations/listcodechanges.js.map +1 -0
  193. package/models/operations/listpersonnelaccountaccess.d.ts +41 -0
  194. package/models/operations/listpersonnelaccountaccess.d.ts.map +1 -0
  195. package/models/operations/listpersonnelaccountaccess.js +55 -0
  196. package/models/operations/listpersonnelaccountaccess.js.map +1 -0
  197. package/models/operations/listpersonnelgroups.d.ts +46 -0
  198. package/models/operations/listpersonnelgroups.d.ts.map +1 -0
  199. package/models/operations/listpersonnelgroups.js +56 -0
  200. package/models/operations/listpersonnelgroups.js.map +1 -0
  201. package/models/operations/listpersonnelpeople.d.ts +51 -0
  202. package/models/operations/listpersonnelpeople.d.ts.map +1 -0
  203. package/models/operations/listpersonnelpeople.js +57 -0
  204. package/models/operations/listpersonnelpeople.js.map +1 -0
  205. package/models/operations/listrisksnapshots.d.ts +25 -0
  206. package/models/operations/listrisksnapshots.d.ts.map +1 -0
  207. package/models/operations/listrisksnapshots.js +51 -0
  208. package/models/operations/listrisksnapshots.js.map +1 -0
  209. package/models/operations/listvendors.d.ts +51 -0
  210. package/models/operations/listvendors.d.ts.map +1 -0
  211. package/models/operations/listvendors.js +58 -0
  212. package/models/operations/listvendors.js.map +1 -0
  213. package/package.json +1 -1
  214. package/sdk/audits.d.ts +219 -1
  215. package/sdk/audits.d.ts.map +1 -1
  216. package/sdk/audits.js +243 -1
  217. package/sdk/audits.js.map +1 -1
  218. package/src/funcs/auditsList.ts +10 -0
  219. package/src/funcs/auditsListAccountAccessServices.ts +192 -0
  220. package/src/funcs/auditsListAuditIssues.ts +5 -1
  221. package/src/funcs/auditsListAuditRisks.ts +200 -0
  222. package/src/funcs/auditsListCodeChanges.ts +194 -0
  223. package/src/funcs/auditsListPersonnelAccountAccess.ts +223 -0
  224. package/src/funcs/auditsListPersonnelGroups.ts +200 -0
  225. package/src/funcs/auditsListPersonnelPeople.ts +198 -0
  226. package/src/funcs/auditsListRiskSnapshots.ts +188 -0
  227. package/src/funcs/auditsListVendors.ts +196 -0
  228. package/src/lib/config.ts +3 -3
  229. package/src/models/components/accountaccess.ts +99 -0
  230. package/src/models/components/accountaccessservice.ts +60 -0
  231. package/src/models/components/accountaccessstatus.ts +34 -0
  232. package/src/models/components/apicodechangesource.ts +25 -0
  233. package/src/models/components/auditrisk.ts +216 -0
  234. package/src/models/components/auditriskcia.ts +23 -0
  235. package/src/models/components/auditvendor.ts +158 -0
  236. package/src/models/components/auditvendorrisklevel.ts +24 -0
  237. package/src/models/components/auditvendorstatus.ts +22 -0
  238. package/src/models/components/codechange.ts +79 -0
  239. package/src/models/components/grouporderby.ts +19 -0
  240. package/src/models/components/index.ts +31 -0
  241. package/src/models/components/issuesnapshotitemorderby.ts +25 -0
  242. package/src/models/components/orderdirection.ts +23 -0
  243. package/src/models/components/paginatedresponseaccountaccess.ts +62 -0
  244. package/src/models/components/paginatedresponseaccountaccessservice.ts +74 -0
  245. package/src/models/components/paginatedresponseauditrisk.ts +61 -0
  246. package/src/models/components/paginatedresponseauditvendor.ts +62 -0
  247. package/src/models/components/paginatedresponsecodechange.ts +62 -0
  248. package/src/models/components/paginatedresponsepersonnelgroup.ts +65 -0
  249. package/src/models/components/paginatedresponsepersonnelperson.ts +70 -0
  250. package/src/models/components/paginatedresponserisksnapshot.ts +62 -0
  251. package/src/models/components/peopleemploymentstatus.ts +27 -0
  252. package/src/models/components/peopleorderby.ts +17 -0
  253. package/src/models/components/peoplesecuritytaskstatus.ts +27 -0
  254. package/src/models/components/peopletaskstatus.ts +29 -0
  255. package/src/models/components/personnelgroup.ts +84 -0
  256. package/src/models/components/personnelgrouptask.ts +37 -0
  257. package/src/models/components/personnelperson.ts +554 -0
  258. package/src/models/components/riskorderby.ts +24 -0
  259. package/src/models/components/risksnapshot.ts +48 -0
  260. package/src/models/components/vendororderby.ts +17 -0
  261. package/src/models/operations/index.ts +8 -0
  262. package/src/models/operations/listaccountaccessservices.ts +48 -0
  263. package/src/models/operations/listauditissues.ts +13 -0
  264. package/src/models/operations/listauditrisks.ts +71 -0
  265. package/src/models/operations/listcodechanges.ts +72 -0
  266. package/src/models/operations/listpersonnelaccountaccess.ts +67 -0
  267. package/src/models/operations/listpersonnelgroups.ts +71 -0
  268. package/src/models/operations/listpersonnelpeople.ts +77 -0
  269. package/src/models/operations/listrisksnapshots.ts +46 -0
  270. package/src/models/operations/listvendors.ts +80 -0
  271. package/src/sdk/audits.ts +307 -1
  272. package/src/types/async.ts +8 -7
  273. package/types/async.d.ts.map +1 -1
  274. package/types/async.js +8 -7
  275. package/types/async.js.map +1 -1
@@ -0,0 +1,223 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { VantaCore } from "../core.js";
6
+ import { encodeFormQuery, encodeSimple } from "../lib/encodings.js";
7
+ import { matchStatusCode } from "../lib/http.js";
8
+ import * as M from "../lib/matchers.js";
9
+ import { compactMap } from "../lib/primitives.js";
10
+ import { safeParse } from "../lib/schemas.js";
11
+ import { RequestOptions } from "../lib/sdks.js";
12
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
13
+ import { pathToFunc } from "../lib/url.js";
14
+ import * as components from "../models/components/index.js";
15
+ import {
16
+ ConnectionError,
17
+ InvalidRequestError,
18
+ RequestAbortedError,
19
+ RequestTimeoutError,
20
+ UnexpectedClientError,
21
+ } from "../models/errors/httpclienterrors.js";
22
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
23
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
24
+ import { VantaError } from "../models/errors/vantaerror.js";
25
+ import * as operations from "../models/operations/index.js";
26
+ import { APICall, APIPromise } from "../types/async.js";
27
+ import { Result } from "../types/fp.js";
28
+
29
+ /**
30
+ * List account access records for an audit
31
+ *
32
+ * @remarks
33
+ * Retrieves account access population data for an audit.
34
+ *
35
+ * This endpoint provides access to account access records visible to auditors
36
+ * during an audit engagement. Account access data comes from various sources:
37
+ *
38
+ * - **IDP Services** (Identity Providers): Okta, Azure AD, Google Workspace, OneLogin, PingOne
39
+ *
40
+ * - Returns user accounts from identity providers
41
+ * - Supports filtering by search and status
42
+ *
43
+ * - **Role Grants Services**: GCP, Azure (when role grants are enabled)
44
+ *
45
+ * - Returns accounts with role-based access grants
46
+ * - Supports filtering by search and status
47
+ *
48
+ * - **First-Party Account Services**: AWS, Oracle Cloud, Azure (when not using role grants), etc.
49
+ *
50
+ * - Returns cloud provider account access records
51
+ * - Supports filtering by search and status
52
+ *
53
+ * - **Received Account Services**: External applications (Jira, GitHub, Slack, etc.)
54
+ *
55
+ * - Returns user accounts from third-party integrations
56
+ * - Supports filtering by search and status
57
+ *
58
+ * Supports filtering by:
59
+ * - `search`: Searches account names/emails (case-insensitive)
60
+ * - `status`: Filters by account status
61
+ *
62
+ * Uses cursor-based pagination. To paginate:
63
+ * 1. Make initial request with desired `pageSize`
64
+ * 2. Check `results.pageInfo.hasNextPage`
65
+ * 3. Use `results.pageInfo.endCursor` as `pageCursor` for next request
66
+ *
67
+ * The default sort order depends on the service type:
68
+ * - Identity provider services (e.g. Okta, Azure AD): sorted by email, ascending
69
+ * - Cloud provider services (e.g. AWS, GCP): sorted by account name, ascending
70
+ * - Role grant services: sorted by account name, ascending
71
+ * - Third-party application services (e.g. GitHub, Jira): sorted by account name, ascending
72
+ *
73
+ * Sort order cannot be customized via query parameters.
74
+ */
75
+ export function auditsListPersonnelAccountAccess(
76
+ client: VantaCore,
77
+ request: operations.ListPersonnelAccountAccessRequest,
78
+ options?: RequestOptions,
79
+ ): APIPromise<
80
+ Result<
81
+ components.PaginatedResponseAccountAccess,
82
+ | VantaError
83
+ | ResponseValidationError
84
+ | ConnectionError
85
+ | RequestAbortedError
86
+ | RequestTimeoutError
87
+ | InvalidRequestError
88
+ | UnexpectedClientError
89
+ | SDKValidationError
90
+ >
91
+ > {
92
+ return new APIPromise($do(
93
+ client,
94
+ request,
95
+ options,
96
+ ));
97
+ }
98
+
99
+ async function $do(
100
+ client: VantaCore,
101
+ request: operations.ListPersonnelAccountAccessRequest,
102
+ options?: RequestOptions,
103
+ ): Promise<
104
+ [
105
+ Result<
106
+ components.PaginatedResponseAccountAccess,
107
+ | VantaError
108
+ | ResponseValidationError
109
+ | ConnectionError
110
+ | RequestAbortedError
111
+ | RequestTimeoutError
112
+ | InvalidRequestError
113
+ | UnexpectedClientError
114
+ | SDKValidationError
115
+ >,
116
+ APICall,
117
+ ]
118
+ > {
119
+ const parsed = safeParse(
120
+ request,
121
+ (value) =>
122
+ operations.ListPersonnelAccountAccessRequest$outboundSchema.parse(value),
123
+ "Input validation failed",
124
+ );
125
+ if (!parsed.ok) {
126
+ return [parsed, { status: "invalid" }];
127
+ }
128
+ const payload = parsed.value;
129
+ const body = null;
130
+
131
+ const pathParams = {
132
+ auditId: encodeSimple("auditId", payload.auditId, {
133
+ explode: false,
134
+ charEncoding: "percent",
135
+ }),
136
+ serviceId: encodeSimple("serviceId", payload.serviceId, {
137
+ explode: false,
138
+ charEncoding: "percent",
139
+ }),
140
+ };
141
+ const path = pathToFunc(
142
+ "/audits/{auditId}/personnel/account-access/{serviceId}",
143
+ )(pathParams);
144
+
145
+ const query = encodeFormQuery({
146
+ "pageCursor": payload.pageCursor,
147
+ "pageSize": payload.pageSize,
148
+ "search": payload.search,
149
+ "status": payload.status,
150
+ });
151
+
152
+ const headers = new Headers(compactMap({
153
+ Accept: "application/json",
154
+ }));
155
+
156
+ const secConfig = await extractSecurity(client._options.bearerAuth);
157
+ const securityInput = secConfig == null ? {} : { bearerAuth: secConfig };
158
+ const requestSecurity = resolveGlobalSecurity(securityInput);
159
+
160
+ const context = {
161
+ options: client._options,
162
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
163
+ operationID: "ListPersonnelAccountAccess",
164
+ oAuth2Scopes: null,
165
+
166
+ resolvedSecurity: requestSecurity,
167
+
168
+ securitySource: client._options.bearerAuth,
169
+ retryConfig: options?.retries
170
+ || client._options.retryConfig
171
+ || { strategy: "none" },
172
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
173
+ };
174
+
175
+ const requestRes = client._createRequest(context, {
176
+ security: requestSecurity,
177
+ method: "GET",
178
+ baseURL: options?.serverURL,
179
+ path: path,
180
+ headers: headers,
181
+ query: query,
182
+ body: body,
183
+ userAgent: client._options.userAgent,
184
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
185
+ }, options);
186
+ if (!requestRes.ok) {
187
+ return [requestRes, { status: "invalid" }];
188
+ }
189
+ const req = requestRes.value;
190
+
191
+ const doResult = await client._do(req, {
192
+ context,
193
+ isErrorStatusCode: (statusCode: number) =>
194
+ matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
195
+ retryConfig: context.retryConfig,
196
+ retryCodes: context.retryCodes,
197
+ });
198
+ if (!doResult.ok) {
199
+ return [doResult, { status: "request-error", request: req }];
200
+ }
201
+ const response = doResult.value;
202
+
203
+ const [result] = await M.match<
204
+ components.PaginatedResponseAccountAccess,
205
+ | VantaError
206
+ | ResponseValidationError
207
+ | ConnectionError
208
+ | RequestAbortedError
209
+ | RequestTimeoutError
210
+ | InvalidRequestError
211
+ | UnexpectedClientError
212
+ | SDKValidationError
213
+ >(
214
+ M.json(200, components.PaginatedResponseAccountAccess$inboundSchema),
215
+ M.fail("4XX"),
216
+ M.fail("5XX"),
217
+ )(response, req);
218
+ if (!result.ok) {
219
+ return [result, { status: "complete", request: req, response }];
220
+ }
221
+
222
+ return [result, { status: "complete", request: req, response }];
223
+ }
@@ -0,0 +1,200 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { VantaCore } from "../core.js";
6
+ import { encodeFormQuery, encodeSimple } from "../lib/encodings.js";
7
+ import { matchStatusCode } from "../lib/http.js";
8
+ import * as M from "../lib/matchers.js";
9
+ import { compactMap } from "../lib/primitives.js";
10
+ import { safeParse } from "../lib/schemas.js";
11
+ import { RequestOptions } from "../lib/sdks.js";
12
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
13
+ import { pathToFunc } from "../lib/url.js";
14
+ import * as components from "../models/components/index.js";
15
+ import {
16
+ ConnectionError,
17
+ InvalidRequestError,
18
+ RequestAbortedError,
19
+ RequestTimeoutError,
20
+ UnexpectedClientError,
21
+ } from "../models/errors/httpclienterrors.js";
22
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
23
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
24
+ import { VantaError } from "../models/errors/vantaerror.js";
25
+ import * as operations from "../models/operations/index.js";
26
+ import { APICall, APIPromise } from "../types/async.js";
27
+ import { Result } from "../types/fp.js";
28
+
29
+ /**
30
+ * List groups for an audit
31
+ *
32
+ * @remarks
33
+ * Retrieves groups population data for an audit.
34
+ *
35
+ * This endpoint provides access to the group records visible to auditors
36
+ * during an audit engagement. Groups represent organizational units that
37
+ * contain people, either imported from an identity provider (IDP) or
38
+ * created manually in Vanta.
39
+ *
40
+ * Only Controlled Audit View (CAV) audits are supported. Full Audit
41
+ * View audits are rejected with 403.
42
+ *
43
+ * Supports filtering by:
44
+ * - `search`: Searches group names (case-insensitive)
45
+ * - `sourcesMatchesAny`: Filters by IDP source service names
46
+ *
47
+ * Results are sorted by name (ascending) by default.
48
+ * Use `orderBy` and `orderDirection` to customize sorting.
49
+ * Sort parameters must remain consistent across paginated requests.
50
+ *
51
+ * Uses cursor-based pagination. To paginate:
52
+ * 1. Make initial request with desired `pageSize`
53
+ * 2. Check `results.pageInfo.hasNextPage`
54
+ * 3. Use `results.pageInfo.endCursor` as `pageCursor` for next request
55
+ */
56
+ export function auditsListPersonnelGroups(
57
+ client: VantaCore,
58
+ request: operations.ListPersonnelGroupsRequest,
59
+ options?: RequestOptions,
60
+ ): APIPromise<
61
+ Result<
62
+ components.PaginatedResponsePersonnelGroup,
63
+ | VantaError
64
+ | ResponseValidationError
65
+ | ConnectionError
66
+ | RequestAbortedError
67
+ | RequestTimeoutError
68
+ | InvalidRequestError
69
+ | UnexpectedClientError
70
+ | SDKValidationError
71
+ >
72
+ > {
73
+ return new APIPromise($do(
74
+ client,
75
+ request,
76
+ options,
77
+ ));
78
+ }
79
+
80
+ async function $do(
81
+ client: VantaCore,
82
+ request: operations.ListPersonnelGroupsRequest,
83
+ options?: RequestOptions,
84
+ ): Promise<
85
+ [
86
+ Result<
87
+ components.PaginatedResponsePersonnelGroup,
88
+ | VantaError
89
+ | ResponseValidationError
90
+ | ConnectionError
91
+ | RequestAbortedError
92
+ | RequestTimeoutError
93
+ | InvalidRequestError
94
+ | UnexpectedClientError
95
+ | SDKValidationError
96
+ >,
97
+ APICall,
98
+ ]
99
+ > {
100
+ const parsed = safeParse(
101
+ request,
102
+ (value) =>
103
+ operations.ListPersonnelGroupsRequest$outboundSchema.parse(value),
104
+ "Input validation failed",
105
+ );
106
+ if (!parsed.ok) {
107
+ return [parsed, { status: "invalid" }];
108
+ }
109
+ const payload = parsed.value;
110
+ const body = null;
111
+
112
+ const pathParams = {
113
+ auditId: encodeSimple("auditId", payload.auditId, {
114
+ explode: false,
115
+ charEncoding: "percent",
116
+ }),
117
+ };
118
+ const path = pathToFunc("/audits/{auditId}/personnel/groups")(pathParams);
119
+
120
+ const query = encodeFormQuery({
121
+ "orderBy": payload.orderBy,
122
+ "orderDirection": payload.orderDirection,
123
+ "pageCursor": payload.pageCursor,
124
+ "pageSize": payload.pageSize,
125
+ "search": payload.search,
126
+ "sourcesMatchesAny": payload.sourcesMatchesAny,
127
+ });
128
+
129
+ const headers = new Headers(compactMap({
130
+ Accept: "application/json",
131
+ }));
132
+
133
+ const secConfig = await extractSecurity(client._options.bearerAuth);
134
+ const securityInput = secConfig == null ? {} : { bearerAuth: secConfig };
135
+ const requestSecurity = resolveGlobalSecurity(securityInput);
136
+
137
+ const context = {
138
+ options: client._options,
139
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
140
+ operationID: "ListPersonnelGroups",
141
+ oAuth2Scopes: null,
142
+
143
+ resolvedSecurity: requestSecurity,
144
+
145
+ securitySource: client._options.bearerAuth,
146
+ retryConfig: options?.retries
147
+ || client._options.retryConfig
148
+ || { strategy: "none" },
149
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
150
+ };
151
+
152
+ const requestRes = client._createRequest(context, {
153
+ security: requestSecurity,
154
+ method: "GET",
155
+ baseURL: options?.serverURL,
156
+ path: path,
157
+ headers: headers,
158
+ query: query,
159
+ body: body,
160
+ userAgent: client._options.userAgent,
161
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
162
+ }, options);
163
+ if (!requestRes.ok) {
164
+ return [requestRes, { status: "invalid" }];
165
+ }
166
+ const req = requestRes.value;
167
+
168
+ const doResult = await client._do(req, {
169
+ context,
170
+ isErrorStatusCode: (statusCode: number) =>
171
+ matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
172
+ retryConfig: context.retryConfig,
173
+ retryCodes: context.retryCodes,
174
+ });
175
+ if (!doResult.ok) {
176
+ return [doResult, { status: "request-error", request: req }];
177
+ }
178
+ const response = doResult.value;
179
+
180
+ const [result] = await M.match<
181
+ components.PaginatedResponsePersonnelGroup,
182
+ | VantaError
183
+ | ResponseValidationError
184
+ | ConnectionError
185
+ | RequestAbortedError
186
+ | RequestTimeoutError
187
+ | InvalidRequestError
188
+ | UnexpectedClientError
189
+ | SDKValidationError
190
+ >(
191
+ M.json(200, components.PaginatedResponsePersonnelGroup$inboundSchema),
192
+ M.fail("4XX"),
193
+ M.fail("5XX"),
194
+ )(response, req);
195
+ if (!result.ok) {
196
+ return [result, { status: "complete", request: req, response }];
197
+ }
198
+
199
+ return [result, { status: "complete", request: req, response }];
200
+ }
@@ -0,0 +1,198 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { VantaCore } from "../core.js";
6
+ import { encodeFormQuery, encodeSimple } from "../lib/encodings.js";
7
+ import { matchStatusCode } from "../lib/http.js";
8
+ import * as M from "../lib/matchers.js";
9
+ import { compactMap } from "../lib/primitives.js";
10
+ import { safeParse } from "../lib/schemas.js";
11
+ import { RequestOptions } from "../lib/sdks.js";
12
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
13
+ import { pathToFunc } from "../lib/url.js";
14
+ import * as components from "../models/components/index.js";
15
+ import {
16
+ ConnectionError,
17
+ InvalidRequestError,
18
+ RequestAbortedError,
19
+ RequestTimeoutError,
20
+ UnexpectedClientError,
21
+ } from "../models/errors/httpclienterrors.js";
22
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
23
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
24
+ import { VantaError } from "../models/errors/vantaerror.js";
25
+ import * as operations from "../models/operations/index.js";
26
+ import { APICall, APIPromise } from "../types/async.js";
27
+ import { Result } from "../types/fp.js";
28
+
29
+ /**
30
+ * List people for an audit
31
+ *
32
+ * @remarks
33
+ * Retrieves people population data for an audit.
34
+ *
35
+ * This endpoint provides access to the people records visible to auditors
36
+ * during an audit engagement. Only Controlled Audit View (CAV) audits
37
+ * are supported. Full Audit View audits are rejected with 403.
38
+ *
39
+ * Supports filtering by:
40
+ * - `search`: Searches names and email addresses
41
+ * - `status`: Filters by employment status
42
+ * - `groupsMatchesAny`: Filter people by group/role IDs
43
+ *
44
+ * Results are sorted by name (ascending) by default.
45
+ * Use `orderBy` and `orderDirection` to customize sorting.
46
+ * Sort parameters must remain consistent across paginated requests.
47
+ *
48
+ * Uses cursor-based pagination. To paginate:
49
+ * 1. Make initial request with desired `pageSize`
50
+ * 2. Check `results.pageInfo.hasNextPage`
51
+ * 3. Use `results.pageInfo.endCursor` as `pageCursor` for next request
52
+ */
53
+ export function auditsListPersonnelPeople(
54
+ client: VantaCore,
55
+ request: operations.ListPersonnelPeopleRequest,
56
+ options?: RequestOptions,
57
+ ): APIPromise<
58
+ Result<
59
+ components.PaginatedResponsePersonnelPerson,
60
+ | VantaError
61
+ | ResponseValidationError
62
+ | ConnectionError
63
+ | RequestAbortedError
64
+ | RequestTimeoutError
65
+ | InvalidRequestError
66
+ | UnexpectedClientError
67
+ | SDKValidationError
68
+ >
69
+ > {
70
+ return new APIPromise($do(
71
+ client,
72
+ request,
73
+ options,
74
+ ));
75
+ }
76
+
77
+ async function $do(
78
+ client: VantaCore,
79
+ request: operations.ListPersonnelPeopleRequest,
80
+ options?: RequestOptions,
81
+ ): Promise<
82
+ [
83
+ Result<
84
+ components.PaginatedResponsePersonnelPerson,
85
+ | VantaError
86
+ | ResponseValidationError
87
+ | ConnectionError
88
+ | RequestAbortedError
89
+ | RequestTimeoutError
90
+ | InvalidRequestError
91
+ | UnexpectedClientError
92
+ | SDKValidationError
93
+ >,
94
+ APICall,
95
+ ]
96
+ > {
97
+ const parsed = safeParse(
98
+ request,
99
+ (value) =>
100
+ operations.ListPersonnelPeopleRequest$outboundSchema.parse(value),
101
+ "Input validation failed",
102
+ );
103
+ if (!parsed.ok) {
104
+ return [parsed, { status: "invalid" }];
105
+ }
106
+ const payload = parsed.value;
107
+ const body = null;
108
+
109
+ const pathParams = {
110
+ auditId: encodeSimple("auditId", payload.auditId, {
111
+ explode: false,
112
+ charEncoding: "percent",
113
+ }),
114
+ };
115
+ const path = pathToFunc("/audits/{auditId}/personnel/people")(pathParams);
116
+
117
+ const query = encodeFormQuery({
118
+ "groupsMatchesAny": payload.groupsMatchesAny,
119
+ "orderBy": payload.orderBy,
120
+ "orderDirection": payload.orderDirection,
121
+ "pageCursor": payload.pageCursor,
122
+ "pageSize": payload.pageSize,
123
+ "search": payload.search,
124
+ "status": payload.status,
125
+ });
126
+
127
+ const headers = new Headers(compactMap({
128
+ Accept: "application/json",
129
+ }));
130
+
131
+ const secConfig = await extractSecurity(client._options.bearerAuth);
132
+ const securityInput = secConfig == null ? {} : { bearerAuth: secConfig };
133
+ const requestSecurity = resolveGlobalSecurity(securityInput);
134
+
135
+ const context = {
136
+ options: client._options,
137
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
138
+ operationID: "ListPersonnelPeople",
139
+ oAuth2Scopes: null,
140
+
141
+ resolvedSecurity: requestSecurity,
142
+
143
+ securitySource: client._options.bearerAuth,
144
+ retryConfig: options?.retries
145
+ || client._options.retryConfig
146
+ || { strategy: "none" },
147
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
148
+ };
149
+
150
+ const requestRes = client._createRequest(context, {
151
+ security: requestSecurity,
152
+ method: "GET",
153
+ baseURL: options?.serverURL,
154
+ path: path,
155
+ headers: headers,
156
+ query: query,
157
+ body: body,
158
+ userAgent: client._options.userAgent,
159
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
160
+ }, options);
161
+ if (!requestRes.ok) {
162
+ return [requestRes, { status: "invalid" }];
163
+ }
164
+ const req = requestRes.value;
165
+
166
+ const doResult = await client._do(req, {
167
+ context,
168
+ isErrorStatusCode: (statusCode: number) =>
169
+ matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
170
+ retryConfig: context.retryConfig,
171
+ retryCodes: context.retryCodes,
172
+ });
173
+ if (!doResult.ok) {
174
+ return [doResult, { status: "request-error", request: req }];
175
+ }
176
+ const response = doResult.value;
177
+
178
+ const [result] = await M.match<
179
+ components.PaginatedResponsePersonnelPerson,
180
+ | VantaError
181
+ | ResponseValidationError
182
+ | ConnectionError
183
+ | RequestAbortedError
184
+ | RequestTimeoutError
185
+ | InvalidRequestError
186
+ | UnexpectedClientError
187
+ | SDKValidationError
188
+ >(
189
+ M.json(200, components.PaginatedResponsePersonnelPerson$inboundSchema),
190
+ M.fail("4XX"),
191
+ M.fail("5XX"),
192
+ )(response, req);
193
+ if (!result.ok) {
194
+ return [result, { status: "complete", request: req, response }];
195
+ }
196
+
197
+ return [result, { status: "complete", request: req, response }];
198
+ }