@kombo-api/sdk 1.0.1 → 1.0.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 (319) hide show
  1. package/README.md +7 -3
  2. package/esm/funcs/assessmentUpdateOrderResult.js.map +1 -1
  3. package/esm/funcs/atsAddApplicationAttachment.js.map +1 -1
  4. package/esm/funcs/atsAddApplicationNote.js.map +1 -1
  5. package/esm/funcs/atsAddApplicationResultLink.js.map +1 -1
  6. package/esm/funcs/atsAddCandidateAttachment.js.map +1 -1
  7. package/esm/funcs/atsAddCandidateResultLink.js.map +1 -1
  8. package/esm/funcs/atsAddCandidateTag.js.map +1 -1
  9. package/esm/funcs/atsCreateApplication.js.map +1 -1
  10. package/esm/funcs/atsGetApplicationAttachments.js.map +1 -1
  11. package/esm/funcs/atsGetCandidateAttachments.js.map +1 -1
  12. package/esm/funcs/atsGetRoles.d.ts +25 -0
  13. package/esm/funcs/atsGetRoles.d.ts.map +1 -0
  14. package/esm/funcs/atsGetRoles.js +125 -0
  15. package/esm/funcs/atsGetRoles.js.map +1 -0
  16. package/esm/funcs/atsMoveApplicationToStage.d.ts +2 -1
  17. package/esm/funcs/atsMoveApplicationToStage.d.ts.map +1 -1
  18. package/esm/funcs/atsMoveApplicationToStage.js +2 -1
  19. package/esm/funcs/atsMoveApplicationToStage.js.map +1 -1
  20. package/esm/funcs/atsRejectApplication.js.map +1 -1
  21. package/esm/funcs/atsRemoveCandidateTag.js.map +1 -1
  22. package/esm/funcs/connectGetIntegrationByToken.js.map +1 -1
  23. package/esm/funcs/generalCreateReconnectionLink.js.map +1 -1
  24. package/esm/funcs/generalDeleteIntegration.js.map +1 -1
  25. package/esm/funcs/generalGetCustomFields.js.map +1 -1
  26. package/esm/funcs/generalGetIntegrationDetails.js.map +1 -1
  27. package/esm/funcs/generalGetIntegrationFields.js.map +1 -1
  28. package/esm/funcs/generalGetTools.js.map +1 -1
  29. package/esm/funcs/generalSendPassthroughRequest.d.ts +18 -5
  30. package/esm/funcs/generalSendPassthroughRequest.d.ts.map +1 -1
  31. package/esm/funcs/generalSendPassthroughRequest.js +18 -5
  32. package/esm/funcs/generalSendPassthroughRequest.js.map +1 -1
  33. package/esm/funcs/generalSetIntegrationEnabled.js.map +1 -1
  34. package/esm/funcs/generalUpdateCustomFieldMapping.js.map +1 -1
  35. package/esm/funcs/generalUpdateIntegrationField.js.map +1 -1
  36. package/esm/funcs/hrisAddEmployeeDocument.js.map +1 -1
  37. package/esm/funcs/hrisDeleteAbsence.js.map +1 -1
  38. package/esm/funcs/hrisGetPerformanceReviewCycles.d.ts +0 -2
  39. package/esm/funcs/hrisGetPerformanceReviewCycles.d.ts.map +1 -1
  40. package/esm/funcs/hrisGetPerformanceReviewCycles.js +0 -2
  41. package/esm/funcs/hrisGetPerformanceReviewCycles.js.map +1 -1
  42. package/esm/funcs/hrisGetPerformanceReviews.d.ts +0 -2
  43. package/esm/funcs/hrisGetPerformanceReviews.d.ts.map +1 -1
  44. package/esm/funcs/hrisGetPerformanceReviews.js +0 -2
  45. package/esm/funcs/hrisGetPerformanceReviews.js.map +1 -1
  46. package/esm/funcs/hrisGetStaffingEntities.d.ts +33 -0
  47. package/esm/funcs/hrisGetStaffingEntities.d.ts.map +1 -0
  48. package/esm/funcs/hrisGetStaffingEntities.js +134 -0
  49. package/esm/funcs/hrisGetStaffingEntities.js.map +1 -0
  50. package/esm/lib/config.d.ts +3 -3
  51. package/esm/lib/config.js +3 -3
  52. package/esm/lib/config.js.map +1 -1
  53. package/esm/lib/encodings.d.ts.map +1 -1
  54. package/esm/lib/encodings.js +20 -5
  55. package/esm/lib/encodings.js.map +1 -1
  56. package/esm/lib/files.d.ts +13 -0
  57. package/esm/lib/files.d.ts.map +1 -1
  58. package/esm/lib/files.js +18 -0
  59. package/esm/lib/files.js.map +1 -1
  60. package/esm/lib/matchers.d.ts.map +1 -1
  61. package/esm/lib/matchers.js +0 -1
  62. package/esm/lib/matchers.js.map +1 -1
  63. package/esm/lib/sdks.d.ts.map +1 -1
  64. package/esm/lib/sdks.js +8 -4
  65. package/esm/lib/sdks.js.map +1 -1
  66. package/esm/lib/security.d.ts.map +1 -1
  67. package/esm/lib/security.js +1 -2
  68. package/esm/lib/security.js.map +1 -1
  69. package/esm/lib/url.d.ts.map +1 -1
  70. package/esm/lib/url.js +4 -2
  71. package/esm/lib/url.js.map +1 -1
  72. package/esm/models/assessmentorderreceivedwebhookpayload.d.ts +5 -2
  73. package/esm/models/assessmentorderreceivedwebhookpayload.d.ts.map +1 -1
  74. package/esm/models/assessmentorderreceivedwebhookpayload.js +5 -2
  75. package/esm/models/assessmentorderreceivedwebhookpayload.js.map +1 -1
  76. package/esm/models/datachangedwebhookpayload.d.ts +7 -0
  77. package/esm/models/datachangedwebhookpayload.d.ts.map +1 -1
  78. package/esm/models/datachangedwebhookpayload.js +7 -0
  79. package/esm/models/datachangedwebhookpayload.js.map +1 -1
  80. package/esm/models/getassessmentordersopenpositiveresponse.d.ts +4 -1
  81. package/esm/models/getassessmentordersopenpositiveresponse.d.ts.map +1 -1
  82. package/esm/models/getassessmentordersopenpositiveresponse.js +4 -1
  83. package/esm/models/getassessmentordersopenpositiveresponse.js.map +1 -1
  84. package/esm/models/getatsjobspositiveresponse.d.ts +67 -1
  85. package/esm/models/getatsjobspositiveresponse.d.ts.map +1 -1
  86. package/esm/models/getatsjobspositiveresponse.js +36 -0
  87. package/esm/models/getatsjobspositiveresponse.js.map +1 -1
  88. package/esm/models/getatsrolespositiveresponse.d.ts +85 -0
  89. package/esm/models/getatsrolespositiveresponse.d.ts.map +1 -0
  90. package/esm/models/getatsrolespositiveresponse.js +57 -0
  91. package/esm/models/getatsrolespositiveresponse.js.map +1 -0
  92. package/esm/models/getatsuserspositiveresponse.d.ts +61 -0
  93. package/esm/models/getatsuserspositiveresponse.d.ts.map +1 -1
  94. package/esm/models/getatsuserspositiveresponse.js +33 -0
  95. package/esm/models/getatsuserspositiveresponse.js.map +1 -1
  96. package/esm/models/gethrisemployeespositiveresponse.d.ts +12 -12
  97. package/esm/models/gethrisemployeespositiveresponse.d.ts.map +1 -1
  98. package/esm/models/gethrisemployeespositiveresponse.js +12 -13
  99. package/esm/models/gethrisemployeespositiveresponse.js.map +1 -1
  100. package/esm/models/gethrisstaffingentitiespositiveresponse.d.ts +261 -0
  101. package/esm/models/gethrisstaffingentitiespositiveresponse.d.ts.map +1 -0
  102. package/esm/models/gethrisstaffingentitiespositiveresponse.js +143 -0
  103. package/esm/models/gethrisstaffingentitiespositiveresponse.js.map +1 -0
  104. package/esm/models/index.d.ts +2 -0
  105. package/esm/models/index.d.ts.map +1 -1
  106. package/esm/models/index.js +2 -0
  107. package/esm/models/index.js.map +1 -1
  108. package/esm/models/inlineassessmentorderreceivedwebhookpayload.d.ts +5 -2
  109. package/esm/models/inlineassessmentorderreceivedwebhookpayload.d.ts.map +1 -1
  110. package/esm/models/inlineassessmentorderreceivedwebhookpayload.js +5 -2
  111. package/esm/models/inlineassessmentorderreceivedwebhookpayload.js.map +1 -1
  112. package/esm/models/komboatserror.d.ts +1 -0
  113. package/esm/models/komboatserror.d.ts.map +1 -1
  114. package/esm/models/komboatserror.js +1 -0
  115. package/esm/models/komboatserror.js.map +1 -1
  116. package/esm/models/kombogeneralerror.d.ts +1 -0
  117. package/esm/models/kombogeneralerror.d.ts.map +1 -1
  118. package/esm/models/kombogeneralerror.js +1 -0
  119. package/esm/models/kombogeneralerror.js.map +1 -1
  120. package/esm/models/kombohriserror.d.ts +1 -0
  121. package/esm/models/kombohriserror.d.ts.map +1 -1
  122. package/esm/models/kombohriserror.js +1 -0
  123. package/esm/models/kombohriserror.js.map +1 -1
  124. package/esm/models/operations/getatsapplications.d.ts +9 -0
  125. package/esm/models/operations/getatsapplications.d.ts.map +1 -1
  126. package/esm/models/operations/getatsapplications.js.map +1 -1
  127. package/esm/models/operations/getatsapplicationstages.d.ts +2 -0
  128. package/esm/models/operations/getatsapplicationstages.d.ts.map +1 -1
  129. package/esm/models/operations/getatsapplicationstages.js.map +1 -1
  130. package/esm/models/operations/getatscandidates.d.ts +8 -0
  131. package/esm/models/operations/getatscandidates.d.ts.map +1 -1
  132. package/esm/models/operations/getatscandidates.js.map +1 -1
  133. package/esm/models/operations/getatsinterviews.d.ts +8 -0
  134. package/esm/models/operations/getatsinterviews.d.ts.map +1 -1
  135. package/esm/models/operations/getatsinterviews.js.map +1 -1
  136. package/esm/models/operations/getatsjobs.d.ts +11 -0
  137. package/esm/models/operations/getatsjobs.d.ts.map +1 -1
  138. package/esm/models/operations/getatsjobs.js.map +1 -1
  139. package/esm/models/operations/getatsoffers.d.ts +6 -0
  140. package/esm/models/operations/getatsoffers.d.ts.map +1 -1
  141. package/esm/models/operations/getatsoffers.js.map +1 -1
  142. package/esm/models/operations/getatsrejectionreasons.d.ts +2 -0
  143. package/esm/models/operations/getatsrejectionreasons.d.ts.map +1 -1
  144. package/esm/models/operations/getatsrejectionreasons.js.map +1 -1
  145. package/esm/models/operations/getatsroles.d.ts +79 -0
  146. package/esm/models/operations/getatsroles.d.ts.map +1 -0
  147. package/esm/models/operations/getatsroles.js +33 -0
  148. package/esm/models/operations/getatsroles.js.map +1 -0
  149. package/esm/models/operations/getatstags.d.ts +2 -0
  150. package/esm/models/operations/getatstags.d.ts.map +1 -1
  151. package/esm/models/operations/getatstags.js.map +1 -1
  152. package/esm/models/operations/getatsusers.d.ts +5 -0
  153. package/esm/models/operations/getatsusers.d.ts.map +1 -1
  154. package/esm/models/operations/getatsusers.js.map +1 -1
  155. package/esm/models/operations/gethrisabsences.d.ts +4 -0
  156. package/esm/models/operations/gethrisabsences.d.ts.map +1 -1
  157. package/esm/models/operations/gethrisabsences.js.map +1 -1
  158. package/esm/models/operations/gethrisabsencetypes.d.ts +2 -0
  159. package/esm/models/operations/gethrisabsencetypes.d.ts.map +1 -1
  160. package/esm/models/operations/gethrisabsencetypes.js.map +1 -1
  161. package/esm/models/operations/gethrisemployeedocumentcategories.d.ts +2 -0
  162. package/esm/models/operations/gethrisemployeedocumentcategories.d.ts.map +1 -1
  163. package/esm/models/operations/gethrisemployeedocumentcategories.js.map +1 -1
  164. package/esm/models/operations/gethrisemployees.d.ts +10 -0
  165. package/esm/models/operations/gethrisemployees.d.ts.map +1 -1
  166. package/esm/models/operations/gethrisemployees.js.map +1 -1
  167. package/esm/models/operations/gethrisemployments.d.ts +2 -0
  168. package/esm/models/operations/gethrisemployments.d.ts.map +1 -1
  169. package/esm/models/operations/gethrisemployments.js.map +1 -1
  170. package/esm/models/operations/gethrisgroups.d.ts +2 -0
  171. package/esm/models/operations/gethrisgroups.d.ts.map +1 -1
  172. package/esm/models/operations/gethrisgroups.js.map +1 -1
  173. package/esm/models/operations/gethrislegalentities.d.ts +2 -0
  174. package/esm/models/operations/gethrislegalentities.d.ts.map +1 -1
  175. package/esm/models/operations/gethrislegalentities.js.map +1 -1
  176. package/esm/models/operations/gethrislocations.d.ts +2 -0
  177. package/esm/models/operations/gethrislocations.d.ts.map +1 -1
  178. package/esm/models/operations/gethrislocations.js.map +1 -1
  179. package/esm/models/operations/gethrisperformancereviewcycles.d.ts +2 -0
  180. package/esm/models/operations/gethrisperformancereviewcycles.d.ts.map +1 -1
  181. package/esm/models/operations/gethrisperformancereviewcycles.js.map +1 -1
  182. package/esm/models/operations/gethrisperformancereviews.d.ts +6 -0
  183. package/esm/models/operations/gethrisperformancereviews.d.ts.map +1 -1
  184. package/esm/models/operations/gethrisperformancereviews.js.map +1 -1
  185. package/esm/models/operations/gethrisstaffingentities.d.ts +93 -0
  186. package/esm/models/operations/gethrisstaffingentities.d.ts.map +1 -0
  187. package/esm/models/operations/gethrisstaffingentities.js +34 -0
  188. package/esm/models/operations/gethrisstaffingentities.js.map +1 -0
  189. package/esm/models/operations/gethristimeoffbalances.d.ts +4 -0
  190. package/esm/models/operations/gethristimeoffbalances.d.ts.map +1 -1
  191. package/esm/models/operations/gethristimeoffbalances.js.map +1 -1
  192. package/esm/models/operations/gethristimesheets.d.ts +2 -0
  193. package/esm/models/operations/gethristimesheets.d.ts.map +1 -1
  194. package/esm/models/operations/gethristimesheets.js.map +1 -1
  195. package/esm/models/operations/index.d.ts +2 -0
  196. package/esm/models/operations/index.d.ts.map +1 -1
  197. package/esm/models/operations/index.js +2 -0
  198. package/esm/models/operations/index.js.map +1 -1
  199. package/esm/models/postatsapplicationsapplicationidnotesrequestbody.d.ts +21 -0
  200. package/esm/models/postatsapplicationsapplicationidnotesrequestbody.d.ts.map +1 -1
  201. package/esm/models/postatsapplicationsapplicationidnotesrequestbody.js +8 -0
  202. package/esm/models/postatsapplicationsapplicationidnotesrequestbody.js.map +1 -1
  203. package/esm/models/postatscandidatesrequestbody.d.ts +60 -0
  204. package/esm/models/postatscandidatesrequestbody.d.ts.map +1 -1
  205. package/esm/models/postatscandidatesrequestbody.js +30 -0
  206. package/esm/models/postatscandidatesrequestbody.js.map +1 -1
  207. package/esm/models/postatsjobsjobidapplicationsrequestbody.d.ts +60 -0
  208. package/esm/models/postatsjobsjobidapplicationsrequestbody.d.ts.map +1 -1
  209. package/esm/models/postatsjobsjobidapplicationsrequestbody.js +30 -0
  210. package/esm/models/postatsjobsjobidapplicationsrequestbody.js.map +1 -1
  211. package/esm/models/postconnectcreatelinkrequestbody.d.ts +4 -0
  212. package/esm/models/postconnectcreatelinkrequestbody.d.ts.map +1 -1
  213. package/esm/models/postconnectcreatelinkrequestbody.js +4 -0
  214. package/esm/models/postconnectcreatelinkrequestbody.js.map +1 -1
  215. package/esm/models/putassessmentordersassessmentorderidresultrequestbody.d.ts +15 -0
  216. package/esm/models/putassessmentordersassessmentorderidresultrequestbody.d.ts.map +1 -1
  217. package/esm/models/putassessmentordersassessmentorderidresultrequestbody.js +9 -0
  218. package/esm/models/putassessmentordersassessmentorderidresultrequestbody.js.map +1 -1
  219. package/esm/models/putatsapplicationsapplicationidstagerequestbody.d.ts +40 -0
  220. package/esm/models/putatsapplicationsapplicationidstagerequestbody.d.ts.map +1 -1
  221. package/esm/models/putatsapplicationsapplicationidstagerequestbody.js +24 -0
  222. package/esm/models/putatsapplicationsapplicationidstagerequestbody.js.map +1 -1
  223. package/esm/sdk/ats.d.ts +15 -1
  224. package/esm/sdk/ats.d.ts.map +1 -1
  225. package/esm/sdk/ats.js +16 -1
  226. package/esm/sdk/ats.js.map +1 -1
  227. package/esm/sdk/general.d.ts +18 -5
  228. package/esm/sdk/general.d.ts.map +1 -1
  229. package/esm/sdk/general.js +18 -5
  230. package/esm/sdk/general.js.map +1 -1
  231. package/esm/sdk/hris.d.ts +21 -4
  232. package/esm/sdk/hris.d.ts.map +1 -1
  233. package/esm/sdk/hris.js +22 -4
  234. package/esm/sdk/hris.js.map +1 -1
  235. package/jsr.json +1 -1
  236. package/package.json +1 -1
  237. package/src/funcs/assessmentUpdateOrderResult.ts +0 -1
  238. package/src/funcs/atsAddApplicationAttachment.ts +0 -1
  239. package/src/funcs/atsAddApplicationNote.ts +0 -1
  240. package/src/funcs/atsAddApplicationResultLink.ts +0 -1
  241. package/src/funcs/atsAddCandidateAttachment.ts +0 -1
  242. package/src/funcs/atsAddCandidateResultLink.ts +0 -1
  243. package/src/funcs/atsAddCandidateTag.ts +0 -1
  244. package/src/funcs/atsCreateApplication.ts +0 -1
  245. package/src/funcs/atsGetApplicationAttachments.ts +0 -1
  246. package/src/funcs/atsGetCandidateAttachments.ts +0 -1
  247. package/src/funcs/atsGetRoles.ts +256 -0
  248. package/src/funcs/atsMoveApplicationToStage.ts +2 -2
  249. package/src/funcs/atsRejectApplication.ts +0 -1
  250. package/src/funcs/atsRemoveCandidateTag.ts +0 -1
  251. package/src/funcs/connectGetIntegrationByToken.ts +0 -1
  252. package/src/funcs/generalCreateReconnectionLink.ts +0 -1
  253. package/src/funcs/generalDeleteIntegration.ts +0 -1
  254. package/src/funcs/generalGetCustomFields.ts +0 -1
  255. package/src/funcs/generalGetIntegrationDetails.ts +0 -1
  256. package/src/funcs/generalGetIntegrationFields.ts +0 -1
  257. package/src/funcs/generalGetTools.ts +0 -1
  258. package/src/funcs/generalSendPassthroughRequest.ts +18 -6
  259. package/src/funcs/generalSetIntegrationEnabled.ts +0 -1
  260. package/src/funcs/generalUpdateCustomFieldMapping.ts +0 -1
  261. package/src/funcs/generalUpdateIntegrationField.ts +0 -1
  262. package/src/funcs/hrisAddEmployeeDocument.ts +0 -1
  263. package/src/funcs/hrisDeleteAbsence.ts +0 -1
  264. package/src/funcs/hrisGetPerformanceReviewCycles.ts +0 -2
  265. package/src/funcs/hrisGetPerformanceReviews.ts +0 -2
  266. package/src/funcs/hrisGetStaffingEntities.ts +267 -0
  267. package/src/lib/config.ts +3 -3
  268. package/src/lib/encodings.ts +23 -4
  269. package/src/lib/files.ts +22 -0
  270. package/src/lib/matchers.ts +3 -2
  271. package/src/lib/sdks.ts +7 -5
  272. package/src/lib/security.ts +1 -2
  273. package/src/lib/url.ts +16 -14
  274. package/src/models/assessmentorderreceivedwebhookpayload.ts +7 -4
  275. package/src/models/datachangedwebhookpayload.ts +8 -0
  276. package/src/models/getassessmentordersopenpositiveresponse.ts +5 -2
  277. package/src/models/getatsjobspositiveresponse.ts +100 -1
  278. package/src/models/getatsrolespositiveresponse.ts +167 -0
  279. package/src/models/getatsuserspositiveresponse.ts +97 -0
  280. package/src/models/gethrisemployeespositiveresponse.ts +55 -37
  281. package/src/models/gethrisstaffingentitiespositiveresponse.ts +509 -0
  282. package/src/models/index.ts +2 -0
  283. package/src/models/inlineassessmentorderreceivedwebhookpayload.ts +7 -4
  284. package/src/models/komboatserror.ts +1 -0
  285. package/src/models/kombogeneralerror.ts +1 -0
  286. package/src/models/kombohriserror.ts +1 -0
  287. package/src/models/operations/getatsapplications.ts +9 -0
  288. package/src/models/operations/getatsapplicationstages.ts +2 -0
  289. package/src/models/operations/getatscandidates.ts +8 -0
  290. package/src/models/operations/getatsinterviews.ts +8 -0
  291. package/src/models/operations/getatsjobs.ts +11 -0
  292. package/src/models/operations/getatsoffers.ts +6 -0
  293. package/src/models/operations/getatsrejectionreasons.ts +2 -0
  294. package/src/models/operations/getatsroles.ts +129 -0
  295. package/src/models/operations/getatstags.ts +2 -0
  296. package/src/models/operations/getatsusers.ts +5 -0
  297. package/src/models/operations/gethrisabsences.ts +4 -0
  298. package/src/models/operations/gethrisabsencetypes.ts +2 -0
  299. package/src/models/operations/gethrisemployeedocumentcategories.ts +2 -0
  300. package/src/models/operations/gethrisemployees.ts +10 -0
  301. package/src/models/operations/gethrisemployments.ts +2 -0
  302. package/src/models/operations/gethrisgroups.ts +2 -0
  303. package/src/models/operations/gethrislegalentities.ts +2 -0
  304. package/src/models/operations/gethrislocations.ts +2 -0
  305. package/src/models/operations/gethrisperformancereviewcycles.ts +2 -0
  306. package/src/models/operations/gethrisperformancereviews.ts +6 -0
  307. package/src/models/operations/gethrisstaffingentities.ts +146 -0
  308. package/src/models/operations/gethristimeoffbalances.ts +4 -0
  309. package/src/models/operations/gethristimesheets.ts +2 -0
  310. package/src/models/operations/index.ts +2 -0
  311. package/src/models/postatsapplicationsapplicationidnotesrequestbody.ts +46 -0
  312. package/src/models/postatscandidatesrequestbody.ts +110 -0
  313. package/src/models/postatsjobsjobidapplicationsrequestbody.ts +114 -0
  314. package/src/models/postconnectcreatelinkrequestbody.ts +4 -0
  315. package/src/models/putassessmentordersassessmentorderidresultrequestbody.ts +42 -0
  316. package/src/models/putatsapplicationsapplicationidstagerequestbody.ts +74 -0
  317. package/src/sdk/ats.ts +24 -1
  318. package/src/sdk/general.ts +18 -5
  319. package/src/sdk/hris.ts +32 -4
