@kombo-api/sdk 1.0.1 → 1.0.3
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.
- package/README.md +7 -3
- package/esm/funcs/assessmentUpdateOrderResult.js.map +1 -1
- package/esm/funcs/atsAddApplicationAttachment.js.map +1 -1
- package/esm/funcs/atsAddApplicationNote.js.map +1 -1
- package/esm/funcs/atsAddApplicationResultLink.js.map +1 -1
- package/esm/funcs/atsAddCandidateAttachment.js.map +1 -1
- package/esm/funcs/atsAddCandidateResultLink.js.map +1 -1
- package/esm/funcs/atsAddCandidateTag.js.map +1 -1
- package/esm/funcs/atsCreateApplication.js.map +1 -1
- package/esm/funcs/atsGetApplicationAttachments.js.map +1 -1
- package/esm/funcs/atsGetCandidateAttachments.js.map +1 -1
- package/esm/funcs/atsGetRoles.d.ts +25 -0
- package/esm/funcs/atsGetRoles.d.ts.map +1 -0
- package/esm/funcs/atsGetRoles.js +125 -0
- package/esm/funcs/atsGetRoles.js.map +1 -0
- package/esm/funcs/atsMoveApplicationToStage.d.ts +2 -1
- package/esm/funcs/atsMoveApplicationToStage.d.ts.map +1 -1
- package/esm/funcs/atsMoveApplicationToStage.js +2 -1
- package/esm/funcs/atsMoveApplicationToStage.js.map +1 -1
- package/esm/funcs/atsRejectApplication.js.map +1 -1
- package/esm/funcs/atsRemoveCandidateTag.js.map +1 -1
- package/esm/funcs/connectGetIntegrationByToken.js.map +1 -1
- package/esm/funcs/generalCreateReconnectionLink.js.map +1 -1
- package/esm/funcs/generalDeleteIntegration.js.map +1 -1
- package/esm/funcs/generalGetCustomFields.js.map +1 -1
- package/esm/funcs/generalGetIntegrationDetails.js.map +1 -1
- package/esm/funcs/generalGetIntegrationFields.js.map +1 -1
- package/esm/funcs/generalGetTools.js.map +1 -1
- package/esm/funcs/generalSendPassthroughRequest.d.ts +19 -6
- package/esm/funcs/generalSendPassthroughRequest.d.ts.map +1 -1
- package/esm/funcs/generalSendPassthroughRequest.js +19 -6
- package/esm/funcs/generalSendPassthroughRequest.js.map +1 -1
- package/esm/funcs/generalSetIntegrationEnabled.js.map +1 -1
- package/esm/funcs/generalUpdateCustomFieldMapping.js.map +1 -1
- package/esm/funcs/generalUpdateIntegrationField.js.map +1 -1
- package/esm/funcs/hrisAddEmployeeDocument.js.map +1 -1
- package/esm/funcs/hrisDeleteAbsence.js.map +1 -1
- package/esm/funcs/hrisGetPerformanceReviewCycles.d.ts +0 -2
- package/esm/funcs/hrisGetPerformanceReviewCycles.d.ts.map +1 -1
- package/esm/funcs/hrisGetPerformanceReviewCycles.js +0 -2
- package/esm/funcs/hrisGetPerformanceReviewCycles.js.map +1 -1
- package/esm/funcs/hrisGetPerformanceReviews.d.ts +0 -2
- package/esm/funcs/hrisGetPerformanceReviews.d.ts.map +1 -1
- package/esm/funcs/hrisGetPerformanceReviews.js +0 -2
- package/esm/funcs/hrisGetPerformanceReviews.js.map +1 -1
- package/esm/funcs/hrisGetStaffingEntities.d.ts +33 -0
- package/esm/funcs/hrisGetStaffingEntities.d.ts.map +1 -0
- package/esm/funcs/hrisGetStaffingEntities.js +134 -0
- package/esm/funcs/hrisGetStaffingEntities.js.map +1 -0
- package/esm/lib/config.d.ts +3 -3
- package/esm/lib/config.js +3 -3
- package/esm/lib/config.js.map +1 -1
- package/esm/lib/encodings.d.ts.map +1 -1
- package/esm/lib/encodings.js +20 -5
- package/esm/lib/encodings.js.map +1 -1
- package/esm/lib/files.d.ts +13 -0
- package/esm/lib/files.d.ts.map +1 -1
- package/esm/lib/files.js +18 -0
- package/esm/lib/files.js.map +1 -1
- package/esm/lib/matchers.d.ts.map +1 -1
- package/esm/lib/matchers.js +0 -1
- package/esm/lib/matchers.js.map +1 -1
- package/esm/lib/sdks.d.ts.map +1 -1
- package/esm/lib/sdks.js +8 -4
- package/esm/lib/sdks.js.map +1 -1
- package/esm/lib/security.d.ts.map +1 -1
- package/esm/lib/security.js +1 -2
- package/esm/lib/security.js.map +1 -1
- package/esm/lib/url.d.ts.map +1 -1
- package/esm/lib/url.js +4 -2
- package/esm/lib/url.js.map +1 -1
- package/esm/models/assessmentorderreceivedwebhookpayload.d.ts +15 -2
- package/esm/models/assessmentorderreceivedwebhookpayload.d.ts.map +1 -1
- package/esm/models/assessmentorderreceivedwebhookpayload.js +9 -2
- package/esm/models/assessmentorderreceivedwebhookpayload.js.map +1 -1
- package/esm/models/datachangedwebhookpayload.d.ts +7 -0
- package/esm/models/datachangedwebhookpayload.d.ts.map +1 -1
- package/esm/models/datachangedwebhookpayload.js +7 -0
- package/esm/models/datachangedwebhookpayload.js.map +1 -1
- package/esm/models/getassessmentordersopenpositiveresponse.d.ts +12 -1
- package/esm/models/getassessmentordersopenpositiveresponse.d.ts.map +1 -1
- package/esm/models/getassessmentordersopenpositiveresponse.js +6 -1
- package/esm/models/getassessmentordersopenpositiveresponse.js.map +1 -1
- package/esm/models/getatsjobspositiveresponse.d.ts +67 -1
- package/esm/models/getatsjobspositiveresponse.d.ts.map +1 -1
- package/esm/models/getatsjobspositiveresponse.js +36 -0
- package/esm/models/getatsjobspositiveresponse.js.map +1 -1
- package/esm/models/getatsrolespositiveresponse.d.ts +85 -0
- package/esm/models/getatsrolespositiveresponse.d.ts.map +1 -0
- package/esm/models/getatsrolespositiveresponse.js +57 -0
- package/esm/models/getatsrolespositiveresponse.js.map +1 -0
- package/esm/models/getatsuserspositiveresponse.d.ts +61 -0
- package/esm/models/getatsuserspositiveresponse.d.ts.map +1 -1
- package/esm/models/getatsuserspositiveresponse.js +33 -0
- package/esm/models/getatsuserspositiveresponse.js.map +1 -1
- package/esm/models/gethrisemployeespositiveresponse.d.ts +12 -12
- package/esm/models/gethrisemployeespositiveresponse.d.ts.map +1 -1
- package/esm/models/gethrisemployeespositiveresponse.js +12 -13
- package/esm/models/gethrisemployeespositiveresponse.js.map +1 -1
- package/esm/models/gethrisstaffingentitiespositiveresponse.d.ts +261 -0
- package/esm/models/gethrisstaffingentitiespositiveresponse.d.ts.map +1 -0
- package/esm/models/gethrisstaffingentitiespositiveresponse.js +143 -0
- package/esm/models/gethrisstaffingentitiespositiveresponse.js.map +1 -0
- package/esm/models/index.d.ts +2 -0
- package/esm/models/index.d.ts.map +1 -1
- package/esm/models/index.js +2 -0
- package/esm/models/index.js.map +1 -1
- package/esm/models/inlineassessmentorderreceivedwebhookpayload.d.ts +15 -2
- package/esm/models/inlineassessmentorderreceivedwebhookpayload.d.ts.map +1 -1
- package/esm/models/inlineassessmentorderreceivedwebhookpayload.js +9 -2
- package/esm/models/inlineassessmentorderreceivedwebhookpayload.js.map +1 -1
- package/esm/models/komboatserror.d.ts +1 -0
- package/esm/models/komboatserror.d.ts.map +1 -1
- package/esm/models/komboatserror.js +1 -0
- package/esm/models/komboatserror.js.map +1 -1
- package/esm/models/kombogeneralerror.d.ts +1 -0
- package/esm/models/kombogeneralerror.d.ts.map +1 -1
- package/esm/models/kombogeneralerror.js +1 -0
- package/esm/models/kombogeneralerror.js.map +1 -1
- package/esm/models/kombohriserror.d.ts +1 -0
- package/esm/models/kombohriserror.d.ts.map +1 -1
- package/esm/models/kombohriserror.js +1 -0
- package/esm/models/kombohriserror.js.map +1 -1
- package/esm/models/operations/getatsapplications.d.ts +9 -0
- package/esm/models/operations/getatsapplications.d.ts.map +1 -1
- package/esm/models/operations/getatsapplications.js.map +1 -1
- package/esm/models/operations/getatsapplicationstages.d.ts +2 -0
- package/esm/models/operations/getatsapplicationstages.d.ts.map +1 -1
- package/esm/models/operations/getatsapplicationstages.js.map +1 -1
- package/esm/models/operations/getatscandidates.d.ts +8 -0
- package/esm/models/operations/getatscandidates.d.ts.map +1 -1
- package/esm/models/operations/getatscandidates.js.map +1 -1
- package/esm/models/operations/getatsinterviews.d.ts +8 -0
- package/esm/models/operations/getatsinterviews.d.ts.map +1 -1
- package/esm/models/operations/getatsinterviews.js.map +1 -1
- package/esm/models/operations/getatsjobs.d.ts +11 -0
- package/esm/models/operations/getatsjobs.d.ts.map +1 -1
- package/esm/models/operations/getatsjobs.js.map +1 -1
- package/esm/models/operations/getatsoffers.d.ts +6 -0
- package/esm/models/operations/getatsoffers.d.ts.map +1 -1
- package/esm/models/operations/getatsoffers.js.map +1 -1
- package/esm/models/operations/getatsrejectionreasons.d.ts +2 -0
- package/esm/models/operations/getatsrejectionreasons.d.ts.map +1 -1
- package/esm/models/operations/getatsrejectionreasons.js.map +1 -1
- package/esm/models/operations/getatsroles.d.ts +79 -0
- package/esm/models/operations/getatsroles.d.ts.map +1 -0
- package/esm/models/operations/getatsroles.js +33 -0
- package/esm/models/operations/getatsroles.js.map +1 -0
- package/esm/models/operations/getatstags.d.ts +2 -0
- package/esm/models/operations/getatstags.d.ts.map +1 -1
- package/esm/models/operations/getatstags.js.map +1 -1
- package/esm/models/operations/getatsusers.d.ts +5 -0
- package/esm/models/operations/getatsusers.d.ts.map +1 -1
- package/esm/models/operations/getatsusers.js.map +1 -1
- package/esm/models/operations/gethrisabsences.d.ts +4 -0
- package/esm/models/operations/gethrisabsences.d.ts.map +1 -1
- package/esm/models/operations/gethrisabsences.js.map +1 -1
- package/esm/models/operations/gethrisabsencetypes.d.ts +2 -0
- package/esm/models/operations/gethrisabsencetypes.d.ts.map +1 -1
- package/esm/models/operations/gethrisabsencetypes.js.map +1 -1
- package/esm/models/operations/gethrisemployeedocumentcategories.d.ts +2 -0
- package/esm/models/operations/gethrisemployeedocumentcategories.d.ts.map +1 -1
- package/esm/models/operations/gethrisemployeedocumentcategories.js.map +1 -1
- package/esm/models/operations/gethrisemployees.d.ts +10 -0
- package/esm/models/operations/gethrisemployees.d.ts.map +1 -1
- package/esm/models/operations/gethrisemployees.js.map +1 -1
- package/esm/models/operations/gethrisemployments.d.ts +2 -0
- package/esm/models/operations/gethrisemployments.d.ts.map +1 -1
- package/esm/models/operations/gethrisemployments.js.map +1 -1
- package/esm/models/operations/gethrisgroups.d.ts +2 -0
- package/esm/models/operations/gethrisgroups.d.ts.map +1 -1
- package/esm/models/operations/gethrisgroups.js.map +1 -1
- package/esm/models/operations/gethrislegalentities.d.ts +2 -0
- package/esm/models/operations/gethrislegalentities.d.ts.map +1 -1
- package/esm/models/operations/gethrislegalentities.js.map +1 -1
- package/esm/models/operations/gethrislocations.d.ts +2 -0
- package/esm/models/operations/gethrislocations.d.ts.map +1 -1
- package/esm/models/operations/gethrislocations.js.map +1 -1
- package/esm/models/operations/gethrisperformancereviewcycles.d.ts +2 -0
- package/esm/models/operations/gethrisperformancereviewcycles.d.ts.map +1 -1
- package/esm/models/operations/gethrisperformancereviewcycles.js.map +1 -1
- package/esm/models/operations/gethrisperformancereviews.d.ts +6 -0
- package/esm/models/operations/gethrisperformancereviews.d.ts.map +1 -1
- package/esm/models/operations/gethrisperformancereviews.js.map +1 -1
- package/esm/models/operations/gethrisstaffingentities.d.ts +93 -0
- package/esm/models/operations/gethrisstaffingentities.d.ts.map +1 -0
- package/esm/models/operations/gethrisstaffingentities.js +34 -0
- package/esm/models/operations/gethrisstaffingentities.js.map +1 -0
- package/esm/models/operations/gethristimeoffbalances.d.ts +4 -0
- package/esm/models/operations/gethristimeoffbalances.d.ts.map +1 -1
- package/esm/models/operations/gethristimeoffbalances.js.map +1 -1
- package/esm/models/operations/gethristimesheets.d.ts +2 -0
- package/esm/models/operations/gethristimesheets.d.ts.map +1 -1
- package/esm/models/operations/gethristimesheets.js.map +1 -1
- package/esm/models/operations/index.d.ts +2 -0
- package/esm/models/operations/index.d.ts.map +1 -1
- package/esm/models/operations/index.js +2 -0
- package/esm/models/operations/index.js.map +1 -1
- package/esm/models/postatsapplicationsapplicationidnotesrequestbody.d.ts +21 -0
- package/esm/models/postatsapplicationsapplicationidnotesrequestbody.d.ts.map +1 -1
- package/esm/models/postatsapplicationsapplicationidnotesrequestbody.js +8 -0
- package/esm/models/postatsapplicationsapplicationidnotesrequestbody.js.map +1 -1
- package/esm/models/postatscandidatesrequestbody.d.ts +60 -0
- package/esm/models/postatscandidatesrequestbody.d.ts.map +1 -1
- package/esm/models/postatscandidatesrequestbody.js +30 -0
- package/esm/models/postatscandidatesrequestbody.js.map +1 -1
- package/esm/models/postatsjobsjobidapplicationsrequestbody.d.ts +60 -0
- package/esm/models/postatsjobsjobidapplicationsrequestbody.d.ts.map +1 -1
- package/esm/models/postatsjobsjobidapplicationsrequestbody.js +30 -0
- package/esm/models/postatsjobsjobidapplicationsrequestbody.js.map +1 -1
- package/esm/models/postconnectcreatelinkrequestbody.d.ts +4 -0
- package/esm/models/postconnectcreatelinkrequestbody.d.ts.map +1 -1
- package/esm/models/postconnectcreatelinkrequestbody.js +4 -0
- package/esm/models/postconnectcreatelinkrequestbody.js.map +1 -1
- package/esm/models/putassessmentordersassessmentorderidresultrequestbody.d.ts +15 -0
- package/esm/models/putassessmentordersassessmentorderidresultrequestbody.d.ts.map +1 -1
- package/esm/models/putassessmentordersassessmentorderidresultrequestbody.js +9 -0
- package/esm/models/putassessmentordersassessmentorderidresultrequestbody.js.map +1 -1
- package/esm/models/putatsapplicationsapplicationidstagerequestbody.d.ts +40 -0
- package/esm/models/putatsapplicationsapplicationidstagerequestbody.d.ts.map +1 -1
- package/esm/models/putatsapplicationsapplicationidstagerequestbody.js +24 -0
- package/esm/models/putatsapplicationsapplicationidstagerequestbody.js.map +1 -1
- package/esm/sdk/ats.d.ts +15 -1
- package/esm/sdk/ats.d.ts.map +1 -1
- package/esm/sdk/ats.js +16 -1
- package/esm/sdk/ats.js.map +1 -1
- package/esm/sdk/general.d.ts +19 -6
- package/esm/sdk/general.d.ts.map +1 -1
- package/esm/sdk/general.js +19 -6
- package/esm/sdk/general.js.map +1 -1
- package/esm/sdk/hris.d.ts +21 -4
- package/esm/sdk/hris.d.ts.map +1 -1
- package/esm/sdk/hris.js +22 -4
- package/esm/sdk/hris.js.map +1 -1
- package/jsr.json +1 -1
- package/package.json +1 -1
- package/src/funcs/assessmentUpdateOrderResult.ts +0 -1
- package/src/funcs/atsAddApplicationAttachment.ts +0 -1
- package/src/funcs/atsAddApplicationNote.ts +0 -1
- package/src/funcs/atsAddApplicationResultLink.ts +0 -1
- package/src/funcs/atsAddCandidateAttachment.ts +0 -1
- package/src/funcs/atsAddCandidateResultLink.ts +0 -1
- package/src/funcs/atsAddCandidateTag.ts +0 -1
- package/src/funcs/atsCreateApplication.ts +0 -1
- package/src/funcs/atsGetApplicationAttachments.ts +0 -1
- package/src/funcs/atsGetCandidateAttachments.ts +0 -1
- package/src/funcs/atsGetRoles.ts +256 -0
- package/src/funcs/atsMoveApplicationToStage.ts +2 -2
- package/src/funcs/atsRejectApplication.ts +0 -1
- package/src/funcs/atsRemoveCandidateTag.ts +0 -1
- package/src/funcs/connectGetIntegrationByToken.ts +0 -1
- package/src/funcs/generalCreateReconnectionLink.ts +0 -1
- package/src/funcs/generalDeleteIntegration.ts +0 -1
- package/src/funcs/generalGetCustomFields.ts +0 -1
- package/src/funcs/generalGetIntegrationDetails.ts +0 -1
- package/src/funcs/generalGetIntegrationFields.ts +0 -1
- package/src/funcs/generalGetTools.ts +0 -1
- package/src/funcs/generalSendPassthroughRequest.ts +19 -7
- package/src/funcs/generalSetIntegrationEnabled.ts +0 -1
- package/src/funcs/generalUpdateCustomFieldMapping.ts +0 -1
- package/src/funcs/generalUpdateIntegrationField.ts +0 -1
- package/src/funcs/hrisAddEmployeeDocument.ts +0 -1
- package/src/funcs/hrisDeleteAbsence.ts +0 -1
- package/src/funcs/hrisGetPerformanceReviewCycles.ts +0 -2
- package/src/funcs/hrisGetPerformanceReviews.ts +0 -2
- package/src/funcs/hrisGetStaffingEntities.ts +267 -0
- package/src/lib/config.ts +3 -3
- package/src/lib/encodings.ts +23 -4
- package/src/lib/files.ts +22 -0
- package/src/lib/matchers.ts +3 -2
- package/src/lib/sdks.ts +7 -5
- package/src/lib/security.ts +1 -2
- package/src/lib/url.ts +16 -14
- package/src/models/assessmentorderreceivedwebhookpayload.ts +21 -4
- package/src/models/datachangedwebhookpayload.ts +8 -0
- package/src/models/getassessmentordersopenpositiveresponse.ts +15 -2
- package/src/models/getatsjobspositiveresponse.ts +100 -1
- package/src/models/getatsrolespositiveresponse.ts +167 -0
- package/src/models/getatsuserspositiveresponse.ts +97 -0
- package/src/models/gethrisemployeespositiveresponse.ts +55 -37
- package/src/models/gethrisstaffingentitiespositiveresponse.ts +509 -0
- package/src/models/index.ts +2 -0
- package/src/models/inlineassessmentorderreceivedwebhookpayload.ts +21 -4
- package/src/models/komboatserror.ts +1 -0
- package/src/models/kombogeneralerror.ts +1 -0
- package/src/models/kombohriserror.ts +1 -0
- package/src/models/operations/getatsapplications.ts +9 -0
- package/src/models/operations/getatsapplicationstages.ts +2 -0
- package/src/models/operations/getatscandidates.ts +8 -0
- package/src/models/operations/getatsinterviews.ts +8 -0
- package/src/models/operations/getatsjobs.ts +11 -0
- package/src/models/operations/getatsoffers.ts +6 -0
- package/src/models/operations/getatsrejectionreasons.ts +2 -0
- package/src/models/operations/getatsroles.ts +129 -0
- package/src/models/operations/getatstags.ts +2 -0
- package/src/models/operations/getatsusers.ts +5 -0
- package/src/models/operations/gethrisabsences.ts +4 -0
- package/src/models/operations/gethrisabsencetypes.ts +2 -0
- package/src/models/operations/gethrisemployeedocumentcategories.ts +2 -0
- package/src/models/operations/gethrisemployees.ts +10 -0
- package/src/models/operations/gethrisemployments.ts +2 -0
- package/src/models/operations/gethrisgroups.ts +2 -0
- package/src/models/operations/gethrislegalentities.ts +2 -0
- package/src/models/operations/gethrislocations.ts +2 -0
- package/src/models/operations/gethrisperformancereviewcycles.ts +2 -0
- package/src/models/operations/gethrisperformancereviews.ts +6 -0
- package/src/models/operations/gethrisstaffingentities.ts +146 -0
- package/src/models/operations/gethristimeoffbalances.ts +4 -0
- package/src/models/operations/gethristimesheets.ts +2 -0
- package/src/models/operations/index.ts +2 -0
- package/src/models/postatsapplicationsapplicationidnotesrequestbody.ts +46 -0
- package/src/models/postatscandidatesrequestbody.ts +110 -0
- package/src/models/postatsjobsjobidapplicationsrequestbody.ts +114 -0
- package/src/models/postconnectcreatelinkrequestbody.ts +4 -0
- package/src/models/putassessmentordersassessmentorderidresultrequestbody.ts +42 -0
- package/src/models/putatsapplicationsapplicationidstagerequestbody.ts +74 -0
- package/src/sdk/ats.ts +24 -1
- package/src/sdk/general.ts +19 -6
- package/src/sdk/hris.ts +32 -4
|
@@ -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://
|
|
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
|
|
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`|[
|
|
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,8 @@ 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
|
+
* |Oracle 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.|
|
|
155
|
+
* |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
156
|
* |Paradox|`paradox/v1`|We use `\{api_url\}/api/v1` as the base URL. Find the official docs [here](https://paradox.readme.io/).|
|
|
148
157
|
* |Paradox|`paradox/v1public`|We use `\{api_url\}/api/v1/public` as the base URL. Find the official docs [here](https://paradox.readme.io/).|
|
|
149
158
|
* |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 +172,9 @@ import { Result } from "../types/fp.js";
|
|
|
163
172
|
* |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
173
|
* |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
174
|
* |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.|
|
|
175
|
+
* |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
176
|
* |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.|
|
|
177
|
+
* |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
178
|
* |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
179
|
* |Remote|`remotecom/default`|Remote's [API](https://remote.com/resources/api/getting-started). We automatically authenticate all requests using provided credentials.|
|
|
169
180
|
* |rexx systems|`rexx/default`|Rexx's HRIS export API. There is only one endpoint: `Get /`|
|
|
@@ -184,10 +195,11 @@ import { Result } from "../types/fp.js";
|
|
|
184
195
|
* |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
196
|
* |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
197
|
* |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.|
|
|
187
|
-
* |
|
|
198
|
+
* |TalentLMS|`talentlms/v2`|We use `https://\{subdomain\}.talentlms.com/api/v2` as the 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
|
|
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({
|
|
@@ -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(
|
|
@@ -0,0 +1,267 @@
|
|
|
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 staffing entities
|
|
37
|
+
*
|
|
38
|
+
* @remarks
|
|
39
|
+
* Retrieve all staffing entities.
|
|
40
|
+
*
|
|
41
|
+
* Retrieve all staffing entities (positions, requisitions, and jobs) from the HRIS system.
|
|
42
|
+
*
|
|
43
|
+
* Many enterprise HRIS platforms distinguish between **positions**, **requisitions**, and **jobs** — three related but different concepts used to manage headcount and hiring. Not every HRIS uses all three, and naming varies across systems, but here is a general overview:
|
|
44
|
+
*
|
|
45
|
+
* - **Position**: A slot in the organizational structure that represents a role to be filled (or already filled) by one or more employees. Positions typically carry metadata like department, location, cost center, and reporting line. Think of it as "a chair at a desk" — it exists whether someone is sitting in it or not.
|
|
46
|
+
* - **Requisition**: A formal request to fill a position. When a manager wants to hire for an open position, they usually create a requisition that goes through an approval workflow. Requisitions are time-bound and tied to a specific hiring need. In Kombo's data model, a requisition's `parent_id` points to the position it was opened for.
|
|
47
|
+
* - **Job**: Some systems use "job" as a more generic or lightweight alternative to a requisition. Jobs often represent an ongoing, unlimited hiring need (e.g., a company that is always hiring for "Software Engineer") rather than a one-off backfill. This is reflected in the `OPEN_UNLIMITED` status.
|
|
48
|
+
*
|
|
49
|
+
* You can use the `model_types` filter to retrieve only the type(s) relevant to your use case. Each record's `model_type` field tells you which of the three concepts it represents.
|
|
50
|
+
*
|
|
51
|
+
* 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)`
|
|
52
|
+
*/
|
|
53
|
+
export function hrisGetStaffingEntities(
|
|
54
|
+
client: KomboCore,
|
|
55
|
+
request?: operations.GetHrisStaffingEntitiesRequest | undefined,
|
|
56
|
+
options?: RequestOptions,
|
|
57
|
+
): APIPromise<
|
|
58
|
+
PageIterator<
|
|
59
|
+
Result<
|
|
60
|
+
operations.GetHrisStaffingEntitiesResponse,
|
|
61
|
+
| errors.KomboHrisError
|
|
62
|
+
| KomboError
|
|
63
|
+
| ResponseValidationError
|
|
64
|
+
| ConnectionError
|
|
65
|
+
| RequestAbortedError
|
|
66
|
+
| RequestTimeoutError
|
|
67
|
+
| InvalidRequestError
|
|
68
|
+
| UnexpectedClientError
|
|
69
|
+
| SDKValidationError
|
|
70
|
+
>,
|
|
71
|
+
{ cursor: string }
|
|
72
|
+
>
|
|
73
|
+
> {
|
|
74
|
+
return new APIPromise($do(
|
|
75
|
+
client,
|
|
76
|
+
request,
|
|
77
|
+
options,
|
|
78
|
+
));
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
async function $do(
|
|
82
|
+
client: KomboCore,
|
|
83
|
+
request?: operations.GetHrisStaffingEntitiesRequest | undefined,
|
|
84
|
+
options?: RequestOptions,
|
|
85
|
+
): Promise<
|
|
86
|
+
[
|
|
87
|
+
PageIterator<
|
|
88
|
+
Result<
|
|
89
|
+
operations.GetHrisStaffingEntitiesResponse,
|
|
90
|
+
| errors.KomboHrisError
|
|
91
|
+
| KomboError
|
|
92
|
+
| ResponseValidationError
|
|
93
|
+
| ConnectionError
|
|
94
|
+
| RequestAbortedError
|
|
95
|
+
| RequestTimeoutError
|
|
96
|
+
| InvalidRequestError
|
|
97
|
+
| UnexpectedClientError
|
|
98
|
+
| SDKValidationError
|
|
99
|
+
>,
|
|
100
|
+
{ cursor: string }
|
|
101
|
+
>,
|
|
102
|
+
APICall,
|
|
103
|
+
]
|
|
104
|
+
> {
|
|
105
|
+
const parsed = safeParse(
|
|
106
|
+
request,
|
|
107
|
+
(value) =>
|
|
108
|
+
operations.GetHrisStaffingEntitiesRequest$outboundSchema.optional().parse(
|
|
109
|
+
value,
|
|
110
|
+
),
|
|
111
|
+
"Input validation failed",
|
|
112
|
+
);
|
|
113
|
+
if (!parsed.ok) {
|
|
114
|
+
return [haltIterator(parsed), { status: "invalid" }];
|
|
115
|
+
}
|
|
116
|
+
const payload = parsed.value;
|
|
117
|
+
const body = null;
|
|
118
|
+
|
|
119
|
+
const path = pathToFunc("/hris/staffing-entities")();
|
|
120
|
+
|
|
121
|
+
const query = queryJoin(
|
|
122
|
+
encodeFormQuery({
|
|
123
|
+
"ids": payload?.ids,
|
|
124
|
+
"model_types": payload?.model_types,
|
|
125
|
+
"remote_ids": payload?.remote_ids,
|
|
126
|
+
"statuses": payload?.statuses,
|
|
127
|
+
}, { explode: false }),
|
|
128
|
+
encodeFormQuery({
|
|
129
|
+
"cursor": payload?.cursor,
|
|
130
|
+
"ignore_unsupported_filters": payload?.ignore_unsupported_filters,
|
|
131
|
+
"include_deleted": payload?.include_deleted,
|
|
132
|
+
"page_size": payload?.page_size,
|
|
133
|
+
"updated_after": payload?.updated_after,
|
|
134
|
+
}),
|
|
135
|
+
);
|
|
136
|
+
|
|
137
|
+
const headers = new Headers(compactMap({
|
|
138
|
+
Accept: "application/json",
|
|
139
|
+
"X-Integration-Id": encodeSimple(
|
|
140
|
+
"X-Integration-Id",
|
|
141
|
+
client._options.integration_id,
|
|
142
|
+
{ explode: false, charEncoding: "none" },
|
|
143
|
+
),
|
|
144
|
+
}));
|
|
145
|
+
|
|
146
|
+
const secConfig = await extractSecurity(client._options.api_key);
|
|
147
|
+
const securityInput = secConfig == null ? {} : { api_key: secConfig };
|
|
148
|
+
const requestSecurity = resolveGlobalSecurity(securityInput);
|
|
149
|
+
|
|
150
|
+
const context = {
|
|
151
|
+
options: client._options,
|
|
152
|
+
base_url: options?.server_url ?? client._baseURL ?? "",
|
|
153
|
+
operation_id: "GetHrisStaffingEntities",
|
|
154
|
+
o_auth2_scopes: null,
|
|
155
|
+
|
|
156
|
+
resolved_security: requestSecurity,
|
|
157
|
+
|
|
158
|
+
security_source: client._options.api_key,
|
|
159
|
+
retry_config: options?.retries
|
|
160
|
+
|| client._options.retry_config
|
|
161
|
+
|| { strategy: "none" },
|
|
162
|
+
retry_codes: options?.retry_codes || ["429", "500", "502", "503", "504"],
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
const requestRes = client._createRequest(context, {
|
|
166
|
+
security: requestSecurity,
|
|
167
|
+
method: "GET",
|
|
168
|
+
baseURL: options?.server_url,
|
|
169
|
+
path: path,
|
|
170
|
+
headers: headers,
|
|
171
|
+
query: query,
|
|
172
|
+
body: body,
|
|
173
|
+
userAgent: client._options.user_agent,
|
|
174
|
+
timeout_ms: options?.timeout_ms || client._options.timeout_ms || -1,
|
|
175
|
+
}, options);
|
|
176
|
+
if (!requestRes.ok) {
|
|
177
|
+
return [haltIterator(requestRes), { status: "invalid" }];
|
|
178
|
+
}
|
|
179
|
+
const req = requestRes.value;
|
|
180
|
+
|
|
181
|
+
const doResult = await client._do(req, {
|
|
182
|
+
context,
|
|
183
|
+
errorCodes: ["default"],
|
|
184
|
+
retryConfig: context.retry_config,
|
|
185
|
+
retryCodes: context.retry_codes,
|
|
186
|
+
});
|
|
187
|
+
if (!doResult.ok) {
|
|
188
|
+
return [haltIterator(doResult), { status: "request-error", request: req }];
|
|
189
|
+
}
|
|
190
|
+
const response = doResult.value;
|
|
191
|
+
|
|
192
|
+
const responseFields = {
|
|
193
|
+
HttpMeta: { Response: response, Request: req },
|
|
194
|
+
};
|
|
195
|
+
|
|
196
|
+
const [result, raw] = await M.match<
|
|
197
|
+
operations.GetHrisStaffingEntitiesResponse,
|
|
198
|
+
| errors.KomboHrisError
|
|
199
|
+
| KomboError
|
|
200
|
+
| ResponseValidationError
|
|
201
|
+
| ConnectionError
|
|
202
|
+
| RequestAbortedError
|
|
203
|
+
| RequestTimeoutError
|
|
204
|
+
| InvalidRequestError
|
|
205
|
+
| UnexpectedClientError
|
|
206
|
+
| SDKValidationError
|
|
207
|
+
>(
|
|
208
|
+
M.json(200, operations.GetHrisStaffingEntitiesResponse$inboundSchema, {
|
|
209
|
+
key: "Result",
|
|
210
|
+
}),
|
|
211
|
+
M.jsonErr("default", errors.KomboHrisError$inboundSchema),
|
|
212
|
+
)(response, req, { extraFields: responseFields });
|
|
213
|
+
if (!result.ok) {
|
|
214
|
+
return [haltIterator(result), {
|
|
215
|
+
status: "complete",
|
|
216
|
+
request: req,
|
|
217
|
+
response,
|
|
218
|
+
}];
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
const nextFunc = (
|
|
222
|
+
responseData: unknown,
|
|
223
|
+
): {
|
|
224
|
+
next: Paginator<
|
|
225
|
+
Result<
|
|
226
|
+
operations.GetHrisStaffingEntitiesResponse,
|
|
227
|
+
| errors.KomboHrisError
|
|
228
|
+
| KomboError
|
|
229
|
+
| ResponseValidationError
|
|
230
|
+
| ConnectionError
|
|
231
|
+
| RequestAbortedError
|
|
232
|
+
| RequestTimeoutError
|
|
233
|
+
| InvalidRequestError
|
|
234
|
+
| UnexpectedClientError
|
|
235
|
+
| SDKValidationError
|
|
236
|
+
>
|
|
237
|
+
>;
|
|
238
|
+
"~next"?: { cursor: string };
|
|
239
|
+
} => {
|
|
240
|
+
const nextCursor = dlv(responseData, "data.next");
|
|
241
|
+
if (typeof nextCursor !== "string") {
|
|
242
|
+
return { next: () => null };
|
|
243
|
+
}
|
|
244
|
+
if (nextCursor.trim() === "") {
|
|
245
|
+
return { next: () => null };
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
const nextVal = () =>
|
|
249
|
+
hrisGetStaffingEntities(
|
|
250
|
+
client,
|
|
251
|
+
{
|
|
252
|
+
...request!,
|
|
253
|
+
cursor: nextCursor,
|
|
254
|
+
},
|
|
255
|
+
options,
|
|
256
|
+
);
|
|
257
|
+
|
|
258
|
+
return { next: nextVal, "~next": { cursor: nextCursor } };
|
|
259
|
+
};
|
|
260
|
+
|
|
261
|
+
const page = { ...result, ...nextFunc(raw) };
|
|
262
|
+
return [{ ...page, ...createPageIterator(page, (v) => !v.ok) }, {
|
|
263
|
+
status: "complete",
|
|
264
|
+
request: req,
|
|
265
|
+
response,
|
|
266
|
+
}];
|
|
267
|
+
}
|
package/src/lib/config.ts
CHANGED
|
@@ -69,7 +69,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
|
|
|
69
69
|
export const SDK_METADATA = {
|
|
70
70
|
language: "typescript",
|
|
71
71
|
openapiDocVersion: "1.0.0",
|
|
72
|
-
sdkVersion: "1.0.
|
|
73
|
-
genVersion: "2.
|
|
74
|
-
userAgent: "speakeasy-sdk/typescript 1.0.
|
|
72
|
+
sdkVersion: "1.0.3",
|
|
73
|
+
genVersion: "2.869.25",
|
|
74
|
+
userAgent: "speakeasy-sdk/typescript 1.0.3 2.869.25 1.0.0 @kombo-api/sdk",
|
|
75
75
|
} as const;
|
package/src/lib/encodings.ts
CHANGED
|
@@ -479,6 +479,23 @@ export const encodeSpaceDelimitedQuery = queryEncoder(encodeSpaceDelimited);
|
|
|
479
479
|
export const encodePipeDelimitedQuery = queryEncoder(encodePipeDelimited);
|
|
480
480
|
export const encodeDeepObjectQuery = queryEncoder(encodeDeepObject);
|
|
481
481
|
|
|
482
|
+
function isBlobLike(val: unknown): val is Blob {
|
|
483
|
+
if (val instanceof Blob) {
|
|
484
|
+
return true;
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
if (typeof val !== "object" || val == null || !(Symbol.toStringTag in val)) {
|
|
488
|
+
return false;
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
const tag = val[Symbol.toStringTag];
|
|
492
|
+
if (tag !== "Blob" && tag !== "File") {
|
|
493
|
+
return false;
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
return "stream" in val && typeof val.stream === "function";
|
|
497
|
+
}
|
|
498
|
+
|
|
482
499
|
export function appendForm(
|
|
483
500
|
fd: FormData,
|
|
484
501
|
key: string,
|
|
@@ -487,10 +504,12 @@ export function appendForm(
|
|
|
487
504
|
): void {
|
|
488
505
|
if (value == null) {
|
|
489
506
|
return;
|
|
490
|
-
} else if (value
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
507
|
+
} else if (isBlobLike(value)) {
|
|
508
|
+
if (fileName) {
|
|
509
|
+
fd.append(key, value as Blob, fileName);
|
|
510
|
+
} else {
|
|
511
|
+
fd.append(key, value as Blob);
|
|
512
|
+
}
|
|
494
513
|
} else {
|
|
495
514
|
fd.append(key, String(value));
|
|
496
515
|
}
|
package/src/lib/files.ts
CHANGED
|
@@ -80,3 +80,25 @@ export function getContentTypeFromFileName(fileName: string): string | null {
|
|
|
80
80
|
|
|
81
81
|
return mimeTypes[ext] || null;
|
|
82
82
|
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Creates a Blob from file content with the given MIME type.
|
|
86
|
+
*
|
|
87
|
+
* Node.js Buffers are Uint8Array subclasses that may share a pooled
|
|
88
|
+
* ArrayBuffer (byteOffset > 0, byteLength < buffer.byteLength). Passing
|
|
89
|
+
* such a Buffer directly to `new Blob([buf])` can include the entire
|
|
90
|
+
* underlying pool on some runtimes, producing a Blob with extra bytes
|
|
91
|
+
* that corrupts multipart uploads.
|
|
92
|
+
*
|
|
93
|
+
* Copying into a standalone Uint8Array ensures the Blob receives only the
|
|
94
|
+
* intended bytes regardless of runtime behaviour.
|
|
95
|
+
*/
|
|
96
|
+
export function bytesToBlob(
|
|
97
|
+
content: Uint8Array<ArrayBufferLike> | ArrayBuffer | Blob | string,
|
|
98
|
+
contentType: string,
|
|
99
|
+
): Blob {
|
|
100
|
+
if (content instanceof Uint8Array) {
|
|
101
|
+
return new Blob([new Uint8Array(content)], { type: contentType });
|
|
102
|
+
}
|
|
103
|
+
return new Blob([content as BlobPart], { type: contentType });
|
|
104
|
+
}
|
package/src/lib/matchers.ts
CHANGED
|
@@ -251,8 +251,9 @@ export function match<T, E>(
|
|
|
251
251
|
raw = body;
|
|
252
252
|
break;
|
|
253
253
|
default:
|
|
254
|
-
|
|
255
|
-
|
|
254
|
+
throw new Error(
|
|
255
|
+
`Unsupported response type: ${encoding satisfies never}`,
|
|
256
|
+
);
|
|
256
257
|
}
|
|
257
258
|
|
|
258
259
|
if (matcher.enc === "fail") {
|
package/src/lib/sdks.ts
CHANGED
|
@@ -123,13 +123,15 @@ export class ClientSDK {
|
|
|
123
123
|
if (!base) {
|
|
124
124
|
return ERR(new InvalidRequestError("No base URL provided for operation"));
|
|
125
125
|
}
|
|
126
|
-
const
|
|
127
|
-
|
|
128
|
-
|
|
126
|
+
const baseURL = new URL(base);
|
|
127
|
+
let reqURL: URL;
|
|
129
128
|
if (path) {
|
|
130
|
-
|
|
131
|
-
reqURL
|
|
129
|
+
baseURL.pathname = baseURL.pathname.replace(/\/+$/, "") + "/";
|
|
130
|
+
reqURL = new URL(path, baseURL);
|
|
131
|
+
} else {
|
|
132
|
+
reqURL = baseURL;
|
|
132
133
|
}
|
|
134
|
+
reqURL.hash = "";
|
|
133
135
|
|
|
134
136
|
let finalQuery = query || "";
|
|
135
137
|
|
package/src/lib/security.ts
CHANGED
|
@@ -197,8 +197,7 @@ export function resolveSecurity(
|
|
|
197
197
|
applyBearer(state, spec);
|
|
198
198
|
break;
|
|
199
199
|
default:
|
|
200
|
-
spec satisfies never;
|
|
201
|
-
throw SecurityError.unrecognizedType(type);
|
|
200
|
+
throw SecurityError.unrecognizedType((spec satisfies never, type));
|
|
202
201
|
}
|
|
203
202
|
});
|
|
204
203
|
|
package/src/lib/url.ts
CHANGED
|
@@ -13,21 +13,23 @@ export function pathToFunc(
|
|
|
13
13
|
const paramRE = /\{([a-zA-Z0-9_][a-zA-Z0-9_-]*?)\}/g;
|
|
14
14
|
|
|
15
15
|
return function buildURLPath(params: Record<string, unknown> = {}): string {
|
|
16
|
-
return pathPattern
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
return pathPattern
|
|
17
|
+
.replace(paramRE, function (_, placeholder) {
|
|
18
|
+
if (!hasOwn.call(params, placeholder)) {
|
|
19
|
+
throw new Error(`Parameter '${placeholder}' is required`);
|
|
20
|
+
}
|
|
20
21
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
const value = params[placeholder];
|
|
23
|
+
if (typeof value !== "string" && typeof value !== "number") {
|
|
24
|
+
throw new Error(
|
|
25
|
+
`Parameter '${placeholder}' must be a string or number`,
|
|
26
|
+
);
|
|
27
|
+
}
|
|
27
28
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
return options?.charEncoding === "percent"
|
|
30
|
+
? encodeURIComponent(`${value}`)
|
|
31
|
+
: `${value}`;
|
|
32
|
+
})
|
|
33
|
+
.replace(/^\/+/, "");
|
|
32
34
|
};
|
|
33
35
|
}
|