@@ -0,0 +1,256 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { KomboCore } from "../core.js";
6
+ import { dlv } from "../lib/dlv.js";
7
+ import { encodeFormQuery, encodeSimple, queryJoin } from "../lib/encodings.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 {
15
+ ConnectionError,
16
+ InvalidRequestError,
17
+ RequestAbortedError,
18
+ RequestTimeoutError,
19
+ UnexpectedClientError,
20
+ } from "../models/errors/httpclienterrors.js";
21
+ import * as errors from "../models/errors/index.js";
22
+ import { KomboError } from "../models/errors/komboerror.js";
23
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
24
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.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
+ import {
29
+ createPageIterator,
30
+ haltIterator,
31
+ PageIterator,
32
+ Paginator,
33
+ } from "../types/operations.js";
34
+
35
+ /**
36
+ * Get roles
37
+ *
38
+ * @remarks
39
+ * Retrieve all roles.
40
+ *
41
+ * Visit our in-depth guide about [roles](/ats/features/roles) to learn more.
42
+ *
43
+ * Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`
44
+ */
45
+ export function atsGetRoles(
46
+ client: KomboCore,
47
+ request?: operations.GetAtsRolesRequest | undefined,
48
+ options?: RequestOptions,
49
+ ): APIPromise<
50
+ PageIterator<
51
+ Result<
52
+ operations.GetAtsRolesResponse,
53
+ | errors.KomboAtsError
54
+ | KomboError
55
+ | ResponseValidationError
56
+ | ConnectionError
57
+ | RequestAbortedError
58
+ | RequestTimeoutError
59
+ | InvalidRequestError
60
+ | UnexpectedClientError
61
+ | SDKValidationError
62
+ >,
63
+ { cursor: string }
64
+ >
65
+ > {
66
+ return new APIPromise($do(
67
+ client,
68
+ request,
69
+ options,
70
+ ));
71
+ }
72
+
73
+ async function $do(
74
+ client: KomboCore,
75
+ request?: operations.GetAtsRolesRequest | undefined,
76
+ options?: RequestOptions,
77
+ ): Promise<
78
+ [
79
+ PageIterator<
80
+ Result<
81
+ operations.GetAtsRolesResponse,
82
+ | errors.KomboAtsError
83
+ | KomboError
84
+ | ResponseValidationError
85
+ | ConnectionError
86
+ | RequestAbortedError
87
+ | RequestTimeoutError
88
+ | InvalidRequestError
89
+ | UnexpectedClientError
90
+ | SDKValidationError
91
+ >,
92
+ { cursor: string }
93
+ >,
94
+ APICall,
95
+ ]
96
+ > {
97
+ const parsed = safeParse(
98
+ request,
99
+ (value) =>
100
+ operations.GetAtsRolesRequest$outboundSchema.optional().parse(value),
101
+ "Input validation failed",
102
+ );
103
+ if (!parsed.ok) {
104
+ return [haltIterator(parsed), { status: "invalid" }];
105
+ }
106
+ const payload = parsed.value;
107
+ const body = null;
108
+
109
+ const path = pathToFunc("/ats/roles")();
110
+
111
+ const query = queryJoin(
112
+ encodeFormQuery({
113
+ "ids": payload?.ids,
114
+ "remote_ids": payload?.remote_ids,
115
+ "scopes": payload?.scopes,
116
+ }, { explode: false }),
117
+ encodeFormQuery({
118
+ "cursor": payload?.cursor,
119
+ "ignore_unsupported_filters": payload?.ignore_unsupported_filters,
120
+ "include_deleted": payload?.include_deleted,
121
+ "page_size": payload?.page_size,
122
+ "updated_after": payload?.updated_after,
123
+ }),
124
+ );
125
+
126
+ const headers = new Headers(compactMap({
127
+ Accept: "application/json",
128
+ "X-Integration-Id": encodeSimple(
129
+ "X-Integration-Id",
130
+ client._options.integration_id,
131
+ { explode: false, charEncoding: "none" },
132
+ ),
133
+ }));
134
+
135
+ const secConfig = await extractSecurity(client._options.api_key);
136
+ const securityInput = secConfig == null ? {} : { api_key: secConfig };
137
+ const requestSecurity = resolveGlobalSecurity(securityInput);
138
+
139
+ const context = {
140
+ options: client._options,
141
+ base_url: options?.server_url ?? client._baseURL ?? "",
142
+ operation_id: "GetAtsRoles",
143
+ o_auth2_scopes: null,
144
+
145
+ resolved_security: requestSecurity,
146
+
147
+ security_source: client._options.api_key,
148
+ retry_config: options?.retries
149
+ || client._options.retry_config
150
+ || { strategy: "none" },
151
+ retry_codes: options?.retry_codes || ["429", "500", "502", "503", "504"],
152
+ };
153
+
154
+ const requestRes = client._createRequest(context, {
155
+ security: requestSecurity,
156
+ method: "GET",
157
+ baseURL: options?.server_url,
158
+ path: path,
159
+ headers: headers,
160
+ query: query,
161
+ body: body,
162
+ userAgent: client._options.user_agent,
163
+ timeout_ms: options?.timeout_ms || client._options.timeout_ms || -1,
164
+ }, options);
165
+ if (!requestRes.ok) {
166
+ return [haltIterator(requestRes), { status: "invalid" }];
167
+ }
168
+ const req = requestRes.value;
169
+
170
+ const doResult = await client._do(req, {
171
+ context,
172
+ errorCodes: ["default"],
173
+ retryConfig: context.retry_config,
174
+ retryCodes: context.retry_codes,
175
+ });
176
+ if (!doResult.ok) {
177
+ return [haltIterator(doResult), { status: "request-error", request: req }];
178
+ }
179
+ const response = doResult.value;
180
+
181
+ const responseFields = {
182
+ HttpMeta: { Response: response, Request: req },
183
+ };
184
+
185
+ const [result, raw] = await M.match<
186
+ operations.GetAtsRolesResponse,
187
+ | errors.KomboAtsError
188
+ | KomboError
189
+ | ResponseValidationError
190
+ | ConnectionError
191
+ | RequestAbortedError
192
+ | RequestTimeoutError
193
+ | InvalidRequestError
194
+ | UnexpectedClientError
195
+ | SDKValidationError
196
+ >(
197
+ M.json(200, operations.GetAtsRolesResponse$inboundSchema, {
198
+ key: "Result",
199
+ }),
200
+ M.jsonErr("default", errors.KomboAtsError$inboundSchema),
201
+ )(response, req, { extraFields: responseFields });
202
+ if (!result.ok) {
203
+ return [haltIterator(result), {
204
+ status: "complete",
205
+ request: req,
206
+ response,
207
+ }];
208
+ }
209
+
210
+ const nextFunc = (
211
+ responseData: unknown,
212
+ ): {
213
+ next: Paginator<
214
+ Result<
215
+ operations.GetAtsRolesResponse,
216
+ | errors.KomboAtsError
217
+ | KomboError
218
+ | ResponseValidationError
219
+ | ConnectionError
220
+ | RequestAbortedError
221
+ | RequestTimeoutError
222
+ | InvalidRequestError
223
+ | UnexpectedClientError
224
+ | SDKValidationError
225
+ >
226
+ >;
227
+ "~next"?: { cursor: string };
228
+ } => {
229
+ const nextCursor = dlv(responseData, "data.next");
230
+ if (typeof nextCursor !== "string") {
231
+ return { next: () => null };
232
+ }
233
+ if (nextCursor.trim() === "") {
234
+ return { next: () => null };
235
+ }
236
+
237
+ const nextVal = () =>
238
+ atsGetRoles(
239
+ client,
240
+ {
241
+ ...request!,
242
+ cursor: nextCursor,
243
+ },
244
+ options,
245
+ );
246
+
247
+ return { next: nextVal, "~next": { cursor: nextCursor } };
248
+ };
249
+
250
+ const page = { ...result, ...nextFunc(raw) };
251
+ return [{ ...page, ...createPageIterator(page, (v) => !v.ok) }, {
252
+ status: "complete",
253
+ request: req,
254
+ response,
255
+ }];
256
+ }
@@ -40,7 +40,8 @@ import { Result } from "../types/fp.js";
40
40
  *
41
41
  * ```json
42
42
  * {
43
- * "stage_id": "3PJ8PZhZZa1eEdd2DtPNtVup"
43
+ * "stage_id": "3PJ8PZhZZa1eEdd2DtPNtVup",
44
+ * "remote_fields": {}
44
45
  * }
45
46
  * ```
46
47
  */
@@ -109,7 +110,6 @@ async function $do(
109
110
  charEncoding: "percent",
110
111
  }),
111
112
  };
112
-
113
113
  const path = pathToFunc("/ats/applications/{application_id}/stage")(
114
114
  pathParams,
115
115
  );
@@ -113,7 +113,6 @@ async function $do(
113
113
  charEncoding: "percent",
114
114
  }),
115
115
  };
116
-
117
116
  const path = pathToFunc("/ats/applications/{application_id}/reject")(
118
117
  pathParams,
119
118
  );
@@ -114,7 +114,6 @@ async function $do(
114
114
  charEncoding: "percent",
115
115
  }),
116
116
  };
117
-
118
117
  const path = pathToFunc("/ats/candidates/{candidate_id}/tags")(pathParams);
119
118
 
120
119
  const headers = new Headers(compactMap({
@@ -108,7 +108,6 @@ async function $do(
108
108
  charEncoding: "percent",
109
109
  }),
110
110
  };
111
-
112
111
  const path = pathToFunc("/connect/integration-by-token/{token}")(pathParams);
113
112
 
114
113
  const headers = new Headers(compactMap({
@@ -109,7 +109,6 @@ async function $do(
109
109
  charEncoding: "percent",
110
110
  }),
111
111
  };
112
-
113
112
  const path = pathToFunc("/integrations/{integration_id}/relink")(pathParams);
114
113
 
115
114
  const headers = new Headers(compactMap({
@@ -99,7 +99,6 @@ async function $do(
99
99
  charEncoding: "percent",
100
100
  }),
101
101
  };
102
-
103
102
  const path = pathToFunc("/integrations/{integration_id}")(pathParams);
104
103
 
105
104
  const headers = new Headers(compactMap({
@@ -110,7 +110,6 @@ async function $do(
110
110
  charEncoding: "percent",
111
111
  }),
112
112
  };
113
-
114
113
  const path = pathToFunc("/integrations/{integration_id}/custom-fields")(
115
114
  pathParams,
116
115
  );
@@ -98,7 +98,6 @@ async function $do(
98
98
  charEncoding: "percent",
99
99
  }),
100
100
  };
101
-
102
101
  const path = pathToFunc("/integrations/{integration_id}")(pathParams);
103
102
 
104
103
  const headers = new Headers(compactMap({
@@ -111,7 +111,6 @@ async function $do(
111
111
  charEncoding: "percent",
112
112
  }),
113
113
  };
114
-
115
114
  const path = pathToFunc("/integrations/{integration_id}/integration-fields")(
116
115
  pathParams,
117
116
  );
@@ -96,7 +96,6 @@ async function $do(
96
96
  charEncoding: "percent",
97
97
  }),
98
98
  };
99
-
100
99
  const path = pathToFunc("/tools/{category}")(pathParams);
101
100
 
102
101
  const headers = new Headers(compactMap({
@@ -59,6 +59,7 @@ import { Result } from "../types/fp.js";
59
59
  * |BoondManager|`boondmanager/api`|BoondManager [REST API](https://ui.boondmanager.com/administrator/developer/apisandbox). We automatically authenticate all requests and use `https://ui.boondmanager.com/api` as the base URL.|
60
60
  * |Breezy HR|`breezyhr/v3`|[BreezyHR's v3 API](https://developer.breezy.hr/reference/overview). We automatically authenticate all requests and use "https://api.breezy.hr/v3/" as the base URL.|
61
61
  * |Bullhorn|`bullhorn/default`|[Bullhorn's API](https://bullhorn.github.io/rest-api-docs/index.html). We automatically use the right `https://rest.bullhornstaffing.com/rest-services/\{corpToken\}` base URL.|
62
+ * |CareerPlug|`careerplug/api`|We use `https://api.careerplug.com` as the base URL. Find the official docs [here](https://api.careerplug.com/docs#api).|
62
63
  * |Carerix|`carerix/api`|Carerix [REST API](https://docs.carerix.io/rest/introduction). We automatically authenticate all requests and use `https://api.carerix.com` as the base URL. Please note that Carerix uses XML for request and response bodies.|
63
64
  * |CEGID TalentSoft Customer|`talentsoftcustomer/v1`|Cegid Talentsoft Recruiting FrontOffice API: [API Documentation](https://developers.cegid.com/api-details#api=cegid-talentsoft-recruiting-frontoffice) We automatically authenticate all requests and use `https://\{customer_subdomain\}.talent-soft.com/api/v1` as the base URL.|
64
65
  * |CEGID TalentSoft FrontOffice|`talentsoft/v2`|Cegid Talentsoft Recruiting FrontOffice [API](https://developers.cegid.com/api-details). We automatically authenticate all requests using the provided credentials and use `https://\{domain\}/api/v2` as the base URL.|
@@ -68,9 +69,11 @@ import { Result } from "../types/fp.js";
68
69
  * |Connexys By Bullhorn|`connexys/api`|[Connexy's API](https://api.conexsys.com/client/v2/docs/#section/Overview). We automatically authenticate all requests and use `https://\{connexys_domain\}/` as the base URL.|
69
70
  * |Cornerstone OnDemand|`cornerstoneondemand/learning`|Cornerstone's [Learning API](https://csod.dev/reference/learning/). We automatically authenticate all requests using the client ID and secret and use `https://\{your_domain\}.csod.com/services/api` as the base URL.|
70
71
  * |Cornerstone OnDemand|`cornerstoneondemand/recruiting`|Cornerstone's [Recruiting API](https://csod.dev/reference/recruiting/). We automatically authenticate all requests using the client ID and secret and use `https://\{your_domain\}.csod.com/services/api` as the base URL.|
72
+ * |Cornerstone TalentLink|`cornerstonetalentlink/apply`|Cornerstone TalentLink's Apply API. We automatically authenticate all requests using the provided credentials and API key, and use `https://apiproxy.shared.lumessetalentlink.com/apply` as the base URL.|
73
+ * |Cornerstone TalentLink|`cornerstonetalentlink/rest`|Cornerstone TalentLink's [REST API](https://developer.lumesse-talenthub.com/rest-api-developers-guide/1.21.33/index.html?page=rest-api&subpage=introduction). We automatically authenticate all requests using the provided credentials and API key, and use `https://apiproxy.shared.lumessetalentlink.com/tlk/rest` as the base URL.|
71
74
  * |Coveto (legacy SOAP API)|`coveto/public`|We automatically use `https://\{subdomain\}.coveto.de` as the base URL.|
72
75
  * |Coveto (REST API)|`covetorest/v1`|We automatically use `https://\{subdomain\}.coveto.de/public/api/v1` as the base URL. https://demo.coveto.de/swagger-ui/index.html#/|
73
- * |Crelate|`crelate/api`|Crelate [REST API](https://help.crelate.com/en/articles/4120536-crelate-api-developer-guide). We automatically authenticate all requests and use `https://app.crelate.com/api3` as the base URL.|
76
+ * |Crelate|`crelate/api`|Crelate [REST API](https://app.crelate.com/api3/docs/index.html). We automatically authenticate all requests and use `https://app.crelate.com/api3` as the base URL.|
74
77
  * |d.vinci admin|`dvinciadmin/odata-api`|[DVinci ODATA API](https://dvinci.freshdesk.com/en/support/solutions/articles/75000059523-odata-reporting-api).|
75
78
  * |d.vinci admin|`dvinciadmin/rest-api`|[DVinci REST API](https://static.dvinci-easy.com/files/d.vinci%20rest-api.html).|
76
79
  * |d.vinci|`dvinci/apply-api`|The [DVinci Apply API](https://static.dvinci-easy.com/files/d.vinci%20application-apply-api.html). All requests are authenticated by Kombo and use `https://\{dvinci_domain\}/p/\{portal_path\}/` as the base URL.|
@@ -81,6 +84,7 @@ import { Result } from "../types/fp.js";
81
84
  * |DATEV|`datevhr/hr:payrollreports`|DATEV's [hr:payrollreports](https://developer.datev.de/en/product-detail/hr-payrollreports/2.0.0/overview) API. We automatically authenticate all requests and use `https://hr-payrollreports.api.datev.de/\{platform|platform-sandbox\}/v1/clients/\{client-id\}/` as the base URL.|
82
85
  * |Dayforce|`dayforce/V1`|[Dayforce's API](https://developers.dayforce.com/Build/Home.aspx). We automatically authenticate all requests and use `\{\{baseUrl\}\}/Api/\{\{clientNamespace\}\}/V1` as the base URL|
83
86
  * |Deel|`deel/api`|Deel's [API](https://developer.deel.com/reference/). We automatically authenticate all requests using the provided credentials and use `https://\{api_domain\}/rest` as the base URL.|
87
+ * |Digital Recruiters|`digitalrecruiters/api`|Cegid Digital Recruiters [Talent Acquisition API](https://cegid-hr-developers.talentsoft.net/docs/tutorial-basics/Talent%20Acquisition/Getting%20Started). We automatically authenticate all requests by replacing `:token` in the request URL with your configured access token and use your configured Digital Recruiters domain as the base URL.|
84
88
  * |Eightfold|`eightfold/api`|Eightfold's [API](https://apidocs.eightfold.ai/). We automatically authenticate all requests and use `https://apiv2.\{region\}/api/v2/core/` as the base URL.|
85
89
  * |Employment Hero|`employmenthero/default`|EmploymentHero [API](https://developer.employmenthero.com/api-references/#icon-book-open-introduction). We automatically authenticate all requests using the credentials supplied by the customer and use `https://api.employmenthero.com/api` as the base URL.|
86
90
  * |Eploy|`eploy/api`|Eploy's [API](https://www.eploy.com/resources/developers/api-documentation/). We automatically authenticate all requests and use `https://\{subdomain\}.eploy.net/api` as the base URL.|
@@ -97,15 +101,17 @@ import { Result } from "../types/fp.js";
97
101
  * |Greenhouse Job Board|`greenhousejobboard/boards-api`|[Greenhouse Job Board API](https://developers.greenhouse.io/job-board). We automatically authenticate all requests and use 'https://boards-api.greenhouse.io/v1/boards/\{job_board_token\}' as the base URL. Optionally, you can provide a custom job_board_token to use a different job board.|
98
102
  * |Greenhouse|`greenhouse/harvest-v2`|Greenhouse [Harvest API v2](https://developers.greenhouse.io/harvest.html). We automatically authenticate all requests using the API key and use `https://harvest.greenhouse.io/v2` as the base URL.|
99
103
  * |Greenhouse|`greenhouse/harvest`|Greenhouse [Harvest API v1](https://developers.greenhouse.io/harvest.html). We automatically authenticate all requests using the API key and use `https://harvest.greenhouse.io/v1` as the base URL.|
104
+ * |Gusto|`gusto/v1`|[Gusto API](https://docs.gusto.com/app-integrations/docs/introduction). We automatically authenticate all requests with OAuth and use `\{api_base_url\}/v1` as the base URL (`https://api.gusto.com/v1` in production, `https://api.gusto-demo.com/v1` in development).|
100
105
  * |Hailey HR|`haileyhr/api`|Hailey HR's [API](https://api.haileyhr.app/docs/index.html). We automatically authenticate all requests using the provided credentials and use `https://api.haileyhr.app` as the base URL.|
101
106
  * |Hansalog|`hansalog/vision`|Hansalog's [Vision API](https://hansalog-vision.document360.io/docs/). We automatically authenticate all requests and use `https://\{subdomain\}.hansalog-cloud.de/vision` as the base URL.|
102
107
  * |Haufe Umantis|`umantis/v1`|[Umantis API v1](https://recruitingapp-91005709.umantis.com/api/v1/swagger-ui). We automatically authenticate all requests and use `https://\{subdomain\}.umantis.com/api/v1` as the base URL.|
103
108
  * |HeavenHR|`heavenhr/v2`|[HeavenHR API](https://api.heavenhr.com/). We automatically authenticate all requests using the provided credentials and use `https://api.heavenhr.com/api/v2` as the base URL.|
104
109
  * |Heyrecruit|`heyrecruit/v2`|[Heyrecruit's v2 API](https://documenter.getpostman.com/view/23241256/2s9YysBLcf#47e271ac-47c8-4c75-9cc6-b8c506e9dad6). We automatically authenticate all requests using the client ID and secret and use `https://app.heyrecruit.de/api/v2` as the base URL.|
105
- * |HiBob|`hibob/docs`|This passthrough is only used for fetching employee documents in Hibob. It is present as a workaround while we are working on a new endpoint for fetching documents in HRIS. It should not be used for any other purpose. We automatically authenticate all requests using the service user credentials and use `https://app.hibob.com/api/docs/employees/` as the base URL.|
110
+ * |HiBob|`hibob/docs`|This passthrough is only used for fetching employee documents in HiBob. It is present as a workaround while we are working on a new endpoint for fetching documents in HRIS. It should not be used for any other purpose. We automatically authenticate all requests using the service user credentials and use `https://app.hibob.com/api/docs/employees/` as the base URL.|
106
111
  * |HiBob|`hibob/hire`|[HiBob's Hire API](https://apidocs.hibob.com/docs/how-to-integrate-with-ats-hire-api). We automatically authenticate all requests using the hire service user credentials. The base URL is configured during the integration setup.|
107
- * |HiBob|`hibob/v1`|[HibBob's v1 API](https://apidocs.hibob.com/reference/get_people). We automatically authenticate all requests using the service user credentials (or, for old integrations, the API key) and use `https://api.hibob.com/v1` as the base URL.|
112
+ * |HiBob|`hibob/v1`|[HiBob's v1 API](https://apidocs.hibob.com/reference/get_people). We automatically authenticate all requests using the service user credentials (or, for old integrations, the API key) and use `https://api.hibob.com/v1` as the base URL.|
108
113
  * |HoorayHR|`hoorayhr/api`|[HoorayHR API](https://api.hoorayhr.io/documentation/). We automatically authenticate all requests and use `https://api.hoorayhr.io` as the base URL.|
114
+ * |HR Office|`hroffice/soap`|[HROffice SOAP API](https://api.hroffice.nl/HROfficeCoreService.asmx). We automatically authenticate all requests and wrap them in a SOAP envelope. Build the request `Body` with the raw XML parameters for your operation (e.g., `\<languageId\>1\</languageId\>`). Use `/` as your `path`. Set your `method` to `POST`. You need to specify the `api_options` object and set `operation_name` to the SOAP operation you want to call (e.g., `GetAllJobByLanguage`).|
109
115
  * |HR WORKS|`hrworks/v2`|HRWorks's v2 [API](https://developers.hrworks.de/2.0/endpoints). We automatically authenticate all requests using the customer credentials.|
110
116
  * |HR4YOU|`hr4you/v2`|[HR4YOU's v2 API](https://apiprodemo.hr4you.org/api2/docs). We automatically authenticate all requests and use the customers provided base URL (e.g., https://`\{base_url\}`/ or https://`\{subdomain\}.hr4you.org`/).|
111
117
  * |Humaans|`humaans/api`|Humaans' [API](https://docs.humaans.io/api/). We automatically authenticate all requests using the API key and use `https://app.humaans.io/api` as the base URL.|
@@ -128,7 +134,8 @@ import { Result } from "../types/fp.js";
128
134
  * |Leapsome|`leapsome/scim`|Leapsome [SCIM API](https://api.leapsome.com/scim/v1/api-docs/). We automatically authenticate all requests using the credentials supplied by the customer and use `https://api.leapsome.com/scim/v1` as the base URL.|
129
135
  * |Leapsome|`leapsome/v1`|Leapsome [API](https://api.leapsome.com/v1/api-docs/). We automatically authenticate all requests using the credentials supplied by the customer and use `https://api.leapsome.com/v1` as the base URL.|
130
136
  * |Lever|`lever/v1`|[Lever's v1 API](https://hire.lever.co/developer/documentation). We automatically authenticate all requests using the partner credentials which have been configured in the Lever tool settings (this uses Kombo's partner credentials by default).|
131
- * |LinkedIn Learning|`linkedinlearning/v2`|LinkedIn Learning [API v2](https://learn.microsoft.com/en-us/linkedin/learning/). We automatically handle authentication and use `https://api.linkedin.com` as the base URL.|
137
+ * |LinkedIn Learning|`linkedinlearning/v2`|LinkedIn Learning [API v2](https://learn.microsoft.com/en-us/linkedin/learning/). We automatically handle authentication and use `https://api.linkedin.com/v2` as the base URL.|
138
+ * |Loket|`loket/api`|[Loket's REST API](https://developers.loket.nl/). We automatically authenticate all requests and use `https://\{api_domain\}` as the base URL, where `api_domain` is the API domain configured during integration setup (e.g. `api.loket.nl`).|
132
139
  * |Loxo|`loxo/v1`|[Loxo's API](https://loxo.readme.io/reference/loxo-api). We automatically authenticate all requests and use 'https://app.loxo.co/api/\{agency_slug\}' as base URL.|
133
140
  * |Lucca|`lucca/api`|[Luccas's API](https://developers.lucca.fr/api-reference/legacy/introduction). We automatically authenticate all requests and use 'https://\{account\}.\{ilucca|ilucca-demo\}.\{region\}/' as the base URL.|
134
141
  * |Manatal|`manatal/career-page`|Manatal's Career Page API. We use `https://api.manatal.com/open/v3/career-page/\{client_slug\}` as the base URL.|
@@ -144,6 +151,7 @@ import { Result } from "../types/fp.js";
144
151
  * |Oracle HCM|`oraclehcm/api`|Oracle HCM Cloud [REST API](https://docs.oracle.com/en/cloud/saas/human-resources/24d/farws/index.html). We automatically authenticate all requests and use `https://\{domain\}/` as the base URL, where domain is your Oracle Cloud domain.|
145
152
  * |Oracle Recruiting Cloud|`oraclerecruiting/rest`|[Oracle's REST API](https://docs.oracle.com/en/cloud/saas/human-resources/24d/farws/rest-endpoints.html). We automatically authenticate all requests and use 'https://\{company_url\}' as the base url.|
146
153
  * |Oracle Recruiting Cloud|`oraclerecruiting/rest`|[Oracles's REST API](https://docs.oracle.com/en/cloud/saas/human-resources/24d/farws/rest-endpoints.html). We automatically authenticate all requests and use 'https://\{company_url\}' as the base url.|
154
+ * |OTYS|`otys/json-rpc`|[OTYS JSON-RPC API](https://ows.otys.nl/info/). We authenticate with your stored API key and inject the session token as the first element of the JSON-RPC `params` array on each request (except `loginByUid`, which uses `params` as sent). Requests use `https://ows.otys.nl` as the base URL (for example `POST /jservice.php` with the RPC method in the URL fragment, matching OTYS conventions).|
147
155
  * |Paradox|`paradox/v1`|We use `\{api_url\}/api/v1` as the base URL. Find the official docs [here](https://paradox.readme.io/).|
148
156
  * |Paradox|`paradox/v1public`|We use `\{api_url\}/api/v1/public` as the base URL. Find the official docs [here](https://paradox.readme.io/).|
149
157
  * |Paychex|`paychex/api`|Paychex [REST API](https://developer.paychex.com/documentation). We automatically authenticate all requests and use `https://api.paychex.com` as the base URL.|
@@ -163,7 +171,9 @@ import { Result } from "../types/fp.js";
163
171
  * |Phenom|`phenom/rest-api`|The [Phenom API](https://developer.phenom.com/). We automatically authenticate all requests and use `https://api-stg.phenompro.com` as the base URL.|
164
172
  * |Pinpoint|`pinpoint/v1`|Pinpoint's [JSON:API](https://developers.pinpointhq.com/docs). We automatically authenticate all requests using the `X-API-KEY` header and use `https://\{subdomain\}.pinpointhq.com/api/v1` as the base URL.|
165
173
  * |Planday|`planday/api`|Planday's [HR API v1.0](https://openapi.planday.com/api/hr?version=v1.0). We automatically authenticate all requests and use `https://openapi.planday.com` as the base URL.|
174
+ * |Recruit CRM|`recruitcrm/api`|We use `https://api.recruitcrm.io` as the base URL. Find the official docs [here](https://docs.recruitcrm.io/docs/rcrm-api-reference/ZG9jOjMyNzk0NA-getting-started).|
166
175
  * |Recruitee|`recruitee/default`|The [Recruitee API](https://api.recruitee.com/docs/index.html). We automatically authenticate all requests and use `https://api.recruitee.com/c/\{company_id\}` as the base URL.|
176
+ * |Recruitee|`recruitee/v1`|We use `https://api.recruitee.com/c/\{company_id\}` as the base URL. Find the official docs [here](https://docs.recruitee.com/reference).|
167
177
  * |RecruiterFlow|`recruiterflow/v1`|RecruiterFlow API [docs](https://docs.recruiterflow.com/). We automatically authenticate all requests using the RF-Api-Key header and use `https://api.recruiterflow.com` as the base URL.|
168
178
  * |Remote|`remotecom/default`|Remote's [API](https://remote.com/resources/api/getting-started). We automatically authenticate all requests using provided credentials.|
169
179
  * |rexx systems|`rexx/default`|Rexx's HRIS export API. There is only one endpoint: `Get /`|
@@ -184,10 +194,12 @@ import { Result } from "../types/fp.js";
184
194
  * |Sympa|`sympa/api`|Sympa's [API](https://documenter.getpostman.com/view/33639379/2sA3kXG1vX#intro). We automatically authenticate all requests and use `https://api.sympahr.net/api/` as the base URL.|
185
195
  * |Taleez|`taleez/0`|[Taleez's API](https://api.taleez.com/swagger-ui/index.html). We automatically authenticate all requests and use `https://api.taleez.com/0` as the base URL.|
186
196
  * |Talention|`talention/v1`|Talention's API. We automatically authenticate all requests and use `https://\{api_domain\}/tms/\{account_id\}/external/api/1.0` as the base URL. Documentation is provided privately by Talention. Contact Kombo support for assistance with specific endpoints.|
197
+ * |TalentLMS|`talentlms/v2`|We use `https://\{subdomain\}.talentlms.com/api/v2` as the base URL.|
187
198
  * |Taleo|`taleo/soap`|[Taleo's API](https://docs.oracle.com/en/cloud/saas/taleo-enterprise/23b/otwsu/c-taleoapi.html). We automatically authenticate all requests and use 'https://\{your-subdomain\}.taleo.net/enterprise/soap' as base URL.|
188
199
  * |Teamtailor Job Boards|`teamtailorjobboards/direct-apply`|Teamtailor's [Job Board Direct Apply API](https://partner.teamtailor.com/job_boards/direct_apply/#direct-apply). We automatically authenticate all requests and use `https://5qbn6o9x4h.execute-api.eu-west-1.amazonaws.com/production` as the base URL. All requests are automatically signed with HMAC-SHA256 signature.|
189
200
  * |Teamtailor|`teamtailor/v1`|We use `https://api.teamtailor.com/v1` as the base URL. Find the official docs [here](https://docs.teamtailor.com/).|
190
201
  * |TRAFFIT|`traffit/v2`|Traffit's [v2 API](https://api.traffit.com). We authenticate all requests with the Traffit API key and use the base URL `https://yourdomain.traffit.com/api/integration/v2`.|
202
+ * |TriNet PEO|`trinetpeo/v1`|We use `https://api.trinet.com` as the base URL. Find the official docs [here](https://developers.trinet.com).|
191
203
  * |Udemy Business|`udemy/learning`|Udemy Business REST API. We automatically handle authentication and use `https://\{account_name\}.udemy.com/api-2.0/organizations/\{account_id\}/` as the base URL.|
192
204
  * |UKG Pro|`ukgpro/default`|[UKG Pro's HRIS API](https://developer.ukg.com/hcm/reference/get_personnel-v1-person-details). We automatically authenticate all requests and use `https://\{hostname\}` as the base URL.|
193
205
  * |UKG Pro|`ukgpro/recruting`|[UKG Pro's Recruiting API](https://developer.ukg.com/hcm/reference/retrieveapplications). We automatically authenticate all requests and use `https://\{hostname\}/talent/recruiting/v2/\{tenantalias\}/api` as the base URL.|
@@ -195,7 +207,8 @@ import { Result } from "../types/fp.js";
195
207
  * |Visma Peple|`peple/hrm`|[Visma Payroll Reporting API](https://api.analytics1.hrm.visma.net/docs/openapi.html). We automatically authenticate all requests using the client credentials and use 'https://api.analytics1.hrm.visma.net' as the base URL.|
196
208
  * |Visma Raet - Youforce|`youforce/v1.0`|[Youforce's basic v1.0 API](https://vr-api-integration.github.io/youforce-api-documentation/postman_collections.html). We automatically authenticate all requests and use 'https://api.youforce.com' as base URL.|
197
209
  * |Visma YouServe|`youserve/learning`|Visma YouServe [Learning API](https://youserve-domain-api.github.io/SwaggerUI/learning.html). We automatically authenticate all requests using OAuth 2.0 with the provided credentials and use `https://api.youserve.nl/learning/v1.0` as the base URL.|
198
- * |Workable|`workable/v1`|Workable's [API](https://workable.readme.io/reference/generate-an-access-token). We automatically authenticate all requests using the client ID and secret and use `https://\{subdomain\}.\{environment\}.com/spi/v3` as the base URL.|
210
+ * |Workable|`workable/v1`|**Deprecated: Use `v3` instead.** Workable's [API](https://workable.readme.io/reference/generate-an-access-token). We automatically authenticate all requests using the client ID and secret and use `https://\{subdomain\}.\{environment\}.com/spi/v3` as the base URL.|
211
+ * |Workable|`workable/v3`|Workable's [API](https://workable.readme.io/reference/generate-an-access-token). We automatically authenticate all requests using the client ID and secret and use `https://\{subdomain\}.\{environment\}.com/spi/v3` as the base URL.|
199
212
  * |Workday|`workday/rest`|[Workday's REST API](https://community.workday.com/sites/default/files/file-hosting/restapi/index.html). We automatically authenticate all requests and use the correct Workday REST base URL for your tenant. The base URL follows the format: https://\{domain\}/api/\{service_name\}/\{version\}/\{tenant\}. You can specify any valid REST endpoint and method. See the Workday REST API documentation for available endpoints. You must specify the `api_options` object and set `service_name` to the name of the service you want to call. You can also specify the `version` (e.g., "v1", "v2"); if omitted, it defaults to "v1".|
200
213
  * |Workday|`workday/soap`|[Workday's SOAP API](https://community.workday.com/sites/default/files/file-hosting/productionapi/index.html). We automatically authenticate all requests. Set `data` to your raw xml string. Use `/` as your `path`, as we will always send requests to `https://\{domain\}/ccx/service/\{tenant\}/\{service_name\}`. Set your `method` to `POST`. You need to specify the `api_options` object and set `service_name` to the name of the service you want to call. Find all available services [here](https://community.workday.com/sites/default/files/file-hosting/productionapi/versions/v41.0/index.html). The string that you submit as `data` will be the content of the `soapenv:Body` tag in the request. You can set the `service_version` to any valid Workday service version (the default is `38.2`).|
201
214
  * |workforce.com|`workforcecom/api`|Workforce.com [API](https://my.workforce.com/api/v2/documentation). We automatically authenticate all requests using the provided credentials and use `https://my.tanda.co` as the base URL.|
@@ -274,7 +287,6 @@ async function $do(
274
287
  charEncoding: "percent",
275
288
  }),
276
289
  };
277
-
278
290
  const path = pathToFunc("/passthrough/{tool}/{api}")(pathParams);
279
291
 
280
292
  const headers = new Headers(compactMap({
@@ -101,7 +101,6 @@ async function $do(
101
101
  charEncoding: "percent",
102
102
  }),
103
103
  };
104
-
105
104
  const path = pathToFunc("/integrations/{integration_id}/enabled")(pathParams);
106
105
 
107
106
  const headers = new Headers(compactMap({
@@ -104,7 +104,6 @@ async function $do(
104
104
  charEncoding: "percent",
105
105
  }),
106
106
  };
107
-
108
107
  const path = pathToFunc(
109
108
  "/integrations/{integration_id}/custom-fields/{custom_field_id}",
110
109
  )(pathParams);
@@ -105,7 +105,6 @@ async function $do(
105
105
  charEncoding: "percent",
106
106
  }),
107
107
  };
108
-
109
108
  const path = pathToFunc(
110
109
  "/integrations/{integration_id}/integration-fields/{integration_field_id}",
111
110
  )(pathParams);
@@ -114,7 +114,6 @@ async function $do(
114
114
  charEncoding: "percent",
115
115
  }),
116
116
  };
117
-
118
117
  const path = pathToFunc("/hris/employees/{employee_id}/documents")(
119
118
  pathParams,
120
119
  );
@@ -108,7 +108,6 @@ async function $do(
108
108
  charEncoding: "percent",
109
109
  }),
110
110
  };
111
-
112
111
  const path = pathToFunc("/hris/absences/{absence_id}")(pathParams);
113
112
 
114
113
  const headers = new Headers(compactMap({
@@ -40,8 +40,6 @@ import {
40
40
  *
41
41
  * Retrieve performance review cycles data from HRIS tools.
42
42
  *
43
- * <Warning>**Open Beta Feature:** This endpoint is currently in beta. Please reach out to our support team if you need assistance with implementation.</Warning>
44
- *
45
43
  * Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`
46
44
  */
47
45
  export function hrisGetPerformanceReviewCycles(
@@ -40,8 +40,6 @@ import {
40
40
  *
41
41
  * Retrieve performance review data from HRIS tools.
42
42
  *
43
- * <Warning>**Open Beta Feature:** This endpoint is currently in beta. Please reach out to our support team if you need assistance with implementation.</Warning>
44
- *
45
43
  * Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`
46
44
  */
47
45
  export function hrisGetPerformanceReviews(